A thread by @Dronecatcher on Google's rendering proxy reminded me that I wanted to try running Web Rendering Proxy on a server for my PowerPC laptops. WRP works by rendering the web page in Chrome/Chromium and creating a GIF or PNG with clickable elements. You could do this on your local network with a fast machine and access its RFC1918 address, but in my case, I wanted to run it on a remote server so I can access it from anywhere. The problem with this is that there seems to be no way to have a TLS connection to the proxy, and I don't really want the PNG/GIF begin sent in the clear to my client's browser, especially when I start submitting passwords and the like.
The solution I devised was to run WRP on a 2 core, 4 GB RAM Vultr OpenBSD VPS with a Wireguard VPN tunnel securing the connection. It actually works fairly well. I put a screenshot below of the full Macrumors site in Dillo on a titanium PowerBook:
As you can see, Dillo on the PowerBook is making a plain HTTP connection to 10.1.2.1 which is the internal IP address of my Wireguard VPN, where WRP is listening on port 80. This whole connection is sent over the encrypted VPN tunnel, so it is still secure despite being HTTP. The toolbar at the top of the page has the controls for WRP. It's a bit weird in that you can only click in a web page. Entering text requires you to click in the form on the web page, fill in the field in the WRP control section (next to the "Bs" button, ironically) with the text you want, then submit by clicking WRP's Go button. Scrolling is done with the scrollbar as expected.
I strongly suggest setting the page height to 0. This will render the whole page as one big, scrollable image, though it has the downside of being a larger download. I also suggest using PNG if you can because it is faster than a GIF. I built in ad blocking by setting /etc/resolv.conf on the server to AdGuard's DNS. Lastly, make sure your server can run Chromium. I suggest 2 cores and 4 GB RAM at a minimum.
Performance is surprisingly good, even over a VPN tunnel. Another cool benefit of doing it this way is that you don't have to worry about snooping on an open wifi or WEP network if you're using an older Airport card like mine because the VPN takes care of that. I have no idea if it's possible to run Wireguard on older versions of OS X, but you could do this with any VPN.
If there's enough interest, I can work on a script that would automate almost all of this.
edit: Link to script is here: https://github.com/jsfierro/wrpguard
The solution I devised was to run WRP on a 2 core, 4 GB RAM Vultr OpenBSD VPS with a Wireguard VPN tunnel securing the connection. It actually works fairly well. I put a screenshot below of the full Macrumors site in Dillo on a titanium PowerBook:
As you can see, Dillo on the PowerBook is making a plain HTTP connection to 10.1.2.1 which is the internal IP address of my Wireguard VPN, where WRP is listening on port 80. This whole connection is sent over the encrypted VPN tunnel, so it is still secure despite being HTTP. The toolbar at the top of the page has the controls for WRP. It's a bit weird in that you can only click in a web page. Entering text requires you to click in the form on the web page, fill in the field in the WRP control section (next to the "Bs" button, ironically) with the text you want, then submit by clicking WRP's Go button. Scrolling is done with the scrollbar as expected.
I strongly suggest setting the page height to 0. This will render the whole page as one big, scrollable image, though it has the downside of being a larger download. I also suggest using PNG if you can because it is faster than a GIF. I built in ad blocking by setting /etc/resolv.conf on the server to AdGuard's DNS. Lastly, make sure your server can run Chromium. I suggest 2 cores and 4 GB RAM at a minimum.
Performance is surprisingly good, even over a VPN tunnel. Another cool benefit of doing it this way is that you don't have to worry about snooping on an open wifi or WEP network if you're using an older Airport card like mine because the VPN takes care of that. I have no idea if it's possible to run Wireguard on older versions of OS X, but you could do this with any VPN.
If there's enough interest, I can work on a script that would automate almost all of this.
edit: Link to script is here: https://github.com/jsfierro/wrpguard
Last edited: