Запись архива

Firefox скомпилирован в WebAssembly и работает внутри другого браузера

Разработчики смогли запустить полный браузер Firefox внутри WebAssembly, который, в свою очередь, выполняется в другом браузере, например, Chrome. Проект продемонстрировал возможности компиляции сложных приложений для веб-стандартов.

Экран браузера, показывающий, как Firefox работает внутри WebAssembly, который запущен в Google Chrome.
Экран браузера, показывающий, как Firefox работает внутри WebAssembly, который запущен в Google Chrome.
Imagen destacada del articulo fuente

Проект Puter достиг значительного технического прорыва, успешно скомпилировав полный браузер Firefox в WebAssembly (WASM). Это позволяет запускать браузер Firefox внутри другого браузера, например, Chrome, что открывает новые перспективы для веб-технологий и выполнения сложных приложений в браузерной среде.

Техническая демонстрация, описанная Саймоном Уиллисоном, показывает, как веб-сайт блога работает в Firefox, который, в свою очередь, запущен как WebAssembly-приложение внутри Chrome. Такой подход стал возможен благодаря выбору Firefox/Gecko, который обладает сильной поддержкой однопроцессной архитектуры, упрощающей компиляцию.

Разработка проекта была выполнена с использованием больших языковых моделей. По оценкам, на проект было потрачено около 25 000 долларов США, включая токены Claude Opus и Fable, а также подписку на Claude Max. Это подчеркивает растущую роль ИИ в сложных задачах программирования и разработки.

Архитектура решения

Для обеспечения работы Firefox в WebAssembly команде пришлось реализовать специализированный механизм маршрутизации трафика. Весь трафик перенаправляется через протокол WebSocket с использованием протокола Wisp через сервер Puter. Это является необходимым условием, поскольку код, выполняющийся в браузере, не имеет возможности устанавливать произвольные сетевые соединения.

Команда отмечает, что такое проксирование потребовало масштабирования серверов для обработки возросшей нагрузки, особенно во время обсуждения проекта на Hacker News.

Безопасность и шифрование

Puter заявляет о поддержке сквозного шифрования в своем решении. Согласно проведенным инспекциям, трафик к HTTPS-сайтам действительно шифровался при передаче через WebSocket. Однако запросы и ответы к сайтам, использующим HTTP, передавались в открытом виде.

Сравнение с другими проектами

Существуют и другие инициативы, направленные на компиляцию браузеров в WebAssembly. Например, проект theogbob/WebkitWasm занимается компиляцией WebKit в WASM, но на данный момент не имеет доступной онлайн-демонстрации. Проект Firefox в WebAssembly от Puter выделяется наличием рабочей версии, которую можно протестировать.

Ключевые факты

Аспект Детали
Проект Firefox в WebAssembly (firefox-wasm)
Разработчик Puter
Используемые технологии WebAssembly, Firefox/Gecko, WebSocket, Wisp, Claude Opus, Fable
Примерная стоимость $25,000 (токены LLM, подписки)
Основная особенность Запуск целого браузера внутри другого через WASM

Значение для разработчиков и исследователей

Этот проект демонстрирует, как WebAssembly может использоваться для выполнения чрезвычайно сложных приложений, таких как полноценные браузеры, в изолированной и стандартизированной веб-среде. Возможность запускать браузер внутри браузера открывает потенциальные сценарии для тестирования, разработки, образовательных целей и даже для создания более безопасных и изолированных сред для работы с веб-контентом. Использование ИИ-моделей для таких амбициозных задач намекает на будущее, где LLM будут играть еще более значительную роль в создании сложных программных продуктов.

Источник: Simon Willison – Firefox in WebAssembly (https://simonwillison.net/2026/Jul/16/firefox-in-webassembly/#atom-everything)