Tired of confusing configuration files and security features you don’t need?

Try uftpd!

  • Supports FTP and TFTP
  • No configuration file
  • Defaults to port ftp/tcp and tftp/udp found in /etc/services, or custom port(s)
  • Serves files from the ftp user’s $HOME, as specified in /etc/passwd, or custom path
  • Can run from inetd(8) or as a standalone daemon
  • Can be built and installed as a .deb file, with debconf support
  • Can run as root, with chroot and privsep, or as a regular user
  • Supports TFTP blocksize negotiation, RFC 2348

Basically, it just works!

See also the OpenHub page, the cool Fresh(code) page, or the (sadly) dormant Free(code) page.

Read my rant if you are curious to know why uftpd exists. It provides a bit of background and context :)

Disclaimer: uftpd supports both FTP and TFTP, but the latter is not safe to use on the Internet. FTP is safer and the uftpd implementation may even be secure. Some of the most common security best practises have been employed, while others have been avoided in an effort to keep uftpd user friendly. If you want something really secure, you should probably try vsftpd.