Sometime in the last few days this stopped working—because it appears Teltonika has placed the wiki site behind a Cloudflare Turnstile proxy (I understand their reasons for doing this).
It appears this info is also available via some (mostly) undocumented API endpoints.
E.g. (run on device)
# /sbin/api get /firmware/device/status
{"http_body":{"success":true,"data":{"kernel_version":"5.10.224","version":"RUTX_R_00.07.10.2","build_date":"2024-10-30 06:59:57"}},"http_code":200}
and
# /sbin/api get /firmware/device/updates/status
{"http_body":{"success":true,"data":{"device":{"version":"RUTX_R_00.07.11.3","size":"25266645"}}},"http_code":200}
…to see current/latest firmwares available. But I’d rather directly check whatever API is being called there instead of having to use a specific device (which could be down, having connectivity issues, etc) to proxy this through.
Is there any proper way to do this, or do I need to use my poor man’s Python script?
I have written the Python script below that executes a firmware check using the on-device API. However, it only sees the “Mass Production” release track. So, if there is no workaround for the wiki being blocked by CF Turnstile, then how about a track API parameter e.g.
It does get the latest version and not the “Mass Production”, though not instantly after it is released as I suspect its rolling out firmware to devices gradually and not all at once to not have a lot of issues (like most companies do).
If your seeing “Mass Production” then the issue could be that you need to install that suggested firmware first to progress to later ones.
The main issue is in the top example, it relies on querying a specific hardware device to proxy the API calls. This is less reliable (the device could be offline, undergoing maintenance etc). Eliminating steps 3–5 would make the system more reliable.
If not then your best bet is probably to try revere engineering the application on router itself maybe try to capture the traffic that router is sending when you call firmware version API. I see the router is using /sbin/rut_fota application to get the latest firmware version from the server. You could try adding debug option and maybe some more information will be seen /sbin/rut_fota -i -d.
Unless someone from Teltonka will answer with a better way.