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


Release Notes: An intermittent "Alarm clock" error was fixed. The "epsv6" and "epsv" commands were added to disable extended passive mode for IPv6 or both IPv4 and IPv6 respectively. Parsing of HTTP chunked transfers was improved. DNS service discovery is supported. Portability fixes were made.


Release Notes: 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.


Release Notes: 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.


Release Notes: 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.


Release Notes: Portability fixes were made for Cygwin.
Recent comments
30 May 2009 16:05
I 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.
28 Feb 2003 09:17
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/)