Skip to content

Repositorio para las prácticas de Seguridad en el Diseño de Software

License

Notifications You must be signed in to change notification settings

larryrider/Gintonico

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Gintónico   Build Status License Windows Build Status MacOS Build Status Linux Build Status

Gintónico es un sistema de alojamiento de archivos en la nube (Arquitectura cliente/servidor). Está implementado con una de las mejores prácticas de seguridad en la actualidad. Esta disponible para Windows, MacOS y Linux, y el cliente dispone de una interfaz gráfica usable, simple y eficiente.

Guía de instalación

Siga estas instrucciones para obtener una copia de este proyecto funcionando correctamente en tu sistema operativo.

Prerrequisitos

Para empezar es necesario que tanto el lenguaje (Golang) esté bien instalado como los paths bien configurados (Depende de cada sistema operativo).

Una vez dispongamos de los medios para poder compilar y ejecutar Go necesitaremos descargarnos las librerías que se usan en el proyecto:

Ejecutar este comando tanto en la carpeta servidor como en el cliente.

$ go get

Ahora necesitaremos descargarnos NW.js para poder ejecutar y poner en funcionamiento la interfaz gráfica del cliente de Gintónico:

Descargar el correspondiente a nuestro sistema operativo y seleccionar la versión NORMAL

https://nwjs.io/downloads/

Una vez tengamos NW para el sistema que necesitemos, lo copiaremos dentro del cliente en una carpeta llamada "nwjs".

Instalando y ejecutando Gintónico

Para compilar el proyecto Gintónico necesitamos ejecutar el comando:

Ejecutar este comando tanto en la carpeta servidor como en el cliente.

$ go build

Una vez esté todo compilado, podremos ejecutar el cliente con NW.js. Para hacer esto (suponiendo que el ejecutable de NW está dentro de una carpeta llamada nwjs), habrá que ejecutar este comando:

Windows: .\nwjs\nw.exe .

MacOS: ./nwjs/nwjs.app/Contents/MacOS/nwjs .

Linux: ./nwjs/nw .

Por último, para poner en funcionamiento el servidor, solo habrá que iniciar el ejecutable que se habrá generado al ejecutar el comando go build anteriormente.

MacOS y Linux: ./servidor

Windows: .\servidor.exe

A continuación se muestra una pequeña y rápida demo:

Características implementadas

Mínimas:

  • Arquitectura cliente servidor.
  • Almacenamiento y recuperación de ficheros (esquemas de almacenamiento).
  • Sistema de autenticación seguro.
  • Cifrado de fichero para su almacenamiento (contraseñas generadas en el servidor).
  • Lógica de aplicación mínima para su funcionamiento (crear usuarios, login, listar ficheros, subir ficheros, descargar ficheros, eliminar ficheros).

Opcionales:

  • Interfaz de usuario en el cliente.
  • Esquema de almacenamiento incremental.
  • Eliminación de bloques duplicados en el servidor.
  • Comunicación entre cliente y servidor (comunicación segura, mecanismos de identificación ...).
  • Autenticación segura y fiable con:
    • Doble factor de autenticación.
    • Protección de contraseñas.
    • Token de sesión.
  • Auditar/monitorizar acciones/eventos en el sistema.

Librerías

  • GoWD - Interfaz Gráfica utilizada
  • Mux - Manejador de rutas HTTP
  • HTTPS Certs - Gestor de certificados HTTPS
  • JWT Token - Implementación de JSON Web Tokens

Autores

  • Sergio Julio García Urdiales - Programador - Sergio
  • Lawrence Rider García - Programador - Larry

Puedes ver también la lista de los contribuidores que han participado en este proyecto.

Licencia

Este proyecto está bajo la licencia GNU GPL v3 - revisa LICENSE para ver más detalles.

About

Repositorio para las prácticas de Seguridad en el Diseño de Software

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published