OldWeb.Today (OWT) es un sistema que conecta los navegadores web emulados con los archivos web, lo que permite a los usuarios navegar por la antigua web, ¡hoy, tal como estaba!

(Captura de pantalla de: https://oldweb.today/?browser=ns3-mac#19960101/http://geocities.com/)
OldWeb.today permite a los usuarios navegar por la web utilizando uno de varios navegadores emulados, así como un emulador flash, ¡todo se ejecuta completamente en el navegador!
Ingrese una URL, elija una fecha de archivo y seleccione un navegador para comenzar.
Los usuarios pueden explorar la web en vivo, los sitios web actuales o conectarse a los archivos web / máquinas Wayback y cargar contenido directamente desde los archivos.
Vea el OldWeb.Today para obtener la última lista de navegadores. El objetivo es admitir comunes (Netscape, es decir, etc.), así como otros navegadores menos conocidos, pero notables en la historia de la Web.
Si desea ver un navegador compatible o desea contribuir con un navegador, ¡abra un problema!
La mayoría de las versiones de Netscape y IE disponibles en OldWeb.Today tienen versiones tempranas de Java instaladas.
Java 1.0 debería funcionar en Netscape 3, y Java 1.1 debería funcionar en Netscape 4 (Windows) e IE 5 e IE 6.
Netscape e IE también deberían tener la última versión compatible de Flash instalada. Para los navegadores MAC, esto generalmente significa Shockwave 4.
El navegador IE 6 tiene Flash 9, la última versión de Flash que se ejecuta en Win98 instalada.
OldWeb.Today también admite el emulador de flash de volantes directamente, utilizando su navegador nativo.
En este modo, puede explorar cualquier sitio web en vivo o archivado, con el emulador de volantes habilitado.
Esta versión actual se ejecuta completamente en JavaScript, utilizando emuladores para ejecutar Windows, macOS y una pila de red completa. Todo se ejecuta en su navegador, y OldWeb.today se puede alojar como un sitio estático. Se utiliza un proxy CORS remoto debido a las restricciones CORS para acceder a archivos externos.
La versión de OldWeb.Today trabaja construyendo y combinando una serie de excelentes herramientas creadas por otros, que incluyen:
Cada uno de estos emuladores fue modificado (aquí y aquí) para admitir una pila de red JavaScript personalizada utilizando Picotcp creado por la emulación como desarrolladores de servicios Rafael Gieshke y Klaus Rechert:
Este sistema se modificó e integró aún más en OldWeb.Today para conectarse para terminar las conexiones HTTP de los navegadores emulados y responder con datos HTTP de una solicitud fetch() regular, ya sea para vivir o una fuente de archivo. Actualmente, solo las solicitudes GET son compatibles y solo los encabezados estándar de contenido y tipo de contenido están representados.
Cada navegador está configurado para conectarse a través de un proxy HTTP al IP especial http://10.0.2.2/ que el servidor JS HTTP redirige a la página de inicio real. De esta manera, la imagen del emulador tiene una página de inicio fija que se resuelve en la página real. De manera similar, el servidor JS proxy utiliza la marca de tiempo establecida en la página para cargar la fecha especificada desde el archivo.
Esto permite cambiar el tiempo de detención y la URL de la página de inicio sin reiniciar el emulador, simplemente volviendo a cargar la página de inicio en el navegador emulado.
La pila de red (compilada a WASM) se está ejecutando en un trabajador web separado. El emulador de basilisco se compila con Emscripten y también se ejecuta en un trabajador separado. Se necesita un SharedArrayBuffer para comunicarse entre ellos. El emulador V86 se ejecuta en el hilo principal y se comunica a través del trabajador de la red a través de la mensajería BroadcastChannel.
Para el emulador de modo nativo / volante, no se usa un navegador emulado, pero el emulador de volantes se inyecta en páginas cargadas para hacerse cargo de la representación de cualquier flash que pueda estar presente en la página.
OldWeb.today requiere Node y un Administrador de paquetes NPM/HILARN para construir y modificar.
Para ejecutar localmente, la primera instalación con yarn install
La opción de implementación recomendada para el desarrollo es ejecutar un servidor de desarrollo con un proxy CORS local. Esto se puede hacer simplemente ejecutando el servidor de desarrollo rollup con:
yarn run start-dev Esto iniciará un servidor web local (a través del rollo) y debería poder acceder a OldWeb.today a través de http://localhost:10001/ . El proxy local se ejecutará en http://localhost:10001/proxy/
Para la producción, la implementación recomendada es ejecutarse con los trabajadores de CloudFlare, que maneja el proxy web en vivo. El servicio gratuito debe ser suficiente para la mayoría de los casos de uso.
Para usar esta opción:
worker-site , copie wrangler.toml.sample a wrangler.toml .account_id y name según las instrucciones de configuración.yarn run publish para publicar en su punto final de trabajadores de nubeflare. Una implementación aún más simple, OldWeb.Today se puede implementar completamente como un sitio estático, al servir el contenido en el directorio ./site a través de un servidor HTTP.
Sin embargo, esta opción no incluirá un proxy Cors, que se necesita para cargar desde la web en vivo o un archivo remoto.
Una opción es ejecutarse con el proxy Cors Anywhere disponible para conectarse a los archivos web y remotos en vivo.
Como este proxy es limitado, esta opción no se recomienda para la implementación de producción.
Esta implementación tiene sentido si también ejecuta un archivo web local en el mismo host (y no se necesita acceso web en vivo), eliminando la necesidad de un proxy CORS.
Para usar este método:
rollup.config.js , modifique el CORS_PREFIX y/o el ARCHIVE_PREFIX para señalar un archivo local, por ejemplo (ver más abajo para obtener más detalles): const CORS_PREFIX = "" ;
const ARCHIVE_PREFIX = "/wayback/" ; Ejecución yarn run build
OldWeb.today ahora se puede servir ./site/ desde cualquier servidor HTTP estático.
Tenga en cuenta que cuando se ejecuta en CloudFlare, los activos estáticos en site/assets y los scripts construidos site/dist se sirven desde un CDN separado (a través de DigitalOcean).
Esta ruta se puede cambiar reconstruyendo después de cambiar CDN_PREFIX en rollup.config.js
Los activos y scripts se pueden alojar en cualquier almacenamiento web estático.
Las rutas de carga a continuación se pueden cambiar cambiando la configuración en rollup.config.js y Rerunning yarn run build .
Actualmente, OldWeb.Today admite la carga de la máquina Wayback de Internet Archive y directamente desde la web en vivo. ¡Se planifica el soporte para archivos adicionales / múltiples!
La fuente del archivo puede ser cualquier archivo web que admita las URL no reescritas de estilo de máquina Wayback, por ejemplo, <prefix>/<timestamp>id_/<url> . El archivo debe admitir que el contenido no modificado para que funcione funcione.
Para ejecutar con un archivo web diferente, simplemente cambie la ruta ARCHIVE_PREFIX para señalar la instancia de la máquina Wayback que desea usar.
Si se carga desde una máquina Wayback alojada en el mismo dominio, es posible que el proxy CORS no sea necesario.
Por ejemplo, si se ejecuta OldWeb.today en el host mywebarchive.example.com y hay una máquina Wayback que se ejecuta en https://mywebarchive.example.com/wayback/ , entonces puede configurar
CORS_PREFIX = ""
ARCHIVE_PREFIX = "/wayback/"Si OldWeb.Today está caliente en un sitio diferente, entonces la configuración debe ser:
CORS_PREFIX = "/proxy/"
ARCHIVE_PREFIX = "https://mywebarchive.example.com/wayback/"Todas las imágenes del emulador están alojadas desde un cubo de almacenamiento de bloques estáticos (actualmente en Digitalocean). Si desea ejecutar con un conjunto local/diferente de imágenes, puede configurar:
IMAGE_PREFIX = "https://mybucket.example.com/images` Para cambiar las rutas assets y dist (para la implementación de CloudFlare), puede establecer:
CDN_PREFIX = "https://mybucket.example.com/site` Los navegadores disponibles están configurados en src/config.json , que contiene el nombre del navegador, el tipo de emulador, las imágenes, el estado guardado (para V86) y otras opciones o cada navegador. El config.json se interpola con el IMAGE_PREFIX y se sirve desde site/assets/config.json .
Para probar un emulador local, cree una entrada sin usar el IMAGE_PREFIX . Consulte config.json para más detalles.
La versión "clásica" de OldWeb.today, que utiliza contenedores y emuladores de Docker que se ejecuta en el servidor, se puede encontrar aquí: Classic.oldweb.today Fuente: https://github.com/oldweb-today/netcapsule
OldWeb.Today está disponible bajo la licencia AGPL. Otros componentes (enumerados anteriormente) pueden estar disponibles bajo diferentes licencias.
Consulte AVISE.MD para más detalles.
Las contribuciones son definitivamente bienvenidas, pero abra un problema antes de contribuir con navegadores o emuladores adicionales.