|
Bringing vintage computers online is a popular project for retro-tech enthusiasts. However, plugging a Windows 98 or Mac OS 9 machine into an Ethernet network today reveals a harsh reality: they cannot load almost anything. Modern websites rely on TLS 1.3 encryption, SNI, HTML5, and heavy JavaScript-all of which break older browsers like Netscape Navigator, Internet Explorer 5, and Classilla.
To fix this, we need a “translator” between the modern web and our vintage machines. Enter WebOne, a highly capable HTTP proxy designed specifically for retro browsers.
1. How WebOne Works
WebOne sits on a modern server (like a Proxmox container or a Raspberry Pi) on your local network.
- Your vintage browser is configured to use WebOne as its HTTP/HTTPS proxy.
- When the old browser asks for
https://wikipedia.org, WebOne intercepts the request.
- WebOne goes out to the modern internet, negotiates the complex TLS 1.3 handshake, and downloads the modern HTML/CSS/images.
- WebOne then strips the HTTPS, down-converts the HTML to an older standard (if configured), converts modern images (like WebP or transparent PNGs) into basic JPEGs or GIFs, and serves it to your vintage browser over plain, unencrypted HTTP.
2. Deploying WebOne via Docker (Recommended)
The cleanest and most reliable way to run WebOne is via Docker. This prevents mono-framework dependency issues on your host machine.
Docker Compose Example
Create a directory for WebOne and create a docker-compose.yml file:
version: '3.8'
services:
webone:
image: weboneteam/webone:latest
container_name: webone_proxy
restart: unless-stopped
ports:
- "8080:8080" # The port your vintage clients will connect to
volumes:
- ./webone.conf:/opt/webone/webone.conf:ro
- ./log:/var/log/webone
The Configuration File (webone.conf)
Before starting the container, you need a configuration file. WebOne’s defaults are good, but tuning is required for older machines. Create webone.conf in the same directory:
[Server]
Port=8080
# Restrict access to your local LAN for security
AllowIP=192.168.1.0/24, 10.0.0.0/8
[Processing]
# Convert modern images (WebP, PNG) to JPEG/GIF so Netscape can read them
ConvertImages=yes
# Strip heavy JavaScript to prevent old browsers from freezing
RemoveJS=yes
# Force all HTTPS requests to be handled as HTTP to the client
ForceHTTP=yes
[Security]
# Ignore SSL certificate errors from poorly configured modern sites
IgnoreSSL=yes
Start the service using: docker compose up -d
3. Configuring the Vintage Client
Once the proxy is running (e.g., at 10.0.0.50:8080), configure your vintage machine.
- Windows 95/98 (Internet Explorer): Go to Control Panel -> Internet Options -> Connections -> LAN Settings. Check “Use a proxy server” and enter your WebOne IP and port
8080.
- Mac OS 8/9: Go to the Apple Menu -> Control Panels -> Internet. Under the Advanced or Proxy tab, enter the WebOne IP for both Web Proxy (HTTP) and Secure Proxy (HTTPS).
- Netscape Navigator: Edit -> Preferences -> Advanced -> Proxies. Select “Manual proxy configuration” and enter the IP and port.
4. Common Problems, Errors, and Fixes
Error: 403 Forbidden when browsing
- The Problem: You restricted the IPs in
webone.conf, but your client is outside that subnet, or the Docker container isn’t passing the true client IP correctly.
- The Fix: Check the
AllowIP setting in your webone.conf. If running in Docker, ensure your network bridge is passing local IPs. For testing, you can comment out AllowIP (allowing all IPs), but never expose port 8080 to the public internet without IP restrictions, or your server will be used as an open proxy.
Problem: Websites load, but there are no images, just broken icons.
- The Problem: ImageMagick (the engine WebOne uses to transcode images) is crashing, missing, or misconfigured. Or, the vintage browser doesn’t support the color depth.
- The Fix: Ensure
ConvertImages=yes is set. In some Docker builds, you may need to specify the exact path to ImageMagick binaries in the webone.conf if it complains in the logs. Also, ensure your vintage PC’s color depth is set to at least 256 colors (preferably 16-bit/High Color).
Problem: The WebOne server CPU spikes to 100% and crashes.
- The Problem: Modern websites are massive. Transcoding a modern 5MB WebP background image into a GIF on-the-fly takes serious CPU power. If your WebOne server is a low-power Raspberry Pi, it might choke on media-heavy sites.
- The Fix:
- Increase CPU cores allocated to the VM/Container running WebOne.
- In
webone.conf, you can tweak image conversion quality down to reduce CPU load: ImageQuality=50.
- Turn on ad-blocking in WebOne or point WebOne’s own DNS to a Pi-hole to prevent it from wasting CPU cycles downloading and transcoding video ads.
Error: Browser says “Cannot find server” for HTTPS sites, but HTTP sites work.
- The Problem: The vintage browser is trying to initiate its own SSL/TLS handshake rather than asking the proxy to do it, and the vintage browser doesn’t support TLS 1.2+.
- The Fix: Ensure that in your browser’s proxy settings, you have the WebOne IP entered for both the HTTP and the HTTPS/Secure proxy fields. Some older browsers require a proxy auto-config (PAC) file to correctly route HTTPS traffic through a plain HTTP proxy port.
|