[][src]Crate libunftp

A FTP server library for Rust

The libunftp library is a safe, fast and extensible FTP server implementation in Rust.

Because of its plugable authentication and storage backends (e.g. local filesystem, Google Buckets) it's more flexible than traditional FTP servers and a perfect match for the cloud.

It is currently under heavy development and not yet recommended for production use.

Quick Start

use libunftp;
use tokio::prelude::*;

#[tokio::main]
pub async fn main() {
    let ftp_home = std::env::temp_dir();
    let server = libunftp::Server::with_root(ftp_home)
        .greeting("Welcome to my FTP server")
        .passive_ports(50000..65535);

    server.listener("127.0.0.1:2121");
}

Re-exports

pub use crate::server::Server;

Modules

auth

Contains the Authenticator trait that is used by the Server and its various implementations to authenticate users.

metrics

Contains the add...metric functions that are used for gathering metrics.

server

Contains the Server struct that is used to configure and control a FTP server instance.

storage

Contains the StorageBackend trait that is by the Server and its various implementations.