OldWeb.Today (OWT) - это система, которая подключает эмулированные веб -браузеры с веб -архивами, позволяя пользователям просматривать старую сеть, сегодня, как и было!

(Скриншот: https://oldweb.today/?browser=ns3-mac#19960101/http://geocities.com/)
OldWeb.Today позволяет пользователям просматривать Интернет, используя один из нескольких эмулированных браузеров, а также эмулятор Flash, все они полностью работают в браузере!
Введите URL, выберите архивную дату и выберите браузер, чтобы начать!
Пользователи могут либо просматривать живую веб -сайт, текущие веб -сайты, либо подключаться к веб -архивам / машинах Wayback и загружать контент непосредственно из архивов.
Смотрите OldWeb.today для последнего списка браузеров. Цель состоит в том, чтобы поддержать общие (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 это обычно означает Shockwave 4.
В браузере IE 6 есть Flash 9, последняя версия Flash, которая работает на Win98.
OldWeb.Today также поддерживает эмулятор Flash Ruffle напрямую, используя ваш родной браузер.
В этом режиме вы можете просмотреть любой живой или архивный веб -сайт, а эмулятор Ruffle включен.
Эта текущая версия работает полностью в JavaScript, используя эмуляторы для запуска Windows, MacOS и полного сетевого стека. Все работает в вашем браузере, и OldWeb.Today может быть размещен в качестве статического сайта. Удаленный прокси CORS используется из -за ограничений CORS для доступа к внешним архивам.
Версия OldWeb.Today работает, наращивая и объединяя ряд замечательных инструментов, созданных другими, в том числе:
Каждый из этих эмуляторов был изменен (здесь и здесь) для поддержки пользовательского стека сети JavaScript с использованием PICOTCP, созданного эмуляцией в качестве разработчиков услуг Рафаэль Гишке и Клаус Rechert:
Эта система была дополнительно модифицирована и интегрирована в OldWeb.Today для подключения к завершению HTTP -соединений из эмулированных браузеров и ответа с помощью HTTP -данных из обычного запроса fetch() , либо для живой веб -сайта, либо источника архива. В настоящее время поддерживаются только запросы GET, и только стандартные заголовки типа контента и контент прокси-обратно.
Каждый браузер настроен на подключение через HTTP -прокси к специальному IP http://10.0.2.2/ , который перенаправляет сервер JS HTTP на фактическую домашнюю страницу. Таким образом, изображение эмулятора имеет фиксированную домашнюю страницу, которая решается на реальную страницу. Схоже, установленная метка времени на странице используется прокси -сервером JS для загрузки указанной даты из архива.
Это позволяет изменять URL -адрес домашней страницы без перезапуска эмулятора, просто перезагружая домашнюю страницу в эмулированном браузере.
Сетевой стек (скомпилированный в WASM) работает в отдельном веб -работнике. Эмулятор Basilisk составлен с Emscripten, а также работает в отдельном работнике. Для общения между ними необходим Sharedarraybuffer. Эмулятор V86 работает в основном потоке и общается через сетевого работника через обмен сообщениями BroadcastChannel.
Для нативного режима / оборного эмулятора не используется эмулированный браузер, но эмулятор Ruffle вводится в загруженные страницы, чтобы воспринимать любую вспышку, которая может присутствовать на странице.
OldWeb.Today требует узла и диспетчера пакетов NPM/пряжи для построения и изменения.
Чтобы работать локально, сначала установите с yarn install
Рекомендованная опция развертывания для разработки - запустить Dev Server с локальным прокси CORS. Это можно сделать, просто запустив сервер Rollup Dev с:
yarn run start-dev Это запустит локальный веб -сервер (через ROLLUP), и вы сможете получить доступ к OldWeb.today через http://localhost:10001/ . Локальный прокси будет работать по адресу http://localhost:10001/proxy/
Для производства рекомендуемое развертывание заключается в запуске с использованием работников CloudFlare, которые обрабатывают живой веб -прокси. Бесплатного обслуживания должно быть достаточно для большинства вариантов использования.
Чтобы использовать эту опцию:
worker-site , копируйте wrangler.toml.sample to wrangler.toml .account_id и name в соответствии с инструкциями по конфигурации.yarn run publish , чтобы опубликовать в своей конечной точке CloudFlare. Еще более простое развертывание, OldWeb.Today может быть полностью развернут в качестве статического сайта, обслуживая контент в каталоге ./site через HTTP -сервер.
Тем не менее, этот вариант не будет включать прокси CORS, который необходим для загрузки из живой веб -сайта или удаленного архива.
Одним из вариантов является запуск с общедоступным прокси -сервером COR в любом месте для подключения к живой сети и удаленным архивам.
Поскольку этот прокси ограничен, этот вариант не рекомендуется для развертывания производства.
Это развертывание имеет смысл, если также запустить локальный веб -архив на том же хосте (и живой доступ к веб -сайту не требуется), что устраняет необходимость в прокси CORS.
Чтобы использовать этот метод:
rollup.config.js измените CORS_PREFIX и/или ARCHIVE_PREFIX , чтобы указывать на локальный архив, например (см. Ниже подробнее см. Ниже): const CORS_PREFIX = "" ;
const ARCHIVE_PREFIX = "/wayback/" ; yarn run build
OldWeb.Today теперь может быть подан с ./site/ с любого статического HTTP -сервера.
Обратите внимание, что при запуске на Cloudflare статические активы в site/assets и созданные сценарии site/dist обслуживаются из отдельного CDN (через DigitaloCean).
Этот путь может быть изменен путем восстановления после изменения CDN_PREFIX в rollup.config.js
Активы и сценарии могут быть размещены на любом статическом веб -хранилище.
Приведенные ниже пути загрузки могут быть изменены, изменив настройки в rollup.config.js и Reerunning yarn run build .
В настоящее время OldWeb.today поддерживает загрузку с машины Wayback в Интернете и непосредственно из живой сети. Поддержка дополнительных / нескольких архивов запланирована!
Архивным источником может быть любой веб -архив, который поддерживает стиль Wayback Machine невыкачественные URL, например: <prefix>/<timestamp>id_/<url> . Архив должен поддерживать возвращение немодифицированного контента для его работы.
Чтобы запустить с другим веб -архивом, просто измените путь ARCHIVE_PREFIX , чтобы указать на экземпляр машины Wayback, который вы хотите использовать.
Если загрузка с машины Wayback, размещенной в том же домене, прокси CORS может не понадобиться.
Например, если запустить OldWeb.today на хосте mywebarchive.example.com и есть машина Wayback, работающая по адресу https://mywebarchive.example.com/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 для получения более подробной информации.
«Классическая» версия OldWeb.today, которая использует контейнеры Docker и эмуляторы, работающие на сервере, можно найти здесь: classic.oldweb.today Источник: https://github.com/oldweb-today/netcapsule
OldWeb.Today доступен по лицензии AGPL. Другие компоненты (перечисленные выше) могут быть доступны по разным лицензиям.
См. Уведомление.md для более подробной информации.
Взносы определенно приветствуются, но, пожалуйста, откройте проблему, прежде чем внести дополнительные браузеры или эмуляторы.