{"id":13583646,"url":"https://github.com/jankammerath/HttpTimeTravelProxy","last_synced_at":"2025-04-06T21:32:37.894Z","repository":{"id":49719512,"uuid":"263625449","full_name":"jankammerath/HttpTimeTravelProxy","owner":"jankammerath","description":"Http Time Travel Proxy is an HTTP proxy server written in Go to allow browsing back in time using archive.org's WaybackMachine. You can configure your Internet Explorer or Netscape Navigator on any system to use this proxy to travel back in time and browse the world wide web of yesteryear.","archived":false,"fork":false,"pushed_at":"2025-03-22T16:18:46.000Z","size":628,"stargazers_count":23,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-22T17:25:20.359Z","etag":null,"topics":["browser","go","golang","golang-application","http","http-proxy","linux","proxy","proxy-server","retrocomputing","server","time-travel","vintage-computers","wayback-machine","world-wide-web","www"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jankammerath.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-05-13T12:37:11.000Z","updated_at":"2025-03-22T16:19:38.000Z","dependencies_parsed_at":"2022-09-08T06:50:18.127Z","dependency_job_id":null,"html_url":"https://github.com/jankammerath/HttpTimeTravelProxy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jankammerath%2FHttpTimeTravelProxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jankammerath%2FHttpTimeTravelProxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jankammerath%2FHttpTimeTravelProxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jankammerath%2FHttpTimeTravelProxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jankammerath","download_url":"https://codeload.github.com/jankammerath/HttpTimeTravelProxy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247556080,"owners_count":20957899,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["browser","go","golang","golang-application","http","http-proxy","linux","proxy","proxy-server","retrocomputing","server","time-travel","vintage-computers","wayback-machine","world-wide-web","www"],"created_at":"2024-08-01T15:03:40.443Z","updated_at":"2025-04-06T21:32:37.888Z","avatar_url":"https://github.com/jankammerath.png","language":"Go","readme":"# Http Time Travel Proxy\n\nThis proxy server allows you to travel back in time. It is an HTTP proxy implementation using archive.org's Wayback Machine. The application is written in Go and can be compiled for various operating systems. The proxy queries the plain archive material through the Wayback Machine without any amendments of the archived material by archive.org (e.g. no Wayback Machine banner) which gives you the total immersion into the world-wide-web of yesteryear.\n\n## How to configure and use\n\nYou need the compiled binary for your operating system. You can find pre-built binaries in the [bin](/bin) directory after building the project. Alternatively, you can build the project yourself using the provided `build.sh` script.\n\nTo run the proxy server, execute the binary:\n\n```\n./httptimetravelproxy\n```\n\nThe server can be configured via the constants in the code before compiling. You can configure the desired time to travel to, the port the server listens on, and the server identifier.\n\n```JavaScript\nconst (\n\tTimeTravelDateTime = \"19990412\"\n\tProxyServerPort    = 8099\n\tProxyServerName    = \"HttpTimeTravelProxy/0.1\"\n\tWaybackURL         = \"https://web.archive.org/web/\"\n)\n```\n\n### Running the proxy as a daemon on Linux\n\nYou can find the service file for the application in [httptimetravelproxy.service](/httptimetravelproxy.service) which allows you to operate the proxy as a daemon with systemd. In order to install the Http Time Travel Proxy as a daemon on your Linux-system (tested with Ubuntu Server 20.04), you need to do the following.\n\n1. Copy `./bin/httptimetravelproxy` to `/opt/httptimetravelproxy`\n2. Copy [httptimetravelproxy.service](/httptimetravelproxy.service) to */etc/systemd/system/httptimetravelproxy.service*\n3. Run **sudo systemctl daemon-reload** to have systemd reload the service files\n4. Start the service with **sudo service httptimetravelproxy start**\n5. Check the status with **sudo service httptimetravelproxy status**\n\nNow you have a running time machine daemon on your Linux server and whatever device from your network is connecting to that proxy can travel back in time. If you change the time period in the `main.go` file, remember that you also need recompile, copy the binary and restart the daemon with **sudo service httptimetravelproxy restart** in order for the changes to take effect.\n\n## Client support and configuration\n\nYou can use any HTTP-browser with the proxy. However the proxy currently only supports the HTTP GET method. POST, PUT, DELETE etc. are not supported as also archive.org's WaybackMachine has no support for these methods and obviously did not archive any dynamic content. The proxy was tested with Internet Explorer 5 and Netscape Navigation 4.8 on both MacOS 9.2.2 as well as Windows 98. It was also tested with the latest Firefox on the latest OSX.\n\n![Proxy configuration in Internet Explorer 5 on MacOS 9.2.2](/screenshot/macos9-ie5-proxy-settings.png)\n\nThe proxy server only supports standard HTTP proxy where the client request the URI with the GET-method. Tunnelling through the HTTP CONNECT-method or Socks is not supported. The basic HTTP proxy configuration for any browser should work. All connections from the browser to the proxy server are in plain HTTP with no encryption. The connection from the proxy to archive.org however uses HTTPS/ HTTP with SSL.\n\n![1999's Altavista on MacOS 9.2.2 with Netscape Navigator 4.8](/screenshot/altavista-1999.png)\n\n![1999's Google on MacOS 9.2.2 with Netscape Navigator 4.8](/screenshot/google-1999.png)\n\n![1999's Amazon on MacOS 9.2.2 with Netscape Navigator 4.8](/screenshot/amazon-1999.png)\n\n![1999's Netscape.com on Windows 98 with Netscape Navigator 4.7](/screenshot/windows98-netscape-1999.png)\n\n![1999's Yahoo on MacOS 9.2.2 with Netscape Navigator 4.8](/screenshot/yahoo-1999.png)\n\n![1999's eBay on Windows 98 with Internet Explorer 5](/screenshot/windows98-ie5-ebay-1999.png)\n\n![1999's Microsoft.com on MacOS 9.2.2 with Internet Explorer 5 for Mac](/screenshot/windows98-ie5-ebay-1999.png)\n\n![1999's Apple-branded Excite.com on MacOS 9.2.2 with Netscape Navigator 4.8](/screenshot/cobranded-apple-excite-page-1999.png)","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjankammerath%2FHttpTimeTravelProxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjankammerath%2FHttpTimeTravelProxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjankammerath%2FHttpTimeTravelProxy/lists"}