FixMalk: Enable drinkmalk downloads for Aldiko again

Update: This is now out of date; the issue I identified here has been resolved (really, I don't know why I didn't just contact them directly, other than the fun of the hack and then forgetting about it.  Next time).

I have an android phone, and the best eBook reader seems to be Aldiko.  I didn't really think I'd be able to read a whole book on a screen like that, but with a bit of travelling-inspired persistence I got through one, then quickly through another couple, so I ended up buying Aldiko (you can also just use it for free).

You have a few options for book sources; several online catalogues are pre-configured, including creative-commons licensed works and Project Gutenberg.  Drinkmalk is another one that many people end up adding, because it has a decent range of recent works... legality is probably suspect for much of the content, although they urge you to only use it for books you already own in hard-copy.

As of the recent 2.0 release of Aldiko though, while you could still browse the catalogue, downloads from drinkmalk stopped working.  Even though it's not actually something I use much I none-the-less whinged online, and got a response from Hadrien Gardeur who informed me it was the drinkmalk team's fault for not complying with the catalogue specification, and pointed me at

As far as I can tell, the problem is simply that the feed from drinkmalk is lacking the correct (or any) rel attribute on content links.  So, I wrote a simple proxy using (remember when that was a single file??  It's still small and useful though) that passes through all requests and responses, but corrects any mal-formed entries along the way.  So, now you can run it on your laptop, configure your Aldiko catalogue to point to your laptop via the wireless network, and browse drinkmalk content as before.  I was going to set up a public instance as well, but then I remembered that they limit downloads-per-day by IP so that wouldn't be that useful.  Sorry.

You can find the code at
Mark Hepburn 15 January 2011
blog comments powered by Disqus