Creating your own Dreambox software update mirror

Living in a small village away from towns and cities means two things: Silence and internet access via modem or ISDN. This also means that time is money since you pay your connection per minute. And with 8 kiB per second, downloading large software updates really cost money.

For this reason, I could not update my Dreambox satellite receiver for nearly half a year. This was until a friend of mine showed me all those nifty extensions that could be installed via the box'es in-built plugin update mechanism. So what does one do here? The only officially supported way to update your box is via an online connection to the dreambox servers.

Get those files

The idea was to create my own mirror of the whole Dreambox package list including all packages. Finding out where the box gets its packages from is trivial:

So there we have our directory. Stefan knew that there is a Packages file containing the metadata of all packages, and suddenly I had an 11 kiB file with all data I needed. Now the only thing left was fetching all those files - again, just a little command on the shell:

for i in `cat Packages.txt |grep Filename|cut -b 11-`; do\
 wget "$i";\

(Such lines are the reason why I love the unix shell)

All packages together are 110 MiB, since there are several versions of many packages.

Providing files

Now fire up your http server (Apache or Lighttpd) configuration, add a virtual host for Imitate the directory structure as it is on the Dreambox update server.

From the web server logs, I saw that the Dreambox tries to not access Packages, but Packages.gz. Using gzip, you will master this task, too.

Now, edit /etc/hosts on your dreambox to contain the line:

(adjust IP as needed)

Now go to your box, open the main menu, extensions, "software update" or "install plugins". Downloading and displaying the package list is really slow, even on a local, high speed network. But now installing those tools is really fast, and I don't need to pay to update.

Alternate way

Instead of modifying /etc/hosts, you could also change the ipkg package source list.

I'm looking for a new job. If you can recommend a company in Leipzig/Germany that's looking for a PHP developer, please drop me a mail.

Written by Christian Weiske.

Comments? Please send an e-mail.