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 "http://sources.dreamboxupdate.com/opendreambox/1.5/dm7025/feed/$i";\ done
(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 sources.dreamboxupdate.com. 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:
192.168.3.3 sources.dreamboxupdate.com
(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.