DRAFT. EXPECT SOME OMISSIONS AND INACCURACIES ---------------------------------------------------------------------------- NFTP : New File Transfer Protocol Client Version 0.83 Copyright (C) 1994-1996 Sergey Ayukov ---------------------------------------------------------------------------- Home page of NFTP is http://crydee.sai.msu.su/nftp/ Check it for new versions, updates etc. Contents 1. Introduction 2. Installation 3. Quick start 4. Usage o Launching NFTP o Logging in and out o Behind the firewall o Navigating remote site and local directories o Transferring files o Customizing NFTP 5. Keyboard commands summary o General keyboard commands o Control connection window o File listing (remote and local) o Entry fields o Bookmark list o Built-in file viewer 6. Known bugs and limitations 7. Troubleshooting 8. Licensing information 9. Acknowledgements 10. Registration 11. Contacting the author 12. Version history ---------------------------------------------------------------------------- INTRODUCTION NFTP is a text-mode ftp client for OS/2. Comparing to popular ncftp, it has a number of enhancements: * remote directory view is fully scrollable with minimum keystrokes required; * remote directory contents is cached during one session - you'll never have to wait for retrieving the same listing; * marking files for download/upload: you don't need to type filenames at all; * remote file viewing is more simple and intelligent, and viewed files are cached as well; * you can see client-server negotiation (even complete history during all run); * NFTP has batch progress indicator (you see how long will take entire operation if more than one file was selected to transfer); * file selection is simple and allows to view remote files while marking others to transfer; * you can skip files during transfer while continuing to download/upload the rest; * you can mark files in different directories and then retrieve them all; * you can sort remote directories by name, size, date/time. * NFTP comes in 12 languages: Brazilian Portuguese, Chinese, Danish, Dutch, English, German, Hungarian, Italian, Japanese, Norwegian, Russian, Spanish, Swedish. The biggest advantages over majority of PM ftp clients (like FTP-PM, sftp etc.) are the ability to 'reget' (continue transfer after interruption), speed of simple and effective text-mode interface, small memory requirements. In my opinion, LW-FTP while being very elegant is useless due to big overhead of Workplace Shell object creation/deletion. OS/2 4.0 (Merlin) has introduced concept of 'FTP Folder', similar to LW-FTP and offering seamless integration of FTP client and Workplace Shell (via WPS class). They are funny and easy to use, but play and work are different things. If you really need to transfer files regularly and in large quantities you'll look for more useful and less fancy program than 'FTP Folder'. However, NFTP isn't free as ncftp. But registration fee is only US$ 20 -- and you'll get all future versions and support by e-mail at this price! See registration details below. ---------------------------------------------------------------------------- INSTALLATION 1. Requirements are o OS/2 2.x or later; o TCP/IP stack: IBM TCP/IP 2.0 for OS/2, OS/2 Warp Connect, OS/2 Warp Internet Access Kit; o HPFS formatted drive to be able to download files which are not 8.3-compliant. o In addition, you also have to install emx runtime package. If you don't have it installed, file "emx.dll" is supplied with this version of NFTP. Copy it into any directory listed in your LIBPATH. If you want to obtain complete emx runtime package and/or its source, you can get it from the following anonymous ftp servers: ftp.uni-stuttgart.de:/pub/systems/os2/emx-0.9b/ hobbes.nmsu.edu://os2/unix/emx09b/ ftp.cdrom.com:/pub/os2/lang/emx09b/ ftp.sai.msu.su:/pub/os2/programming/emx-0.9b/ EMX runtime support is contained in file emxrt.zip; instructions on installing it can be found inside archive. 2. Installation. Unpack archive nftp*.zip into some directory and run install.cmd. After answering some questions necessary files will be copied to the directory you specified and your WPS desktop will hold two new objects -- "NFTP" (executable) and "NFTP Manual". You probably already done that because you're reading that "NFTP Manual"! If you want to install NFTP by hand (without install.cmd), copy all files into the directory of your choice (eg, "d:\apps\tcpip\nftp"), load nftp.ini into your favourite ASCII text editor (eg, TEDIT shipped with Warp) and insert your e-mail address (it will be used as a password for anonymous logins) at the appropriate place (line anonymous-password="your-e-mail-address" ). I also suggest to decide where you will keep your bookmarks and transfer history and set corresponding variables accordingly. If you like to launch programs from desktop, create program object for NFTP. Put supplied nftp.mrk file into the directory which you've chosen in nftp.ini. The language NFTP uses is determined by environment variable NFTP_LANG. It should be set to the name (without extension) of corresponding DLL file. E.g., if you want to use Japanese version, you should use set NFTP_LANG=japanes This statement can be put to config.sys or to the batch file invoking nftp (install.cmd does exactly this). If you only need English version you may omit this variable. install.cmd creates Workplace shell object to run NFTP. This feature can be useful even you are die-hard command-line user (see below). NFTP can run in a fullscreen session or in a VIO window. Installation script sets it to run in a window, and window will not be closed automatically after exit -- this can help to diagnose problems. Turn it off when everything works as expected. ---------------------------------------------------------------------------- QUICK START After installation, run nftp.exe (from command line or WPS object). If you're launching NFTP from WPS object created by installation script you will be asked to enter "FTP server to log in"; simply press ENTER now. You should see list of bookmarks on the screen. Use cursor keys to select one of them and press ENTER. If everything is set up correctly, you'll see client-server negotiation and then finally list of files and directories on the ftp server you've chosen. Hit SPACE to view control connection window (and it is scrollable!), TAB to view local files/directories. Return to remote directory view by pressing space/tab another time. Move pointer with cursor keys, press ENTER on a directory to enter it. If you know name of the file (or first symbols of the name), type it directly: NFTP will try to position cursor on a file which name starts with these symbols. Select files to download with INSERT or simply press F5 to transfer single file. To upload file to server, switch to local files view (with TAB), select file(s) and press Shift-F5. To view local or remote file, move pointer to it and press F3 (of course, remote file will be downloaded first -- that will probably take some time). Navigating in the viewer is simple and intuitive: scroll file with cursor keys. Press F10 to log off and exit NFTP. ---------------------------------------------------------------------------- USAGE: LAUNCHING NFTP You often already know where the file you need right now is located. Let's suppose, say, you want to retrieve RFC 959 from src.doc.ic.ac.uk:/pub/rfc/ Launch nftp in the following fashion: nftp src.doc.ic.ac.uk:/pub/rfc or nftp src.doc.ic.ac.uk/pub/rfc After logging in into src.doc.ic.ac.uk nftp will change directory for you to /pub/rfc. Having directory listing before you, start typing 'rfc959': cursor will be positioned on rfc959.txt.gz. You will then locate required file and download it. The command line format for NFTP is: nftp [hostname[[:[port]]directory] [userid] "hostname" is the name of ftp server ('src.doc.ic.ac.uk' in the above example), ":" can be omitted, "directory" is remote directory ('/pub/rfc' in the above example), "port" is port number (don't use it if you don't know what's it). If you have an account on ftp server (i.e. you're not anonymous user), you can specify your userid in the command line. You will be asked for a password. An important note -- there shouldn't be any spaces between hostname and directory! Another examples are: nftp private.crlf.net:7500/users (nonstandard port) nftp ftp/pub (domain suffix omitted) nftp 128.128.128.128:/mydir (IP number instead of host name) nftp lnfm1.sai.msu.su/home/asv asv (login with explicit directory and real password) Specifying directories in a command line is a pretty useful feature: when you've found some reference, paste it directly into the command line (e.g., File Commander/2 1.4 allows this) and you'll get right into the place without typing anything except Ctrl-Ins and Shift-Ins! Note that it's impossible to specify filename on the command line -- use directory name, not file name (i.e. /pub/rfc instead of pub/rfc/rfc959.txt.gz in the above example). NFTP will try to use any text mode you have set before starting it. Modes with 80 columns work rather good, but do not expect this from 132-col or other modes. ---------------------------------------------------------------------------- USAGE: LOGGING IN AND OUT NFTP has several ways to choose ftp server: * you can specify ftp server on the command line (see previous chapter, "USAGE: LAUNCHING NFTP"; examples can be found there as well). * if you don't need to put server into bookmark list (i.e. you want to visit it only once), use Ctrl-L and Ctrl-N keys. Ctrl-L invokes anonymous login procedure, and Ctrl-N will also ask for userid and password. Later you may decide that the site is worth attention and want to put it into bookmark list -- press F4 to add current directory on a current server to the bookmark list. Unfortunately, currently you can only add sites in such a way to the end of the list. To sort the bookmark list, use any ASCII editor. To log off, use Ctrl-K; F10 will log off and exit NFTP. * you can server's hostname and (optionally) initial directory into the bookmark list if you frequent this site. Locate file 'nftp.mrk' or whatever is set in 'bookmarks-file' in NFTP.INI and load it into ASCII editor. Insert new line in any place and fill it following this template: userid hostname : directory is blank character here. All fields, excluding directory, are obligatory. When directory is omitted, colon must present. Format of bookmark file will change in near future; I plan to add comments and some kind of folders to get more compressed list. If you don't like editing text files, start NFTP and when you'll be prompted one of bookmarks, press INSERT to add new site. Fill all fields and press ENTER. Select newly added server with cursor keys and press ENTER again to login to site. ---------------------------------------------------------------------------- USAGE: BEHIND THE FIREWALL NFTP can be used if your machine is located behind the firewall. There are several kinds of firewalls (and may be even other types not documented here). Unfortunately, I cannot test NFTP with any type of firewall because I don't have one. So I have to relay on independent testers. If NFTP does not work with your firewall software, please contact me and I will try to fix the situation. I would also appreciate your report about whether NFTP works with your firewall, how your firewall software is called and to what type it belongs (see below about firewall types). Here are six types of firewalls supported by NFTP: 1. SITE hostname Firewall host, userid and password are required. User is logged on the firewall and the remote connection is established using SITE remote_host. 2. USER after logon Firewall host, userid and password are required. User is logged on the firewall and the remote connection is established using USER remote_userid@remote_host 3. USER with no logon Firewall host required, userid and password are ignored. USER remote_userid@remote_host is sent to firewall upon initial connection. 4. Proxy OPEN Firewall host required, userid and password are ignored. OPEN remote_host is sent to firewall upon initial connection. 5. PASV mode There is another kind of firewall, which is not specifically configured. A router-based firewall is one which allows connections to be established in one direction only. The router itself is invisible to the user. However, the default mode within FTP is that "data" connections are established by the server rather than the client. To work with a router-based firewall requires using the PASV Mode of FTP. You decide of what type your firewall is, and then edit NFTP.INI setting appropriate variables: ; ;firewall-type=0 ; ;firewall-host= ; ;firewall-login= ; ;firewall-password= ; ;firewall-port= ; ;use-PASV-mode=0 ---------------------------------------------------------------------------- USAGE: NAVIGATING REMOTE SITE AND LOCAL DIRECTORIES With NFTP, you work with remote directories like using some kind of filemanager. List of files is scrollable; you can view, delete, rename files and directories, create new directories, sort file list by different criteria, mark and unmark files, quickly search for file if you know its name, change directories etc. Some actions will succeed only if you have sufficient rights, of course. Most anonymous servers allow to create directories and upload files only to special 'incoming' directory; in other directories you can't manipulate directory contents. Complete list of available commands is in the Keyboard Commands Summary section. You can also view it while working with NFTP - just press F1. F1 displays context-sensitive help, i.e. keystrokes valid in the current mode. Shift-F1 shows general (rather brief) information about program usage. ---------------------------------------------------------------------------- USAGE: TRANSFERRING FILES ---------------------------------------------------------------------------- USAGE: CUSTOMIZING NFTP Almost all customizations are done through NFTP.INI. This file usually resides in the same directory as NFTP.EXE itself. However, you can also place it into PATHed directory or current directory. The file NFTP.INI is plain ASCII file and can be edited with any ASCII editor (e.g., "System Editor" or "TEDIT"). Lines starting with semicolon ";" are comments; empty lines are ignored. The file itself holds comments about configuration and parameter meaning. Note that only one entry in NFTP.INI is required -- your e-mail address (anonymous-password). All other fields are commented by default (installation script sets log-transfers-name and bookmarks-file). Do not forget to remove leading ";" when doing customizations. To get rid of overhead of parsing of text initialization file, NFTP converts NFTP.INI into NFTP.BIN. This operation is done only when necessary (i.e. when NFTP.BIN does not exist or older than NFTP.INI). Conversion is fully automatic and done by NFTP-OPT. Please note that file NFTP-OPT.EXE should be placed into the same directory as NFTP.INI or into the directory listed in PATH environment variable. In general, you shouldn't worry about it. Complete explanation of all parameters in NFTP.INI is in NFTP.INI itself. I feel it is more appropriate place than this manual; it makes little sense to duplicate information here. Parameters can be of one of three types: integer, boolean and string. Integer values are represented by integers :-) and can be prefixed by sign. Boolean values can be specified as "0", "n", "no" (false), "1", "y", "yes" (true) (WITHOUT! quotes). Different capitalization (e.g., "Yes") can also be used. Strings are represented by character sequencies enclosed into double quotes; if value contains only letters, digits and minus sign you can safely omit quotes. The following table lists valid keyboard combinations which can be used in NFTP. "Y" means that this keystroke can be used; "--" -- keystroke cannot be assigned (it's not generated at all or intercepted by system); "N/R" -- not recommended (e.g., better leave Esc or Enter bound to defaults); "char" -- generates plain ASCII character code. VALID KEY COMBINATIONS: FUNCTION AND ALPHANUMERIC KEYS Key Plain Shift Alt Ctrl esc N/R same as 'esc' -- -- f1-f12 Y Y Y Y ~ ` char char Y -- 1 ! char char Y -- 2 @ char char Y Y 3 # char char Y -- 4 $ char char Y -- 5 % char char Y -- 6 ^ char char Y Y 7 & char char Y -- 8 * char char Y -- 9 ( char char Y -- 0 ) char char Y -- - _ char char Y Y + = char char Y -- | \ char char Y Y backspace N/R same as 'backspace' Y Y tab N/R N/R N/R N/R enter N/R same as 'enter' Y Y a-z char char Y Y { [ char char Y same as 'esc' } ] char char Y Y : ; char char Y -- " ' char char Y -- < , char char Y -- > . char char Y -- ? / char char N/R -- Space char same as 'space' same as 'space' same as 'space' VALID KEY COMBINATIONS: NAVIGATION KEYS AND NUMERIC KEYPAD Key Plain Shift Alt Ctrl insert N/R same as 'insert' Y Y delete N/R same as 'delete' Y Y home N/R same as 'home' -- Y end N/R same as 'end' Y Y pgup N/R same as 'pgup' Y Y pgdn N/R same as 'pgdn' Y Y up N/R same as 'up' Y Y down N/R same as 'down' Y Y left N/R same as 'left' Y Y right N/R same as 'right' Y Y num / same as '/' same as '/' Y Y num * same as '*' same as '*' Y Y num - same as '-' same as '-' Y Y num + same as '+' same as '+' Y Y num enter same as 'enter' same as 'enter' Y same as 'ctrl-enter' num 1 same as 'end' same as '1' -- same as 'ctrl-end' num 2 same as 'down' same as '2' -- same as 'ctrl-down' num 3 same as 'pgdn' same as '3' -- same as 'ctrl-pgdn' num 4 same as 'left' same as '4' -- same as 'ctrl-left' num 5 Y same as '5' -- Y num 6 same as 'right' same as '6' -- same as 'ctrl-right' num 7 same as 'home' same as '7' -- same as 'ctrl-home' num 8 same as 'up' same as '8' -- same as 'ctrl-up' num 9 same as 'pgup' same as '9' -- same as 'ctrl-pgup' num 0 same as 'insert' same as '0' -- same as 'ctrl-insert' num . same as 'delete' same as '.' -- same as 'ctrl-delete' ---------------------------------------------------------------------------- KEYBOARD COMMANDS SUMMARY All interaction with NFTP is keyboard-based; there's no mouse support (and I am not going to implement it -- at least now). This approach is somewhat tough for novice user, but after some learning it gives the best results in terms of usability and interaction speed. Here is the list of keystrokes ("hot keys"); it's divided into several sections each pertaining to specific mode of operation or action classification. GENERAL KEYBOARD COMMANDS Note that these commands are available almost always Key Meaning Shift+F1 program information and general keyboard commands F1 brings context sensitive help F10 logoff from site and quit NFTP Ctrl-K logoff from site Ctrl-B open bookmark list and log to site from it Ctrl-L login as anonymous into new site Ctrl-N login with userid/password into new site Ctrl-V display version information Ctrl-A toggle state of autocontrol flag Ctrl-T toggle ASCII/BINARY mode Ctrl-D redraw screen (do not re-read remote dir) Alt-N send NO OPERATION command (verify connection aliveness) Ctrl-W sets remote directory view to raw Ctrl-P sets remote directory view to parsed use/inhibit NLST with flags (default is on). Some servers Alt-F do not like NLST -lLa. Try if you see strange messages from server when retrieving directory listing. NOT RECOMMENDED. CONTROL CONNECTION WINDOW Key Meaning arrow keys move viewpoint Esc bring you back to the end of history (same as End) Space switches to directory view Alt-Q send any string to server verbatim (quote) Alt-C change to arbitrary directory FILE LISTING VIEW (REMOTE OR LOCAL) Key Meaning Navigating arrow keys move cursor around. Horizontal scrolling is also possible Ctrl-Left/Ctrl-Right horizontal scrolling by 10 symbols Ctrl-\ change to root directory Ctrl-PgUp goto the directory level higher ("cd ..") Ctrl-PgDn chdir to directory under cursor Enter same as above Alt-C change to arbitrary directory Space switch to control connection F2 select drive letter -- local view only Sorting file listing Ctrl-F3 sort directory by name, dirs first Ctrl-F5 sort directory by time, then name, dirs first Ctrl-F6 sort directory by size, then name, dirs first Ctrl-F7 remove sorting, return to original state Ctrl-F8 reverse current sort order Marking/unmarking Ctrl-num+ mark all files in current directory Ctrl-num- unmark all files in current directory Insert mark/unmark file under cursor. Directory cannot be marked * invert selection Alt-num+ mark all files in all visited directories Alt-num- unmark all files in all visited directories Transferring files download file under cursor or F5 marked files (if any) -- remote view only Shift+F5 upload file under cursor or marked files (if any) -- local view only Alt-F5 download all marked files from all directories -- remote view only Alt-S save listing of current directory into file -- remote view only Viewing files F3 view file under cursor, use fast internal viewer Alt-F3 view file under cursor, use external viewer Creating/deleting/renaming files/directories F6 rename file/directory F7 make directory (you have to have permissions on remote) F8 delete file or directory under cursor Ctrl-R re-read directory (refresh file list) Miscellaneous F4 save this place as a bookmark alphanumeric keys quick search for files starting with these symbols ENTRY FIELDS Key Meaning Esc/Enter abandon/confirm Left, Right, Home, End move cursor around Tab, Shift-Tab move to next/previous field (if any) Del, Backspace delete characters Pressing any keys different from Left, Right, Home, End will clear the initial string. BOOKMARK LIST Key Meaning arrow keys move cursor Enter select bookmark Esc abort (leave bookmark list) Del delete bookmark Insert create new bookmark BUILT-IN FILE VIEWER Key Meaning arrow keys scroll (note that you can scroll horizontally also) Ctrl-Left/Right scroll by 10 symbols horizontally F7 search for text string Shift-F7 repeat search for text string F2/Alt-S save contents to file Esc exit viewer ---------------------------------------------------------------------------- KNOWN BUGS AND LIMITATIONS 1. Not all ftp servers are supported. Most ftp servers in the world use wu-ftpd under Unix as their server software, so you shouldn't experience this trouble too often. Nearly all Unix ftp servers are supported. IBM TCP/IP 2.0 for OS/2 ftpd and Windows NT ftpd are supported too. 2. When running with 'debug=1', your password will be recorded in debug tracefile -- beware! 3. When running with 'debug=1', run nftp off HPFS partition - debug file has long filename with two dots. 4. Error handling is still pretty primitive ---------------------------------------------------------------------------- TROUBLESHOOTING Q: nftp says "emx not found". A: You don't have emx runtime package installed. Read INSTALLATION section again. Q: nftp crashes, saying "core dumped". A: If you can repeat situation, please send me details of your setup (nftp.ini, nftp.mrk, keystrokes which caused fault). Q: nftp seems to be hanging, no activity is visible A: If this happened during transfer, try "Q". Otherwise terminate it with Ctrl-Break. ---------------------------------------------------------------------------- LICENSING INFORMATION The Program (NFTP) is owned by Sergey Ayukov and is copyrighted and licensed, not sold. The term "Program" means the original program and all whole or partial copies of it. You may: * use the Program * distribute unaltered copies of the Program You may not: * reverse assemble, reverse compile, or otherwise translate the Program * sublicense, rent, or lease the Program The Program is provided `as is'. Any express or implied warranties, including, but not limited to, the implied warranties for merchantability and fitness to a particular purpose are disclaimed. Sergey Ayukov will not be liable for any lost profits, lost savings, incident, special, or indirect damages or other economic consequential damages, even if Sergey Ayukov has been advised of the possibility of such damages. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so the above limitation or exclusion may not apply to you. The size of files that can be transferred with free version is limited to 500KB. If you want to exploit full capabilities of the Program and receive support by e-mail from author, you have to register your copy. See section Registration below. If you don't need neither to transfer files larger than 500KB nor support you don't have to register. Using unregistered version is perfectly legal; the above conditions apply. Using registered version is covered by separate license; it will be provided later. ---------------------------------------------------------------------------- ACKNOWLEDGEMENTS Many people have helped me in creating and improving NFTP. They are (in alphabetical order): * Hubert Brentano (translation to German) * Lennart Carlson (translation to Swedish) * Tóth Ferenc (translation to Hungarian) * Henk Hendriks (translation to Dutch) * Stefan Hora (testing behind the firewall) * Lord Lee (translation to Chinese) * Kirill Lissovsky (usability comments) * Dmitry Maloff (usability comments) * Ivan F. Martinez (translation to Brazilian Portuguese) * Sergey Mikhaylov (usability comments) * Pantaleo Nacci (translation to Italian) * Jose Ruiz (translation to Spanish) * Kaz Shimz (translation to Japanese) * Andrew Sukhorukov (usability comments) * Kim Poulsen (translation to Danish) * Kristoffer Viddal (translation to Norwegian) Special thanks to Eberhard Mattes, author of emx/gcc development system! This program is packaged using Info-ZIP's compression utility. Info-ZIP's software (Zip, UnZip and related utilities) is free and can be obtained as source code or executables from various bulletin board services and anonymous-ftp sites, including CompuServe's IBMPRO forum and ftp.uu.net:/pub/archiving/zip/*. ---------------------------------------------------------------------------- REGISTRATION Registration fee will be US$ 20. For this price you'll get free updates (i.e. all future versions of NFTP) and support from author by e-mail. Single registration covers all national language versions, so if you want to run, say, English and Chinese versions, you'll have to pay only once. If you think that price is too high for this small utility, simply don't use NFTP. The program isn't complete, so there's nothing yet to pay for. Please wait for release version (1.0). Version 0.83 will become unregistered February 1, 1997. There should be another version this Fall. For people living in Former Soviet Union countries registration will cost only one postcard. If you want to register in advance, send nice postcard (preferably with your home town if it's not Moscow) enclosed in envelope to Sergey Ayukov Sternberg Astronomical Institute Universitetsky pr., 13 Moscow 119899 Russia You will receive your registration number after sending registration form by e-mail. This form will be provided later. Nothing else here at the moment. ---------------------------------------------------------------------------- CONTACTING THE AUTHOR You can reach me at asv@sai.msu.su. Where to find new versions: 1. anonymous ftp: ftp.sai.msu.su:/pub/os2/internet/ftp/ 2. WWW: http://crydee.sai.msu.su/nftp/ 3. ftp-os2.cdrom.com, hobbes.nmsu.edu, ftp.leo.org Note that first site is managed by myself so it always contains the latest version while Hobbes and cdrom archives sometimes become outdated. Sorry for any typos and bad grammar. I will gladly accept any corrections to this short manual. ---------------------------------------------------------------------------- Sergey Ayukov (asv@sai.msu.su) ---------------------------------------------------------------------------- VERSION HISTORY Version 0.1 (preview) 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) 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) Nearly the same as 0.3, but compiled with emx 0.9a + gcc 2.6.3. A handful of new features: o logging in and out without restarting entire program; o passworded entries in bookmark file; o quick directory change: if you know where to go, you won't need to traverse all intermediate dirs; o various bug fixes. Version 0.5 (preview; close the beta stage) Bugfixes plus o ability to work in any 80xXX mode (25 <= XX) o online context sensitive help (press F1, Shift+F1) o code reorganization o some errors are handled (mostly login errors) o directory sorting by name, size, date/time o create directory on the remote, remove file(s) on the remote o preserving date/time of files downloaded o fast built-in file viewer o ability to invoke any ftp server command o better socket selecting scheme Will not work after 31 Dec 1995 Version 0.51 (preview; close the beta stage) I am sorry for releasing 0.5 so full of bugs... There was a lot of... o fixed couple of awful bugs (memory corruption) resulting in core dumps etc; o got rid of malloc (goodbye, flat memory space! welcome, 32-bit segments and memory protection!) o 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 Nearly the same as 0.52 but limited to 30 March 1996. Version 0.60 I am a bit short on time; 0.53 expires today, so some new features weren't tested much. Bugfixes and small improvements plus: o reget (restarting transfers) o uploading o IP numbers can be used instead of host names o "Q" and "S" work! you can skip files during transfer or stop download/upload o more intelligent networking (fixes some problems with dynamic IP) o changing local directory, viewing list of local files etc. o ability to specify arbitrary port (not in bookmarks though) o new bookmarks can be created with Insert key o installation program o documentation Version 0.70 Few bugfixes (including failing to recognize "hostname/directory" format when specified in the command line) plus o fixed nasty bug causing nftp to crash when viewing some files with internal viewer -- thanks to Jose Ruiz who pointed out to such file o sort by extension o much more error recovery; there should be no more situations when nftp exits silently; o improved sound signals; includes beep after successful login (configurable) o tables in this manual look much nicer now :-) o firewalling support -- does not work yet o remappable keys o ability to specify download directory in NFTP.INI. NFTP will change into that directory after start o IBM TCP/IP ftpd for OS/2 is supported o Windows NT ftpd is supported o Windows 3.x WFTPD by Texas Imperial Software is supported o Progress indicator in "view remote file" and during receiving of directory listing o You can now try to "chdir" to symbolic link o "Parsed" directory view -- hit Ctrl-P and see o National language support -- check out NFTP home page o Average transfer speed is now recorded in the history (.fls file) o Russian version o Chinese BIG-5 version o Spanish version Version 0.71 Several bugfixes plus o '*' inverts selection o f8 deletes local directories o Neologic FTPD is supported o moving language-dependent strings into separate DLLs (thus greatly reducing size of the package) o (un)marking files by template (eg, '*.txt') o Hungarian version o German version o Danish version o Japanese version o caching of viewed remote files o downloading all marked files from all directories (alt-f5) Version 0.72 No new functionality. Fixed small mistakes in national language translations. Added Norwegian version. Added missing ASCII and Postscript manuals. Version 0.80 o Support for Neologic FTPD in UNIX emulating mode o Support for PowerWeb FTPD o Support for old (with DOS-like output) Windows NT ftp server o F6 renames files/directories (on remote too) o Alt-S saves listing of current directory into file o left/right/ctrl-left/ctrl-right scroll remote/local directory listing o symbols select files starting with these symbols o complete firewalling support (a-la WS_FTP) (wasn't completely tested) o built-in fileviewer now has ability to save file and search for text o retrieving directories/viewing files is now interruptable (with ESC) o when anonymous login is denied, NFTP will retry after specified amount of time o Italian version o Brazilian Portuguese version Version 0.81 Mostly bugfixes. Also o Dutch version Version 0.82 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. Version 0.83 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. Planned for next versions (note that not all these features will be in the first shareware version (1.0)): * more error recovery * more complete docs * more multithreading (view file while downloading etc) * enhanced bookmarks (folders?, descriptions, URL form etc.) * searching for string in file names * batch mode ? * autodownloading file descriptions (00index.txt) and showing them (a-la CuteFTP) * FAT support There were several requests for PM version. I hope that I will write it sometimes, but probably not in 1996.