WebOne: даём жизнь старым браузерам

в 16:27, , рубрики: web 2.0, браузеры, веб-сайт, История ИТ, облачные сервисы, сервисы

Приветствуем любителей ретротехники! Уверены, что каждый из вас сталкивался с разочарованием, пытаясь зайти на современные веб-сайты эпохи Web 2.0 при помощи старых браузеров из операционных систем прошлого века. Современные сайты в большинстве своём уже не используют незашифрованные HTTP-соединения. Установить же шифрованное TLS-соединение древние браузеры не могут.

Казалось бы, стоит оставить эту затею, но всё же есть способ увидеть современные сайты в каком-нибудь Netscape Navigator. Для этого был создан прокси-сервер WebOne, который действует по принципу Man-in-the-Middle (MITM). Он берёт на себя роль посредника, устанавливающего TLS-соединение, оптимизирует полученный код под старые браузеры и отдаёт его уже по незащищённому HTTP. Под катом рассказываем, как установить эту хитрую штуку и настроить старые браузеры для её использования.

WebOne: даём жизнь старым браузерам - 1

Немного истории

Прежде чем мы приступим к установке, предлагаем вспомнить, с чего начиналась эпоха Web 1.0, и посмотреть, какие браузеры были доступны пользователю в то время. Представьте, что на дворе 1990 год. Через 3 года будет опубликована самая ранняя версия протокола HTTP/0.9. Но при этом её автор, сэр Тимоти Джон Бернерс-Ли, в то время работавший в CERN, уже создаёт и сам протокол, и первый графический веб-браузер. Он получил название WorldWideWeb. Да, %USERNAME%, именно поэтому аббревиатура WWW стала символом зарождающегося интернета.

Впоследствии был проведён ребрендинг, и WorldWideWeb получил новое имя — Nexus. Что, впрочем, не сделало его популярнее. На сцену в то время вышел браузер NСSA Mosaic, поддерживающий HTTP и другие протоколы, такие как FTP, NNTP и Gopher. Аббревиатура NСSA расшифровывается как National Center for Supercomputing Application. Это была организация, профинансированная правительством США, созданная с целью ликвидации «суперкомпьютерного голода». В то время некоторым учёным из Штатов даже приходилось ездить в Европу, чтобы проводить вычисления на суперкомпьютерах. Так что обзавестись собственными суперкомпьютерными центрами было важной задачей.

Судьба Mosaic была увлекательной. Лицензия на этот браузер была передана Spyglass, Inc. Те, в свою очередь, заключили соглашение с Microsoft, и Mosaic лёг в основу знаменитого Internet Explorer. Ну а авторы Mosaic, Marc Lowell Andreessen и Eric J. Bina, увидев потенциал развития всемирной паутины, решили создать собственный браузер с покером и куртизанками. Так на свет появился знаменитый Netscape Navigator. Имена обоих разработчиков спустя 16 лет оказались в The World-Wide Web Hall of Fame.

Видя происходящее, ребята из IBM попытались не остаться в стороне. Увы, их браузер WebExplorer, разработанный для OS/2 в 1995 году, прожил короткую жизнь и ушёл в небытие уже спустя год. А через 10 лет была полностью остановлена и работа над полуосью. Тем не менее, если вы захотите самостоятельно «потыкать в него палочкой», достаточно развернуть виртуальную машину с OS/2.

Любопытный факт про нейминг: Netscape Communications Corporation хотели показать своё превосходство над основным конкурентом — Mosaic. Так родилось выражение Mosaic killer. Поскольку в качестве маскота была годзиллоподобная ящерица, то выражение приобрело вид Mosaic Godzilla, сокращённо Mozilla.

В том же 1995 году разработчики из норвежской Opera Software представили собственную разработку — браузер Opera. Он тоже должен был стать «убийцей» NСSA Mosaic. Упор делался на том, что Mosaic был не слишком адаптирован к веб-стандартам и обладал достаточно примитивной структурой. Opera должна была стать лучше и универсальнее. Этот браузер впоследствии был портирован на множество операционных систем и дожил до сегодняшних дней.

Вероятно, множество читателей вспомнят ещё кучу деталей из истории развития веб-браузеров, но в рамках этой статьи мы бы хотели дать лишь небольшую историческую справку. Так что переходим к основной теме — WebOne.

Установка WebOne

Мы решили попробовать развернуть WebOne в отдельной виртуальной машине под управлением Ubuntu 22.04. В целом путь установки выглядит стандартно. Для начала обновляем кэш пакетов:

$ sudo apt update

Скачиваем DEB-пакет актуальной на момент написания этой статьи версии v0.15.3:

$ wget https://github.com/atauenis/webone/releases/download/v0.15.3/webone.0.15.3.linux-amd64.deb

Устанавливаем через apt:

$ sudo apt install ./webone.0.15.3.linux-amd64.deb

