SpeedDemon - an Open Source tool to accelerate your Internet downloads. It works by downloading different parts of a file simultaneously and then recombines them to a location you specify. It also allows you to resume disconnected downloads. If you specify mirror links, SpeedDemon will download the file such that the load on the servers are evenly distributed. Please keep in mind that, some sites do not support resuming. In such cases, SpeedDemon just downloads the file in a single chunk. The URL entered must be complete. You can copy/cut/paste into the 'Add URLs pane' or 'Add Mirrors pane' by Ctrl + C / Ctrl + X / Ctrl + V respectively.
For example - 'http://california.linux.tucows.com/files/LimeWireLinux.bin'. It must be preceded by 'http://' or 'ftp://' etc. Currently, only HTTP downloads are supported.
If you are a developer, it might interest you to know that SpeedDemon has been
designed to support different protocols. Support for any protocol can be developed
by just implementing an Interface, packing it into a JAR file and then copying
the JAR file into a specific directory. For more details, please refer the Architecture
page. A lot of effort (read precious weekends) has gone into developing SpeedDemon
according to Design patterns and as a Multi-threaded, yet Thread-safe Swing
application.
SpeedDemon has been featured in java.sun.com's The Swing Connection Volume 9.
My article on using Design Patterns to build SpeedDemon has been
published in Intel's Developer Services. It's a 2 part series.
Installation
Make sure you have Java Developer Kit 1.3 or at least the Java Runtime 1.3 (or higher). If you don't have it, you can download it from http://www.java.sun.com.
Download the SpeedDemon zip file and unzip it into a directory of your choice.
If you are using Windows, just double-clicking the SpeedDemon_v1.0.jar should launch the application. If this does not work, double click the 'run.bat' file in the SpeedDemon directory on Windows or '. run.sh' on Linux after 'chmod-ing' it. If you are using any other OS, just typing 'java -jar SpeedDemon_v1.0.jar' in the Console/Shell inside the SpeedDemon directory will launch the application.
Tweaking & Troubleshooting
If you are working behind a Firewall, then you need to specify the Proxy Server address and the Port. To do so, you need to open the 'HTTP_ProtocolWrapper.properties' file in the 'pw' directory. 'pw' directory is inside the SpeedDemon directory. Just fill in the values against the names in this file. Restart SpeedDemon for the changes to take effect.
SpeedDemon tries to split the file you are trying to download into 'chunks'. The chunk size can be changed by editing the 'CHUNK_SIZE' property in the 'SpeedDemon.properties file in the SpeedDemon directory and restart SpeedDemon. Note that the 'CHUNK_SIZE' has to be specified in bytes.
You cannot open more than one instance of SpeedDemon at a time. To ensure this, SpeedDemon opens a ServerSocket using the port number specified in the 'SpeedDemon.properties' file in the SpeedDemon directory. If you already have another service running at the port SpeedDemon is trying to use, just change the 'SERVER_PORT' number and start SpeedDemon.
You might find that after clicking 'Stop', the window still lingers for some time saying - 'Stopping...'. It happens sometimes when the connection is slow. It's not my code to be blamed. It's a problem with the HTTP Client library I have used :-)
When you are selecting the directory to save the file in, SpeedDemon might seem to stop responding to the 'Ok' button clicks. Actually, what must be done is - select the required folder (single click on the folder and not go into it by double clicking it) and then click 'Ok'. This is a small bug in Java Swing. SpeedDemon is not to be blamed :-)
Screen shots and Usage (Click thumbnails for details or follow this link to view all of them at once - Screenshots)
|
|
|
|
|
|
|
|
|
|
|
Download SpeedDemon 1.1 binary (275 KB): SpeedDemon_1.1_Binary.zip.
Download SpeedDemon 1.1 source code (512 KB): SpeedDemon_1.1_SrcCode.zip.
Download SpeedDemon 1.1 binary and source code (576 KB): SpeedDemon_1.1_Complete.zip.
I developed SpeedDemon using Sun Forte 3.0 Community Edition on my Linux box running Red hat 7.2 - 256 Megs RAM, Celeron 566 MHz and Blackdown JDK1.3.
Many thanks to