SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

$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.

  • LWP
  • Net::FTP
  • 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?

  • 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

  • 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.

  • 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.

  • To view the current job request queue and job status:

    fletch -r See figure 1 for more details.

  • 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

  • To move completed jobs to the completed job queue.

    fletch -action=move

  • To move frozen jobs to the completed queue.

    fletch -action=move -status=froZen

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.

-action Perform "action" on objects that match the mask.

Possible actions: queue, freeze, move & 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

Where do I get it from?

Latest version of fletch is available from http://vipul.net/perl. There is a mailing list for fletch related discussion at fletch@vipul.net Send a mail to fletch-request@vipul.net with "subscribe" in the header


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.