shatara@memit.enet.dec.com (Chris: 223-8753, TECHNOLOGY OFFICE, MLO1-4/T35 22-Mar-1990 1426) (03/23/90)
A couple weeks ago Kent Dickey posted a message on this feed about a service at Princeton called BITFTP. This allowed BITNET and INTERNET users access to libraries supporting FTP. I am using this capability and while I've been reasonably successful with it, the learning curve was a bit painful as I didn't understand UNIX directory & path conventions. What I have compiled here is a draft of instruction on how to use this service. Feel free to comment and make corrections or additions as necessary and I will attempt to incorporate them into this document. Also if you try this capability now you may not get it to work as I'm hearing that some strange stuff is happening on INTERNET. A simple directory request which took about 20 minutes before, is now not even being acknowledged after 24 hours. Bottom line message is be patient! :-) /chris shatara ============================================================================= | Chris Shatara | Internet: shatara@memit.enet.dec.com | | Opinions expressed are | DEC Easynet: memit::shatara | | mine and mine only! | UUCP: ...!decwrl!memit!shatara | ============================================================================= WHERE IS BITFTP --------------- BITFTP can be accessed at either one of the following addresses: BITFTP@PUCC.PRINCETON.EDU BITFTP@PUCC.BITNET There are undoubtedly other "addresses" but these should provide you with adequate pointers. HOW TO GET HELP --------------- One can send a message to BITFTP at one of the above addresses and have the word HELP be the message. You will receive a write up describing the system and if you're not familiar with UNIX, give you stuff that you can't relate to. Attached to this document is a copy of this "HELP" file. BITFTP SYNTAX ------------- A request other than for HELP must begin as follows: FTP hostname USER username password { anonymous will suffice for many sites} < ftp commands > QUIT and end with QUIT. As indicated above while the protocol for USER information is "username password", for many of the ftp sites just typing anonymous is sufficient. BITFTP COMMANDS --------------- Below are the most useful commands I found with a brief description on how to use them. Note that a person more familiar with UNIX would probably find the other command useful as well. ASCII This command informs the server that ASCII transmission is requested. This should be standard for our needs. LS -l This is a command to get a directory. You will notice that I included the "-l" [lower case L] qualifier to obtain a full directory with access codes, sizes etc. The reason for this is if we didn't specify a full directory, one would get back a list of names without knowing which was a directory and which was a filename. For example a directory request made to husc6.harvard.edu would yield a list of names as: apple2 bin etc pathalias pub uumap While it may be intuitive that these are all sub directories, it is by no means as obvious when your in a sub directory. Making the same request with the LS -l command yields: drwxrwxr-x 18 ftp pds 512 Mar 4 11:17 apple2 drwxr-xr-x 2 0 system 512 Aug 23 1988 bin drwxr-xr-x 2 0 ftp 512 Aug 23 1988 etc drwxrwxr-x 2 0 system 512 Nov 21 06:07 pathalias drwxr-xr-x 8 ftp ftp 512 Feb 6 18:28 pub drwxr-xr-x 2 ftp ftp 5632 Jan 11 03:34 uumap Notice the series of letters at the beginning of each line. These are the access codes and we need not be concerned with them except for the first character. If this is a "d", then this is the name of a sub directory. If it is an "-", then this is the name of a file. CD This command puts you in a sub directory. It's like the prefix command in prodos. So to now get a directory at husc6.... of the apple2 subdirectory we would send the following BITFTP commands: CD apple2 LS -l While case is not important for the FTP commands, case is important for all file names and directories. You could have also issued the command as LS -l apple2 Having done this we see that the apple2 directory contains files and subdriectories. Lets say we now wanted to get the directory of the Appleworks subdriectory as well as the GS subdirectory. Our command chain would look like the following: CD apple2/Appleworks { get into Appleworks dir } LS -l CD ../GS { goto GS subdirectory } LS -l QUIT Note that the CD ../GS command is actually saying go BACK to the host directory and then into the GS directory. It is also possible to accomplish the same thing without issuing the CD commands, but I haven't mastered this yet and the above will indeed work! :-) GET This is the command to pull down a file (the beef of the matter). The safest way to use it for non UNIX types like me is to make sure you are in the target directory as explained above before issuing the GET command. As a example lets assume we want to pull down the following files: minimenu in the apple2/Appleworks directory changecda in the apple2/GS/Util directory The complete message to BITFTP would be as follows: ftp husc6.harvard.edu user anonymous ascii cd apple2/Appleworks get minimenu cd ..GS/Util get changecda quit NOTE YOU ARR ONLY ALLOWED 5 GET'S PER SESSION! QUIT You probably figured it out by now but this command tells the BITFTP service that you are done! As I stated earlier, there are other commands but since I'm not proficient with UNIX, I found them of little use. Others may want to comment here. The following is Chan Wilson's ( cwilson@NISC.SRI.COM ) listing of FTP sites: Apple II Ftp Sites Last updated 90/02/19 --------------------------------------------------------------------------- Org. Name IP Addresses Site Name Location of archive Caretaker =========================================================================== Univ. of Michigan 35.1.1.43 him1.umich.edu Harvard 128.103.1.56 husc6.harvard.edu Paul Nakada <nakada@husc4.harvard.edu> Univ. of Kentucky 128.163.128.6 k.ms.uky.edu <aash@ms.uky.edu> ? 128.49.80.1 shark.nosc.mil Apple Computer 130.43.2.2 apple.com Simtel20.army.mil 128.252.135.4 simtel20.army.mil ps:<archives.apple> North Dakota Univ. 134.129.111.64 plains.nodak.edu /pub/appleII Columbia Univ. 128.59.40.130 cunixc.cc.columbia.edu Ntnl Cntr for Supr Comp 128.174.20.50 zaphod.ncsa.uiuc.edu Wuarchive 128.252.135.4 wuarchive.wustl.edu /systems/apple2 cwilson@wuarchive.wustl.edu --------------------------------------------------------------------------- HELP FILE TRANSCRIPT > HELP BITFTP -- Princeton BITNET FTP Server BITFTP provides a mail interface to the FTP portion of the IBM TCP/IP product ("FAL") running on the Princeton VM system, to allow BITNET/NetNorth/EARN users to ftp files from sites on the Internet. BITFTP currently accepts requests only via RFC822-format mail, IBM NOTE-format mail, PROFS-format messages, or files with no headers at all. BITFTP currently returns the requested files as NETDATA-format files or as mail files containing UUENCODED data. If you specify "UUENCODE" or "NETDATA" on your "FTP" command, BITFTP will attempt to use that format. If you do not specify the format, BITFTP will attempt to select the appropriate format for your node. BITFTP attempts to send NETDATA-format files through the gateway from EARN into Janet via the NIFTP facility at Rutherford Lab. If BITFTP sends you a file you cannot read, THE FIRST THING TO DO is to make sure that you specified ASCII if the file should contain textual material or that you specified BINARY if the file should contain binary data, executable programs, tar files, or the like. VMS users should specify BINARY F 512 and should use RECEIVE/BINARY to receive the NETDATA-format binary files BITFTP sends them. If BITFTP sends you a uuencoded file that you cannot uudecode, the first thing to do is to translate all occurrences of 0x7E in the file to 0x5E and then try uudecoding again. (Some gateways are changing 5Es to 7Es when the files pass through them.) To use BITFTP, send mail containing your ftp commands to "BITFTP@PUCC". The first command to BITFTP must be "FTP" or "HELP". The recommended syntax for ftp requests is: FTP hostname NETDATA --or-- FTP hostname UUENCODE USER username password <other ftp subcommands> QUIT After the hostname on the FTP command, you may specify "UUENCODE" or "NETDATA" to tell BITFTP the format in which you wish to receive files. (If the username is "anonymous", no password is required; BITFTP will use your userid and nodeid as the password.) Note that on many systems passwords are case-sensitive; that is, the password may be required to be in lower case or mixed case or upper case. (The same is true of directory and file names.) The following is an example of an ftp request: FTP f.ms.uky.edu NETDATA USER anonymous CD /pub/msdos/Games DIR BINARY GET robotron.arc msdos.robotron QUIT BITFTP implements a subset of the ftp subcommands provided in the IBM TCP/IP and uses the same syntax. Therefore, you may find it useful to obtain the "IBM TCP/IP for VM Command Reference Manual", IBM order number GC09-1204. The currently supported subcommands are: ACCT -- to send host-dependent account information. format: ACCT account-information ASCII -- to change the file transfer type to ASCII. format: ASCII BINARY -- to change the file transfer type to image. format: BINARY <FIXED record-len> <VARIABLE> CD -- to change the working directory. format: CD directory CLOSE -- to disconnect from the foreign host. format: CLOSE DIR -- to get a list of directory entries. format: DIR EBCDIC -- to change the file transfer type to EBCDIC format: EBCDIC GET -- to get a file from the foreign host. format: GET foreignfile <localfile> If you specify "localfile", it must be in the forms "filename.filetype" or "filename", and the filename and filetype may each be no more than 8 characters long and may not contain periods. LOCSTAT -- to display local status information. format: LOCSTAT LS -- to list the files in a directory. format: LS <name> PWD -- to print the working directory. format: PWD QUIT -- to disconnect from the foreign host. format: QUIT STATUS -- to retrieve status information from a foreign host. format: STATUS <name> SYSTEM -- to get the name of the foreign host's operating system. format: SYSTEM TYPE -- to specify Image, ASCII, or EBCDIC file transfer. format: TYPE <I|A|E> The files you request will be sent to you in NETDATA format or UUENCODED inside mail files. You will also receive a mail file containing a log of your ftp session. In that mail file, entries prefixed by ">" are your original commands; those prefixed by ">>" are your commands as interpreted by BITFTP and passed to TCPIP; those prefixed by ">>>" are your commands as interpreted by TCPIP and passed to the remote host; those prefixed by "<<<" are messages from the remote host; and those prefixed by ">>>>" are completion messages from BITFTP. If BITFTP is unable to connect to the host you specify, it will send you mail after the first attempt, but will keep trying at intervals over three days. The only additional mail files you will receive will be when the connection is made successfully or when BITFTP gives up after three days. The load on BITFTP is often very heavy, and network backlogs are often so great that it may take several days for a file to get to you once BITFTP sends it, so please be patient and don't send multiple requests for the same file. If your system allows you to send interactive messages, you can inquire about BITFTP's backlog by sending the query "How are you?", e.g., on a VM system: TELL BITFTP AT PUCC How are you? This service is currently under development and is far from complete. Current plans for improvements include: 1. Acknowledgments via MSG when mail is received and when processing has been completed. 2. A much more complete HELP facility. Questions about BITFTP and suggestions for improvements should be directed to Melinda Varian, MAINT@PUCC on BITNET or MAINT@pucc.princeton.edu on the Internet. The author gratefully acknowledges the use of the FTP SUBCOM interface written by David Nessl, the SENDJANI EXEC written by Alan Flavell, the uuencoding utility written by John Fisher, and the RFC822 parsing routine written by Eric, Thomas. NOTE: If you have any complaints or suggestions about the way any of these routines work in BITFTP, please send them to MAINT@PUCC (Melinda Varian), not to the authors.