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 likingwhitelist.txt
pip install --user -r requirements.txt
waybackproxy.py
http://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 |
---|---|---|
LISTEN_PORT |
8888 | Listen port for the HTTP proxy |
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 None 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. |
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 cttynul/waybackproxy:latest
To run:
docker run -d -e DATE=20011025 -p 8888:8888 cttynul/waybackproxy
To build:
docker build --no-cache -f Dockerfile -t waybackproxy .
To run:
docker run -d -e DATE=20011025 -p 8888:8888 waybackproxy
http://example.com/redirect?to=http://...
) which are not archived by the Wayback Machine, but the destination URLs are sometimes not archived either.