Forum Discussion

acicali's avatar
acicali
Reel Rookie
4 years ago

ECP going away? CORS-RFC1918

Hi,

I created a web-based Roku remote using ECP that I've been using for over a year. Recently it stopped working in Google Chrome because requests from public hosts to private networks has been deprecated (CORS-RFC1918).

None of the proposed solutions seem possible with ECP (https://developer.chrome.com/blog/private-network-access-update/#accessing-private-ip-addresses).

Has anyone else had experience with this? Are there any solutions being considered by Roku so that ECP remains accessible into the future?

Thanks for reading.

4 Replies

    • acicali's avatar
      acicali
      Reel Rookie

      What I did to resolve this was to replace my fetch / XMLHttpRequests with form posts. A simple service that creates a form element via document.createElement('form'), then sets it's method to POST, it's action to the desired Roku endpoint (e.g. "http://192.168.1.25:8060/keypress/Play") and finally, calls submit() on the form.

      I hope this helps!

      • baby's avatar
        baby
        Channel Surfer

        That fixes that, yes, but Roku is now evidently inspecting the host and/or referrer header to make sure that the request comes from the same network, and throwing 403 forbidden otherwise.

        I'm using a website on another network to show the web gui, and although it is technically the local client doing the requests directly to 192.168.x.x, the Roku is somehow seeing the website address and throwing 403.

        If I run the exact same html manually/directly from chrome instead of loading it from the website, it works properly.

        This is due to another security feature:  https://community.roku.com/t5/Roku-Developer-Program/External-Control-API-suddenly-returns-403-Forbidden/m-p/499344