Anarchie v1.2.0 © 1993-94 Peter N Lewis. This program is $10 shareware. ÒI filled up my disk in 20 minutes! Before Anarchie it would take me a good hour or more to download the same amount of stuff!Ó - Russell Baird ¥ Contents What Anarchie Does Features Using Anarchie Using Anarchie via AppleScript Limitations Small Print Warranty Fine Print How It Works Version History Acknowledgements The Author ¥ What Anarchie Does Anarchie is an FTP and Archie client. It will let you browse FTP sites, download files, or find them using an archie server. It requires System 7 and MacTCP 1.1 or later. Unfortunately many Archie servers are a bit on the flaky side, but donÕt worry, just try another server! ¥Features Drag Manager support. AppleScritable and Recordable. Queries Archie servers and lists results. Gives full access to FTP sites in a connectionless manner. Save bookmarks to FTP sites for later listing or fetching. Comes with bookmarks to many popular sites. Fetches files from list windows with just a double-click. Supports MacBinary decoding. Forwards fetched files to StuffIt Expander for decoding. Fetch&Store files and listings using AppleScript independently of archie. Uses FetchÕs ÒSuffix MappingÓ to determine file type and transfer mode. Supports UserLandÕs MenuSharing. ¥ Using Anarchie Note: Anarchie is spelled that way, only the first letter is capitalised, and is pronounced ÒAnarchyÓ, not ÒAn archieÓ. Simply launch Anarchie. Choose Preferences and fill in the info there. Then choose ArchieÉ, and select a server, choose the kind of search you want done, the maximum number of matches to return, whether the search is case sensitive, and then type in your search request. Click the Search button. Anarchie will then attempt to query the selected server. Important: Note that some servers apear to be VERY unstable, certainly the Australian one comes and goes. If you canÕt get a result from one, just try another. You can fetch an up to date Archie Server List with the ÒFetch Server ListÓ menu command. Note also that the larger the number of matches you request, the longer it will take to reply. Usually 20 matches will be plenty. You can also use Anarchie to simply browse around FTP sites. Choose GetÉ, then type in the host you want to FTP to (you can also put in a path name after a colon, or you can type (or Paste) in a URL). Then click List and it will fetch a listing of that directory. Then you can double-click folders to fetch further listings. It behaves like TurboGopher in this respect. You can also save references to folders to search them later. Or just use the bookmark files I've provided, for example it lists over a dozen mirrors for the UMich and Info-Mac sites, so if you have trouble connecting to the home sites, try one of the many mirrors. There are three kinds of archie searches: simple substring which just looks for the word you type anywhere in the file name. pattern matching which looks for names like dehqx*.hqx regular expressions which looks for names like ^dehqx.*\.hqx$ Each can be either case sensitive or case insensitive. Since the Archie protocol doesnÕt support all of these options some are converted into strange looking regular expressions. Anarchie shows you the progress with a wildly inacurate GUESTimate of how long it will take (its not my fault, I just report what the server says). When the server finishes responding, the results will be displayed. You can select some entries and copy them (copies as host:path) or option-copy it (as ftp://host/path, which is the URL (Universal Resource Locator) format). Double-clicking will fetch the file automagically. Anarchie supports using an alex server. Alex is a file caching system that makes an FTP site with directories like /alex/edu/umich/archive/mac/mac/util/comm. When you fetch a file from there, it gets the listing and the fetched file from the original archive, and caches the result on the server so if anyone else gets the file, they get it from the alex server. This is used in Australia to try to cut down on the ftp use of the Australian<->USA link. It isnÕt very reliable. Anarchie supports using an FTP firewall. The firewall must pretend to be an FTP server, and must accept usernames of the form @, and then carry out the FTP to specifuying a username of . Anarchie does not support any other kind of firewall, nor does it support any kind of UDP firewall. Anarchie will use the Suffix Mappings you define in Fetch to specify the file type and creator via the fileÕs suffix (eg .txt). If it doesnÕt recognize the file, it will use binary mode, which means that text files will have carriage returns&linefeeds in them. There is a cute little drag&drop utility called Drop Text by Todd Wilson that will fix such files with a minimum of fuss. If you have Drag Manager (rumoured to be in System 7.5), then Anarchie will allow you to drag files to or from the Display windows to upload or download files. Warning: some versions of the Drag Manager will crash if you drag more than one file to the Finder (or will simply ignore files other than the first one). Also, if you drag files to the trash can, the Drag Manager will show the zooming rectangles to indicate that the operation failed even though it worked fine. Tips: - Set FetchÕs Suffix Mapping for .txt, since this is used for View File and other things. - Make sure you have StuffIt Expander. Setting it to ÒDelete OriginalsÓ is a good idea. - If an archie server doesnÕt answer, try another server. - If an FTP site is busy, try another. Try less-known servers first to share the load. - Make bookmarks for your favorite FTP directories (eg info-mac/game!). - Use ÒView SelectionÓ to force files to be downloaded in text mode. - Most of the Finder Shortcuts work in AnarchieÕs listing windows. (eg, command-uparrow opens the parent, typing a name selects it, etc) - Hold down the option key when you double click/select a menu to edit bookmarks. - Hold down the option key and choose Edit Retry if the FTP name is slightly wrong. - Use the Show Log command to refetch files by doubleclicking entries - The Log will be empty unless you enable logging in the Preferences window. - Use the Clear menu command to remove entries from the Log. ¥ Using Anarchie via AppleScript You can use Anarchie from AppleScript. It has commands to search an archie server, as well as to fetch a file from an arbitrary ftp site. You must be careful to set the timeout parameter though, otherwise if will fail if you try to fetch a large file. Example AppleScript: tell application "Anarchie" with timeout of 5 * 60 seconds find "dehqx" server "archie.internic.net" matches 20 with window fetch file "HD:black-cat-startup.hqx" host "sumex-aim.stanford.edu" path "/info-mac/grf/black-cat-startup.hqx" list file "HD:listing" host "sumex-aim.stanford.edu" path "/info-mac" store file "HD:file" host "sumex-aim.stanford.edu" path "/incoming" end timeout end tell You can also use the ÒurlÓ field to simplify some commands: or simpler: fetch url "sumex-aim.stanford.edu:/info-mac/grf/black-cat-startup.hqx" store file "HD:file" url "ftp://user:password@host/path" [Note that the URL can be a proper URL, or a simple Òhost:pathÓ form] Check out the scripts provide. YouÕre on your own when it comes to Frontier, IÕve included some stuff from Leonard Rosenthol, but I have no idea what it does - cool and froody things I expect! ¥ Limitations Anarchie requires System 7 and MacTCP 1.1 or later. For large searches, large listings or many listings or searches or whatever, you may need to increase AnarchieÕs memory partition (use Get Info in the Finder to do this). To display FTP sites, Anarchie assumes the directory listing will look something like a normal Un¥x one, if it doesnÕt, it wonÕt work. I have a document available on how Anarchie (and other programs) parse the LIST output, so if you are writing a server or client, let me know and IÕll send you the document. ¥ Small Print This program is Shareware, which means if you use it, you should send me US$10. US dollars or personal checks in US dollars drawn on US backs are fine. Site Licensing: World-Wide Source Code License: US$5000 World-wide license: US$2000 Universities or companies site license: US$500 Curtin University and the University of Western Australia are exempt. Individuals: US$10. Note that I'd prefer that you use the program and send me a note saying so, than not use the program at all! (it doesnÕt help either of us if you delete it and donÕt pay, but this is not to say I am happy about it) So even if you are not willing to send me any money, still drop me a line and say hi and tell me what you like or don't like about this program. Of course, IÕd much prefer you to pay, obviously. Better yet, get your organisation to buy a site license. If you purchase a site license, contact me for information on how to make Anarchie automatically set the ÒI PaidÓ flag in the Preferences dialog (for those who are interested, I leave the ÒI PaidÓ checkbox off on my machine to ensure that the About box is not too annoying and it doesnÕt trouble me, so live with it) You may distribute Anarchie any way you wish as long as you don't charge for it (reasonable download costs such as Compu$erve are ok I guess (although who would call Compu$erveÕs download costs reasonable?)). It would probably be a good idea to keep this documentation file with the program, but IÕm hardly likely to check up on you now am I! I donÕt guarantee any support, but I always answer my Email. If I donÕt answer Email its because your message didnÕt get to me, or my reply bounced, so try again and include a valid Internet address if you can. You MAY NOT DISTRIBUTE Anarchie on any disk costing more than $5 without my explicit permission. ¥ Warranty This program should do what IÕve described in this document. If it doesnÕt, you can simply stop using it. If you pay me, and within a year find that it doesnÕt do what I describe here, then you can notify me and I will refund your money and cancel your license. ¥ Fine Print Peter Lewis hereby disclaims all warranties relating to this software, whether express or implied, including without limitation any implied warranties of merchantability or fitness for a particular purpose. Peter Lewis will not be liable for any special, incidental, consequential, indirect or similar damages due to loss of data or any other reason, even if Peter Lewis or an agent of his has been advised of the possibility of such damages. In no event shall Peter Lewis be liable for any damages, regardless of the form of the claim. The person using the software bears all risk as to the quality and performance of the software. US Governement: Government End Users: If you are acquiring the Software and fonts on behalf of any unit or agency of the United States Government, the following provisions apply. The Government agrees: (i) if the Software and fonts are supplied to the Department of Defense (DoD), the Software and fonts are classified as "Commercial Computer Software" and the Government is acquiring only "restricted rights" in the Software, its documentation and fonts as that term is defined in Clause 252.227-7013(c)(1) of the DFARS; and (ii) if the Software and fonts are supplied to any unit or agency of the United States Government other than DoD, the Government's rights in the Software, its documentation and fonts will be as defined in Clause 52.227-19(c)(2) of the FAR or, in the case of NASA, in Clause 18-52.227-86(d) of the NASA Supplement to the FAR. ¥ How It Works Anarchie connects to the archie server using the UDP prospero protocol and then, thru a complicated dance of exchanged packets, gets a response back which it reassembles into a list and then displays. The fetching is done with the normal FTP protocol. ¥ Version History Still Todo: Send MACB command once, and deal with it properly for uploads read/write FTP commands (rename, put, delete) (put, delete work with DragManager) other FTP commands (site index, arbitrary) Moveable modal Find window Regexp helper? way cool help window with topics and stuff and throw away the documentation files. o autosizing to not showing the path o option double click to close parent window o shift tab in get dialog Option-click headers to sort in reverse (eg au.edu.curtin.info). "Get Info" like notes for URLs. Use Expander's Expand event so that I can notify when it's finished. tcl support? Remeber last sort, or preference for prefered sort? fetch a file when it exists should give a helpful prompt. Try to fetch file.hqx in favour of file.hqx.{Z,z,gz} to see if the site will decode it Some form of after-search filtering AE set/get preferences AE line 3 of window 1 support for gopher and WWW as well ;-) 1.2.0d7 ~UI changes ~Drag Manager drag only if you click on the file name or icon. 1.2.0d6 ~pipeline multiple ftp request (especially important for ftp.apple.com). ~Bookmarks with more than one entry. ~Unbugged nonymous ftp. ~No more negative times hopefully :-) ~support NetWare server 1.2.0d5 ~Fixed? progress colours ~Drag Manager support 1.2.0d4 ~Save Bookmark should possibly add a string like " Bookmark" ~Only pay attention to option in odoc event if sent from the finder. ~revamp zoom code. ~Edit->Clear on Log window ~Update Balloon help ~Save URL bug 1.2.0d3 ~active log (still need to implement clear) ~Totally reorged the command keys (sorry!) ~search menu (Find, Find Again, All at once). ~FTP Transcript ~reasonably complete support for (readonly) nonymous FTP ~support partial and absolute paths ~option-copy in Get dialog copies as URL ~paste of URL splits across fields. ~Fixed up the progress bar (oops ;) ~Added some minor changes to interoperate better with Fetch/NewsWatcher. 1.1.4d1 ~Started on transcripts ~Fixed a bug that caused some directories to come up empty, and some -49 errors. 1.1.3 Released three times inside 24 hours to become 1.1.3 - don't ask. 1.1.1d3 ~Allow listing host:/path/file* ~uniquefy the destination name rather than prompting. ~Cmd-1,2,3 to set radio buttons in each dialog ~Only numbers in Size and Matches fields. ~Option-(return, doubleclick,etc) all bring up the Edit dialog now. 1.1.1d2 ~Improve timeout message (just put up "nothing found" window). ~Time remaining in FTP progress. ~Using new DNR code (lots of new bugs I expect) ~Zoom leaves room for disk icons. ~Fixed a bug that caused ÒzonesÓ to be incorrect on occasion. ~Cmd-. or escape while finding terminates the find and displays the results. 1.1.1d1 ~Added prefs for opening the Bookmarks List, and not using Expander. ~Fixed bug with dot (.) not working in patterns. ~Open Folder opens a bookmark listing ~cps display in store/fetch progress? ~Partial results - really this time. ~Minor UI fix ~Added URL support to AppleEvents ~Added support for "current selection" AppleEvent ~Fixed bug with binary mode listing transfers (actually a bug in some servers) 1.1.0d7 ~Allow port specification in Firewall. 1.1.0d6 ~Force save rating et al after changes. ~Fixed some bugs in the cache code (surprise!) ~Fixed some bugs in the sort code (surprise!) ~Improved FTP listing compatibility (the Newton site broke it). ~Minor UI issues and redid balloon help (Thanks Quinn). ~Minor scroll bar glitch. Sigh. 1.1.0d5 ~Cache ftp connections to avoid reopening. ~Increase sort speed by an order of magnitude or two. ~Randomize (Sorry Jim :-) ~Fixed colour icons to use only allowed colours, and added bookmark colour icon ~Trashed pref icons, use file type "pref" to get default icon instead. ~balloon help for Window menu ~Dates are not always for THIS year - they are for withing the last year! ~cmd-uparrow opens parent 1.1.0d4 ~Balloon Help for menus. ~Regex helper - tutorial. ~Decode .sit/.cpt files after decoding MacBinary file ~mastermind.cpt.hqx (in game/board) is NOT a directory :-( ~Partial results ~added date and mode to the log. ~added retry menu (it might even work) ~position the "save changes" alert. ~status strings ~out of disk space gives sensible error (as do other errors) ~dir name in window listing instead of "Directory Listing" ~New about box? prompt? display usage? Newbie rating 1.1.0d3 ~Log file (does it need more info?) ~Barber poll progress ~Pg up/down, home/end keys ~Balloon Help ~increase memory to 300k? ~Save Bookmarks of list window gives no default name ~Out of memory dialog is not big enough ~archie comes up with no server selected??? ~cmd keys for fetch list/fetch file? (cmd-1 & cmd-2) ~Edit *menu* doesn't work ~Make button light up on paste ~TEXT mode solution (View Selection) ~Automagic MacBinary detection. ~option-close box & Command-option-W ~close box -> AppleEvent ~Finder shortcuts 1.1.0d2 ~Windows menu. ~Full connectionless anonymous FTP client. ~Saveable URL documents ~Non-modal Get File/Directory dialog. ~double-click dir brings up list of files similar to archie list 1.1.0d1 ~Finder-like "Name, Size, etc header" with sorting ~Improved "no result" display ~Support FTP firewalls. (do they all behave the same?) ~Preference to open Find window on startup. ~Added the server name to the listing windowÕs title. ~Supports windows wider than 1000 pixels (well, I don't have one :-) ~Only use "-" in password for anonymous logins, since some servers don't handle it. 1.0.0 - First release ~AE store & list ~GrowZone ~MenuSharing. ~Fixed popup UI to abide by AppleÕs HIG. ~Alex server support ~Multiple selections in the list window. ~Scriptable&Recordable fetch command ~Fetch SuffixMapping ~Send to StuffIt Expander ~Prefs dialog ¥ Acknowledgements Thank go to Dmitry Boldyrev & Igor Livshits for the icons, and to various people on my beta list for their suggestions. Quinn & Leonard get the award for most implemented suggestions. Thanks again to Leonard for the Frontier stuff. DonÕt ask me what it is, IÕm just including it - anything Leonard writes is certainly going to be good :-) Thanks also to Chris W Johnson and the folks at University of Texas at Austin for hosting the archie server list fetched by ÒFetch Server ListÓ. You might like to check out their archive at microlib.cc.utexas.edu:microlib/mac (preferably after hours). Thanks also to Jean-Pierre Kuypers for the french translation. ¥ The Author Programs written by me: MungeImage 1.0.0b - Mount DiskCopy Images (written with Quinn). Anarchie 1.1.3 - Macintosh Archie client and FTP browser. Morpion 1.0.0 - A simple solitaire game. FTPd 2.2.0 - Macintosh FTP server. Daemon 1.0.0 - Macintosh multi-protocol daemon. Script Daemon 1.0.0 - Telnet->AppleScript gateway DeHQX 2.0.1 - BinHex decoder (use StuffIt Expander instead). Finger 1.3.7 - Macintosh Finger client/daemon. Talk 1.1.1 - Macintosh Talk client/daemon. MacTCP Watcher 1.1.0 - Display MacTCP state information. MacBinary II+ 1.0.2 - MacBinary II+ encoder/decoder. ObiWan 4.0.1 - Online help system. Bolo Finder 1.0.2 - Display the results from Mike Ellis' Bolo Tracker. Bolo RandomMap 1.1.0 - Generate a random map for Bolo. FetchNews 1.0.0b - Fetch News for use with NewsWatcher demo mode. Chat 1.1.0 - Multiuser primitive irc-like daemon. The latest versions of my programs are available from: amug.org:/peterlewis nic.switch.ch:/mac.software/peterlewis redback.cs.uwa.edu.au:/others/peterlewis and French versions of some of my programs may be available from: ftp.sri.ucl.ac.be:/pub Send postcards, comments, bug reports, wishes, and payments to: Peter Lewis, 10 Earlston Way, Booragoon, Perth, WA, 6154, AUSTRALIA or by electronic mail to: Internet: peter.lewis@info.curtin.edu.au Bitnet: peter.lewis%info.curtin.edu.au@cunyvm.bitnet UUCP: uunet!munnari.oz!info.curtin.edu.au!peter.lewis