libunftp is a Rust crate that you can use to build your own FTPS server with. You can extend it with your own storage back-ends or authentication back-ends.
It runs on top of the Tokio asynchronous run-time and tries to make use of Async IO as much as possible.
| Crate | Description |
|---|---|
| unftp-sbe-fatfs | Provides read-only access to FAT filesystem images |
| unftp-sbe-fs | Stores files on the local filesystem |
| unftp-sbe-gcs | Stores files in Google Cloud Storage |
| unftp-sbe-iso | Provides FTP access to ISO 9660 files |
| unftp-sbe-opendal | Provides access to various storage services through Apache OpenDAL (supports S3, Azure Blob Storage, and more) |
| unftp-sbe-restrict | Wraps another storage back-end in order to restrict the FTP operations a user can do i.e. provide authorization |
| unftp-sbe-rooter | Wraps another storage back-end in order to root a user to a specific home directory |
| unftp-sbe-webdav | A WebDAV storage back-end providing translation between FTP & WebDAV |
See the full list of storage back-ends on crates.io or the Contribution Guide and API Documentation if you want to create your own.
| Crate | Description |
|---|---|
| unftp-auth-jsonfile | Authenticates against JSON text |
| unftp-auth-pam | Authenticates via PAM |
| unftp-auth-rest | Consumes an HTTP API to authenticate |
See the full list of authentication back-ends on crates.io or the Contribution Guide and API Documentation if you want to create your own.
See the github page or the API Documentation for more details.
Powered by Doctave