gosfv2

所属分类:Docker
开发工具:JavaScript
文件大小:0KB
下载次数:0
上传日期:2023-09-09 01:01:18
上 传 者sh-1993
说明:  Servidor de Archivos Multi Usuario con autenificación con JWT。Con la capacidad de compartir archivos中心用途
(Servidor de Archivos Multi Usuario con autentificación con JWT. Con la capacidad de compartir archivos entre usuarios)

文件列表:
.dockerignore (183, 2023-09-15)
.jshintrc (22, 2023-09-15)
Dockerfile (498, 2023-09-15)
Gosf.postman_collection.json (16593, 2023-09-15)
bin/ (0, 2023-09-15)
bin/gosfV2-32.bin (14669358, 2023-09-15)
bin/gosfV2-64.bin (15570840, 2023-09-15)
bin/gosfV2.exe (15446528, 2023-09-15)
config-gosf.env (311, 2023-09-15)
config.env (75, 2023-09-15)
config_example.json (450, 2023-09-15)
docker-compose.yml (1408, 2023-09-15)
docker-entrypoint.sh (1583, 2023-09-15)
go.mod (868, 2023-09-15)
go.sum (6035, 2023-09-15)
src/ (0, 2023-09-15)
src/auth/ (0, 2023-09-15)
src/auth/authHandlers.go (4357, 2023-09-15)
src/auth/jwt/ (0, 2023-09-15)
src/auth/jwt/cookie.go (1047, 2023-09-15)
src/auth/jwt/store.go (2414, 2023-09-15)
src/auth/jwt/utils.go (4992, 2023-09-15)
src/auth/middlewares.go (2939, 2023-09-15)
src/auth/password.go (738, 2023-09-15)
src/dtos/ (0, 2023-09-15)
src/dtos/dtos.go (428, 2023-09-15)
src/dtos/mappers.go (685, 2023-09-15)
src/handlers/ (0, 2023-09-15)
src/handlers/filesHandlers.go (10508, 2023-09-15)
src/handlers/userHandlers.go (5397, 2023-09-15)
... ...

# GOSF v2 GOSF es un servidor de archivos que permite compartir archivos entre usuario de forma sencilla y segura, de forma pública o privada. ## Características 1. Autenticación de usuarios con **JWT Token** - Cantidad de **tiempo de expiración** configurable - **Cantidad de Tokens** por usuario configurable (cantidad sesiones activas) 2. **Subir**, **descargar**, **eliminar** y **modificar** archivos de forma sencilla 3. **Compartir archivos** de forma pública o privada, siempre y cuando el usuario esté autenticado 4. **Control de acceso** a los archivos (solo el usuario que subió el archivo puede modificarlo o eliminarlo) 5. Altamente **configurable**, se puede configurar: - El puerto en el que se ejecuta el servidor - La ruta en la que se guardan los archivos - La ruta en la que se guardan los logs - Se pueden modificar la características de las conexiones a la base de datos de Redis y MySQL (host, puerto, usuario, contrasea, etc) ## Tecnologías - Go - [Echo Framework](https://echo.labstack.com/guide/) - HTML/CSS y JavaScript - React / React Router - Redis - MySQL - REST API - Docker y Docker Compose ## Tipos de Instalación La instalación de tiene 2 opciones para su despliegue: 1. Como binario que se ejecuta en el sistema operativo y se conecta a una base de datos MySQL y Redis (Previamente instaladas y configuradas por el usuario) 2. Utilizando Docker Compose, que despliega un contenedor de GOSF y otro de MySQL y Redis (Ya configurados) ## Pre-requisitos - Go (Solo instalación 1) - Docker & Docker Compose (Solo instalación 2) - MySQL (Solo instalación 1) - Redis (Solo instalación 1) Como configurar los pre-requisitos [aquí](./readme/Prerequisites.md). ## Instalación ### Opción 1 Para iniciar basta con ejecutar el binario (con las 2 base de datos corriendo) Utilizando el binario pre-compilado: - Clonar el repositorio ```bash git clone https://github.com/Joacohbc/gosfv2; cd ./gosfv2; ``` - Ejecutar el binario pre-compilado (./gosfv2) y le indicio que utilice el archivo de configuración ./config.json ```bash # Linux (64 bits) ./bin/gosfV2-64.bin -config ./config.json; # Linux (32 bits) ./bin/gosfV2-32.bin -config ./config.json; # Windows ./bin/gosfV2.exe -config ./config.json; ``` Si se quiere compilar el binario, se debe ejecutar el siguiente comando: - Clonar el repositorio ```bash git clone https://github.com/Joacohbc/gosfv2; cd ./gosfv2; ``` - Obtener todas las dependencias indicadas en el go.mod ```bash go get ./src; ``` Compilar el código fuente ```bash go build -o ./gosfv2 ./src; ``` - Ejecutar el binario anteriormente compilado (./gosfv2) y le indicio que utilice el archivo de configuración ./config.json ```bash ./gosfv2 -config ./config.json; ``` ### Opción 2 (Recomendada) Para iniciar basta con "ejecutar" el [docker-compose.yml](./docker-compose.yml). Por defecto el servicio corre en el puerto 80, para cambiar esto basta con modificar el puerto que se expone en el [config.env](./config.env). Ademas se puede cambiar otros parámetros de configuración del servicio (como la Volume path, y versiones de Tags, etc) en el mismo archivo. - Clonar el repositorio ```bash git clone https://github.com/Joacohbc/gosfv2; cd ./gosfv2; ``` - Crear los contenedores ```bash docker compose build --no-cache ``` - Iniciar los contenedores ```bash docker compose --env-file config.env up ``` ## Frontend Implementado ### Login & Register Page ![Login Page](/readme/Login%20Page.png)![Register Page](/readme/Register%20Page.png) ### Home Page ![Home Page](/readme/Main%20Page.png)![Home Page sin archivos](/readme/Main%20Page%20No%20Files.png)![Shared Overlay](/readme/Shared%20Overlay.png) ### User Profile ![User Profile Page](/readme/User%20Page%20Options.png)

近期下载者

相关文件


收藏者