Some open-source projects made by Frank DENIS.


Secure FTP made easy!

Pure-FTPd is a free (BSD), secure, production-quality and standard-conformant FTP server. It doesn't provide useless bells and whistles, but focuses on efficiency and ease of use. It provides simple answers to common needs, plus unique useful features for personal users as well as hosting providers.


Security first.

Pure-FTPd is actively supported, and it was always designed with security in mind, and the code is always re-audited as new kind of vulnerabilities are discussed.

The server can run with privilege separation for paranoid security. It can even run 100% non-root, with its built-in chroot() emulation and virtual accounts.

Transmission of cleartext passwords and commands can be avoided : Pure-FTPd has optional support for an SSL/TLS encryption layer using the OpenSSL library.

Pure-FTPd works on your server.

The same source code compiles and runs on Linux, OpenBSD, NetBSD, DragonflyBSD FreeBSD, Solaris, Tru64, Darwin, Irix, HPUX, AIX and iPhone.

Pre-built binary packages are available for Novell, Mandriva, Debian, Ubuntu, PLD Linux, Stampede Linux, Slackware Linux (Slimslack), Multilinux, Sorcerer Linux, Fli4L (the one-disk router), ROOT Linux, Gentoo Linux and almost every other free operating system.

Pure-FTPd is also available in BSD systems : FreeBSD (/usr/ports/ftp/pure-ftpd/), OpenBSD (/usr/ports/net/pure-ftpd/), DragonflyBSD and NetBSD (/usr/pkgsrc/net/pureftpd/).

Pure-FTPd speaks your language.

All server messages are translated in English, German, Romanian, French, Polish, Spanish, Danish, Dutch, Italian, Brazilian Portuguese, Slovak, Korean, Swedish, Norwegian, Russian, Traditional Chinese, Simplified Chinese, Czech, Turkish, Hungarian and Catalan.

It helps your customers understand diagnostics, even when english isn’t their native language.

Messages are in independant files and they can be easily translated to new languages, or customized.

Transparent conversion of client to filesystem charsets is implemented, with UTF-8 support.

An excellent choice for newbies.

Beginners can install a Pure-FTPd server in 5 minutes. It can be as simple as installing the package, typing “pure-ftpd &” and… that’s all. You already have a running server, and clients can start to connect.

There’s no need to review any long and complex configuration file, where possible mistakes could have security and reliability implications. Pure-FTPd uses simple command-line switches to enable the features you need.

You can limit the number of simultaneous users, limit their bandwidth to avoid starving your ADSL or cable-modem link, hide system files (chroot), have upload/download ratios, and moderate new uploads. Custom messages can be displayed at login-time (even changing fortune files) and when an user enters a new directory. Also, to avoid your disks being filled up, you can defined a maximal percentage, and new uploads will be disallowed once this percentage is reached.

The FXP (server-to-server) protocol is implemented. It can be available for everyone, or only for authenticated users.

Kiddies are using common brute-forcing tools that are trying to discover hidden directories. Pure-FTPd provides a protection against this. Anonymous access is secure by default. For instance, users can’t access dot-files (.bash_history, .rhosts, …) unless you explicitely enable this.

And to watch who’s doing what, the pure-ftpwho command shows a table with currently active sessions, how much bandwidth is taken by every user, what files they are uploading or downloading, where they are coming from, etc.

A high flexibility for ISPs and hosting services.

A full compatibility with existing specifications, clients and servers.

Pure-FTPd has one of the most complete implementation of the FTP protocol specifications. It includes the protocol basics, plus modern extensions like MLST/MLSD (extensible and mirror-safe directory listings).

RFC conformance is great, but in the real-life, there are a lot of buggy clients. It’s why Pure-FTPd has also workarounds for some versions of popular Windows clients that totally violates the FTP protocol. Pure-FTPd also works with broken home-made clients that don’t properly terminate lines.

So if your current setup works with another FTP server, you can safely move to Pure-FTPd without breaking anything or receiving customers complaints: things will work as before for them, and the migration will be transparent.

IPv6 is fully supported. EPSV/EPRT IPv6 protocol extensions are implemented, and every configuration option and logging feature works with IPv4 and IPv6 as well.

Pure-FTPd is the first daemon to implement ESTA and ESTP. These two commands ensures FTP data connection assurance, in order to increase the protocol-level security.

Firewalling is easy: Pure-FTPd can restrict the port range for passive connections, force the announced IP for masquerading gateways, or disable passive connections to deal with broken port forwarders.