tnftp (formerly known as lukemftp) is a port of the NetBSD FTP client to other systems. It offers many enhancements over the traditional BSD FTP client, including command-line editing, command-line fetches of FTP and HTTP URLs (including via proxies), command-line uploads of FTP URLs, context-sensitive word completion, dynamic progress bar, IPv6 support, modification time preservation, paging of local and remote files, passive mode support (with fallback to active mode), SOCKS support, TIS FWTK gate-ftp server support, and transfer rate throttling. tnftp is the default FTP client found in FreeBSD, MacOS X, NetBSD, and SuSE Linux.
| Tags | Internet FTP |
|---|---|
| Licenses | BSD Original |
| Operating Systems | POSIX |
| Implementation | C |
Recent releases


Changes: The "-s srcaddr" option was implemented to set the local IP address for all connections. The "-q quittime" option is supported when waiting for server replies. The IEC 60027-2 units such as "KiB" and "MiB" are used instead of "KB", "MB", etc. Portability fixes were made, including for FreeBSD, Mac OS X, and Solaris.


Changes: Portability fixes were made for Mac OS X, Unixware, IRIX, Linux, and other platforms. Timeout support during connection initiation was improved. An overly long input line is now prevented from causing a core dump. The checks that ensure an mget filename isn't outside the local current working directory were improved.


Changes: This version prevents the mget of (remote) filenames that are not in (or below) the current local directory. It improves reliability and standards conformance of HTTP transfers, and the reliability of connection setup. There were various other bugfixes.


Changes: Portability fixes were made for Cygwin.


Changes: Broken IPv6 implementations are now detected, causing INET6 support to be disabled. A workaround was implemented for incorrect FEAT responses from ProFTPd. The directory completion cache is now invalidated after any command that could change the contents of remote directories.
- All comments
Recent commentsI couldn't build tnftp under ubuntu 9.04 on the SheevaPlug. It's missing variable ARG_MAX. I kludged it by adding that directly to tnftp.h, and it works fine. But, this is the wrong way to fix the problem.
Download location is incorrect
The download location for version 2.0-beta1 is incorrect as I'm writing this (I hope it will be fixed). This is the directory where all releases can be found:
ftp://ftp.netbsd.org/pub/NetBSD/misc/tnftp/ (ftp://ftp.netbsd.org/pub/NetBSD/misc/tnftp/)