NFTP : New File Transfer Protocol Client
Copyright (C) 1994-2002 Sergey Ayukov
NFTP manual (main part)
Starting from version 1.20,
detailed
information about development progress is also available.
VERSION HISTORY
- Version 0.1 (preview) 02 Feb 1995
-
First usable version. Used FTPAPI calls. Very slow; control connection messages
cannot be seen. Wasn't exposed to public, although available.
- Version 0.2 (preview) 19 Apr 1995
-
Got rid of FTPAPI. Full-scale socket programming of ftp control connection and
data transfers. Introduced bookmarks.
- Version 0.3 (preview)
-
Never showed to public. The last version compiled with IBM CSet++. See 0.4.
- Version 0.4 (preview) 25 May 1995
-
Nearly the same as 0.3, but compiled with emx 0.9a + gcc 2.6.3.
A handful of new features:
- logging in and out without restarting entire program;
- passworded entries in bookmark file;
- quick directory change: if you know where to go, you won't need to traverse
all intermediate dirs;
- various bug fixes.
- Version 0.5 (preview; close the beta stage) 16 Jul 1995
-
Bugfixes plus
- ability to work in any 80xXX mode (25 <= XX)
- online context sensitive help (press F1, Shift+F1)
- code reorganization
- some errors are handled (mostly login errors)
- directory sorting by name, size, date/time
- create directory on the remote, remove file(s) on the remote
- preserving date/time of files downloaded
- fast built-in file viewer
- ability to invoke any ftp server command
- better socket selecting scheme
Will not work after 31 Dec 1995
- Version 0.51 (preview; close the beta stage) 19 Jul 1995
-
I am sorry for releasing 0.5 so full of bugs... There was a lot of...
- fixed couple of awful bugs (memory corruption) resulting in core dumps etc;
- got rid of malloc (goodbye, flat memory space! welcome, 32-bit segments and
memory protection!)
- you can set nonstandard port in nftp.ini
- Version 0.52
-
Same as 0.51 but without 31 Dec limitation. Only to be distributed by
SAMS Publishing.
- Version 0.53 (beta) 21 Dec 1995
-
Nearly the same as 0.52 but limited to 30 March 1996.
- Version 0.60 (beta) 31 Mar 1996
-
I am a bit short on time; 0.53 expires today, so some new features weren't tested much.
Bugfixes and small improvements plus:
- reget (restarting transfers)
- uploading
- IP numbers can be used instead of host names
- "Q" and "S" work! you can skip files during transfer or stop download/upload
- more intelligent networking (fixes some problems with dynamic IP)
- changing local directory, viewing list of local files etc.
- ability to specify arbitrary port (not in bookmarks though)
- new bookmarks can be created with Insert key
- installation program
- documentation
- Version 0.70 (beta) 30 Apr 1996
-
Few bugfixes (including failing to recognize "hostname/directory" format
when specified in the command line) plus
- fixed nasty bug causing nftp to crash when viewing some
files with internal viewer -- thanks to Jose Ruiz who pointed
out to such file
- sort by extension
- much more error recovery; there should be no more situations when
nftp exits silently;
- improved sound signals; includes beep after successful login
(configurable)
- tables in this manual look much nicer now :-)
- firewalling support -- does not work yet
- remappable keys
- ability to specify download directory in NFTP.INI. NFTP will
change into that directory after start
- IBM TCP/IP ftpd for OS/2 is supported
- Windows NT ftpd is supported
- Windows 3.x WFTPD by Texas Imperial Software is supported
- Progress indicator in "view remote file" and during receiving of
directory listing
- You can now try to "chdir" to symbolic link
- "Parsed" directory view -- hit Ctrl-P and see
- National language support -- check out
NFTP home page
- Average transfer speed is now recorded in the history (.fls file)
- Russian version
- Chinese BIG-5 version
- Spanish version
- Version 0.71 (beta) 2 Jun 1996
-
Several bugfixes plus
- '*' inverts selection
- f8 deletes local directories
- Neologic FTPD is supported
- moving language-dependent strings into separate DLLs (thus greatly
reducing size of the package)
- (un)marking files by template (eg, '*.txt')
- Hungarian version
- German version
- Danish version
- Japanese version
- caching of viewed remote files
- downloading all marked files from all directories (alt-f5)
- Version 0.72 (beta) 6 Jun 1996
-
No new functionality. Fixed small mistakes in national language
translations. Added Norwegian version. Added missing ASCII and
Postscript manuals.
- Version 0.80 (beta) 12 Jul 1996
-
- Support for Neologic FTPD in UNIX emulating mode
- Support for PowerWeb FTPD
- Support for old (with DOS-like output) Windows NT ftp server
- F6 renames files/directories (on remote too)
- Alt-S saves listing of current directory into file
- left/right/ctrl-left/ctrl-right scroll remote/local directory listing
- symbols select files starting with these symbols
- complete firewalling support (a-la WS_FTP)
(wasn't completely tested)
- built-in fileviewer now has ability to save file and search for text
- retrieving directories/viewing files is now interruptable (with ESC)
- when anonymous login is denied, NFTP will retry after specified
amount of time
- Italian version
- Brazilian Portuguese version
- Version 0.81 (beta) 9 Aug 1996
-
Mostly bugfixes. Also
- Version 0.82 (beta) 15 Aug 1996
-
Fixed bug causing zerodivide when transferring small (<1000 bytes)
files and total size of batch transfer is larger than 1MB.
- NFTP now assumes that server has Unix-like LIST output when server OS
was not recognized.
- French version (provided as separate DLL).
- Version 0.83 (beta) 27 Sep 1996
-
I am very sorry -- releasing 0.82 with 1 Oct limit was a very stupid
idea because right now I am in process of completing my PhD. I hope
to return to work on NFTP in middle October or early November. There
are no differences between 0.82 and 0.83 except expiration date.
French version is now integrated into the package.
This version will live until 1 Feb 1997 (apparently I don't want to
disappoint you just when you're celebrating New Year ;-) I hope to
produce release (1.0) meantime.
- Version 0.90 (release) 30 Jan 1997
-
This version is essentially the same as 1.0; it will expire 1 Mar 1997
so you can use it while registering version NFTP (<smile>).
Many small bugfixes and much more improved error checking plus
- PM Clipboard support (shift-insert/ctrl-insert)
- Cursor is positioned correctly after deleting/creating/sorting/etc
- spacebar/tab switches are more consistent now
- PWD is no longer necessary
- history in the command prompts (somewhat poorly done; use up/down)
- Ctrl-Z is no longer transferred in ASCII mode
- completely redesigned bookmarks
- some kind of batch mode; see command-line arguments
- directories are now removed with RMD
- fixed problem with template marking (*.h* -> foo.h)
- view turns transfer mode back when completed
- case insensitivity in file searches
- fixed problems with NT servers
- you can get file from unreadable directory (alt-d)
- improved handling of numeric IP addresses
- fixed junk appearing in input fields sometimes
- folder for NFTP. Editing .bmk and .ini
- tab expanding in viewer
- password is no longer visible in some firewall configurations
- long strings in prompts
- ask to re-read remote directory after changes done to it
- ability to reverse initial sort order in NFTP.INI
- esc no longer causes problems during transfer if hit several times
- Bulgarian version
- Version 1.00 (release) 30 Jan 1997
-
Same as version 0.90 but requires registering to transfer files larger
than 500KB.
26 Feb 1997 was a black day in NFTP history. My hard drive (Quantum BigFoot
2.5GB) has died (only 3/4 sectors are readable). Latest NFTP sources
were lost; I was thrown to pre-1.00 level. After long and painful attempts
to read what is readable, much of the source code was restored, but I am
still not sure that every feature/bugfix of 1.00 has been recovered. The
result is version 1.02.
- Version 1.01
- SOCKS-capable version (was in limited distribution). Only binaries
survived the hard drive accident by pure chance.
- Version 1.02 (release) 16 Apr 1997
- Close to 1.01. Comparing to 1.00, it fixes great deal of small bugs
and adds ability to insert/edit bookmarks from inside NFTP (Insert/Ctrl-E).
- Version 1.03 (release) 18 Apr 1997
- The bug (probably in IBM VisualAge C++ compiler) prevented 1.02 from
working under Warp 3. This version is compiled with emx/gcc as usual.
Also fixed:
- now works through firewalls again (1.02 was broken because it always
tried passive mode)
- warning beep is issued when wrong values are entered while
editing/adding bookmark.
- Version 1.10 (beta) 21 Dec 1997
- Quite significant rewrite. The program is no longer multithreaded
which has greatly reduced complexity and eliminated number of obscure bugs.
The source code is highly portable now; OS-dependent part is only several
kilobytes. This would allow myself to port NFTP to other OSes if I will
want it. So far only Win32 port is planned but no work has been done yet.
National language support system is almost completely new; it now relies
on text files with message strings instead of DLLs. This allows to check
translations/layout/syntax very quickly and is also much more portable than
DLLs.
Among the new features are:
- Marking entire directory trees is possible. When starting transfer,
you are given a choice to put all files into one directory or reproduce
directory structure of the server. Use Alt-F5, as usual. Note: only
files in the subdirectories of current one will be transferred.
Mark directories with Insert.
Download only.
- NFTP is much more responsive now to transfer interruption commands.
- NFTP no longer issues useless CWD commands when changing to the
directory that was already cached.
- AutoReconnect -- NFTP will login automatically if connection has
been broken. You no longer have to worry about timeouts etc. Or you can
disconnect and leave NFTP idle, and when needed, NFTP will log in back
and do all requested things. May be I am not clear here...
- SmartAppend -- in batch mode (when transferring multiple
files) decision on whether to append/overwrite/skip is made based
on file date/time/size;
- autodownloading file descriptions (00index.txt etc.) and showing them
(a-la CuteFTP);
- during transfer, you no longer can look at control connection history
(was: Space key). Tell me if you really need this feature.
- Version 1.11 (release) 10 Jan 1998
- This release fixes numerous bugs found in 1.10.
Behaviour of 'auto-fetch-descriptions' has been changed a little;
automatic/manual loading is now switched with Ctrl-O.
'auto-fetch-descriptions=no' means that NFTP starts in "manual" mode.
Use Ctrl-O to switch it to automatic mode.
- Version 1.20 (release) 25 Feb 1998
- Minor bugfixes and interface improvements since 1.11.
- Win32 and Linux versions (beta quality)
- New keyboard defaults (old ones still work except several
keys listed in Keyboard Reference)
- F9 invokes editor on nftp.ini from inside NFTP and then
reloads nftp.ini
- Several new
Web pages, including
development
progress and plans
- Unisys A Series mainframe ftp server support
- NFTP should run OK at every window size, including large ones
(at least 70 columns and 15 rows are recommended)
- Version 1.21 (release) 5 April 1998
- Bugfixes since 1.20, plus FreeBSD and SPARC Solaris ports and
automatic nftp.ini update when upgrading to next version.
- Version 1.22 (release) 22 May 1998
- Bugfixes since 1.21, plus
- history feature (invoked by F2/Ctrl-E)
- new, unified scheme for screen output completely
eliminating snow effects in OS/2 and Windows versions
- job control has been significantly improved (Unix excluding FreeBSD)
- two mailing lists for announcements
and discussions
- enhanced installation script (Unix)
- working flags in bookmarks and history: "p" -- always use passive
mode for that site; "r" -- retry indefinitely; "f" -- inside firewall
- new option "start-prompt" in the nftp.ini: 1 -- to open anonymous
login prompt, 2 -- to open bookmark window, 3 -- to open history,
4 -- to open private login prompt
- Ukrainian translation
- Version 1.30 (release) 20 August 1998
- Minor tweaks and bugfixes, plus
- customizable CUA-like menu system (use F9 or Ctrl-F to invoke)
- private logins/transfers are possible from the command line
(use ftp://userid:password@site.domain.net/directory format)
- upload (-p URL) and batch transfers (-@ cmdfile)
are now possible from the command line
- nicknames for quick search in the bookmarks or history from the
command line (-b nick or -h nick)
- choice of several pseudographics replacements under Unix
- job control (Ctrl-Z, bg, fg) now works under FreeBSD
- size transfer limit in unregistered version is now 1MB
- option (-m) to force monochrome mode (Unix)
- static binaries are no longer provided for Unixes
- easy-to-use installer for Windows version
- experimental port to BeOS (Intel R3)
- Version 1.40 (release) 23 October 1998
- Minor bugfixes plus
- new homepage: www.ayukov.com (http://ayukov.com also works);
- IMPORTANT: this version no longer supports plain passwords in
bookmark file; use bookmark editor to add passwords and don't
forget to enable bookmarked passwords in nftp.ini. Old plain
passwords will be *deleted* from bookmark file on first save!
- NFTP should now correctly restart transfers when nothing is
received during timeout specified in nftp.ini (default is 3 min);
- Window with NFTP can now be resized (Unix xterm, BeOS Terminal);
- NFTP now reads termcap for key definitions (improves compatibility
with some OSes and terminal emulators) (Unix, BeOS);
- new login procedure (all parameters are composed on one screen)
which is also used for bookmark editing;
old procedure is now under item "Open URL" in the "Sites" submenu;
- option to download selected files with external program
(defaults to GNU wget);
- AS/400 ftp server support;
- preliminary support for three kinds on VMS ftp servers
(MultiNet, MadGoat, UCX);
- option to record descriptions of downloaded files;
- option to use right/left arrows to enter/leave directory;
- upload and function keys now work in the BeOS version;
- full clipboard support under OS/2 in all prompts;
- version which runs under xterm in XFree86/OS2 (see nftp140ox.zip);
- Version 1.41 (release) 18 November 1998
- Bugfixes since 1.40; there are no new features. Possible security
vulnerability has been fixed.
- Version 1.50 (release) 6 February 1999
- Several major additions:
- Direct FTP Search interface allows to find and download files quickly;
includes advanced filtering capabilities, can sort results by host,
domain, size, name, date/time.
- Mouse support (not quite complete yet); works in OS/2 VIO, PM, Windows 95/98/NT,
Unix xterm/rxvt/etc. Can be switched off.
- Experimental (read: alpha-quality) OS/2 NFTP/PM version.
plus a lot of less important enhancements and bugfixes:
- language is no longer controlled by NFTP_LANG variable; it is set from the
inside of NFTP and is kept in the configuration file (nftp.cfg);
language setting is now per-platform basis (so you can have Japanese in OS/2 VIO
version, Korean in XFree86/OS2 xterm and English in NFTP/PM with one installation);
- editing files on the server (non-anonymous only); use "External viewer" menu
option;
- changed screen layout and provided options in nftp.ini for tweaking it: enabling/disabling
menu, upper and lower status lines;
- you can now interrupt communications with server with Esc (NFTP will ask whether
you really want to break connection); useful for slow sites;
- subtree sizes are shown when available for remote directories; menu option
to calculate subtree size;
- progress indicator reports stalls (no data received during extended period
of time) and time since last network activity is shown;
- you can hit 'R' during transfer to initiate abort/reconnect/reget sequence;
- NFTP is able to save/restore window size and position on some platforms
(OS/2 VIO and PM);
- NFTP VIO window can be resized on-the-fly with Alt-Left/Right/Up/Down;
- NFTP/Windows will wait for external program to finish (e.g., when editing
nftp.ini file);
- window title has been reorganized, so under Windows taskbar shows transfer
percentage (it was cut off in previous format);
- search in the history window (Ctrl-F: forward, Ctrl-G: next, Ctrl-H: backwards);
- Windows version now uses different compiler, Mingw32 egcs port
(http://agnes.dida.physik.uni-essen.de/~janjaap/mingw32/);
- PORT mode now works under BeOS;
- registration info is now entered via "Options/Registration code" menu entry
instead of editing nftp.ini;
- Alt-keys work on Linux console (useful for menu);
- some menu reorganization;
- optimizations for Unix screen output routines and option to specify 'slow link';
in that mode, NFTP will skip some not very useful screen output;
- clipserv.exe is no longer needed under OS/2;
- Solaris Intel port (actually appeared in 1.41);
- Digital Unix 4.0 (DEC Alpha) port (actually appeared in 1.41);
- Korean translation (actually appeared in 1.41);
- Finnish translation
- Version 1.51 (release) 4 April 1999
- Usual string of bugfixes plus
- support for Squid (HTTP) proxies; patching Squid is recommended
(but not necessary) to get more precise file sizes
- turning on/off firewalls/proxies on-the-fly
- X11 versions for Unixes and OS/2
- command-line switch "-l language" to select language
- timestamps are displayed in the control connection (can be
switched off)
- Version 1.52 (release) 10 April 1999
- Several bugfixes since 1.51. Most important one:
version 1.51 would not delete its temporary files.
- Version 1.53 (release) 12 April 1999
- Fixed awful bug (was present since 1.51) when on some
sites NFTP would not parse listing correctly. Updated
Hungarian translation.
- Version 1.60 (release) 22 October 1999
- Most important fixes:
- upload was broken on slow links;
- FTP Search could crash when retrieving results from server;
- CPU load in X11 versions is much smaller;
- OS/2 VIO version now can run without PM;
- Win32 console version was consuming 100% of CPU time when idle;
- data connection timeout was not always detected
New features and improvements:
- two-panel screen layout, like in Norton Commander (activated by Ctrl-W);
- new way of handling passwords (see
http://www.ayukov.com/nftp/password-caching.html
for details);
- mirroring, in both directions (currently ignores symbolic links);
- restarting uploads;
- connect operations are interruptable (not on Windows);
- revamped transfer progress indicator;
- preserving timestamps and permissions when downloading/uploading;
- support for Netscape SuiteSpot proxy;
- uploading via HTTP proxies;
- authentication on HTTP proxies;
- option to pause transfer;
- new scripting interface (see
http://www.ayukov.com/nftp/scripting.html
for details);
- FTP Search results are now persistent across sessions (they are
stored in the file);
- updated set of icons for OS/2 version;
- versions for SPARC Linux and RS/6000 AIX 4.x (actually appeared in 1.53)
- Version 1.61 (release) 12 January 2000
- Most important fixes since 1.60:
- HTTP proxy support was completely broken in 1.60;
- date/time display was seriously broken in 1.60;
- would no longer crash if TEMP/TMP points to invalid directory;
- would no longer crash when editing passwords;
- option "lowercase names on download" is now off by default;
- win32 version would no longer crash on files dated 01-01-70;
- mirroring works better;
- when transferring single file, will ask for overwrite/resume/skip.
New features:
- scripting enhancements (mget/mput, mirroring);
- NFTP remembers current local directory when default download path
isn't set in nftp.ini;
- support for FEAT/MLST (experimental; not enabled by default),
VM servers, Netware servers;
- PKFA secure authentication (experimental; see
http://www.ayukov.com/essays/pkfa.html).
- Version 1.62 (release) 21 May 2000
- Most important fixes since 1.61:
- pathnames are now handled better with HTTP proxies (".." were
not discarded where they should)
- passwords were displayed when working with private logins via HTTP proxies
- selection bar positioning on directory change
- FTP Search support has been largely rewritten
- user names with slash are allowed in the bookmarks
- numeric IP addresses are accepted as proxy names
- date/time-related fixes (thanks to Tom Fotherby!)
- loading history has been greatly sped up
New features:
- BeOS attribute transfer
- OS/390 server support (not yet finished)
- deleting local nonempty directories
- changing file permissions on remote (Files|Change access rights)
- recognizes Windows 2000 FTP server
- two new script variables controlling mirroring behaviour
- OS/2 VIO version has icon now
- option to disable directory re-read confirmation
- option to disable logoff confirmation
- new installer for Windows version
- FTP Search now accepts usernames and passwords: mp3.lycos.com works now
- Apache proxy support
- Czech translation
- Version 1.63 (release) 7 September 2001
- New since 1.62:
- sizes over 2GB are now displayed correctly
- nonblocking connect works under Windows
- option to disable backups when overwriting downloads
- Slovak translation
Fixes:
- when current local directory is deleted NFTP would no longer
crash (Unix)
- sometimes mirroring was deleting files it just downloaded
- FTP search no longer crashes under Unix
- Version 1.70 (release) 30 June 2002
- New since 1.63:
- support for new licensing scheme;
- support for Microsoft ISA 2000 proxy;
- F8 presents menu to change encoding in the viewer;
Fixes:
- under some circumstances transfer rate was limited;
- mirroring by download works more reliably;
- Chinese translation is now up-to-date;
- Italian and Swedish NLS files were corrupted;
- improved implementation for wildcard matching routines;
- Version 1.71 (release) 20 October 2002
- New since 1.70:
- if transfer script fails nonzero error code is returned by NFTP
Fixes:
- fixed date/time processing algorithms;
- NFTP now recognizes Xitami Windows FTP server;
NFTP home page //
Send comment