CuteFTP v1.0
CuteFTP v1.2

Copyright © 1995 Alex Kunadze

Introduction

Menu commands

Operations

What's new in this version

Lisence agreement

Registration

Contacting the author


Introduction

FTP, or File Transfer Protocol, has been around for many years as a standard protocol for transferring files between remote computer systems. Until recently, it was used almost exclusively on UNIX workstations and mainframes, but after PC users gained access to Internet it has become a popular alternative to BBS systems. The biggest limitation was that FTP-compliant software usually used command line interface and it wasn't an easy task for beginners to make them work. As Internet grew more and more popular, new standards appeared (Gopher, WWW), providing for more user-friendly front-end software. However, FTP wasn't forgotten. It's still very popular among power users and computer professionals, who are ready to trade fancy user-interface for the power of FTP.

CuteFTP is one of very few programs that allow novice users to utilise the capabilities of FTP without having to know all the details of the protocol itself. The strongest point of CuteFTP is it's ability to gather almost every available bit of information about files and directory structure of a remote system and present it to the user in a pleasing easy-to-use browsing screen. CuteFTP will also keep data transfers to a minimum by means of storing all the data it can to a temporary file.

Main features of CuteFTP are:

 	Intuitive easy to use user friendly interface with all the modern features, such as toolbar and context-sensitive help. No more clumsy command lines.

 	Full screen configurable directory browsing. See Browsing screen description

 	Integrated handling of index files. No need to launch notepad to view file descriptions. See Handling index files

 	Caching of already visited directories and index files for them. No need to transfer a dir list for a single directory hundred times.

 	Automatic directory tree downloading.

 	Complete custom configurations for each remote system. See Connect dialog

 	Robust stop command. With CuteFTP you can cancel any operation in progress without loosing connection. See Stopping commands in progress


FTP Menu
Menu Commands

Connect	Connect to remote site.

Disconnect	Terminate current session, but don't exit program.

Options	Configure CuteFTP.

Select font	Select font for browsing screen

Transfer type	Select file transfer type.

Auto-load index	Toggle auto index file loading after changing to a new directory.

Retrieve index	Retrieve index file for current directory.

Download	Receive file(s) from remote site.

Upload	Send a file to remote site.

View	Download a file and view it

Change dir	Manually change directory.

Stop	Stop any operation in progress.

Exit	Terminate session and exit CuteFTP.


Connect dialog

Toolbar:

Hot-key: Ctrl+C

This dialog is the central point of CuteFTP. It's purpose is to maintain a database of remote FTP sites and various site-specific connection parameters.

Connect dialog has 2 states:

Short state, for quick browsing and basic editing of configuration entries

and extended state, for editing of advanced parameters.

Configurations list-box contains names of database entries. You can initiate a connection to a remote site, using any entry by double-clicking it in the list-box, or by selecting it (using mouse or keyboard) and clicking OK button (or simply pressing ENTER).

