Skip to main content

FTP server application for Django.

Project description

build-status pypi python-version docs

FTP server application that uses Django’s user authentication.

Features

  • FTP server integrated with Django’s user authentication system

  • Permission management through FTP user groups (read, write, delete, etc.)

  • Per-user and per-group home directory configuration

  • FTP account management via Django Admin

  • Secure communication with TLS/SSL support (FTPS)

  • Daemon mode for background service operation

  • Integration with Django Storage backends (S3, Google Cloud Storage, etc.) [1]

  • Passive mode and masquerade address configuration

  • Cross-platform support (Windows/Unix)

  • Management commands for FTP user/group operations (create, list, delete)

  • Django signals for FTP events (login, logout, file transfers, etc.)

Getting Started

  1. Install django-ftpserver using pip.

$ pip install django-ftpserver

Optional dependencies can be installed with extras:

# For TLS/SSL support (FTPS)
$ pip install django-ftpserver[tls]

# For Windows service support
$ pip install django-ftpserver[windows]

# Multiple extras
$ pip install django-ftpserver[tls,windows]
  1. Add a line to settings.INSTALLED_APPS in your Django project.

INSTALLED_APPS = (
    # ..
    'django_ftpserver',
)
  1. Run migrations.

$ python manage.py migrate
  1. Create FTP user group.

$ python manage.py createftpusergroup my-ftp-group
  1. Create FTP user account.

$ python manage.py createftpuseraccount <username> my-ftp-group

<username> is the django authentication username.

  1. Run manage.py ftpserver command.

$ python manage.py ftpserver 127.0.0.1:10021
  1. Connect with your favorite FTP client.

Requirements

  • Target Python version is 3.10, 3.11, 3.12, 3.13, 3.14

  • Django>=4.2

  • pyftpdlib

Optional Dependencies

  • pyOpenSSL - Required for TLS/SSL support (pip install django-ftpserver[tls])

  • pywin32 - Required for Windows service support (pip install django-ftpserver[windows])

License

This software is licensed under the MIT License.

Documentation

The latest documentation is hosted at Read The Docs.

https://django-ftpserver.readthedocs.org/en/latest/

Develop

This project is hosted at Github: https://github.com/tokibito/django-ftpserver

Author

  • Shinya Okano

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_ftpserver-1.0.0.tar.gz (48.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_ftpserver-1.0.0-py3-none-any.whl (22.7 kB view details)

Uploaded Python 3

File details

Details for the file django_ftpserver-1.0.0.tar.gz.

File metadata

  • Download URL: django_ftpserver-1.0.0.tar.gz
  • Upload date:
  • Size: 48.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for django_ftpserver-1.0.0.tar.gz
Algorithm Hash digest
SHA256 ede9388b143ba5dd224be9434e0ed1c7ab508dad1855d7cfd0c8f1b5902723ab
MD5 71d155eed9d823667b085c7a9b4e97c2
BLAKE2b-256 75dfce9a34d9fa0fa6aefb8a52db16d6592023c0d161b0d077c0fee075c815f5

See more details on using hashes here.

File details

Details for the file django_ftpserver-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for django_ftpserver-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0fca49d7e69cd5fee0b2b214479f1f7719cdc712e3b17786adb3d7a91bcad447
MD5 da731f4ee881402e2956ea42bc26c313
BLAKE2b-256 a78d77943f5d51932dde37c4e8d07dfa878c68b9ca91256b0ae635c89941e400

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page