--- title: The Server --- [![Crate Version](https://img.shields.io/crates/v/unftp.svg)](https://crates.io/crates/unftp) [![Build Status](https://travis-ci.org/bolcom/unFTP.svg)](https://travis-ci.org/bolcom/unFTP) [![Docker Pulls](https://img.shields.io/docker/pulls/bolcom/unftp.svg?maxAge=2592000?style=plastic)](https://hub.docker.com/r/bolcom/unftp/) [![Follow on Telegram](https://img.shields.io/badge/follow%20on-Telegram-brightgreen.svg)](https://t.me/unftp) # unFTP - The FTPS Server Application unFTP is a FTP(S) server written in [Rust](https://www.rust-lang.org) and built on top of [libunftp](https://github.com/bolcom/libunftp) and the [Tokio](https://tokio.rs) asynchronous run-time. It is **un**like your normal FTP server in that it provides: - Configurable Authentication (e.g. Anonymous, [PAM](https://en.wikipedia.org/wiki/Linux_PAM) or a JSON file). - Configurable storage back-ends (e.g. [GCS](https://cloud.google.com/storage/) or filesystem) - An HTTP server with health endpoints for use for example in Kubernetes for readiness and liveness probes. - Integration with [Prometheus](https://prometheus.io) for monitoring. - A proxy protocol mode for use behind proxies like HA Proxy and Nginx. - Structured logging and the ability to ship logs to a Redis instance. 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.