
                sFTP - a curses-based FTP client for Linux.
                                      
                          Current version is 0.81
                                      
                Copyright 1997-1998, Double Precision, Inc.
                                      
   
   This program is distributed under the terms of the GNU General Public
   License. See COPYING for additional information.
   
   sFTP is a curses-based FTP client for Linux 2.0, written in C++. The
   complete runtime documentation, including a list of features, can be
   found in the manual page, included in this distribution. The file you
   are reading is the README file for sFTP. The HTML version of this file
   is currently available at
   http://www.geocities.com/SiliconValley/Peaks/5799/sftp.README.html
   
Change log

   5/11/98 - V0.81. Various fixes. Added ability to connect to a
   non-standard server port number. Rewrote sFTP to use GNU autoconfig.
   Adopted GPL. Rolled up an experimental RPM for Red Hat Linux.
   
   1/1/97 - V0.80. First public release.
   
INSTALLATION:

   Download the source code: sftp-0.81.src.tgz.
   
   After extracting the source code type:

    ./configure

   The configure script sets system-dependent options. On a slow machine,
   it may take a minute, or two, to run. After it's done, type:

    make depend

   Then:

    make

   To compile sFTP.  If sFTP build succesfully, type:

    make install

   To install the executable and the manual page. Please make sure to
   view the manual page before running sftp for the first time:

    man sftp

   
   
  INSTALLATION ON RED HAT LINUX
  
   Starting with version 0.81, I've created an experimental source RPM of
   sFTP.
   
   Download sftp-0.81-1.src.rpm. This package is signed with my PGP key,
   available at
   http://www.geocities.com/SiliconValley/Peaks/5799/index.html.
   
   Type:

    rpm -bb sftp-0.81-1.src.rpm

   This will create sftp-0.81-1.i386.rpm. Go to /usr/src/redhat/RPMS/i386
   and type:

    rpm -i sftp-0.81-1.i386.rpm

   To install the binary RPM.
   
   
  FAQ
  
     * What does the 's' in sFTP stand for? Sam's.
     * I told sFTP to transfer a directory tree recursively, but some
       subdirectories, were not transferred: Check to see if the
       subdirectories not transferred were symbolic links.
     * The directory on the FTP server appears garbled, or files show up
       as directories, or vice-versa: sFTP parses the contents of the FTP
       server's directories using a shell script. Looks like that the
       contents of the FTP server's directory were sent to sFTP in a
       format that the shell script does not understand. You will have to
       write your own shell script to parse the remote FTP server. See
       the comments in the /usr/local/lib/sftp/sftp99default file, as
       well as the manual page for more information.
     * sFTP logs on to the remote FTP server, then immediately logs out,
       all by itself: Make sure that you don't need to specify an account
       in order to log in to the FTP server. Also, it is possible sFTP
       was unable to find a shell script to parse the FTP server. sFTP
       takes the response from the FTP SYST command and runs all the
       installed shell scripts, one after another, in alphabetical order,
       until a shell scripts is found which will return an exit code of
       0, indicating its willingness to handle this FTP server. The
       included shell script, sftp99default, will always return with an
       exit code of 0, so make sure that the /usr/local/lib/sftp
       directory has not been accidentally deleted, and that execute
       permissions are all set on all the sftp* files in that directory.
     * The screen display is garbled: You need to have the right setting
       for your TERM variable, and the terminfo description for your
       terminal screen. Also, see the next section.
       
Using sFTP in X

   sFTP does reasonably well, when run in an xterm or rxvt window. It
   will resize itself to fit the current window sizes, however, sFTP will
   become confused if you resize the window while it is running. Don't do
   that, for now. If you resize the window while sFTP is running, quit,
   and restart the program. The minimum usable window size is 15 lines by
   40 characters (or something like that).
   
   There appears to be a slight problem running sFTP within an rxvt
   window. rxvt sets the TERM environment variable to xterm. Although
   rxvt's terminal emulation is pretty close to xterm's, there does
   appear to be some differences. If you get garbled output, try setting
   TERM to rxvt. If you don't have a terminfo description for rxvt,
   here's one. Save this in a file, then run tic to install it:

rxvt|rxvt terminal emulator,
        am, km, mir, msgr, xenl, xon,
        colors#8, cols#80, it#8, lines#65, ncv#3, pairs#64,
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~..--++\054\054hh
II00,
        bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=^M,
        csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
        cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
        cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
        dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
        ed=\E[J, el=\E[K, enacs=\E(B\E)0, home=\E[H, ht=^I,
        ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L,
        ind=^J,
        is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l,
        kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
        kcuu1=\EOA, kend=\EOw, kent=\EOM, kf1=\E[11~,
        kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\E[12~,
        kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~,
        kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[H,
        kich1=\E[2~, knp=\E[6~, kpp=\E[5~, op=\E[37;40m,
        rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, rmam=\E[?7l,
        rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E[?1l\E>,
        rmso=\E[m, rmul=\E[m, rs1=^O,
        rs2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E<,
        sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
        setb=\E[%p1%{40}%+%dm, setf=\E[%p1%{30}%+%dm,
        sgr0=\E[m, smacs=^N, smam=\E[?7h, smcup=\E7\E[?47h,
        smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
        tbc=\E[3k, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c,
        u9=\E[c,

   After you do that, you may get an unexpected surprise: elvis and some
   programs may no longer work. They use the older termcap library, and
   there is no termcap entry for rxvt. You have two choices:
    1. Keep your TERM variable set to xterm, but use a shell script to
       run sFTP that sets TERM to rxvt before running the program.
    2. Append the following lines to /etc/termcap:

rxvt:\
        :tc=xterm:

Support

   sFTP should compile and work fine under other Unix systems which have
   a decent curses package and pound-bang kernel support, needing, at
   most, a few minor changes to the makefile. However I don't have the
   time or the resources to keep track of every Unix system in the world.
   I may not, necessarily, be able to incorporate into my source code
   every change that is necessary to be able to compile, and run, the
   program under every Unix system in existence. You are welcome to
   maintain your own version, subject to redistribution conditions stated
   above.
   
   Similarly, I don't think I will have the resources to incorporate
   every change or enhancement that is sent to me. If I do, I reserve the
   right to make slight alterations, or changes, as I see fit.
