🕸 A frontend for the Wayback Machine which works on old browsers
Go to file
Jessica Stokes 7ed1ea0683 Fix links to be protocol-relative 2024-02-29 13:21:46 +11:00
.github/workflows Wrap rake in `bundle exec` 2021-07-14 10:27:03 -07:00
bin Print some helpful info in the dev server 2021-08-08 19:41:03 -07:00
cgi-bin Expand error handling framework to quash expected errors 2023-01-02 11:27:45 -08:00
images Apply pixelated image-rendering, and improve contrast with background 2021-08-01 11:46:31 -07:00
scripts Add a script to add HTML5 features where available 2021-08-01 18:23:21 -07:00
styles Collapse the table further into three columns 2021-08-01 17:31:53 -07:00
templates Fix links to be protocol-relative 2024-02-29 13:21:46 +11:00
tests Update dependencies for Ruby 3 compatibility 2024-02-29 12:37:48 +11:00
README.md Update Readme 2021-07-14 10:33:51 -07:00
index.html Fix links to be protocol-relative 2024-02-29 13:21:46 +11:00
robots.txt Just in case, block crawlers from all the dynamic content 2021-05-23 22:34:59 -07:00
search-help.html Fix links to be protocol-relative 2024-02-29 13:21:46 +11:00


Wayback Classic

Ruby Deploy

A simple, CGI-based frontend for the Wayback Machine which works on old browsers without modern JavaScript or CSS support

The main instance of Wayback Classic is available at wayback-classic.net. It supports both HTTP and HTTPS.


The Wayback Machine contains a lot of websites from the turn of the century which are perfect for browsing on older machines, but the interface the Wayback Machine itself presents is completely incompatible with many such systems, making it very difficult to navigate.

Wayback Classic attempts to provide a fully-functional frontend for the Wayback Machine, providing these systems with access without the extra technological requirements.


This is built on both the CDX API (for retrieving lists of page snapshots), as well as the undocumented __wb/search API used by the Wayback Machine's own frontend to handle site search and determine if a site exists in the archive. More info about the site search can be found in this blog post.


A basic, WEBrick-based development server script is included at bin/dev-server. It defaults to localhost:8000, but the port can be overridden by setting a PORT environment variable.


While the root directory of this repository is intended to map directly to the root htdocs directory of a server, with no dependencies other than the Ruby standard library, a Gemfile is provided under the tests directory which contains dependencies for testing.

For testing purposes, the CGI scripts are loaded as Ruby modules instead of normal scripts, and their lifecycle is exercised by a minimal Rack application to facilitate the use of Capybara.

To run the test suite, open a terminal within the tests directory, and run bundle && bundle exec rake.