ftptool

ftptool(1)                  General Commands Manual                 ftptool(1)



NAME
       ftptool - A windowed interface to ftp.

SYNOPSIS
       ftptool [ generic-tool-arguments ] [ filename.tar ]

DESCRIPTION
       Ftptool is a (hopefully) easier interface to ftp. It hides the
       interaction with ftp and the need for knowing commands like 'get' and
       'put', and the difference between 'get' and 'mget'. It provides the
       ability to transfer directories, which ftp by itself does not do, and
       has an extended form of ftp's .netrc file.

OPTIONS
       generic-tool-arguments
              ftptool (should) accept the generic tool arguments described in
              xview(1).

       filename.tar
              The argument is a tar file (extension .tar). Instead of starting
              up as ftptool, start up to examine the tar file. This is a
              simple tool to list the contents of the tar file, and extract
              into a specified directory. Provided in this manner to avoid a
              proliferation of programs.

USAGE
   .Xdefaults File Options
       You can specify a number of defaults using the .Xdefaults file. These
       can all be set using the Properties window (options affecting window
       placement or visibility are currently set depending on the current
       window configuration).  Other than those controlling the size and
       placement of the windows, the options are, with the first value being
       the default:


           ftptool.AutoConnect                (False/True)
           ftptool.AutoShowStatus             (False/True)
           ftptool.BatchWindowVisible         (False/True)
           ftptool.ConfirmDeletes             (True/False)
           ftptool.ConfirmOverWrites          (False/True)
           ftptool.DefaultCompressor          (compress -vf %f)
           ftptool.DefaultViewer              (textedit %f)
           ftptool.DirectoryCacheSize         (5 {0 - 20})
           ftptool.GenUniqueLocalNames        (False/True)
           ftptool.GenUniqueRemoteNames       (False/True)
           ftptool.HostInfoAdvancedVisible    (False/True)
           ftptool.HostInfoVisible            (False/True)
           ftptool.IgnoreCase                 (False/True)
           ftptool.InitialPassword            (login@hostname)
           ftptool.KeepConnectionAlive        (False/True)
           ftptool.LocalShowHiddenFiles       (False/True)
           ftptool.LocalSortField             (Name/Date/Size)
           ftptool.LocalSortGrouping          (False/True)
           ftptool.LocalSortOrder             (0/1) {Alphabetical}
           ftptool.LocalWindowVisible         (False/True)
           ftptool.LogSession                 (False/True)
           ftptool.OpenLookMode               (True/False)
           ftptool.ShowHiddenFiles            (False/True)
           ftptool.SortField                  (Name/Date/Size)
           ftptool.SortGrouping               (False/True)
           ftptool.SortOrder                  (0/1) {Alphabetical}
           ftptool.TryProxy                   (False/True)


       When saving defaults, ftptool now saves them in .ftptooldefaults in
       your home directory (overwriting the existing information).

   Batch mode
       Ftptool has a batch mode. Instead of selecting files in a directory,
       then having to transfer all those files before leaving the directory,
       selections will be saved in either a Send or Receive list. When you
       finally decide to copy the files, they will all be copied at once (and
       they can be in different directories). The hierarchy on the source
       machine is duplicated starting at the current directory on the
       destination machine. For example, if you have these files in your Batch
       Receive list:
                /export/source/BSD      /usr/source/Games/NetHack3.10.tar.Z
                /pub/gnu/gcc.tar.Z
       If your current local directory is /var/tmp, copying these to the local
       machine will create the files:
                /var/tmp/export/source/BSD
                /var/tmp/usr/source/Games/NetHack3.10.tar.Z
                /var/tmp/pub/gnu/gcc.tar.Z
       (and any other directories and files that are in a selected directory.
       Directories are recursively copied, as always). When this occurs is
       determined by the Batch window.


   The Remote Window
       This is where you usually interact with ftptool. It operates from the
       various buttons described below.

       File Menu

              Copy      Copy selected files and/or directories from the local
                        machine to the remote machine, or from the remote
                        machine to the local machine.

              Delete    Delete selected files from the local machine, or the
                        remote machine.

              List Directory
                        List the current remote directory in the Session Log
                        window. There are two options, DIR and LS. They do the
                        corresponding ftp commands. DIR can be used to
                        determine the output format of the host, so you can
                        set the DIR template appropriately.

              Compress File
                        Compress the selected local files.

              Uncompress File
                        Uncompress the selected local files.

              Create Tar File
                        Create a tar file containing the selected local files.

              Extract Tar File
                        Extract the selected tar files. This starts the 'tar
                        viewer' for each file, which by default is ftptool.

       View Menu

              Remote File
                        Transfer the remote file to a temporary directory,
                        uncompress if necessary, then start the appropriate
                        file viewer on the file. This will be the tar viewer
                        if the file ends in .tar, pageview if it is a
                        PostScript file, or the default viewer (textedit)
                        otherwise. This will vary if you modify the extensions
                        ftptool understands in the property window.

              Local File
                        Uncompress if necessary, then start the appropriate
                        file viewer on the file.  This will be the tar viewer
                        if the file ends in .tar, pageview if it is a
                        PostScript file, or the default viewer (textedit)
                        otherwise. This will vary if you modify the extensions
                        ftptool understands in the property window.

              Local Directory List
                        Show the local directory window.

              Session Log
                        Show the session log window. Only active if logging is
                        enabled.

              Host Information
                        Show the host information window.

              Transfer Status
                        Show the transfer status window.

              Batch Schedule
                        Show the Batch Schedule window

              About Ftptool
                        Show the About window.

       Properties Menu

              Tool Properties
                        Bring up the tool properties window. See the
                        Properties section.

              Local File
                        Show the local file properties window. This shows such
                        elements as permissions, owner, and group for the last
                        selected file.

              Remote File
                        Show the remote file properties window. This shows
                        such elements as permissions, owner, and group for the
                        last selected file. If connected to a non-UNIX
                        machine, or one that has non-ls style 'dir' command
                        output, most fields will be "unknown".

              Save Layout
                        Save the layout of ftptool. This includes the sizes of
                        the windows, and whether some of them are visibile.
                        The layout is now saved in the file .ftptooldefaults
                        in your home directory.

       Connect Button
              Try to connect to the host listed in the Host Information
              window. If that window is not displayed, it will be displayed
              and a connection will not be attempted.

       Abort Button
              Active only during a transfer. Abort the transfer of all the
              files selected after the current one completes.

       Remote Directory Field
              Shows the current remote directory. This field is also editable,
              so you can type in a directory and press return to change to it.
              Changing directories in this way forces ftptool to re-read the
              remote directory (even if it is cached). A quick way to do this
              for the current directory is to press Return in this field.

       Remote Directory List
              List of remote files in the current remote directory.
              Directories are in bold, with a trailing '/'. You can double-
              click on a directory to change to it, or use the pop-up menu.
              Sorting is controlled by properties. Several useful functions
              are in the pop-up menu.

   Host Information Window
       New Connection
              Selecting this button clears the fields in the window. This
              would be selected if you wish to connect to a new site. It does
              not try to connect.

       Hosts  This is a menu of the hosts in your host list. Selecting a host
              fills in the information below. In addition, if auto-connect is
              set, it will try to connect to the host.

       Host List

              Save      Save the current host list. It will attempt to save to
                        a file named .ftptoolrc in your home directory. If
                        that fails, it goes to the current directory.

              Load      Load the current host list. It will attempt to load
                        from a file named .ftptoolrc in your home directory.
                        If that fails, it looks in your current directory.

              Append .netrc
                        When ftptool is first started, it automatically reads
                        the .ftptoolrc file.  If that is not found, it will
                        look for a .netrc file and load from that using a
                        (very) basic method. If you already have a .ftptoolrc,
                        and want to load the .netrc too, use this option (this
                        is primarily for earlier versions that did not read
                        the .netrc).  Add Add the current information into the
                        list, based on the name in the Alias field.

              Change    This is the same as Add, but it will not ask for
                        confirmation if the alias already exists.

              Delete    Delete the alias named by the Alias field from the
                        list.

       The Plus Button
              When pressed, show the more advanced options of ftptool. There
              is a companion Minus button which will hide those options.

       Alias  The alias name. When .netrc entries are loaded, they appear as
              'machine login'.

       Last Visited
              The last time you successfully connected to the host described
              by this alias.  If you have never connected, then "Never" is
              displayed. When ftptool updates this field, the host alias list
              is marked as modified. It is not automatically saved for you at
              this point. This field is only updated if you connect through
              the host list, and not the current host window.  Comment A
              comment describing this ftp sit (X sources, GNU software).

       Proxy Host
              The name of the host supporting proxy ftp. ftptool handles this
              the way the Iftp program does (which is part of some consulting
              special).

       Remote Host
              The name of the remote host. Following the host name, you can
              also specify the port that ftptool will connect to. Legal
              service names can also be used here.

       Login  The login name to use on the remote host.

       Password
              The password to give on the remote host. Characters in your
              password will be displayed as '*'. In the .ftptoolrc file, this
              field will be encrypted.  WARNING: The encryption algorithm is
              fairly simple, and made even more breakable since ftptool source
              is freely available. Encrypting the password allows you to look
              at it without divulging your passwords, but is not unbreakable.
              For this reason, the .ftptoolrc file is mode 600.

       Account
              The account to give when logging in to the remote host. This is
              not usually needed. Pressing return in this field will
              automatically attempt to connect.  If this field is empty, an
              account will not be passed.

       Remote host runs
              Indicates which type of operating system the remote system runs,
              so ftptool knows how to interpret the output of directory
              listings.  Most UNIX systems should use UNIX, and VMS systems
              should use VMS. If ftptool is confused by the directory listing,
              it will just list the filenames (and you will lose all type and
              permission information). If this occurs, you can choose Other,
              and specify the pattern that ftptool should look for.

       Transfer Mode
              The mode of transfer to use on the remote host. Before any
              transfer, this is read, so you can change it as you work.

       Remote Directory
              The remote directory to change to upon connection. Perhaps you
              always want to go to /pub/gnu on prep.ai.mit.edu.

       Local Directory
              The local directory to change to upon connection. Perhaps you
              always want to go to /home/gnu when connecting to
              prep.ai.mit.edu.

       DIR Template
              Since ftptool can not know the format the 'dir' command (which
              is used to fill the remote list) displays on each host, you can
              tell ftptool the format on a per-host basis. ftptool uses a
              default format, so unless you have problems, you probably should
              leave it alone. If you need to determine the format, either
              connect using normal ftp, or connect with ftptool and use 'dir'
              in the Custom field. This will display in the session window, so
              make sure you are logging.

              The template is a series of keywords separated by whitespace or
              characters that must match (so if there are dashes in the date,
              you theoretically give MONTH-DAY-YEAR). The keywords are:
                  PERMS - Normal UNIX permissions (drwxrwxrwx)
                  LINKS - Link count. Currently matched, but discarded.
                  USER - User name/number
                  GROUP - Group name/number
                  SIZE - File size
                  MONTH - Month (Dec, Jan, ...)
                  DAY   - Day of week (number)
                  TIME - Hour:minute (09:49) or year (1991)
                  NAME - Filename.
                  SKIP - Discard characters until the next whitespace.
              Anything else must be matched exactly. The default is given in
              ftptool.h as:
                  PERMS LINKS USER GROUP SIZE MONTH DAY TIME NAME
              which matches the 'ls -lg' output:

              -rw-r--r--  1 mike_s   develop      8636 Dec 20 09:49 transfer.o
              A special case is the pattern NONUNIX. If this is present
              anywhere in the template, it sets non-UNIX mode. Ftptool will
              only use 'ls' to get directory listings, and will not expand
              environment variables when trying to cd with the Remote
              Directory text field.  Also, ftptool will assume that all
              directory entries are normal files.  You can still attempt to
              double-click on the files to cd, though.

              Another special case is the pattern LOWERNAMES. This causes all
              file names read from the remote machine to be converted to
              lowercase. This is for those machines that output data in
              uppercase, but can't handle it in return (such as VMS).


   Local Directory Window
       Local Directory Field
              Shows the current local directory. This field is also editable,
              so you can type in a directory and press return to change to it.

       Free Space
              Gives the amount and percentage of free space available in the
              file system the directory is in.

       Local Directory List
              List of local files in the current local directory. Directories
              are in bold, with a trailing '/'. You can double-click on a
              directory to change to it, or use the pop-up menu. Sorting is
              controlled by properties. Several useful functions are in the
              pop-up menu.


   Session Log Window
       Shows all data sent to ftp, as well as all responses from ftp. This is
       primarily for debugging, but is also useful if the remote machine shows
       a message of the day.


   Transfer Status Window
       This shows you how far along each file transfer is. It shows the name
       and transfer direction, the size, and a gauge showing the percent
       complete.  It updates every 8K block transferred.


   Batch Schedule Window
       This allows you to perform batch transfers. The Batch Send list shows
       all the files pending transfer from the local host to the remote host,
       and the Batch Receive list shows all the files pending transfer from
       the remote host to the local one. Only one list is shown at a time,
       based on the setting of the Action item. Addition to a list is
       performed by selecting the files (or directories) in either the Remote
       Window (for the Receive list) or the Local Window (for the Send list),
       then selecting the 'Add to Batch List' option on the list pop-up.
       Deletion or starting the batch transfer is accomplished in the list
       pop-up. To schedule a batch transfer, construct a list, and use Set
       Current to create the appropriate batch name. Then, set appropriate
       parameters on the Host Information window (such as the remote and local
       directories). Also, set the time for the transfer. You can do this for
       multiple hosts, but nothing will happen until you choose the Process
       Batch item. At that point, the batch list will be processed.  Make sure
       that you bring up the session log before you start or you will not have
       a log.


   About Ftptool Window
       Shows information about Ftptool. Who I am, why it was written, and a
       few credits. Also allows you to send feedback to me.


   Properties
       In addition to the properties listed below, applying your properties
       will also save the current state of your pop-up windows (visible or
       non-visible).  At this time, location is not saved.


       Ftptool options

              FTP options
                        The Log Session option causes ftptool to display the
                        Session Log, and to actually write to it. The Keep
                        Connection Alive option is not part of ftp, but by
                        choosing it ftptool will send a command every 10
                        minutes so that the remote server does not time out
                        and disconnect (which it does after 15 minutes of
                        inactivity).

              Generate unique
                        The Local Filenames options cause ftptool to generate
                        unique local filenames of the form N.filename, where N
                        is a number, if filename already exists on the local
                        machine. The Remote Filenames option causes ftptool to
                        use the Store Unique FTP command when sending files,
                        to make the remote server generate unique filenames if
                        filename exists.

              Automatically
                        The Connect option causes ftptool to immediately try
                        to connect to the host selected from the Hosts menu.
                        The Show Status option forces the Transfer Status
                        window to be displayed when beginning a transfer.  The
                        Try Sun Proxy FTP option causes ftptool to
                        automatically try to use Sun's proxy FTP (from Sun
                        Consulting) if it cannot resolve the hostname (the
                        host is unknown) or it receives a 'Network
                        unreachable' error when connecting.  This is primarily
                        used by Sun folks trying to get out to the Internet.

              Window manager
                        If selected, ftptool assumes it is running under an
                        OPEN LOOK Window Manager, and does not provide a Quit
                        button. Also, Viewing a window that is already
                        displayed will cause it to be hidden.

              Initial Password
                        The initial password to use, primarily for anonymous
                        ftp.

              Case sensitivity
                        Controls whether or not to respect the case of
                        characters when sorting the Hosts menu and the
                        directory lists.

              Confirm   The deletions button controls whether or not to
                        request confirmation when deleting files. If you
                        delete directories with this on, it will ask for each
                        file in the directory. The overwrites button causes
                        ftptool to ask for confirmation when receiving a file
                        would overwrite an existing file. If you decide not to
                        overwrite, the entire transfer is aborted.

       Directory List options

              Unlimit Cache Size
                        This option causes ftptool to cache _all_ directories.
                        It could be quite a memory waster.

              Directory Cache Size
                        Determines how many directory listings ftptool will
                        remember. This is managed as an LRU cache, so every
                        time you CD into a directory ftptool first looks in
                        the cache. If it finds it, then instead of actually
                        reading the directory it just displays the list in the
                        cache. This can speed up directory listings on slow
                        links.  The larger you make the cache, the more memory
                        you will use and (if you keep listing the same
                        directories) the less likely you'll have to talk to
                        the remote server. However, the larger the cache, the
                        less likely it is that you'll see any changes being
                        made on the cached directories. To effectively not
                        cache at all, set this to 1.

                        There are two caches, one for local directories and
                        one for remote.  This property controls both (setting
                        it to 2 actually means you'll cache 4 directories: 2
                        local and 2 remote).

              Sort remote files by
                        Controls which field in the remote file list to sort
                        by.  You can sort by name, date, size, or type.

              Sort order
                        Controls how to sort the field. For sorting by name:
                        either alphabetical or reverse alphabetical. For
                        sorting by the date: either least recently changed or
                        most recently changed. For sorting by the size: either
                        smallest first or largest first. For sorting by type:
                        either alphabetical or reverse alphabetical (within
                        the types of files).

              Hidden files
                        Controls whether or not to display hidden files (those
                        beginning with a period).

              Group files by type
                        If set, then files are grouped by types (directories
                        first, then regular files, ...) in addition to being
                        sorted as normal.

              Sort local files by
                        Controls which field in the local file list to sort
                        by.  You can sort by name, date, size, or type.

              Sort order
                        Controls how to sort the field. For sorting by name:
                        either alphabetical or reverse alphabetical. For
                        sorting by the date: either least recently changed or
                        most recently changed. For sorting by the size: either
                        smallest first or largest first. For sorting by type:
                        either alphabetical or reverse alphabetical (within
                        the types of files).

              Hidden files
                        Controls whether or not to display hidden files (those
                        beginning with a period).

              Group files by type
                        If set, then files are grouped by types (directories
                        first, then regular files, ...) in addition to being
                        sorted as normal.

       Viewer options

              Default file viewer
                        The default viewer for files of unknown (usually text)
                        type. This is a command line, which will be broken up
                        into arguments. '%f' will be replaced by the file name
                        to view; if not specified, the file name will be
                        passed as the last argument.

              Default file compressor
                        The compression program to use when compressing a
                        file.  This is a command line, which will be broken up
                        into arguments. '%f' will be replaced by the file name
                        that is being compressed. If not specified, the file
                        name will be passed as the last argument.

              Known extensions
                        A scrolling list of extensions known to ftptool.
                        Selecting one fills in the fields below. The Add,
                        Delete, and Change buttons work based on the Extension
                        field below.

              Extension The extension ftptool will look for when examining
                        file types. This is the key used to index the entry,
                        so usually you fill this (and the following
                        information) in, then select Add. If that extension
                        already exists, it will ask if you really want to
                        replace it (Change will not ask). Delete also operates
                        on this field. Note that you are actually specifying
                        the last N characters of the filename, so you must
                        include the period if it should be there (I think this
                        is more flexible than inserting a period for you).
                        Ftptool preloads pageview for PostScript files and tar
                        for tarfiles (or, if you specified others for the
                        older properties, it should load those first).

              Contents begin with
                        This specifies the first N characters of the file.
                        When Viewing a file, ftptool determines the type both
                        by the extension and the contents of this field. If
                        there is a discrepency (the file is X.GIF but is
                        actually a Raster file), ftptool uses the program
                        associated with the Contents (this field overrides the
                        extension). If you leave this field alone (as an empty
                        line), it is not used.

              Program to run
                        The program to invoke to view the file. This is a
                        command line, which will be broken up into arguments.
                        '%f' will be replaced by the file name to view; if not
                        specified, the file name will be passed as the last
                        argument.

FILES
       $HOME/.ftptoolrc    ftptool host database

       $HOME/.ftptooldefaults
                           Default settings for ftptool, controlled by the
                           Properties window.

       $HOME/.ftptoollayout
                           Size and positions of the windows.

       $HOME/.ftptooltypes File type database, used to select an appropriate
                           viewer.

SEE ALSO
       services(4), ftp(1), xview(7)

AUTHOR
       Mike Sullivan (Mike.Sullivan@Sun.COM)



X Version 11                      13 Nov 1992                       ftptool(1)