В процессе установки подтянется ещё приличное количество пакетов, в том числе ffmpeg и youtube-dl. Если вам они не нужны, то можете пропустить с помощью --no-install-recommends, но в этом случае опция транскодирования YouTube для передачи потока в старые устройства работать не будет.

Проверяем, что наш прокси-сервер запустился и готов принимать подключения:

$ sudo systemctl status webone
webone.service - WebOne HTTP Proxy Server
     Loaded: loaded (/etc/systemd/system/webone.service; enabled; vendor preset>
     Active: active (running) since Sun 2023-08-27 16:23:23 EEST; 6min ago
       Docs: https://github.com/atauenis/webone/wiki/
   Main PID: 24731 (webone)
      Tasks: 9 (limit: 779)
        CPU: 1.175s
     CGroup: /system.slice/webone.service
             └─24731 /usr/local/bin/webone --daemon

Теперь можно взять старую добрую OS/2, открыть WebExplorer и убедиться, что всё работает. По умолчанию используется порт 8080, там же расположена стартовая страница, содержащая полезную информацию:

WebOne: даём жизнь старым браузерам - 2

WebOne также можно поставить на одноплатники. Но поддерживаются модели лишь с архитектурой ARMv7 и ARM64. Так что на крошечном Raspberry Pi Zero или пожилом Raspberry Pi 1 про WebOne можно забыть. Ну или попробовать самостоятельно собрать из исходников, правда, без каких-либо гарантий, что заведётся. Полагаем, что у авторов есть вполне конкретная причина, по которой их софт не работает на ARMv6.

Настройка браузеров

Переходим к самому интересному. WebOne можно использовать в двух режимах. Первый годится, если у приложения есть опция «Указать прокси-сервер». В том же WebExplorer такая опция есть в меню Configure > Configure Servers:

WebOne: даём жизнь старым браузерам - 3

Если браузер поддерживает автоматическое определение параметров прокси-сервера, то можно воспользоваться соответствующим PAC-файлом. Внутри у таких файлов лежит JS-функция, говорящая, какую именно спецификацию доступа использовать при подключении к прокси-серверу. Сама же фишка автоматической конфигурации прокси была создана для Netscape Navigator версии 2. Это потом взяли на вооружение все остальные:

WebOne: даём жизнь старым браузерам - 4

Второй способ доступа предназначен для браузеров, которые не поддерживают задание прокси-сервера. Увы, но автору этой статьи подобные браузеры неизвестны (если кто знает, напишите в комментариях). Так что покажем его работу на примере IE. Суть в том, чтобы передать URL прокси-серверу прямо через адресную строку:

http://<IP-адрес прокси-сервера>:<порт>/<URL>

WebOne: даём жизнь старым браузерам - 5

Да, конечно, просмотр современных сайтов в старом «ослике» выглядит специфично. Но даже в этом есть какое-то своё очарование. Или возьмём, к примеру, старую версию Mozilla Firefox. Если попытаться напрямую зайти из неё на Хабр, то увидим вот такую печальную картинку:

WebOne: даём жизнь старым браузерам - 6

Включаем прокси — и вуаля! Почитать Хабр точно хватит:

WebOne: даём жизнь старым браузерам - 7

Ещё одна интересная фишка WebOne позволяет раскрутить «маховик времени» и заглянуть на сайты, которые давным-давно пропали из сети. Вот так, например, WebOne реагирует на ввод давно несуществующего сайта Netscape Yellow Pages:

WebOne: даём жизнь старым браузерам - 8

На такие запросы WebOne не станет плеваться в пользователя ошибкой, а сходит в Internet Archive и постарается доставить раритетную страницу пользователю. Это отличный способ для всех, кто занимается программной археологией, взглянуть на мир глазами пользователей того времени.

Особая фича WebOne — адаптация работы популярного пакета для скачивания видео со стриминговых сервисов youtube-dl. Совместив его с набором библиотек ffmpeg, автор сделал возможным просмотр YouTube на ретроустройствах. Соответствующий веб-интерфейс расположен по адресу:

http://<IP-адрес прокси-сервера>:<порт>/!player/

WebOne: даём жизнь старым браузерам - 9

Увы, но это единственное, что на данный момент нам «завести» не удалось. Вероятно, причина в том, что YouTube прилагает все усилия, чтобы не позволять так просто скачивать видео анонимным пользователям, да ещё и без Premium-аккаунта. По идее youtube-dl должен поддерживать ещё множество видеохостингов, но спустя час бесплодных попыток стало ясно, что эта функция пока далека от совершенства. Возможно, у вас получится. Просим тогда поделиться своим опытом.

Вместо заключения

WebOne — пример того, как актуальные технологии способны вдохнуть жизнь в старые устройства. Понятное дело, что в 2023 году уже невозможно жить с компьютером на Windows 98. Но всё же хрупкий мостик между винтажными устройствами и современным интернетом проложен. А уж как его использовать, решать вам.

Напишите нам в комментариях о том, какой у вас любимый браузер и какие сайты вы любили посещать в начале миллениума.

Автор:
BiktorSergeev

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js