The ToH downloads exclude release URLs

The table of hardware (toh) is available as a download at https://openwrt.org/_media/toh_dump_tab_separated_csv.zip

These include the snapshot fields firmwareopenwrtsnapshotinstallurl and firmwareopenwrtsnapshotupgradeurl, but don't seem to include the equivalent release URLs, which I assume are firmwareopenwrtinstallurl and firmwareopenwrtupgradeurl

I'm keen to avoid screen-scraping the data, so is it possible to get these added or is there somewhere else I can get the data from?

I'll see what I can do about that in a few days

1 Like

While you are at it: Could you correct the filename of this (1x csv should be enough:)?
https://openwrt.org/_media/toh_dump_tab_separated_csv.csv.gz

What data are you looking for specifically?

Mostly it is the Firmware OpenWrt Upgrade UR, e.g. http://downloads.openwrt.org/releases/18.06.5/targets/ramips/mt7621/openwrt-18.06.5-ramips-mt7621-gnubee_gb-pc1-squashfs-sysupgrade.bin

In an ideal world I'd also be able to grab the device name without parsing, e.g. gnubee_gb-pc1

Just curious: What project are you working on that needs this information?

I end up building lots of different models of travel router, on quite a frequent basis. I've automated it all using docker, imagebuilder, wifi/VPN configs etc. At the moment though I need to configure each travel router individually. I was just trying to gather than information from a definitive master, which also allowed me to bump to latest release easily.

Thinking about it; most of the time it's imagebuilder URL I really want but I can derive that from other information without too much difficulty.

OK, understood.

Please check if rsync can be of any help for you.

All files:

rsync -r --list-only rsync://downloads.openwrt.org/downloads/releases/${release}/targets/ > rsyncalldownloads.txt

Imagebuilders only:

rsync -r --list-only rsync://downloads.openwrt.org/downloads/releases/18.06.5/targets/ | grep 'imagebuilder' > rsyncimagebuilders.txt

Obviously, you have to replace ${release} with your desired release.
The resulting list will certainly contain more than you need. You can filter the result already at time of rsyncing by defining some excludes (see man rsync for details).

Ok, added the fields to the databse dump script, it's kind of weird that they were not in it before, as it was supposed to be a full dump.

For your usecase, I also think the rsync commands posted by tmomas are better.

2 Likes

Thank you for the quick fix, it's really appreciated.

I wasn't aware of the rsync data so thanks to @tmomas for pointing that out. As I have the data I need in CSV (well really TSV) format which is readily parsed in python I'd probably stick with that rather than spawning an extra process to do rsync.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.