OldWeb.Today (OWT) ist ein System, das emulierte Webbrowser mit Webarchiven verbindet, mit denen Benutzer heute so wie es war!

(Screenshot von: https://oldweb.today/?browser=ns3-mac#19960101/http://geocities.com/)
Mit OldWeb.Today können Benutzer im Internet mit einem von mehreren emulierten Browsern sowie einem Flash -Emulator durchsuchen, die alle vollständig im Browser ausgeführt werden!
Geben Sie eine URL ein, wählen Sie ein Archivdatum und wählen Sie einen Browser aus, um zu beginnen!
Benutzer können entweder das Live -Web, die aktuellen Websites durchsuchen oder eine Verbindung zu Webarchiven / Wayback -Maschinen herstellen und Inhalte direkt aus den Archiven laden.
Die neueste Liste der Browser finden Sie im OldWeb.Today. Ziel ist es, gemeinsam (Netscape, dh usw.) sowie andere weniger bekannte, aber bemerkenswerte Browser in der Geschichte des Webs zu unterstützen.
Wenn Sie sehen möchten, dass ein Browser unterstützt wird oder einen Browser beitragen, öffnen Sie bitte ein Problem!
Die meisten Versionen von Netscape und IE in OldWeb.Today sind frühe Versionen von Java installiert.
Java 1.0 sollte in Netscape 3 arbeiten, und Java 1.1 sollte in Netscape 4 (Windows) und dh 5 und dh 6 arbeiten.
Netscape und IE sollten auch die neueste unterstützte Version von Flash installiert haben. Für Mac -Browser bedeutet dies normalerweise Schockwelle 4.
Der IE 6 Browser hat Flash 9, die neueste Version von Flash, die auf Win98 installiert wird.
OldWeb.Today unterstützt auch den Rüschenblitzemulator mit Ihrem nativen Browser direkt.
In diesem Modus können Sie jede Live- oder Archived -Website durchsuchen, wobei der Rüschenemulator aktiviert ist.
Diese aktuelle Version wird ausschließlich in JavaScript ausgeführt und verwenden Emulatoren zum Ausführen von Windows, MacOS und einem vollständigen Netzwerkstapel. Alles läuft in Ihrem Browser, und Oldweb.Today kann als statische Seite gehostet werden. Ein Remote -CORS -Proxy wird aufgrund von CORS -Beschränkungen für den Zugriff auf externe Archive verwendet.
Die Version von OldWeb.Today arbeitet, indem sie eine Reihe großartiger Tools aufbauen und kombiniert, die von anderen erstellt wurden, darunter:
Jeder dieser Emulatoren wurde (hier und hier) modifiziert, um einen benutzerdefinierten JavaScript -Netzwerkstapel mit PicotCP zu unterstützen, das von Emulation als Dienstentwickler Rafael Gieshke und Klaus Realt erstellt wurde:
Dieses System wurde weiter modifiziert und in OldWeb.Today integriert, um HTTP -Verbindungen von emulierten Browsern zu beenden und mit HTTP -Daten von einer regulären fetch() -Anforderung entweder an Live -Web oder an eine Archivquelle zu reagieren. Derzeit werden nur GET-Anfragen unterstützt und nur Standard-Header vom Typ Inhalts- und Inhaltstyp werden zurückgefertigt.
Jeder Browser ist so konfiguriert, dass sie über einen HTTP -Proxy mit dem speziellen IP http://10.0.2.2/ herstellen, den der JS HTTP -Server auf die tatsächliche Startseite leitet. Auf diese Weise verfügt das Emulatorbild über eine feste Startseite, die sich auf die tatsächliche Seite auflöst. Ähnlich wird der auf der Seite festgelegte Zeitstempel vom JS -Proxy -Server verwendet, um das angegebene Datum aus dem Archiv zu laden.
Auf diese Weise können Sie die URL der DateTime und die Homepage -URL ändern, ohne den Emulator neu zu starten, indem Sie einfach die Startseite im emulierten Browser neu laden.
Der Netzwerkstapel (mit WASM zusammengestellt) wird in einem separaten Webarbeiter ausgeführt. Der Basilisk -Emulator wird mit EMSCIPTEN zusammengestellt und läuft auch in einem separaten Arbeiter. Ein SharedArrayBuffer ist erforderlich, um zwischen ihnen zu kommunizieren. Der V86 -Emulator läuft im Haupt -Thread und kommuniziert über den Netzwerkarbeiter über BroadcastChannel Messaging.
Für den nativen Modus- / Rüschenemulator wird kein emuliertes Browser verwendet, aber der Rüschenemulator wird in geladene Seiten injiziert, um das Aufnehmen eines Blitzes zu übernehmen, der auf der Seite möglicherweise vorhanden ist.
OldWeb.Today benötigt einen Knoten und einen Paketmanager NPM/Garn zum Erstellen und Ändern.
Um lokal auszuführen, installieren Sie zunächst mit yarn install
Die empfohlene Bereitstellungsoption für die Entwicklung besteht darin, einen Dev -Server mit einem lokalen CORS -Proxy auszuführen. Dies kann einfach durchgeführt werden, indem der Rollup Dev Server mit:
yarn run start-dev Dies startet einen lokalen Webserver (über Rollup) und Sie sollten in der Lage sein, über http://localhost:10001/ zugreifen können. Der lokale Proxy wird unter http://localhost:10001/proxy/ ausgeführt
Für die Produktion wird die empfohlene Bereitstellung mit Cloudflare -Mitarbeitern ausgeführt, die den Live -Web -Proxy übernimmt. Der kostenlose Service sollte für die meisten Anwendungsfälle ausreichen.
Um diese Option zu verwenden:
worker-site , Copy wrangler.toml.sample an wrangler.toml .account_id und name gemäß den Anweisungen zur Konfiguration fest.yarn run publish , um in Ihrem CloudFlare Worker -Endpunkt zu veröffentlichen. OldWeb.Today ist eine noch einfachere Bereitstellung und kann als statische Site vollständig bereitgestellt werden, indem der Inhalt im ./site über einen HTTP -Server serviert wird.
Diese Option enthält jedoch keinen CORS -Proxy, der für das Laden aus Live -Web oder Remote -Archiv erforderlich ist.
Eine Möglichkeit besteht darin, mit dem öffentlich verfügbaren CORS Anywhere -Proxy für die Verbindung zu Live -Web- und Remote -Archiven auszuführen.
Da dieser Proxy beschränkt ist, wird diese Option für die Produktionsbereitstellung nicht empfohlen.
Diese Bereitstellung ist sinnvoll, wenn auch ein lokales Webarchiv auf demselben Host ausgeführt wird (und dass Live -Webzugriff nicht benötigt wird), und die Notwendigkeit eines CORS -Proxy entfernen.
Um diese Methode zu verwenden:
rollup.config.js das CORS_PREFIX und/oder das ARCHIVE_PREFIX , um beispielsweise auf ein lokales Archiv zu verweisen (Weitere Informationen finden Sie weiter unten): const CORS_PREFIX = "" ;
const ARCHIVE_PREFIX = "/wayback/" ; Run yarn run build
OldWeb.Today kann jetzt von ./site/ von jedem statischen HTTP -Server ausgestellt werden.
Beachten Sie, dass beim Ausführen von CloudFlare die statischen Vermögenswerte in site/assets und erstellten Skripts site/dist von einem separaten CDN (über Digitalocean) serviert werden.
Dieser Weg kann durch Wiederaufbau nach dem Umbau CDN_PREFIX in rollup.config.js geändert werden
Die Vermögenswerte und Skripte können in jedem statischen Webspeicher gehostet werden.
Die unten stehenden Ladepfade können geändert werden, indem die Einstellungen in rollup.config.js und dem Wiederaufbau yarn run build geändert werden.
Derzeit unterstützt OldWeb.today das Laden von der Wayback -Maschine von Internet Archive und direkt vom Live -Web. Die Unterstützung für zusätzliche / mehrere Archive ist geplant!
Die Archivquelle kann jedes Webarchiv sein, das den Wayback -Maschinenstil Unwrewritten URLs unterstützt: <prefix>/<timestamp>id_/<url> . Das Archiv muss unterstützen, dass nicht modifizierte Inhalte zurückgegeben werden, damit es funktioniert.
Um mit einem anderen Webarchiv zu laufen, ändern Sie einfach den ARCHIVE_PREFIX -Pfad, um auf die Wayback -Maschine -Instanz zu verweisen, die Sie verwenden möchten.
Wenn das Laden eines Wayback -Geräts auf derselben Domäne geladen wird, ist der CORS -Proxy möglicherweise nicht erforderlich.
Wenn Sie beispielsweise OldWeb.today auf Host mywebarchive.example.com ausführen und ein Wayback -Computer unter https://mywebarchive.example.com/wayback/ ausgeführt werden, können Sie festlegen
CORS_PREFIX = ""
ARCHIVE_PREFIX = "/wayback/"Wenn OldWeb.Today auf einer anderen Site heiß ist, sollte die Konfiguration sein:
CORS_PREFIX = "/proxy/"
ARCHIVE_PREFIX = "https://mywebarchive.example.com/wayback/"Alle Emulatorbilder werden aus einem statischen Blockspeicher -Bucket (derzeit auf Digitalocean) gehostet. Wenn Sie mit einem lokalen/unterschiedlichen Bildersatz ausführen möchten, können Sie festlegen:
IMAGE_PREFIX = "https://mybucket.example.com/images` Um die assets und dist -Pfade zu ändern (für die CloudFlare -Bereitstellung), können Sie festlegen:
CDN_PREFIX = "https://mybucket.example.com/site` Die verfügbaren Browser sind in src/config.json konfiguriert, das den Browsernamen, den Emulatortyp, die Bilder, den gespeicherten Status (für V86) und andere Optionen oder jeden Browser enthält. Die config.json wird mit dem IMAGE_PREFIX interpoliert und aus site/assets/config.json bedient.
Um einen lokalen Emulator zu testen, erstellen Sie einen Eintrag mit dem IMAGE_PREFIX mit einem Eintrag. Weitere Informationen finden Sie config.json .
Die "klassische" Version von OldWeb.today, bei dem Docker Container und Emulatoren verwendet, die auf dem Server ausgeführt werden, finden Sie hier: klassisch.oldweb.today Source: https://github.com/oldweb-today/netcapsule
OldWeb.Today ist unter der AGPL -Lizenz erhältlich. Andere Komponenten (oben aufgeführt) können unter verschiedenen Lizenzen verfügbar sein.
Weitere Informationen finden Sie unter Hinweis.md.
Beiträge sind definitiv willkommen, aber bitte eröffnen Sie ein Problem, bevor Sie zusätzliche Browser oder Emulatoren beibehalten.