Enqueue
Version: 0.1.x
Copyright 2001-2002 by Andrew Moenk and Alex Scott
- Disclaimer
-
This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details.
You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
This program is not intended for illegal use. We will not be held responsible for anything.
This is the Enqueue, a batch HTTP downloader. I've been looking for something like this for quite a while and I never found anything that came even close. Sure, there's plenty of FTP clients which will enqueue files for download, but nothing for HTTP. So I made one. It doesn't support FTP because thats not needed. I use it to download porn and mp3's ;) Aren't I loverly?
They say HTTP isn't reliable enough. They must not know about enqueue.
- Requirements
- ------------+
- GTK 1.2.x (and everything it depends upon)
- An Internet Connection (its kinda useless without it)
Isn't it nice not having to download/install 4382104 different dependencies? :)
- Installation
- ------------+
- Make sure you've got everything it needs working (see requirements)
- tar [zIjy]xvf enqueue-A.B.C-tar.[gz|bz2]
- cd enqueue-A.B.C/
- make
- ./enqueue
The downloader should run now. Add new URL's by typing or pasting them into the text entry field next to the add button, or you can drop the link anywhere in enquene.
You may optionally choose to install the binary to somewhere in your path. By the way, the first thing you should do is add some drop points.
- Usage
- -----+ The theory behind enqueue is you drop downloadables into it, it adds them to its master list of downloadable objects. You then select from the that list and queue them, then start the download. It will download each one until its finished. It will resume downloads which don't finish if you tell it to, it will also attempt to renew staled connections depending upon the options as well.
-- Adding Objects --
To add a URL to the object list, add it into the add entry and click on
the Add button. Because Enqueue is an HTTP only downloader, the `http://'
prefix is REQUIRED. Enqueue will not add the object to the list unless
its there. You can also drag an object from netscape to anywhere in
Enqueue and the item will be added to the object list. Ftp sites do not
work and will be ignored. (There's plenty of software out there for FTP
sites). Drag and drop from Opera and Konqueror has been tested and works
just as well.
Alternatively, you can drag items from the object tree in Enqueue to your browser to visit those sites.
-- Parsing out HTML Documents --
To have Enqueue parse out html for links, select the document you want it
to parse and click on `Download & Parse'. You can accomplish exactly the
same thing by adding the document to the queue and flushing it. Content
type of text/html will always be parsed as html. This is a shortcut to
<add to queue><flush queue>
-- Searching --
Searching uses regexp matching strings to select objects. Enter a regexp
into the search entry and click on search. Matching entries will be
selected in the tree.
-- Using the Queue --
To download files, queue them and flush the download. You can queue more
files as you're downloading, and you can also move files in the queue while
downloading. Be careful not to move them to the top position because if
you do, the currently downloading file will be named whatever you just
moved there (probably erroneously). I store filenames in the queue clist,
so any file which gets downloaded will be named whatever is in the top of
the list.
-- Object Color Codes --
- Black -- Nothing has been done here
- Green -- Successfully downloaded.
- Blue -- The file was only partially downloaded.
- Red -- The server didn't give me the file I want (IE: 404, not found),
OR Any connection problem (IE: cannot find server, connection refused)
-- Resume/Overwrite Options --
The resume and overwrite options are only available on files that have
been shown to previously exist in the selected drop point. Ordinarily,
html files will default to overwrite while everything else will default to
resume. To change the flag, simply right click on the row to toggle
between resume and overwrite.
-- Queue Color Codes --
- Red -- Object already exists in drop zone, provides for Resume/Overwrite
- Green -- Object cannot be written into the drop point because permission
was denied.
- Blue -- Object cannot be written into the drop point because of an
unknown error.
-- Renaming a File in the Queue --
If you want to change the name of a file in the queue, you can double
click on it and a dialog will appear where you can change it.
-- Using the prepend filter --
This is an extremely primitive feature. I use it simply for prepending
some text to a porn series which is named 1.jpg 2.jpg 3.jpg ... It does
exactly what you'd expect it to. That is, if you enter `stuff' into the
prepend entry and apply it, it'll change the filenames to stuff1.jpg
stuff2.jpg ... so on and so forth.
Say you don't want to apply the filter to all the files in the queue. Just select the ones you want it to affect, enter the text and apply.
-- Drop Points --
Since no doubt you are using this program to download more than just porn
and mp3's (yeah right ;), you can direct Enqueue to drop downloaded files
in a specified directory. I thought it'd be easier to have a drop-down
list of available directory's plus being able to enter in directories, so
I'm using a combo. You can edit the list of combos by clicking on the
config tab. Its pretty intuitive to use.
-- Session Options --
Session options are controled on the Config page. Theses settings are not
saved. There are several options to do different things at different
times.
The first option is 'Resume server aborted downloads'. When this is enabled, and the server or something in between you and the server severs the connection prematurely, then enqueue will save what portion is has successfully downloaded and attempt to resume the download from where it cut off. This only works on static content of course. Be careful, some
primitive webbrowsers don't support resuming downloads, plus, resuming
will never work for dynamic content.
The second option is the 'Quit when queue is emptied'. There is really no explanation necessary.
The next option is the Stall timer. This tells enqueue what to do when a download has stalled for too long. By default, it will stall for 80 seconds, then abort the current download, move it to the bottom of the queue and proceed with the next file. The other options are 'Let it stall' which disables stall actions, 'Eject from queue' which saves what portion was successfully downloaded (if any) and removes the item from the queue as if it had been successfully downloaded, and 'Poke server', which aborts the download and immediately tries to resume it from where it left off. 'Demote rank' moves the item to the bottom of the queue if it stalls for too long.
The last option in the configuration is the download delay. This is the amount of seconds to wait between downloads.
Ok, I've added one more feature for those of you out there with insanely small amounts of ram. This feature, right below the download delay will cause the connection to be aborted and immediately restarted after every specified amount of megs. Its not exactly difficult to understand.
-- Timer --
Enqueue also includes a timer. This timer will abort the current flush
and/or execute a script when it runs out. To use the timer, select which
options you want, set the start hour, minutes and seconds, and click on
the Start/Reset button. If 'Abort flush when timer runs out' is checked,
then exactly that will happen when the timer runs out. 'Timer script' is
a script to execute when the timer runs out.
- Todo
- ----+
- Support command line functions so external programs can use Enqueue as their downloader (ie: netscape, mozilla, konquorer who's downloader sucks) by default. (Heads up guys, you people need to support using an external down loader for saving targets).
- Modification of the User-Agent header so it can identify itself as whatever, also command line support for this so an external program can use Enqueue to identify for it.
- Usage of an external program to support FTP? Or perhaps usage of a plug-ins to support variable URI's (and parse then too if necessary)
- Proxy support (VERY IMPORTANT!)
- Since files are stored in memory until they are finished or the download is aborted, something to save files to a temporary file if they're above a size threshold. Not everyone has insane amounts of ram like I do :)
- Auto enable/disable of certain options when accompnying entry is empty/full.
Known Bugs:
- Closing the program while a download is going will not save the partially downloaded file. Oops.
- There are probably a few overflows and I'm sure theres small memory leaks here and there.
Reporting Bugs:
Email me (Andrew) <xios@kfa.cx> or (Alex) <magister@kfa.cx>
