Web Rendering Proxy

(note this is a guest post from Tenox)

WRP is a HTTP proxy service that renders web pages in to GIF images associated with a clickable imagemap of the original web links. It basically allows to use historical and obsolete web browsers on the modern web.

See a gallery of today’s news sites. All links are clickable!

CNN via Internet Explorer 1.5

CNN via Internet Explorer 1.5


Reuters via IBM Web Explorer

Reuters via IBM Web Explorer


BBC News via Mac Mosaic

BBC News via Mac Mosaic


Reddit via NextStep OmniWeb

Reddit via NextStep OmniWeb



Netscape 3.x visiting DNA Lounge


For more background information and screenshots you can see my previous post on the matter.

There are two versions. Cocoa-webkit for Mac OS X and QT-Webkit for Linux/BSD/etc. The script can be downloaded here.

42 thoughts on “Web Rendering Proxy

        • The controls look like from Windows NT 3.51 – which is still 32bit OS 🙂 Generally I understand what you mean, it’s just that I never really used 16bit Windows. I was on Atari, Mac and Unix at this time. When I started using Windows seriously it was Windows NT 3.51 for me.

          • Yes, 3.51 included many things from windows 95, the help system being another component. 3.51 was the ‘powerpc’ release. Which was delayed (shocker) so they got a lot of bugfixes into 3.51 and it did delay 4.0 having the 95 UI for the end user… remember the ‘shell previews’ for 3.51? And the hurried 4.0 betas?

            The big thing about 4.0 was how much more faster it was with graphics & printing (well GDI) being moved into kernel space. Of course printing 1 point fonts (yay legal team!) could not only crash the PC printing, but the print server… which of course would bluescreen, dump memory, then reboot, and try to print the spooled file over and over…. Good times.

  1. This is awesome, thanks! Finally my ThinkPad Power Series running PowerPC NT 4.0 can browse the web decently! (I’m using the 16-bit Intel (aka Win16/Win3.11) version of IE 5, because it is WAY more usable than the PPC-native IE2 that is the latest PPC Windows browser.

  2. I’ve downloaded the wrp11.py script, and ran it on OS X 10.7.5

    My results are a window that ends in an error:
    “wacbook:downloads cuyahogapc$ python ./wrp11.py
    Exception in thread Thread-1:
    Traceback (most recent call last):
    File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/threading.py”, line 530, in __bootstrap_inner
    File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/threading.py”, line 483, in run
    File “./wrp11.py”, line 200, in run_proxy
    print “Web Rendering Proxy v%s serving at: %s port: %s” % (__version__, socket.gethostbyname(socket.gethostname()), PORT)
    gaierror: [Errno 8] nodename nor servname provided, or not known”

    Unless I’m supposed to see this until a url is requested from the client side? I’m not sure if I did something wrong, or Lion doesn’t work.

  3. On my Power Mac G4 QS, I am running MacOS X 10.3 (Panther) and I can no longer use it to browse the Internet. All I use it for now is to compose music with iPiano.

    I’ve always believed it was possible to still use the computer to browse the internet, because I know it’s still capable, but everyone says it can’t be done. Why?

    Doesn’t the Web Browser contain the entirety of the Web Browsing experience? And, if not, just stop using those aspects that are “locked down” by Apple or supplement them or something. Right?

    This may be the best hope of using my G4 QS once again… but I need to use another computer as a “page server proxy” (or something like that), right? Sad. Having to use a second computer just to browse the web. Ought not be necessary, but I guess it is… 🙁

  4. I am glad to see someone working on this… not for obsolete browsers, but the new ones that web developers don’t bother to check. Like Android chrome and firefox.

    A tablet is bad enough to start with, very little memory, slow processor, one window at a time, but many of the sites I surf to are a disaster in the making. Giant drop overs that are reputed to have an ‘x’ to close, but you can’t find it. Other sites reformat your display for a smartphone, not a tablet, and apparently the ‘request desktop site’ is a request that many can’t be bothered to use.

    Anymore, I assume any ‘improvement’ to HTML is to make their ad pages more obnoxious and intrusive than ever. Automatic streaming videos, with apparently no mute button, the list goes on and on.

    I remember the ‘good old days’ of mosaic for the www and ftp and telnet for everything else. The internet is certainly more accessible now, but it is also a lot more frustrating.

  5. Fantastic stuff! As someone who has a few older systems, modern browsing is a royal pain on them. It would be fantastic to be able to use an old/lightweight browser, receive properly rendered content and have that rendering performed on a modern machine. Only downside for me is the lack of a Mac to run the Webkit proxy on. If it could be ported to work on Windows, that would be superb.

    Thank you for sharing this!

  6. i’m getting this error on mavericks 10.9.2:
    Exception in thread Thread-1:
    Traceback (most recent call last):
    File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/threading.py”, line 808, in __bootstrap_inner
    File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/threading.py”, line 761, in run
    self.__target(*self.__args, **self.__kwargs)
    File “wrp11.py”, line 200, in run_proxy
    print “Web Rendering Proxy v%s serving at: %s port: %s” % (__version__, socket.gethostbyname(socket.gethostname()), PORT)
    gaierror: [Errno 8] nodename nor servname provided, or not known

    how can i fix this?

  7. Oh my god!! this is amazing!!

    Sadly my main PC have Windows XP, but I have a ibook with OS9.2.2 that will be benefit A LOT with this great script, and a 486 with DOS, packet driver and arachne waiting too.. 🙂

    Hope for a windows version

    Thank you very much for the great work

  8. How did you get OmniWeb in NeXTstep to display the image? The only thing I can get to appear is the placeholder text which reads “webrender.” I can see in the page source that it’s all populated. The image just naver displays. Is there something I’m missing?

  9. I know nothing about scripting, programming, or python, but I have a robust collection of vintage (and new) Macs and a NeXT cube. Can anyone recommend where I can go to learn how to even begin to understand how to implement this amazing WRP? I’ve been wishing for something like this for ages… I’m so excited!

    • Well the good part is that you don’t need to implement anything. It’s already done. All you need to do is download the latest version and run it. There are two separate versions, for Mac OS X and Linux. Then in the vintage machine you need to configure HTTP Proxy to point to your machine running the python script.

  10. Hi Tenox !

    Amazing job !
    One question, is possible to log in to oAuth based services like Facebook, Twitter, LinkedIn, etc and navigate on then ?
    I’m very excited about the possibility of using Facebook in my old Amiga 2000.
    Thanks a lot and congrat’s for this cool project !

  11. Hi,
    Thanks for that 🙂
    I get this error message when trying to launch it on a Mac OSX 10.5.8 leopard (dev.tools installed) :
    Traceback (most recent call last):
    File “wrp11-cocoa.py”, line 48, in
    import Foundation

    Do you know the problem ?

  12. For headless linux systems, I got past a “cannot connect to X server” error with the following…

    Xvnc :13 -SecurityTypes=none &
    export DISPLAY=:13
    python ~/bin/wrp11-qt.py

    Superb work, I didn’t mind so much that speed was a bit lacking and I had a lot of errors complaining about “code 501, message Unsupported method (‘POST’)” in the log, I did seem to hit a snag with text boxes though, and it seemed unable to display the QNAP web interface.

    From a security perspective, routing access through a caching proxy like squid, then passing certain sites through this (e.g. uncategorised/untrusted) seems like an excellent plan.

  13. I would like to use it on DOS. Actually I am from DOS at this moment, but this browser (Links 2.14) cannot handle js. Does anyone know anything about this project today?

  14. I love it, crashes every so often, but it’s still pretty darn cool. Are there plans to implement https so more sites would load? Almost everything these days on the web is https, even simple news sites, other than my own sites, or other folks hobby sites, it’s hard to find pages that will load with this anymore.

  15. This could be the nearly PERFECT tool for ensuring IT security in web browsing in a company.
    The user browsing the internet would never have to deal with Active-X, or Javascript or any malicious code which may be a threat for the integrity of the system.
    On the other hand, this could be the perfect tool to run around the limitation of a proxy. I could install this software on a computer at home and opening it by the port 80 to the internet.
    Then, from anywehere, I can direct my browser to my home, and from there I can see everything I want bypassing any limitation the local proxy may have.
    I have to try this!

Leave a Reply