OldWeb.today(OWT)是一個將模擬的Web瀏覽器連接到Web檔案的系統,允許用戶如今瀏覽舊的Web!

(屏幕截圖:https://oldweb.today/?browser=ns3-mac#19960101/http:/http://geocities.com/)
OldWeb.today允許用戶使用幾個模擬瀏覽器之一以及Flash Emulator瀏覽Web,所有這些都可以在瀏覽器中完全運行!
輸入URL,選擇檔案日期,然後選擇瀏覽器啟動!
用戶可以瀏覽實時網站,當前網站,或連接到Web檔案 / Wayback機器,並直接從檔案中加載內容。
有關瀏覽器的最新列表,請參見OldWeb.today。目的是支持Common(Netscape,IE等)以及其他鮮為人知但著名的瀏覽器在網絡歷史上。
如果您想看到受支持的瀏覽器,或者想貢獻瀏覽器,請打開問題!
Netscape和IE的大多數版本都在OldWeb.today中提供了早期版本的Java。
Java 1.0應該在Netscape 3中工作,Java 1.1應在Netscape 4(Windows)和IE 5和IE 6中工作。
Netscape和IE還應安裝最新的Flash版本。對於MAC瀏覽器,這通常意味著衝擊波4。
IE 6瀏覽器具有Flash 9,這是安裝Win98上運行的最新版本的Flash。
Oldweb.today還使用本機瀏覽器直接支持荷葉邊閃光燈模擬器。
在此模式下,您可以啟用荷葉邊的模擬器瀏覽任何實時或存檔的網站。
該當前版本完全在JavaScript中運行,使用模擬器運行Windows,MacOS和完整的網絡堆棧。一切都在您的瀏覽器中運行,而Oldweb.today可以作為靜態站點託管。由於訪問外部檔案的CORS限制,使用了遠程CORS代理。
OldWeb.today的版本是通過建立和結合其他人創建的許多出色工具的作用,包括:
這些模擬器中的每一個都經過修改(此處和此處),以使用由模仿創建的PICOTCP作為服務開發人員Rafael Gieshke和Klaus Rechert來支持自定義的JavaScript網絡堆棧:
該系統進行了進一步修改並集成到OldWeb.today中,以連接到模擬瀏覽器終止HTTP連接,並從常規fetch()請求(實時Web或存檔源)中使用HTTP數據響應HTTP數據。當前,僅支持獲取請求,並且僅將標準的內容長度和內容類型的標題返回。
每個瀏覽器都配置為通過HTTP代理連接到特殊IP http://10.0.2.2/ JS HTTP服務器將其重定向到實際主頁。通過這種方式,模擬器圖像具有固定的主頁,可以解決到實際頁面。類似地,JS代理服務器使用頁面上的時間戳設置來加載檔案中指定的日期。
這允許更改日期時間和主頁URL,而無需重新啟動模擬器,只需重新加載模擬瀏覽器中的主頁即可。
網絡堆棧(彙編為WASM)正在單獨的Web工作人員中運行。 Basilisk Emulator與Emscripten一起編譯,並在一個單獨的工人中運行。需要共享arraybuffer來之間交流。 V86模擬器在主線程中運行,並通過網絡工作者通過廣播渠道消息進行通信。
對於本機模式 /荷葉邊仿真器,不使用模擬瀏覽器,但是將荷葉邊仿真器注入加載頁面,以接管頁面上可能存在的任何閃光燈。
oldweb.today需要節點和軟件包管理器NPM/YARN才能構建和修改。
要在本地運行,請首先安裝yarn install
推薦的開發部署選項是運行具有本地CORS代理的開發服務器。這可以通過使用以下方式運行匯總Dev服務器來完成:
yarn run start-dev這將啟動本地Web服務器(通過匯總),您應該能夠通過http://localhost:10001/訪問oldweb.today。本地代理將在http://localhost:10001/proxy/
對於生產而言,建議的部署是使用CloudFlare工人運行,該工人處理實時Web代理。對於大多數用例,免費服務應足夠。
使用此選項:
worker-site ,將wrangler.toml.sample複製到wrangler.toml 。account_id和name 。yarn run publish以發佈到您的Cloudflare Worker端點。通過在HTTP服務器上使用./site sote目錄中的內容,可以將更簡單的部署OldWeb.Today作為靜態站點完全部署。
但是,此選項將不包括CORS代理,這是從實時Web或遠程存檔中加載所需的。
一種選擇是在代理的任何地方都可以使用可公開可用的CORS連接到實時網絡和遠程檔案。
由於此代理受到限制,因此不建議將此選項用於生產部署。
如果還在同一主機上運行本地Web存檔(不需要實時Web訪問),則該部署是有道理的,從而消除了對CORS代理的需求。
使用此方法:
rollup.config.js中,修改CORS_PREFIX和/或ARCHIVE_PREFIX指向本地存檔(例如,請參見下文): const CORS_PREFIX = "" ;
const ARCHIVE_PREFIX = "/wayback/" ;運行yarn run build
現在,可以從任何靜態HTTP服務器提供./site/ 。
請注意,在CloudFlare上運行時, site/assets和構建腳本site/dist中的靜態資產將從單獨的CDN(通過Digitalocean)提供。
在rollup.config.js中更改CDN_PREFIX之後,可以通過重建來更改此路徑
資產和腳本可以託管在任何靜態網絡存儲中。
可以通過更改rollup.config.js和重新yarn run build中的設置來更改下面的加載路徑。
當前,OldWeb.today支持從Internet Archive的Wayback Machine以及直接從實時網絡上加載。計劃支持其他 /多個檔案!
存檔源可以是任何支持Wayback機器樣式未劃過的URL的Web存檔,例如: <prefix>/<timestamp>id_/<url> 。該檔案必須支持返回未修改的內容以使其工作。
要使用不同的Web存檔運行,只需更改ARCHIVE_PREFIX路徑,以指向您要使用的Wayback Machine實例。
如果從託管在同一域上的Wayback機器上加載,則可能不需要CORS代理。
例如,如果在主機mywebarchive.example.com上運行oldweb.today,並且在https://mywebarchive.example.com/wayback/上運行Wayback機器,那麼您可以設置
CORS_PREFIX = ""
ARCHIVE_PREFIX = "/wayback/"如果oldweb.today在其他站點上被熱塗,則配置應為:
CORS_PREFIX = "/proxy/"
ARCHIVE_PREFIX = "https://mywebarchive.example.com/wayback/"所有模擬器圖像均從靜態塊儲物桶(目前在Digitalocean上)託管。如果您想使用本地/不同的圖像集運行,則可以設置:
IMAGE_PREFIX = "https://mybucket.example.com/images`要更改assets和dist路徑(對於CloudFlare部署),您可以設置:
CDN_PREFIX = "https://mybucket.example.com/site`可用瀏覽器是在src/config.json中配置的,其中包含瀏覽器名稱,模擬器類型,圖像,保存狀態(用於V86)和其他選項或每個瀏覽器。 config.json與IMAGE_PREFIX插值,並從site/assets/config.json提供。
要測試本地模擬器,請使用IMAGE_PREFIX創建帶有帶有的條目。有關更多詳細信息,請參見config.json 。
可以在此處找到docker容器和仿真器的“經典”版本的oldweb.today。
OldWeb.today可根據AGPL許可獲得。其他組件(上面列出)可以根據不同的許可獲得。
有關更多詳細信息,請參見通知。
絕對歡迎貢獻,但請在貢獻其他瀏覽器或模擬器之前打開一個問題。