$Id: README,v 0.14 1999/06/17 21:00:28 root Exp root $ What is Fletch? Fletch is a powerful, non-interactive FTP/HTTP client-agent designed to perform in bandwidth-deficient environments. It maintains a queue of jobs that are executed when a connection is available. Job states are maintained and a job is retried till it completes or dies of a permanent error. Fletch carefully minimizes network usage by resuming incomplete downloads wherever possible. (FTP and HTTP 1.1) What do I need? You'd need perl5 and the following perl modules/package from your nearest CPAN mirror. o LWP o Net::FTP o Persistence::Object::Simple Once you have these modules installed on your system, run the INSTALL script. How does it work? Fletch consists of job handler and a request processing engine. The job handler accepts user requests for URLs and maintains a queue job objects for these requests. The processing engine goes through the entries on the job queue and processes them according to their priority levels. How do I use it? o To add a request invoke fletch with the following syntax: fletch -a -url=URL. fletch -a -url=http://foo/bar.html fletch -a -url=ftp://foo.bar/documents/readme-1st o To start the fetch process: fletch -i This will initiate a persistent fletch process. Fletch will background itself and start processing queued jobs according to their priorities. When there are no jobs, it'll lie dormant except for checking for new jobs every 5 minutes. Run "fletch -i" multiple times for fetching files in parallel. Fletch will send an email to inform you when a file download terminates successfully. o To reset all fletch jobs: fletch -h The jobs tagged "processing" will be requeued. To use fletch transparently on a dynamic link (PPP/SLIP) issue "killall fletch" and "fletch -h -i" (in that order) immediately after connecting. (in your ppp-up scripts). This will reset the incomplete jobs and transparently initialize the fetching process. "killall -9 fletch; fletch -h -i" can also be used to restart fletch if live fletch processes seem to be erroneously inactive. o To view the current job request queue and job status: fletch -r See figure 1 for more details. o To freeze a job. fletch -action=freeze -mask=partial_file_name Sometime a requested file is temporarily unavialable. To avoid wasting network resources on such jobs (without removing them from the job queue) you can get fletch to ignore them by tagging them "frozen". To requeue them later use: fletch -action=queue -mask=partial_file_name Options List: -a Create a new job. Used with -url. -url URL to fetch. -referer Initial referers for bandwidth regulated sites. Don't abuse this! -notify Email address for success notifications. By default, notifications are sent to user@localhost. -n Disable email notifications -priority Greater the number, higher the priority. Default is 1. -i Initialize fetch. Start fetching queued jobs. -h Hard Reset. Change status flags on jobs from "processing" to "queued". -r Print a report of queued requests. [Fig 1] -verbose Increase report verbosity. -m Move completed job objects to the completed queue. -action Perform "action" on objects that match the mask. Possible actions: queue, freeze & show. -mask Regex Figure 1 Fletch Job Queue (fletch -r): FLETCH 0.42 JOB QUEUE THU SEP 9 01:37:56 1999 ------------------------------------------------------------------------------- TRIES & COMPLETION PROTOCOL RESOURCE JOB STATUS PRIORITY % Kb NAME NAME ------------------------------------------------------------------------------- completed 1 1 0% 0 FTP cryptolib_1.1.tar.gz * completed 1 1 100% 284 HTTP threadedxlibs.tar.bz2 $ completed 1 1 100% 246 HTTP soundtracker-0.3.1.tar.gz $ completed 1 1 0% 0 HTTP geheimnis_0.60.tar.gz * completed 2 1 0% 0 HTTP geheimnis_0.69.tar.gz * completed 1 1 0% 0 HTTP geheimnis.rsa.sig * completed 1 1 0% 0 HTTP outguess-0.13b.tar.gz * completed 4 1 100% 65 HTTP slash-pre0.3.tgz $ completed 1 1 100% 2713 FTP gtk+-1.2.4.tar.gz & completed 1 1 0% 0 FTP gnupg-1.0.0.tar.gz * completed 1 1 0% 0 FTP gnupg-1.0.0.tar.gz.sig * completed 2 1 100% 3594 HTTP stable.tar.gz $ completed 1 1 100% 234 FTP phrack55.tar.gz & froZen 2510 1 100% 7486 HTTP welcome-to-sandoz.mp3 0 completed 1 1 100% 69 HTTP wrfm02a.tgz $ queued 4 1 100% 17945 FTP z.mp3 - Labels: * Request completed, file moved from the cache by the user. $ Succussful HTTP get, file present in the cache. & Successful FTP get, file present in the cache. - File is queued. 0 File manually frozen with following command: fletch -action=freeze -mask=sandoz Won't be processed till it's requeued with a command like: fletch -action=queue -mask=freeze