bolcom / unFTP

A FTP(S) server with a couple of twists written in Rust. Follow and talk to us on https://t.me/unftp. Docs on https://unftp.rs
Apache License 2.0
264 stars 20 forks source link
ftp hacktoberfest rust server

unFTP

Crate Version Build Status Docker Pulls Follow on Telegram

When you need to FTP, but don't want to.

logo

Website | Docs | libunftp

unFTP is an FTP(S) server written in Rust and built on top of libunftp and the Tokio asynchronous run-time. It is unlike your normal FTP server in that it provides:

With unFTP, you can present RFC compliant FTP(S) to the outside world while freeing yourself to use modern APIs and techniques on the inside of your perimeter.

Installation and Usage

User documentation are available on our website unftp.rs

Docker image

The project contains templated Dockerfiles . To get a list of available commands, run:

make help

We offer 3 different options for building an unFTP docker image:

To build the alpine docker image:

make docker-image-alpine

Alternatively you can download pre-made images from docker hub.

Enabling tokio-console

You can use tokio-console to analyze async tasks running in unFTP. To do this you need to compile a build or run with the tokio_console feature enabled while also enabling the tokio_unstable cfg.

For example:

RUSTFLAGS="--cfg tokio_unstable" cargo build --features tokio_console

or:

RUSTFLAGS="--cfg tokio_unstable" cargo run --features tokio_console -- -vv

unFTP will listen on default port 6669 for connections from tokio-console.

Getting help and staying informed

Support is given on a best effort basis. You are welcome to engage us on the discussions page or create a Github issue.

You can also follow news and talk to us on Telegram

License

You're free to use, modify and distribute this software under the terms of the Apache-2.0 license.

See also