FreeFoote's Arbitrary Internet Home

FreeFoote

Home About FreeFoote Contact FreeFoote

Linux Projects

GPS Photo Correlator EXIF Utility Scripts Sound Scope LCDMenu MPG123 HTTP patch Remote Download Manager

Hardware Projects

Cut down keyboard mod Sprinkler Controller

Abandoned Projects

The CFW

About the CFW Background Images Next Version: CFW3 Current Version Download Email Lists Screenshots Source Code

The F3C

About the F3C Contribute Documentation Download

The Remote Download Manager

Caution!

This code is really old, and was one of the first PHP projects I ever wrote. For this reason, in terms of security, it looks like swiss cheese! It also relies on a depreciated PHP feature, register globals. Use this code with EXTREME CAUTION.

What is it?

What an odd name to give to a program. Why, what would be to point of downloading something in a remote location?

Well, I've got a FileServer. It runs Linux. Now what if I want to download files directly to it? Then I can just move the downloaded files to their final storage location. I could SSH in and start the downloads, but then I've got to check them. Hmm...

So along came the Remote Download Manager. This solves a few problems for me. I can, using a web browser, add downloads to a queue, and then start the downloads. If my desktop machine crashes (which is does regularly when running Windows), the downloads are still proceeding nicely.

It is pretty basic -- it will allow you to add downloads, start downloading, and view the progress of the current download, and also view details about previous downloads. It also allows for stopping the downloads and continuing the downloads (where applicable).

Features

  • Allows adding of downloads, listing, deletion.
  • Supports multiple lists of downloads
  • Retains logs of previous downloads.
  • Allows downloads in the database to reside in various states: "Enabled", "Completed", "Stopped", "Disabled", and also a "Continue" flag.
  • Downloads via HTTP or FTP (or whatever else wget supports).

How does it work it's magic? The web interface part is done in PHP. The downloads are stored in a MySQL database. The actual downloading is done by wget, plus some of my own "homegrown" PHP/bash scripting. It's not pretty, but it seems to work.

Oh, and it's all GPL. How else?

Download

You can download it here: rdlm-1.1.tar.gz (39k). Installation should not be too hard. Just read the nice INSTALL file that comes with it.

You will need:

  • Some sort of Linux. I suppose this could easily be ported to another *nix, but would require more work to port to Windows (but why would you want to do that?).
  • MySQL -- any version 3 or later should do -- I do not use any special features.
  • PHP and a suitable server (I use Apache, but I think most PHP supporting servers should be ok -- this is not tested, though). Note that I use the command line tool 'php' as well, which does the database stuff for the download script (far easier than using 'mysql', 'grep' and 'sed'!). You can build this from the PHP sources, if nessecary.
  • wget -- the noninteractive downloader. I used version 1.8.1, but a version or two back should be ok. I would rather that you used the latest, though.
  • bash -- some of the scripts were written in bash, but might work with other shells. I do not know enough about other shells to say anything.
  • A connection to the internet would be useful. Proxy server connections are ok too -- after all, that is what my setup used to use. However, you might not be able to continue downloads with a proxy server -- depends on the proxy server.

Note: this program does have a few rough edges. Bother me about it, or hack away! It's not the prettiest code, but it does the job.

  FreeFoote, aka Daniel Foote - freefoote [at] dview [dot] net