GNU Wget is a utility for noninteractive download of files from the Web. It supports HTTP and FTP protocols, as well as retrieval through HTTP proxies. It can follow HTML links, download many pages, and convert the links for local viewing. It can also mirror FTP hierarchies or only those files that have changed. Wget has been designed for robustness over slow network connections; if a download fails due to a network problem, it will keep retrying until the whole file has been retrieved.
lftp is a sophisticated command line based file transfer program. Supported protocols include FTP, HTTP, SFTP, and FISH. It has a multithreaded design allowing you to issue and execute multiple commands simultaneously or in the background. It also features mirroring capabilities and will reconnect and continue transfers in the event of a disconnection. Also, if you quit the program while transfers are still in progress, it will switch to nohup mode and finish the transfers in the background. Additional protocols supported: FTP over HTTP proxy, HTTPS and FTP over SSL, BitTorrent protocol. IPv6 is fully supported. There are lots of tunable parameters, including rate limitation, number of connections limitation and more.
curl and libcurl is a tool for transferring files using URL syntax. It supports HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT, TELNET, LDAP, POP3, IMAP, SMTP, RTSP, RTMP, and FILE, as well as HTTP-post, HTTP-put, cookies, FTP upload, resumed transfers, passwords, port numbers, SSL certificates, Kerberos, and proxies. It is powered by libcurl, the client-side URL transfer library. There are bindings to libcurl for about 40 languages and environments.
ProFTPD is a proven, high-performance, scalable FTP server written from scratch, with a focus toward simplicity, security, and ease of configuration. Naturally, ProFTPD powers some of the largest sites on the Internet. It features a very Apache-like configuration syntax, modules, and a highly customizable server infrastructure, including support for multiple 'virtual' FTP servers, anonymous FTP, and permission-based directory visibility.
DeleGate is a multi-purpose application level gateway or proxy server that mediates communication of various protocols, applying cache and conversion for mediated data, controlling access from clients, and routing toward servers. It translates protocols between clients and servers, converting between IPv4 and IPv6, applying SSL (TLS) to arbitrary protocols, merging several servers into a single server view with aliasing and filtering. It can be used as a simple origin server for some protocols (HTTP, FTP, and NNTP).
JFtp is a Swing Java network and file transfer client. It supports FTP using its own FTP API and various other protocols like SMB, SFTP, NFS, HTTP, and file I/O using third party APIs. It includes many advanced features such as recursive directory up/download, browsing FTP servers while transferring files, FTP resuming and queueing, browsing the LAN for Windows shares, and more. The FTP API is separated from the GUI and can also be used in third-party applications. It should ideally be launched in a Web browser via Java Web Start (contained by the Java 1.4 plugin), but can also be started locally.