New button will create a new blank entry, open the editing part of the dialog (if it's not already open) and move the input focus to Config name field. You can start typing in new entry name right away.

Delete button will delete selected entry. If you accidentally deleted an entry - exit connect dialog (pressing Esc or clicking CANCEL button) and choose NO when prompted to save new database.

In Config name field you specify a name, that will identify the entry in Configurations list-box. List-box will be updated as you move focus away from that field.

Host name is the full internet domain name of the remote FTP site you wish to connect to. Please be careful when entering information here, since CuteFTP will not be able to establish connection if that name is incorrect.

Information in User ID and Password fields is used to identify you to the remote site. Password is displayed as asterisks characters to insure that nobody can look it up over your shoulder. It will also be encrypted before writing to disk. However, there are many ways to steel any password you supply to CuteFTP, so do not save any top secret passwords in the database. You can also leave User ID and/or Password blank. In that case CuteFTP will prompt you for required information after you connect.

In most cases, however, checking Anonymous login check-box is enough. If you do so CuteFTP will assume a User ID of 'Anonymous' and send your e-mail address (which you specify in Options dialog) as a password. All public FTP sites support this scheme, so Anonymous is the default for a new entry.

Anonymous check box can be in a third state (intermediate). In this case CuteFTP will use a so-called double-login sequence. It is used on some hosts for enhauncing security. In this mode a user is logged in 2 steps: first as an anonymous user, and then using User ID and Password fields contents.

Extended edit button expands the standard dialog to allow editing of advanced entry parameters. It is disabled if no entry is selected.

Initial remote directory can be used to specify full path-name of a remote system's directory where you want to be immediately after connection. You can leave it blank and remote system will put you in a default dir after login.

Download directory is the full local path-name where you want downloaded files to be stored. If you leave this field blank, default download directory (from the Options dialog) will be used.

Port (NOT the serial port) is one of the two components of the remote system's network address. Do not modify this value unless you know what you're doing.

Retry field contains the number for connect retries. It is useful when connecting to busy sites (like CICA server).

Max safe index size is the size (in kilobytes) of the largest index file to load without any prompts. If index file size exceeds this limit CuteFTP will prompt you. Default is 10 KBytes.

Logical parent dirs toggle specifies whether or not you want CuteFTP to regard parent directory to the previously visited directory, rather than just a physical parent when changing to a linked directory. Default is YES.

Auto-load index toggle lets you specify if index files should be automatically loaded along with directory listings when you change to a new directory. It might be desirable to turn this off for slow sites and leave it on for fast ones. Default is YES.

Transfer type specifies the default transfer type to be used for file transfers.

ASCII mode is useful for transferring text files to/from non-DOS systems because it allows to translate text to remote system's native format, but binary files will be corrupted if this mode is used.

Image (or Binary) mode is the general all-purpose transfer mode. It is completely safe to set this mode for all types of files since data will be transferred without any translation. It might require some formatting on text files after transfer, though.

Auto-detect mode is a reasonable compromise between ASCII and Image modes. If this mode is used CuteFTP will transfer files with .txt extensions as ASCII files, and use Image mode for everything else.

Default is IMAGE.

Done button, which is only visible in extended editing state of the dialog, will switch back to basic editing state.


Options dialog

This dialog is used to set various CuteFTP options.

Default download directory is where all received file will be stored. It defaults to the same directory CuteFTP executable is in. You can override this parameter for each site in the Connect dialog box.

Mail address is your full e-mail address to be used as a password for anonymous logins. It's not checked to be a valid address in any way so you can type whatever you want here. However, it's a matter of etiquette to give your real e-mail address to the remote system...

Auto-save view settings check-box causes CuteFTP to save all display options to be saved on exit and restored next time you start the program. This includes the browsing mode selected, long listing mode configuration and window position and size.

Use logical parent dir toggle specifies whether or not you want CuteFTP to regard parent directory to be the previously visited directory, rather than just a physical parent. It is useful on sites with many inter-directory links. Default is YES.


Starting and terminating sessions

Sessions are started via the Connect dialog. Select an entry for the remote site you wish to connect to and click OK button. That done, CuteFTP will try to connect to that remote FTP server. It usually takes some time to get the connection, especially on busy sites, so please be patient. Connection process is complete after the browsing screen has been filled with files and/or directories. You can start working then.

You can terminate current session by selecting Disconnect command from Ftp menu or by clicking it's equivalent tool-bar button. CuteFTP will shut down current connection and clear the browsing screen. You can then connect to another site.

Session will also be terminated if you exit CuteFTP.


Handling index files

Many FTP sites maintain a list of descriptions for files and directories. However, FTP protocol doesn't provide for retrieving them, so usually descriptions are stored in text files with names like INDEX.TXT or FILES.BBS and users have to download them as normal files and view in a text editor.

CuteFTP allows you to automate that process by automatically loading these files whenever you change directory and appending files descriptions to the browsing screen entries (only visible in long listing mode, see Browsing screen).

When you change to a new (not visited before) directory CuteFTP will look for files containing "index" word in their names. If there's only one such file, it will load it automatically. Otherwise it will prompt you which file to use.

Index files can be pretty big and take a lot of time to transfer, so CuteFTP will ask for confirmation if an index file is bigger than 10Kbytes (default limit, can be changed in Options dialog or in extended Connect dialog).

For FTP sites with slow connections you might want to load only particular index files so as to minimise transfer time. You can do so by disabling automatic index loading (extended Connect dialog or [Ftp->Auto-load index file] menu option) and selecting [Ftp->Retreive index] menu item when you want to view file descriptions.

There are 2 issues you should be aware of:

WARNING 1: Initially, index files are not intended for automatic processing. The result is that there are many different formats for the contents of these files. CuteFTP will handle most popular formats, including those used on major Internet archive (e.g. SimTel, CICA), but there's no guarantee that it can understand index files on a particular FTP site. If you successfully load an index file and get no descriptions in the browsing screen - it's most likely incompatible with CuteFTP. There's still a chance that the index file you loaded was empty or contained only some administrative notes, so please try a few more directories before tuning index loading off.

WARNING 2: Many FTP sites keep compiled listings for all their files or for major file areas. At the moment CuteFTP cannot handle these files so don't expect to get all descriptions in the browsing screen for all sub directories if you download those files. Unfortunately, names of these compiled listings are same as of normal index files, so CuteFTP will try to load them also. It is your responsibility to detect and reject them. It's usually easy since those files are huge in size (from couple of hundreds Kbytes to several mega bytes).


Operations

  Starting and terminating sessions

  Browsing screen

  Handling index files

  Stopping commands in progress


Browsing screen

Browsing screen is the main part of CuteFTP. It displays the contents of the current remote directory. Each entry corresponds to a file or a directory. Before each file or directory name there's an icon, showing the kind of entry. Here are the meanings of those icons:

 : directory

 : symbolic link to a directory, basically same as directory. Icon is different for information only.

 : text file

 : binary file

 : index file

Most commands are executed when you double-click an entry in that screen.

For directories ( [image] icon) and directory links ( [image] icon) CuteFTP will change to that directory. It will take some time to transfer file listing and index file (if index loading is enabled). However, the delay will be much shorter if you have already visited that directory. In that case CuteFTP will retrieve the needed information from a temporary file instead of requesting it from remote server.

For files CuteFTP will download the file you click on and place it in you download directory (see Options dialog and extended Connect dialog). If transfer mode auto-detection is turned on, ASCII mode is used for text and index files and Binary mode is used for binary files.

Browsing screen has 2 display formats:

Short listing mode is designed for quick browsing. It displays only file names and icons and has multiple columns.

Long listing mode displays all available information (size, date and description) about files and directories along with file names and icons and has only 1 column. You can configure it to display only information you want to see through [View->Display details] sub-menu.

You can switch between these modes through [View] menu or tool-bar buttons ( [image] and [image])


Stopping commands in progress

CuteFTP allows you to interrupt any operation in progress without loosing control of connection to the remote site. It is done by selecting [Ftp->Stop] menu item. However, there are some penalties for doing so.

First, it is not advisable to stop anything except file transfers, directory listings transfers or index files transfers since all the other operations require only 1 line response from the server. If they are taking too much time then your link is too slow at the moment and stopping will not help it.

Second, do not expect the operation to stop immediately. FTP server on the other end of the link must acknowledge abortion and send back appropriate response. However, for the sake of reliability CuteFTP doesn't specifically wait for that response. It will abort immediately after you press Stop and wait for any data from the server in the background. You must wait until you see "Trashed response data received" message in the log window to continue. If you try to initiate any operation before you get that message you will not get desired results and will have to wait even more, so please be patient.

Third, if you stop directory change operation you may have to Refresh ([Ftp->Refresh] menu item) directory listing. This is necessary because CuteFTP looses track of the current directory on the server side.


Disconnect command

Toolbar:

Hot-key: Ctrl+X

This command will terminate current FTP session and close all active connections to remote server.


Transfer type sub menu

Transfer type setting determines which transfer mode will be set when you initiate a file transfer. It can be one of the following:

ASCII: This mode is used for transferring text files between sites running different operating systems. It will take care of all the necessary translation to make text readable. However, use it with caution since binary files will be corrupted if transferred in this mode. Text files with non-English characters in it will also be corrupted.

Binary: This is the most frequently used transfer mode. It transfers raw data without any translation.

Auto: This mode will let CuteFTP to select the best mode for a particular file.


Auto-load index

Toolbar:

This toggle specifies whether CuteFTP should automatically load index file when changing to a new directory. For more information see Handling index file.

This setting is also available in extended Connect dialog.


Download command

Toolbar:

Hot-key: Ctrl+PgDn

This command will download selected files and directories (including all sub-directories) from remote site to your hard disk. You can also download a single file by double-clicking it in the browsing screen.


Upload command

Toolbar:

Hot-key: Ctrl+PgUp

This command will upload a file to remote site.


Change dir command

Toolbar:

Hot-key: Ctrl+D

This command lets you to manually change directory by typing it's path name.


Retrieve index command

Toolbar:

Hot-key: Ctrl+I

This command will immediately retrieve index file for current directory. Use it if you have Auto-load index toggle disabled. For more information see Handling index file.


Stop command

Toolbar:

Hot-key: F10

This command will immediately stop any operation in progress. However, you must wait for a "Trashed response data received" message to appear in the log window. For more information see Stopping commands in progress.


Exit command

Hot-key: Ctrl+Q

This command will terminate current FTP session and exit CuteFTP.


Menu commands

Ftp menu

View menu


View menu commands

Short listing

Long listing

File details

Sorting

Refresh


Short listing command

Toolbar:

Hot-key: F2

This command will switch browsing screen to short listing mode. See Browsing screen for more information.


Long listing command

Toolbar:

Hot-key: F3

This command will switch browsing screen to long listing mode. See Browsing screen for more information.


File details sub menu

This sub menu lets you select which file details you want to view in long listing browsing mode. See Browsing screen for more information.


Refresh command

Toolbar:

Hot-key: F5

Normaly CuteFTP stores all directory listings in a disk cache and retreives them if you come back to aleady visited directory. It saves a lot of time, but sometimes cached data may be out of date. Refresh command will let you reload directory listing and index file for current directory.


Lisence
Lisence Agreement

This software is release as Shareware. That means that you can use it free of charge for the duration of the 30 days trial period. After that the program will stop working and you'll have to register it to continue using. However, you are encouraged to distribute unregistered version at any time. Registered version cannot be distributed under any circumstances.

All rights for this software are reserved by the author. You are not allowed to modify or reverse engineer the contents of the program files.

This software is not to be resold or distributed for sale with other products which are for sale without the authors expressed written permision with the only exception of CD-ROM based mirrors of publicly accessible software archives, provided the price of the package does not exceed production cost and reasonable profit. In that case permision to include this software in the package can be given by means of e-mail communications.

There is no warranty or claim of fitness or reliability. The program is distributed AS IS, and the author shall not be held liable for any loss of data, down time, loss of revenue or any other direct or indirect damage or claims caused by this software.


Registration

Registration of CuteFTP is encouraged since it funds further development of the software. It envolves sending in a filled order form along with payment. After your form and payment are processed you will receive registered version of the software.

After you register you will receive all updates (new vesions with the same leftmost digit).  You will also have an option of bying new major versions of CuteFTP with %30 discount.

Basic registration fee is $30 for 1 user.  Site licences are also available (see below).

Payment must be made by either a check or a money order. Payment by credit cards is not accepted, sorry.

Click here to see the order form. You can select Print command from the File menu to print it out.

Site Lisences

Site is defined to be one organisation in the radius of 15 kilometers. Lisence prices are as follows:

1-99	$30 per user

100-299	$3000 + $20 for users over 100

300-500	$7000 + $10 for users over 300

Over 500	$9000 + $5 for users over 500

If this scheme doesnt suit you - make your offer. I may be willing to bargain a little bit.


Unregistered version limitations

In order to discourage abusing the 30 days trial period, unregistered veresion of CuteFTP has one small limitation: parameters entered in extended Connect dialog are not saved. You can still edit and use them, but the next time you bring up Connect dialog they will be reset to defaults.


Contacting the author

Bug reports, suggestions and any comments are always welcome. You dont have to be a registered user to do that, but Ill always give registered users preference if I cant fullfill all requests.

You can reach me by sending e-mail to alex@sbk.trigem.co.kr

My surface mail address, as well as phone and fax numbers, is going to change in the near future, so Im not providing it here.


Font selection

Selecting this menu item will bring up a font selection dialog, where you can select a custom font to be used in the browsing screen.


CuteFTP Order Form

Name:	_______________________________________________

Company:  	_______________________________________________

Address:  	_______________________________________________

_______________________________________________

Phone:	_______________________________________________

Delivery Method:	E-Mail	FTP	(check at least one)

E-Mail Delivery encoding method:	MIME	UUencoded

E-mail Address:  ______________________________________________

(If not Internet, please specify)

(For FTP delivery, the following three entries are all required - I will not deliver CuteFTP to an anonymous account under any circumstances.  Please remember to be careful about upper/lower case distinctions)

FTP Site:	_______________________________________________

FTP User Name:______________________________________________

FTP Password:	_______________________________________________

QTY	Price Each	Total

$30.00

Send this order form along with your check to:

Alex Kunadze

135-17, Itaewon-dong

Yongsan-ku, Seoul, Korea

Please contact Alex Kunadze at the above address or e-mail alex@sbk.trigem.co.kr for site licenses, comments or suggestions.

As this software is shareware, there is no warranty implied or otherwise, nor is support provided. However, if you discover any bugs or problems please contact the developer at the above e-mail address.


View command

Toolbar:

Hot-key: Ctrl+V

This command will download a single file from remote host to a temporary file and launch Notepad to let you view the contents.


Sorting submenu

This submenu lets you select the sorting method you wish to apply to the directory listing entries. Your choices are:

By Name

Sort by file names

By Size

Sort by file sizes

By Date

Sort by file dates


New features in version 1.2

New features

Directory tree downloads

PASV mode

Resizable log window

Selectable display font

Double-login support

Browsing screen sorting

View button

Unregistered version is no longer crippled in any way. Instead, it stops working after 30 days trial period elapses.

Bug fixes

Random invalid PORT command string

GPFs when uploading with some stacks (e.g. with Chameleon)

Correct handling of different screen resolutions

Some corrections to log window messages