Anonymous FTP Daemon 0.0.2

A FTP server for anonymous access

  Add it to your Download Basket!

 Add it to your Watch List!


Rate it!

What's new in Anonymous FTP Daemon 0.0.2:

  • Fixed a portability bug.
Read full changelog
send us
an update
BSD License 
Anton Perkov
ROOT \ Internet \ FTP
Anonymous FTP Daemon (aftpd) is a FTP server for anonymous access is designed for UNIX-like operating system.


Typical ftp-server stipulates that each remote user enters the system using their own account. The server creates a separate process to serve each session, and uses system calls setuid and setgid to accord permissions logged in user.

For public ftp-archives, that provide anonymous access (login: anonynous or ftp) for large number of users; this way is excessively resource-intensive: a large number of processes appears in the system (each have the same permissions); it causes bulky demand of memory and overrun CPU because of context switching from one process to another.
aftpd designed to make the work of anonymous ftp-archives more efficient, but does not provide facilities of typical ftp - login available only with permissions of an anonymous user.


aftpd - ftp-server for anonymous access is designed for UNIX-like operating systems, that:

    * Uses asynchronous model of connections' processing and provide service for all users within a single process.
    * Can use multiple threads to run more efficiently on multi-core systems, with each thread serving multiple clients simultaneously.
    * Uses effective mechanisms of transferring files, minimizing copying of data in RAM - sendfile or combination of system calls mmap/writev (if it is need to transform contents of the file). mmap is as well used on systems that doesn't support sendfile.
    * Uses effective event notification schemes - kqueue on FreeBSD, epoll on Linux. It uses poll or select in older systems.
    * Supports IPv6.
    * For safety it works as unprivileged user and the chroot (after running "/" is moved to root directory of ftp-archive). Root permissions required to start.
    * Uses syslog for error notifications and logged users.


Current version (0.0.1) is compatible with:

    * RFC 2389 Feature negotiation mechanism for the File Transfer Protocol.

and partly compatible with:

    * RFC 2428 FTP Extensions for IPv6 and NATs. Doesn't support parameter ALL of EPSV command.
    * RFC 3659 Extensions to FTP. Only REST, MDTM, SIZE commands are supported.


aftpd designated for a wide range of UNIX-like operating systems. But the current release 0.0.1 has been tested only on FreeBSD 7.2/i386 and Linux 2.6.3/i386.




Next command must be run by "root":

make install

After successful installation you will see message with path to configuration file and startup script.

Default configuration file determines that daemon must work as user "ftp".
In most systems "ftp" is predefined user that intended for anonymous ftp access.

If you got error message like 'User "ftp" not exist' when server starting, you probably need to create or unblock it.

Also you can specify other user in configuration file.

Last updated on August 1st, 2010

#anonymous FTP #FTP server #anonymous #FTP #server #daemon

Add your review!