High Performance Anonymous FTP Server (RFC0959).
It is designed to run without forks or threads and with low memory usage, so it's suitable for heavy network traffic with very many connections. Tested with FreeBSD, Linux.
It work fine with different GUI-based ftp-clients (FAR FTP-client, Total Commander, IExplorer, Konqueror(KDE browser), Opera etc).
Why you should use hpaftpd for your anonymous FTP server ?
The single-threaded philosophy makes it faster than most other FTP daemons and makes it very light on memory. Standard FTP servers fork a child process for each new incoming connection, and then one or more child processes for each directory listing that connection requests. Hpaftpd does not need to spawn any additional processes after initialization.
Standard FTP servers fork a /bin/ls process to do each directory listing. Hpaftpd has own fast /bin/ls-compatible directory listing mechanism built-in.
And so you can service more remote users at a time.
run make utility or
$cc hpaftpd.c minilib.c mlib.c nb.c -o hpaftpd
then login as 'root' and
#./hpaftpd [-pporton] [-uuser_name] [-droot_dir] [-ttimeout] [-mmax_users] [-iIP_ADDR] [-l] [-h] [-v]
#./hpaftpd -ujohn -d/home/john -t600 -m50
Anonymous user is john, work(root) directory is /home/john, FTP port is 21,
connection timeout is 10 min, 50 users, serve all interfaces.
Do not run this service from inetd, xinetd or others tcp-wrappers !
(c) /dev/www, 2006-2007