One of the fundamental issues that quickly frustrates you when playing with your old computers is data portability. There are no USB ports, there are no floppy drives on the computer from which we want to copy something, and the network card – if there is – initially there is no there are no pilots. And we won’t download them, because we don’t have internet! The files you need might be right there, but there’s no easy way to return them…
And that’s just the beginning of the fun. When you replace, for example, a retro-PC hard disk with a CF card (they are logically compatible with the IDE standard without active adapters) and you throw everything you need to connect to the Internet on it, you quickly discover that although protocols such as HTTP are still consistent, it is simply not possible to effectively browse the Internet. This is due to the evolution of websites to web applications, so today they need not only a wide connection, but also a powerful processor and a lot of memory. Not to mention the fact that full HTML5 support today is only provided by browsers that require processor extensions available only from the Core 2 Duo chip and won’t run on anything older than Windows 7.
The WWW is out
Of course, browsing the Internet is not the reason old computers are made today. If they are used for the network, it is rather for less loaded applications than today’s HTTPS. Outlook Express 5 will download email from o2 and GMail from poverty, IRC networks still allow connections even from the oldest clients. Windows 95 runs PuTTY version 0.65 with RS-232, Telnet, and SSH support. So if you don’t want to log in with, say, encrypted ed25519 keys to a computer on an IPv6 network, shell connectivity to a remote, relatively new Unix should still work fine from the old hardware. These unfortunate websites remain a problem…
The Web Rendering Proxy (WRP) tool is exactly what its fancy little name suggests: a proxy server that offers ready-made, rendered web pages as correlated images with a map of “clickable” links. The served website only uses HTML to a basic degree, so it can be properly opened even in older web browsers without scripting or even HTML 4.0. The author of this solution is Antoni Sawicki (tenox), senior programmer at Google. The project is back after a few years of hiatus and this time it takes into account new technical trends on the internet.
Due to the network’s migration to encrypted HTTPS, Web Rendering Proxy cannot be the transparent middleman it was in the beginning. Returning to this character is clearly one of the goals of the project, but it will take time. Currently the functionality is implemented using the “browser-in-browser” layer: back browser displays a page that looks like a browser. Only in this we enter the address of the page we want to see. WRP is developed on Github and delivered as a Docker container (tenox7/wrp repository) or a precompiled static executable (12MB all-in-one). Both ARM and AMD64 versions are available for Linux, Windows, MacOS and even several BSD systems!
How does WRP work in practice? Well – it definitely does the job. It will serve both an old static page and an extended website of a large portal: the resulting image is the same complex in both cases, in the latter case the server will just need a moment longer. However, he is far from fluent. And that’s not because it’s not a true proxy layer, but because of how WRP prepares the response in practice. It starts a Google Chrome session on the server, opens the requested page there, and then takes a screenshot of it. On the opened page, the coordinates of the clickable elements are located, which are then attached as a map below the image. The whole is braided in the HTML code served to the receiving browser. Therefore, the client receives a de facto static image. It may seem that responding to requests in this way is very slow, but Web Rendering Proxy responds very quickly. Moreover, even weak computers will display WRP content without too much pain and downtime. It’s about something else.
The problem here is above all the fluidity, which is best seen when scrolling. WRP does not screen everywhere side, but only the visible area, or “mountains”. To scroll the page, you now need to click the navigation button on the page header or target the scroll bar…which is pasted into the page image with the document itself. Scrolling the page forces its refresh, then you have to wait for a new image from the server. Funny? Perhaps, but it is in fact the only method available at a reasonable cost, in practice very clever. The scrolling and scaling problem has been solved by the ability to specify the length (in pixels) to download and shoot “in reserve”. It’s really hard to find an alternative here: by definition, more processing can’t be transferred to the client, and dynamic changes in the style and order of websites are impossible with their current complexity: if the website -even does not provide its “light” or “mobile” version, it will not be possible to evoke it with possible universal mechanisms.
Page clutter isn’t the only problem with today’s internet that can be avoided with the use of WRP. The second is the widespread TLS encryption, itself glorious. However, the introduction of universal HTTPS is not an ideal scenario without flaws. Secure, encrypted internet is not publicly available: if someone cannot browse the web in the encrypted variant, they will quickly discover that the alternative pure HTTP channels cease to exist. Perceived encryption issues are rare, and due to the inherent arrogance of the First World, we find them preposterous today. And they are, for example, a bad connection (HTTPS makes it difficult caching content), weak hardware and old software (new ciphers require new libraries – something like “codecs”, but for the SSL mechanism). WRP was not created to solve this particular problem, but it helps to see that the layer of encryption stretched over web traffic is not something free.
Undoubtedly, however, Web Rendering Proxy does not aspire to solve these problems. It is an application focused on providing a substitute for the Internet on retro PCs. It does its job perfectly. As long as we remember, of course, that twenty-year-old computers, no matter how strong the nostalgia, cannot become complete substitutes for today’s devices. They are slow, noisy and unhealthy. But they often have their magic, and as long as the gravity of web browsing and data portability can be mitigated, why not take advantage of them? A version for Windows is available, but requires some manual steps after download to be usable, such as the presence of “google-chrome” in the PATH environment variable, firewall settings, and an exception in the SmartScreen filter .