DRAFT. EXPECT SOME OMISSIONS AND INACCURACIES
NFTP : New File Transfer Protocol Client Version 0.80
Copyright (C) 1994-1996 Sergey Ayukov
Home page of NFTP.
Check it for new versions, updates etc.
Contents
- Introduction
- Installation
- Quick start
- Usage
- Keyboard commands summary
- Known bugs and limitations
- Troubleshooting
- Licensing information
- Acknowledgements
- Registration
- Contacting the author
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, 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.
The drawback, however, is that 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
- Requirements are
- OS/2 2.x or later;
- TCP/IP stack: IBM TCP/IP 2.0 for OS/2, OS/2 Warp Connect,
OS/2 Warp Internet Access Kit;
- HPFS formatted drive to be able to download files which are
not 8.3-compliant.
-
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. The latest version of emx runtime support package
can be found at the following ftp servers:
ftp.uni-stuttgart.de:/pub/systems/os2/emx-0.9b/emxrt.zip
ftp.sai.msu.su:/pub/os2/programming/emx-0.9b/emxrt.zip
Instructions on installing it can be found in emxrt.zip archive.
- 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. 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. 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. First of all, you can
specify it on the command line as an argument (see previous chapter,
"USAGE: LAUNCHING NFTP").
Second, you can put server's hostname into the
bookmark list if you frequent this site. Third, you can open it
manually -- press Ctrl-L (for anonymous login) or
Ctrl-N (for named login). to be continued
USAGE: NAVIGATING REMOTE SITE AND LOCAL DIRECTORIES
USAGE: TRANSFERRING FILES
USAGE: CUSTOMIZING NFTP
Almost all customization is 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.
Below is a complete explanation of all parameters in NFTP.INI.
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. Types and
default values are shown after each parameter name in parentheses.
- Networking options and parameters ([network] section)
- anonymous-name (string; default: anonymous)
- your name for anonymous transfers
- anonymous-password (string)
- your password for anonymous logins.
Insert your e-mail address here
- default-port (integer; default: 21)
- default ftp port. Do not change unless you're know what
are you doing. To make this feature useful create special
directories for sites with nonstandard ports and set 'default-port'
in them, not in general nftp.ini: nftp will look for initialization
file in the current direcory first
- firewalling (boolean; default: no)
- set to "yes" if you are behind the firewall
- proxy-server (string)
- name of your proxy server (firewalling only)
- proxy-login (string)
- your login on proxy server (firewalling only)
- use-PASV-mode (boolean; default: no)
- whether to use passive mode all the way. If you don't know
what's that don't touch it
- General options ([options] section)
- derefence-links (boolean; default: yes)
- whether to dereference symlinks on server.
Setting to 0 is not recommended
- show-dotted (boolean; default: yes)
- whether to include files starting with "." into the list
- debug (boolean; default: no)
- debugging. Do not set to 1 unless nftp goes crazy.
Produces huge logs
- transfer-bell (boolean; default: yes)
- whether to beep at the end of transfer
- login-bell (boolean; default: yes)
- whether to beep when logged in
- transfer-pause (boolean; default: yes)
- whether to pause at transfer stats screen at the end of transfer
- log-transfers (boolean; default: yes)
- whether to log transfers. Pretty useful option to keep
history and statistics
- log-transfers-name (string; default: "nftp.fls")
- name of transfer log. This may be global file (one for
several instances of nftp running simultaneously).
- save-bookmark-at-logoff (boolean; default: no)
- whether to ask to save current host/dir as bookmark at logoff.
Do you remember that nCftp does this always?
- bookmarks-file (string; default: "nftp.mrk")
- where to save bookmark information. This may be global file
(one for several instances of nftp)
- text-viewer (string; default: "tedit.exe")
- external program invoked by Alt-F3. Substitute your favourite
viewer/editor
- auto-switch-to-control (boolean; default: no)
- whether to switch to Control Connection Window automatically
when sending commands to server
- default-sort (integer; default: 0 (no sort))
- default directory sort for remote file list. 0-unsorted,
1-by name, 2-by extension, 3-by size, 4-by time
- default-download-path (string; no default value)
- if this parameter is set, nftp will change into this directory
after start
- default-dir-mode (integer; default: 1 (parsed))
- default view of remote directory. 0 - raw (as supplied by server),
1 - parsed (owner/group removed)
- Screen colours ([colours] section)
- File Listing
- pointer-marked-dir (default: yellow on cyan)
- cursor pointing to marked directory (not used)
- pointer-marked (default: yellow on cyan)
- cursor pointing to marked file
- pointer-dir (default: lightgreen on cyan)
- cursor pointing to directory
- pointer (default: black on cyan)
- cursor pointing to file
- marked-dir (default: yellow on black)
- marked directory (not used)
- marked (default: yellow on black)
- marked file
- dir (default: green on black)
- directory
- regular-file (default: grey on black)
- file
- Dialog windows
- dialog-box-text (default: grey on blue)
- dialog window
- dialog-box-selected (default: white on grey)
- selected element in a dialog window
- dialog-box-entryfield (default: black on cyan)
- entry field
- dialog-box-text-warn (default: grey on red)
- dialog window containing important information
- Control Connection
- controlconn-header (default: grey on blue)
- window header
- controlconn-respline (default: grey on black)
- server messages and responces
- controlconn-command (default: lightgreen on black)
- command which was sent to server
- controlconn-comment (default: lightred on black)
- comment (actually not a part of control connection)
- Bookmarks
- bookmark-background (default: black on grey)
- bookmark window
- bookmark-pointer (default: black on cyan)
- cursor
- Built-in File Viewer
- viewer-text (default: grey on black)
- file contents
- viewer-header (default: black on cyan)
- status line
- Miscellaneous
- status (default: grey on blue)
- status lines on remote directory (no. of files, no. of bytes,
current host/directory etc.)
- status-local (default: white on blue)
- status lines on local directory (no. of files, no. of bytes,
current host/directory etc.)
- transfer-status (default: grey on blue)
- file transfer panel
- help (default: black on cyan)
- help viewer
- Keyboard combinations ([keys] section)
All these parameters are of type 'string' and can take more than
one value. Separate values by comma. Quotes aren't needed because
key names do not contain special characters.
- nothing
- binds key to no action. Useful for removing unwanted defaults
- Switching modes
- switch-to-cc (default:space)
- switches between file manager and control connection
- switch-local-remote (default:tab)
- switches between local and remote file view
- directory-mode-raw (default: ctrl-w)
- switches to raw directory view (as in versions 0.60-)
- directory-mode-parsed (default: ctrl-p)
- switches to parsed directory view (more space for filenames,
owner/group id's omitted)
- Logging in and out
- bookmarks (default:ctrl-b)
- log in to server from bookmark list
- login-anonymous (default:ctrl-l)
- log in to anonymous ftp server, enter server name
- login_named (default:ctrl-n)
- log in to private ftp server, enter server name/login/password
- logoff (default:ctrl-k)
- log off site
- exit (default:f10)
- exit NFTP
- Transferring files
- download (default:f5)
- download file(s)
- upload (default:shift-f5)
- upload file(s)
- change-transfer-mode (default:ctrl-t)
- switches transfer mode between ASCII/BINARY
- download-all-dirs (default: alt-f5)
- download all marked files in all directories
- save-listing (default: alt-s)
- save listing of current directory
- File operations
- view-int (default:f3)
- view file with internal viewer
- view-ext (default:alt-f3)
- view file with external viewer
- delete (default:f8)
- delete file/directory
- mkdir (default:f7)
- create directory
- rename (default: f6)
- rename file/directory
- Sorting file list
- sort-name (default:ctrl-f3)
- sort file list by name
- sort-ext (default:ctrl-f4)
- sort file list by extension
- sort-time (default:ctrl-f5)
- sort file list by time
- sort-size (default:ctrl-f6)
- sort file list by size
- sort-unsort (default:ctrl-f7)
- make file list to be unsorted (as supplied by server)
- sort-reverse (default:ctrl-f8)
- reverse sort order
- Navigating directory structure
- enter-directory (default:enter,ctrl-pgdn)
- enter into the directory under cursor
- go-root (default:ctrl-backslash)
- go to the root directory
- go-up (default:ctrl-pgup)
- go to the directory one level up ("cd ..")
- reread (default:ctrl-r)
- re-read directory
- change-local-drive (default:f2)
- change local drive
- change-directory (default:alt-c)
- input remote directory name and change into it
- Selecting/deselecting files
- select (default:insert)
- select/deselect file under the cursor and move cursor one
position down (if possible). When cursor points to the directory,
just move down
- select-all (default:ctrl-numplus)
- mark all files in the current directory
- deselect-all (default:ctrl-numminus)
- unmark all files in the current directory
- select-by-filter (default: plus)
- mark files by user-specified filter
- deselect-by-filter (default: minus)
- unmark files by user-specified filter
- invert-selection (default: *)
- inverts selection
- select-alldirs (default: alt-numplus)
- mark all files in all visited directories
- deselect-alldirs (default: alt-numminus)
- unmark all files in all visited directories
- Miscellaneous
- autocontrol (default:ctrl-a)
- switches autoswitching to control connection on/off
- screen-redraw (default:ctrl-d)
- redraws screen (do not re-reads remote directory)
- noop (default:alt-n)
- send NO OPERATION command (useful for verifying connection
aliveness)
- useflags (default:alt-f)
- switches between NLST with flags/LIST commands
- quote (default:alt-q)
- send command to ftp server verbatim
- save-bookmark (default:f4)
- save current remote directory as bookmark
- Owner identification ([registration] section)
Ignored in the current version until August 1, 1996.
- name (string)
- Your registration name (specify exactly as typed in registration
form); enclose into double quotes
- code (string)
- Your registration code; enclose into double quotes. If you're
running unregistered version, set this parameter to empty value.
- message (boolean; default: yes)
- If you're running unregistered and hate those warnings about
registration, set this parameter to 0 -- you'll no longer see
warnings. Of course, files larger than 500KB will be still unreachable.
The following table lists valid keyboard combinations. "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' | NA | NA |
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 (as used in NFTP 0.60-) |
Ctrl-P | sets remote directory view to parsed |
Alt-F | use/inhibit NLST with flags (default is on). Some servers
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 |
F5 | download file under cursor or 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
- 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.
- When running with 'debug=1', your password will be recorded in
debug tracefile -- beware!
- When running with 'debug=1', run nftp off HPFS partition - debug
file has long filename with two dots.
- 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):
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.80 will become unregistered August 1, 1996. There should
be another version this Summer.
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:
- anonymous ftp:
ftp.sai.msu.su:/pub/os2/internet/ftp/
- WWW:
http://crydee.sai.msu.su/nftp/
- 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:
- 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)
-
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)
-
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
-
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:
- 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
-
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
-
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
-
No new functionality. Fixed small mistakes in national language
translations. Added Norwegian version. Added missing ASCII and
Postscript manuals.
- Version 0.80
-
- 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
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
- improved installation/setup routines
- bookmarks in the form of standard URLs
- more multithreading (view file while downloading etc)
- enhanced bookmarks (folders?, descriptions etc.)
- searching for string in file names
- batch mode ?
- autodownloading file descriptions (00index.txt) and showing them
(a-la CuteFTP)
There were several requests for PM version. I hope that I will
write it sometimes, but probably not in 1996.