HTTP proxy for tunneling requests through the Internet Archive Wayback Machine
HTTP proxy for tunneling requests through the Internet Archive Wayback Machine
WaybackProxy is a retro-friendly HTTP proxy which retrieves pages from the Internet Archive Wayback Machine or OoCities and delivers them in their original form, without toolbars, scripts and other extraneous content that may confuse retro browsers.
Python 3.5 or newer is required.
config.json to your liking (make sure to set QUICK_IMAGES to false for non-Internet-connected systems)whitelist.txt (without http://, wildcards supported)pip install --user -r requirements.txtwaybackproxy.pyhttp://ip:port/proxy.pac where ip is the IP of the system running WaybackProxy and port is the proxy's port (8888 by default).dnsmasq -A "/#/ip" where ip is the IP of the system running WaybackProxy - to redirect all requests to the proxy, and point client machines at that DNS server.config.json by browsing to http://web.archive.org while on the proxy, although you must edit config.json to make them permanent.A Dockerfile is included that allows you to run WaybackProxy from a Docker container.
When deploying via Docker, the config.json can be customized by specifying environment variables when creating the docker container. The environment variables match the example config.json in this repository. Below is a complete list:
| Parameter | Default | Description |
|---|---|---|
HOST |
(blank) | Host address to bind to for the HTTP proxy (leave blank to bind on all interfaces). Only useful when running the container with host networking. |
LISTEN_PORT |
8888 |
Listen port for the HTTP proxy. Only useful when running the container with host networking. |
DATE |
20011025 |
Date to get pages from Wayback. YYYYMMDD, YYYYMM and YYYY formats are accepted, the more specific the better. |
DATE_TOLERANCE |
365 |
Allow the client to load pages and assets up to X days after DATE. Set to null to disable this restriction. |
GEOCITIES_FIX |
true |
Send Geocities requests to oocities.org if set to true. |
QUICK_IMAGES |
true |
Use the original Wayback Machine URL as a shortcut when loading images. The browser must have an Internet connection that can reach the Wayback Machine for this to work. |
WAYBACK_API |
true |
Use the Wayback Machine Availability API to find the closest available snapshot to the desired date, instead of directly requesting that date. |
CONTENT_TYPE_ENCODING |
true |
Allow the Content-Type header to contain an encoding. |
SILENT |
true |
Disables logging to STDOUT if set to true. |
SETTINGS_PAGE |
true |
Enables the settings page on http://web.archive.org if set to true. |
To pull:
docker pull richardg867/waybackproxy:latestTo run:
docker run -d -e DATE=20011025 -p 8888:8888 richardg867/waybackproxyTo build:
docker build --no-cache -f Dockerfile -t waybackproxy .To run:
docker run -d -e DATE=20011025 -p 8888:8888 waybackproxyQUICK_IMAGES is used alongside the PAC file, as that bypasses WaybackProxy and connects to the Wayback Machine directly;http://example.com/redirect?to=http://...) which are not archived by the Wayback Machine, but the destination URLs are sometimes not archived either.No open issues yet, or sync has not completed.