Skip to content
Repositorio para las prácticas de Seguridad en el Diseño de Software
Go CSS JavaScript HTML
Branch: master
Clone or download
Latest commit 8a4b612 Jun 19, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cliente Practica terminada Jun 19, 2018
servidor Practica terminada Jun 19, 2018
LICENSE Initial commit Jun 19, 2018
README.md Practica terminada Jun 19, 2018

README.md

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.

You can’t perform that action at this time.