glFTPd is one very advanced ftp server with many possibilities. One of the main differences between many other ftp servers and glFTPd is that it has its own base user data that can be fully maintained using commands through an ftp client.
Using these commands you can see statistics, view logs, run scripts scripts and more. glFTPd runs in a chroot environment which makes it relatively secure.
Specifications
glFTPd has a lot of features that make many complex and complicated settings possible. A number of its most important features are:
Virtual users and groups
Bandwidth Limiting (Global and Per User)
Support multiple network connections
Settings per IP
Support Upload/Download ratio
On the fly CRC calculation of uploaded files
Scripting support for almost all commands and functions
Duplicate file checking Dupe checking (existence archivey to any dir)
User management from the internet (add/remove/edit users using ftp client commands)
Group admins who can manage the groups they are admins for
Built-in statistics that can be viewed using commands
View online log using commands
Encryption support via TLS/SSL integration
ACL support
Allows FXP
And many others that are used for very specialized tasks on the Stage.
Story
glFTPd stands for GreyLine File Transfer Protocol Demon. Named after the original developer GreyLine. The first public release of this software dates back to early 1998. It has evolved tremendously since then.
Plugins / scripts
With the external scripts you can do whatever you want, like connecting the ftp site to an encrypted one channel on IRC (eggdrop). It is possible to run scripts before or after uploading a file to check the integrity of the uploaded file. These scripts are commonly called zipscripts.
Modern zipscripts can do very advanced things, keep statistics on corrupted files and check the integrity of zip files or crc-check files with a supplied crc code (often supplied in a .sfv file).
Plugins and scripts for glFTPd they can be found on many websites of many developers.