Fun Stuff, networking

Classic Mac web surfin’ with Web Rendering Proxy (WRP)

Connecting 68k Macs to the Internet – and actually using it!

If you’ve read my post about using a Raspberry Pi to connect a classic Mac to the internet, you know that it’s quite possible to get an old machine online. The issue though, is that very few websites work correctly or even load. The obsolete browsers that run on these systems just don’t support today’s web, right?

But what if I told you, there’s another way… just take a look at these photos! There are no early April fools jokes here, it’s completely possible – just read on!

WRP to the rescue

WRP, or “Web Rendering Proxy” is an open-source project that’s designed to do one thing: render web pages for use in antique web browsers. It does this by running on a more modern system, receiving requests, and returning the result as an image map to the old browser. This image map can be scrolled, clicked on, etc. The end result is a surprisingly usable surfing experience on your old Mac.

On the 68k Mac, anything goes. You can use Mosaic, Netscape, iCab, MacWWW – they’ll all be able to render the super-simple HTML that WRP returns.

How does it all work?

ill-show-you-029338fd2b

First off, I’m going to assume you have your Mac reaching the internet – if you don’t, take a look at my post here. If you’re lucky you may have an ethernet card, or perhaps you’re using a Raspberry Pi like in my example.

The second prerequisite here is you’ll need a newer computer to perform the rendering of the web pages. This could be a newer Mac, a PC, or a Raspberry Pi. Since I’m already using a Raspberry Pi for a serial internet connection, I’m going to also use it for the rendering. My example from here on out will be with a Raspberry Pi running Raspian, but the process to run WRP on other systems is similar.

Now that we have everything ready, download a WRP binary for your system. For my Pi, I needed “wrp-arm-linux“. Once downloaded, I just put it in my home directory (/home/pi).

On Linux, we need to tell the system that this file can be executed/run, so from a terminal we need to type:

chmod +x wrp-arm-linux

Now we can easily launch the program by typing

./wrp-arm-linux

All of you PC and Mac users can just… um, double-click it.

But hold-on… there’s another requirement that we need on the Pi (or whatever computer) in order for WRP to work – and that’s the Google Chrome web browser. On a normal computer, you may already have it installed – but on the Pi, I didn’t, so I had to install it using:

sudo apt-get install chromium-browser

Technically speaking, on the Pi I’m using “Chromium” which is the open source version of Chrome.

Another issue I needed to solve on the Pi is I have it booting to a console, not a full desktop. But Chrome (and Chromium) have the ability to run without a window or any UI – in a mode called “headless”. So, from my console I just run:

chromium-browser --headless

Once Chromium is running, I can start WRP (again, it’s ./wrp-arm-linux from the command line)

So let’s come up for a bit of air. Linux is a lot of fun, but it’s not as easy as Windows or MacOS. On those systems you just need to download WRP and double-click. I tried it on both a Mac and PC and both will nag about security but otherwise run without fuss, assuming you have Chrome already installed.

The beauty of the Pi is that I essentially have this one like modem-esque gadget that gives my 68k Mac everything it needs to surf the web. Since I have a script that Mac PPP runs to establish the connection, I just kick off Chromium and WRP alongside SLiRP – and it’s completely seamless. (If you have no clue what I’m talking about here, it’s all in the aforementioned Raspberry Pi post here.)

Once again, to start chromium up and WRP- here’s your script:

chromium-browser --headless

./wrp-arm-linux

Running WRP

Now that we can start up the program, it’s pretty much ready to go. From another computer we can test it out by typing in the host name or IP address of the Pi, specifying port 8080, as indicated by WRP’s output.

In Raspian we can get the host name with the command:

hostname

..and the IP address(es)…

hostname -I

Below is an image of the WRP program up and running via SSH – and then a picture of a modern browser testing it out…

So far so good? At this point – your classic Mac should be able to do the same! For best results, choose a smaller size image that suits your screen and use “PNG” if your browser can support it. For instance, newer Netscape (versions 4+) and iCab and use PNG – whereas Mosaic and MacWeb are stuck with GIF.

So let’s re-cap:

  • Install WRP. On a Pi, we can script it to run automatically.
  • Once WRP is running – navigate your classic browser to HOSTNAME:8080
  • Now, set the size of the image you want, enter the URL in, and click “Go”
  • Clicking on the image will allow you to navigate, or use the ^ V < > buttons to scroll

A few tips:

  • You can set the home page of your classic browser to the address of your WRP server as a shortcut.
  • PNGs are smaller than GIFs, so if you can use the PNG setting – it will be faster overall.
  • For typing and keystrokes, such as logging into web pages, use the K input box and then click “Go”.
  • You can set the height to “0” and it will simply render the entire height of the page.
  • You can pass various flags to WRP to default the size, image type, port, and other settings. If you’re like me and have a few different 68k Macs, you can create launch scripts specific to each machine and resolution.

Happy surfin’

Standard