Skip to content

moder-io/FTP_server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Servidor FTP Local

Un servidor FTP ligero y seguro construido con Python para transferencias rápidas de archivos dentro de una red local.

Diseñado con una arquitectura limpia, configuración basada en entorno y permisos de usuario separados, este proyecto es ideal para homelabs, desarrolladores y cualquier persona que prefiera una alternativa privada a las transferencias en la nube.


Características

  • Credenciales basadas en entorno (.env)
  • Usuario administrador con permisos completos
  • Usuario solo de subida (modelo de bandeja segura)
  • Organización automática de archivos por fecha
  • Vinculación solo a LAN para reducir la exposición
  • Soporte de registros (logging)
  • Dependencias mínimas
  • Estructura de proyecto escalable

Estructura del Proyecto

ftp_server/
├── main.py
├── config.py
├── handler.py
├── .env.example
├── .gitignore
│
├── ftp_root/
│   ├── users/
│   │   ├── drop/
│   │   └── admin/
│   │
│   ├── shared/
│   └── backups/
│
└── logs/

Requisitos

  • Python 3.11+
  • pip

Instalación

Clonar el repositorio

git clone https://github.com/moder-io/FTP_server.git
cd FTP_server

Instalar dependencias

pip install pyftpdlib python-dotenv

Configuración

Crea un archivo .env en la raíz del proyecto.

Puedes usar .env.example como plantilla.


Ejecutar el Servidor

Inicia el servidor desde el directorio del proyecto:

python main.py

La consola mostrará la dirección IP local y el puerto.


Usuarios

Administrador

Control total sobre el directorio del servidor.

Los permisos incluyen:

  • Subir
  • Descargar
  • Renombrar
  • Eliminar
  • Gestión de directorios

Esta cuenta debe estar restringida solo a usuarios de confianza.


Usuario solo de subida

Diseñado como un buzón seguro.

Permitido:

  • Subir archivos

No permitido:

  • Ver archivos existentes
  • Descargar archivos
  • Eliminar archivos

Este modelo reduce el riesgo de pérdida accidental de datos.


Notas de Seguridad

Este proyecto está destinado para uso en red local.

FTP no proporciona cifrado. Evita exponer el servidor directamente a internet.

Si se requiere acceso remoto, considera usar:

  • SFTP
  • FTPS
  • Soluciones VPN (WireGuard, Tailscale, OpenVPN)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages