I’m building a plugin for TRMNL, a customisable e-Ink display, to show target highlights on my personal dashboard. I’ve created an API key, and when developing locally, the requests to the https://api.telescopius.com/v2.0/targets/highlights endpoint works just fine, and I’m able to render the screen with the data from the Telescopius API response. However, when I upload my plugin to trmnl.com and set it up to fetch from the same URL with my API key in the headers, the data I get back is the Cloudflare JS challenge page, which obviously fails as it’s a a server-to-server request, not from a browser. I’ve tried adding the list of IP addresses that TRMNL uses for outbound requests to my API key allowlist, but that doesn’t seem to help. Is there any way around this? Thanks in advance!
AFAIK trmnl.com requests should be allowed. A quick research showed that Cloudflare blocked trmnl.com very briefly by mistake during January, but that lasted only 10 minutes.
Adding IP addresses to the API Key whitelist won’t help, because that runs on Telescopius and you’re being blocked by Cloudflare before the request reaches Telescopius.
I’ve just whitelisted in Cloudflare the 16 IPs shown in https://trmnl.com/api/ips, so requests coming from trmnl.com should work fine now.
Please let me know if this did the trick or not!
Hi Sebastian, thanks for taking a look at this for me. I just tested out my TRMNL plugin again using the telescopius API and i am getting JSON data back now, instead of the Cloudflare HTML previously. Not sure if whitelisting the IPs did the trick, but anyway, it seems to work now.
Thanks again for the help and the super useful tool you’ve built for us!
Awesome, thank you for letting me know ![]()
Clear skies!
I am interested in using TRMNL as well. Do you have more details about your project?
Blaime
hi, I meant to post an update on this forum but forgot! My TRMNL plugin has been published, and can be installed from https://trmnl.com/recipes/305596 . the source is on GitHub - jonathanpoh/trmnl-telescopius · GitHub but it’s a bit messy.