Oldweb.today (OWT) é um sistema que conecta os navegadores da Web emulados aos arquivos da Web, permitindo que os usuários naveguem na web antiga hoje, como era!

(Captura de tela de: https://oldweb.today/?browsher=ns3-mac#19960101/http://geocities.com/)
Oldweb.today permite que os usuários naveguem na web usando um dos vários navegadores emulados, bem como um emulador de flash, tudo funcionando totalmente no navegador!
Digite um URL, escolha uma data de arquivo e selecione um navegador para iniciar!
Os usuários podem navegar na Web ao vivo, sites atuais ou conectar -se às máquinas Web Archives / Wayback e carregar conteúdo diretamente dos arquivos.
Consulte o Oldweb.today para obter a última lista de navegadores. O objetivo é apoiar o Common (Netscape, ou seja, etc.), bem como outros navegadores menos conhecidos, mas notáveis na história da Web.
Se você gostaria de ver um navegador suportado ou quiser contribuir com um navegador, abra um problema!
A maioria das versões do Netscape e do IE estão disponíveis no Oldweb.today tem versões iniciais do Java instaladas.
O Java 1.0 deve funcionar no Netscape 3, e o Java 1.1 deve funcionar no Netscape 4 (Windows) e IE 5 e IE 6.
Netscape e IE também devem ter a versão mais recente do Flash instalada. Para navegadores MAC, isso geralmente significa ondas de choque 4.
O navegador do IE 6 tem Flash 9, a versão mais recente do Flash que é executada no Win98 instalada.
Oldweb.today também suporta diretamente o emulador de flash do Ruffle, usando seu navegador nativo.
Nesse modo, você pode navegar em qualquer site ao vivo ou arquivado, com o emulador de babados ativado.
Esta versão atual é executada inteiramente no JavaScript, usando emuladores para executar o Windows, MacOS e uma pilha de rede completa. Tudo corre no seu navegador e Oldweb.today pode ser hospedado como um site estático. Um proxy do CORS remoto é usado devido a restrições de CORS para acessar arquivos externos.
A versão do Oldweb.today funciona construindo e combinando várias ótimas ferramentas criadas por outras pessoas, incluindo:
Cada um desses emuladores foi modificado (aqui e aqui) para suportar uma pilha de rede JavaScript personalizada usando o picotcp criado pela emulação como desenvolvedores de serviços Rafael Gieshke e Klaus Rechert:
Este sistema foi ainda modificado e integrado ao Oldweb.today para se conectar para encerrar as conexões HTTP de navegadores emulados e responder com dados HTTP de uma solicitação fetch() regular, para a Web ao vivo ou uma fonte de arquivo. Atualmente, apenas as solicitações GET são suportadas e apenas os cabeçalhos padrão de comprimento de conteúdo e do tipo conteúdo são proxiados de volta.
Cada navegador está configurado para conectar -se por meio de um proxy HTTP ao IP especial http://10.0.2.2/ que o servidor JS HTTP redireciona para a página inicial real. Dessa forma, a imagem do emulador possui uma página inicial fixa que resolve a página real. Da mesma forma, o registro de data e hora definido na página é usado pelo servidor proxy JS para carregar a data especificada do arquivo.
Isso permite alterar o URL do DateTime e a página inicial sem reiniciar o emulador, simplesmente recarregando a página inicial no navegador emulado.
A pilha de rede (compilada ao WASM) está em execução em um trabalhador da web separado. O emulador de Basilisco é compilado com EMSCRIPTEN e também é executado em um trabalhador separado. É necessário um SharedArrayBuffer para se comunicar entre eles. O emulador V86 é executado no encadeamento principal e se comunica através do trabalhador da rede via BroadcastChannel Messaging.
Para o emulador de modo nativo / babado, nenhum navegador emulado é usado, mas o emulador de babados é injetado em páginas carregadas para assumir o renderização de qualquer flash que possa estar presente na página.
Oldweb.today requer o nó e um gerenciador de pacotes NPM/YARN para criar e modificar.
Para executar localmente, primeiro instale com yarn install
A opção de implantação recomendada para desenvolvimento é executar um servidor de desenvolvimento com um proxy do CORS local. Isso pode ser feito simplesmente executando o servidor Rollup Dev com:
yarn run start-dev Isso iniciará um servidor da web local (via Rollup) e você poderá acessar o Oldweb.today via http://localhost:10001/ . O procurador local será executado em http://localhost:10001/proxy/
Para produção, a implantação recomendada deve ser executada usando os trabalhadores do CloudFlare, que lida com o proxy da Web ao vivo. O serviço gratuito deve ser suficiente para a maioria dos casos de uso.
Para usar esta opção:
worker-site , copy wrangler.toml.sample to wrangler.toml .account_id e name conforme as instruções de configuração.yarn run publish para publicar no seu ponto de extremidade do CloudFlare Worker. Uma implantação ainda mais simples, Oldweb.today pode ser implantada totalmente como um site estático, servindo o conteúdo no diretório ./site em um servidor HTTP.
No entanto, essa opção não incluirá um proxy CORS, necessário para o carregamento da Web ao vivo ou um arquivo remoto.
Uma opção é executar com os CORs disponíveis em qualquer lugar disponível para conectar -se à Web ao vivo e aos arquivos remotos.
Como esse proxy é limitado, esta opção não é recomendada para implantação de produção.
Essa implantação faz sentido se também executar um arquivo da Web local no mesmo host (e o acesso ao vivo na web não é necessário), removendo a necessidade de um proxy do CORS.
Para usar este método:
rollup.config.js , modifique o CORS_PREFIX e/ou o ARCHIVE_PREFIX para apontar para um arquivo local, por exemplo (veja abaixo para obter mais detalhes): const CORS_PREFIX = "" ;
const ARCHIVE_PREFIX = "/wayback/" ; Run yarn run build
Agora o Oldweb.today pode ser servido em ./site/ em qualquer servidor HTTP estático.
Observe que, ao ser executado no Cloudflare, os ativos estáticos no site/assets e scripts construídos site/dist são servidos a partir de uma CDN separada (via Digitalocean).
Este caminho pode ser alterado pela reconstrução após alterar CDN_PREFIX em rollup.config.js
Os ativos e scripts podem ser hospedados em qualquer armazenamento estático da Web.
Os caminhos de carregamento abaixo podem ser alterados alterando as configurações no rollup.config.js e reencaminhando yarn run build .
Atualmente, o Oldweb.today suporta o carregamento da máquina Wayback da Internet Archive e diretamente da Web ao vivo. O suporte para arquivos adicionais / múltiplos está planejado!
A fonte do arquivo pode ser qualquer arquivo da web que suporta URLs de estilo Wayback Machine não -gravados, por exemplo: <prefix>/<timestamp>id_/<url> . O arquivo deve apoiar o retorno de conteúdo não modificado para que ele funcione.
Para executar com um arquivo da web diferente, basta alterar o caminho ARCHIVE_PREFIX para apontar para a instância da máquina Wayback que você deseja usar.
Se o carregamento de uma máquina Wayback hospedada no mesmo domínio, o proxy do CORS pode não ser necessário.
Por exemplo, se executando Oldweb.today no host mywebarchive.example.com e há uma máquina de wayback em https://mywebarchive.example.com/wayback/ , então você pode definir
CORS_PREFIX = ""
ARCHIVE_PREFIX = "/wayback/"Se Oldweb.today estiver quente em um site diferente, a configuração deve ser:
CORS_PREFIX = "/proxy/"
ARCHIVE_PREFIX = "https://mywebarchive.example.com/wayback/"Todas as imagens do emulador são hospedadas em um balde de armazenamento de bloco estático (atualmente no Digitalocean). Se você deseja executar com um conjunto local/diferente de imagens, pode definir:
IMAGE_PREFIX = "https://mybucket.example.com/images` Para alterar os assets e os caminhos dist (para a implantação do Cloudflare), você pode definir:
CDN_PREFIX = "https://mybucket.example.com/site` Os navegadores disponíveis são configurados em src/config.json , que contém o nome do navegador, o tipo de emulador, imagens, estado salvo (para V86) e outras opções ou cada navegador. O config.json é interpolado com o IMAGE_PREFIX e servido no site/assets/config.json .
Para testar um emulador local, crie uma entrada sem usar o IMAGE_PREFIX . Consulte config.json para obter mais detalhes.
A versão "clássica" do Oldweb.today, que usa contêineres e emuladores do Docker em execução no servidor, pode ser encontrado aqui: Classic.oldweb.today Fonte: https://github.com/oldweb-today/netcapsule
Oldweb.today está disponível sob a licença AGPL. Outros componentes (listados acima) podem estar disponíveis sob diferentes licenças.
Consulte o aviso.md para mais detalhes.
Definitivamente, as contribuições são bem -vindas, mas abra um problema antes de contribuir com navegadores ou emuladores adicionais.