Earlier this year I posted an article about browsing the modern web with classic Macs using Web Rendering Proxy (WRP) – and this is a great way to see modern web pages in your classic browser. It works by transferring an image of the page down as an image map… but wouldn’t it be cool to just browse natively with a classic browser on your vintage Mac? The short answer is… you can… sort of. Read on.
Classic Mac, meet modern web.
Let’s start off by talking about why the current web doesn’t work on older web browsers. Simply put, modern web pages and security use technologies and standards not supported by browsers from the classic Mac era. PNGs, HTML5, modern JavaScript, CSS… all of these things have left Netscape, MacWeb, Mosaic, IE, and iCab in the past. Worst of all, because of newer SSL (or more specifically newer TLS versions) prevent older browsers from even being able to “speak with” newer websites, never mind attempt to render them.
If you’ve experimented with older Macs on the web, you may have noticed you can render parts of pages like http://www.google.com/ … but not pages like https://www.apple.com/ (And it’s the https, or SSL – that’s causing it to fail.) Most likely, if you have tried surfing the web with an old Mac, you’ve seen an error like the one below:
Enter Proxies
So how do we solve this, without writing a brand new browser for the classic Mac? Well, we can use proxies. What proxies are, essentially, are systems that make the requests to websites on behalf of another system. So, imagine a newer system with a newer browser actually making the request to a website – and returning the results back down to something like a classic Mac. That’s the gist of it. A proxy makes a request on behalf of another.
One method I’ve written about was Web Rendering Proxy (WRP) – which renders the web page as an image for the classic Mac. And again, it’s a good option – but wouldn’t it be cool for the browser to work a little more natively? That’s what LegacyProxy strives to do.
Installing Legacy Proxy
The process in a nut shell will be to have a newer system run Legacy Proxy, and then have the classic Mac specify the IP address of this newer system as a proxy server. The newer system will make requests on behalf of your old Mac and translate the page down to something a little more consumable by the vintage system. Some specific things it can do is work with modern SSL, convert PNG and SVG graphics to older formats, and also intemperate some newer HTML conventions. Overall, it creates a fairly usable web experience – but your mileage may vary.
First, select a system to run the proxy on. I’ve tried it out with a Raspberry Pi and a 2012 Mac mini – both work just fine, although the installation is slightly different. The proxy is built in Ruby and therefore a basic understanding of Ruby is somewhat helpful. The key thing to mention is that Ruby uses packages known as gems. The proxy is dependent on a few gems which need to be installed before the proxy can run.
LegacyProxy can be downloaded here.
Basic instructions to install the proxy are included in it’s readme. The process is fairly similar on Mac and Linux. On your Mac, there are a few prerequsities. First off, it may be helpful to install a package manager known as homebrew. You can get that here. You also need to have the Xcode developer tools installed, you can do that with this command:
sudo xcode-select --install
Either download the zip of Legacy Proxy or clone it if you have git installed. Follow the steps in the read me which have you install Ruby and the gems that are required to run the proxy. For reference, below are the commands used to get the proxy up and running on my Mac mini…
git clone https://github.com/zenwheel/legacyproxy.git
sudo apt-get install ruby2.3 ruby2.3-dev build-essential patch zlib1g-dev liblzma-dev libmagickwand-dev
sudo apt-get install ruby-dev
sudo gem install bundler
brew install imagemagick@6
sudo gem install nokogiri -v '1.10.8' --source 'https://rubygems.org/'
bundle update —bundler
bundle install
If everything is set up properly, you should be able to run the proxy script and see a message that it’s listening on port 8080. Now, off to the classic Mac.
Configure Legacy Proxy On Your Classic Mac
The author of the legacy proxy seems to have designed it around early Netscape versions, but theoretically a similar configuration should work for other old Mac browsers. In my example, I use Netscape 2.02 on a LC III running System 7.1.
Boot up the old Mac, make sure you have a network connection, and fire up Netscape. Under the “Options” menu, select “Network” and hop over to the “Proxies” tab…
Once you are on the window above, click the radio button for “Manual Proxy Configuration” then click “View…”. You will then see this screen:
In the screenshot above, you want to enter the IP address of your system running legacy proxy. For me, that was 192.168.0.200 – which happens to be a static IP for sanity sake. Under port, specify 8080. Once that’s in place, click OK in both windows to return to Netscape.
And now, your old Mac should be configured to send any HTTP requests over to your legacy proxy server. You should be able to enter URLs normally, follow links, view images, download, and browse the web in general. Even sites that use SSL should open, such as apple.com.
Let’s be realistic for a second though. This is neat, but you’re not going to be able to do things like watch YouTube videos, buy things from Amazon, or play modern web-based games. But you can do a surprising amount even still. It’s amazing to think how a computer that’s a fraction as powerful as a modern smart watch can even get this far.
As the author of legacy proxy points out, these old machines were the ones that MADE the web – it’s a shame to leave them behind.
You must be logged in to post a comment.