TomatoUSB is an alternative Linux-based firmware for powering Broadcom-based ethernet routers. It is a modification of the famous Tomato firmware, with additional built-in support for USB port, wireless-N mode support, support for several newer router models, and various enhancements. That translates to one kick ass Linux distribution to take care of your always-powered-on-little-server which is your router, enabling it to do various cool stuff. I’m using Toastman’s builds, they’re very well equipped and quite stable.
FlexGet is a multipurpose automation tool for content like torrents, nzbs, podcasts, comics, series, movies, etc.
Transmission is a bittorrent client runs natively on multiple operating systems. Yes, that includes TomatoUSB.
So ? FlexGet watches your content source, Transmissions downloads it and TomatoUSB supports everything. One-stop-low-power downloading box, if you know what I mean 😉
We assume you already have TomatoUSB and Optware installed (preferably Optware should be on a large enough partition, I’m using a 1 GB partition which is plenty of space).
First thing is to get Python 2.6:
root@router# ipkg install py26-setuptools
It will install Python 2.6 and all dependencies. Next, you might need to properly set up a path:
root@router# export PYTHONPATH=/opt/local/lib/python2.5/site-packages:/opt/local/lib/python2.6/site-packages/
Now you can install FlexGet:
root@router# easy_install flexget
After a while and if no errors appear, you should see Finished processing dependencies for flexget. FlexGet will be under /opt/local/bin/. Beware, it’s slow; on my RT-N16 it takes about 22 seconds just to display the help page.
Configure FlexGet to monitor and download whatever you desire (see here), configure Transmission to watch FlexGet’s download folder (watch-dir-enabled, watch-dir) and enjoy!
hi, wondering if you could help me, I think I managed to create a config.yml file, but i dont know where to save it?
Hi there.
You can put the file anywhere you want and just invoke its name as an argument to flexget. Something similar to:
Hey,
When running flexget I always get a warning.
Transmissionrpc module version 0.11 or higher required
My PYTHONPATH was set incorrectly and I changed it back with the export command. Voila, it works via easy_install.
It is pretty slow.
When I create a config.yml file it is lost on rebooting my router when it’s placed in ~/.flexget/config.yml
Running “flexget -c /mnt/homeserver/config.yml” with the path following the above example always gives me “too few arguments”
Oops, just reverse flexget -c /path/to/file/config.yml execute
Sorry for the late response – yep, that’s id:
As you’ve seen, make sure the config.yml and flexget database (usually stored in a folder called .flexget which contains the config.yml as well) are on persistent storage. The database makes flexget remember what it has seen already.
And for being slow – yes, it’s very slow. But remember you’re running on a 480 MHz ARM … 🙂
Mine is actually running on a Broadcom chip on a RT-N16. It works, well but slowly like you described. It’s really convenient and always on. My database isn’t on persistent storage. It must get trashed on reboot as well? Did you create a new database. Would scripting a symbolic link on init be a sane fix?
I’m still having trouble with quality ranges.
Hi Josh,
on a RT-N16 here as well. The trick is not to watch it execute, just leave it scheduled and it will be okay.
Yes, the DB gets trashed every time the router reboots. You probably have Optware already installed on some USB storage ? just put the config file there and that’s it (a remote share might work as well, as long as you set TomatoUSB to mount it every time at boot). Symlinking works equally good.
The filters depend on your RSS feed quality; just experiment (and check the –test, -v options for some debugging).