
macsurf v2.3
Современный веб-браузер для Classic Mac OS 9 PowerPC. Настоящий CSS3, ES5 JavaScript, нативный HTTPS. Создан с помощью CodeWarrior на Carbon API.
Современный веб — на 25-летнем Mac.
Нативный браузер для эпохи Carbon, от Mac OS 8.6 до Mac OS X 10.6: настоящий CSS, современный JavaScript и HTTPS прямо на Mac. Без прокси, без второй машины.
MacSurf 2.0.5 на Power Mac G3 iMac отображает hackaday.com на полную ширину рабочего стола через нативный HTTPS.
🆓 Бесплатный ежемесячный стабильный выпускПротестированная сборка на macsurf.org, бесплатная для всех, за ней стоит тестирование на реальном железе. Последний стабильный выпуск: MacSurf 2.3 "OPEN TABS" |
⭐ Еженедельно, для сторонниковНезавершённые сборки попадают в Beta-Box каждую неделю, раньше любого стабильного релиза, вместе с заметками разработчика. |
Каждый проект остаётся свободным как исходный код. Соберите его сами, и Beta-Box вам никогда не понадобится. Вы платите за сборку и регулярность, а не за доступ.
Поддержать разработку
Следите за обновлениями
Спасибо нашим сторонникам:
Ko-Fi: Chris Marks, Rogue, Turuun, kilgeist
Patreon: Mack Chamberlain, Lucas, Joseph Mulvaney, Shlooom
[!NOTE] 2.3 "OPEN TABS" — самый крупный выпуск MacSurf со времён 2.0. Вкладки наконец включены, с независимым состоянием страницы, прокрутки, истории, отрисовки и JavaScript в одном нативном окне Mac. Под этим лежит крупная переработка динамических страниц и жизненного цикла, значительно расширенная поверхность браузерного API, больше поддержки CSS и изображений/SVG, перестроенные нативные менеджеры, усиленные сеть и безопасность, а также длительная кампания по стабильности, движимая тестированием на железе. MacSurf остаётся честным, незавершённым программным обеспечением; некоторые очень тяжёлые современные приложения всё ещё выявляют пробелы в вёрстке и API. Подробности см. в примечаниях к выпуску 2.3 и docs/status.md.
Зачем это нужно
Веб перерос Classic Mac OS двадцать лет назад, а современный HTTPS поставил точку примерно в 2016 году. Достаньте сегодня G3 или G4 из кладовки — и он едва сможет открыть хотя бы один живой сайт.
MacSurf решает эту проблему на самой машине, без прокси-скриншотов и без трюков с удалённым терминалом. Это нативный браузер, собранный инструментами, которые поставлялись на платформе: CodeWarrior, Carbon, QuickDraw, Open Transport. Он говорит на TLS 1.3 напрямую с современным вебом через macTLS — стек на базе BearSSL, встроенный в бинарник вместе с полным набором корневых сертификатов Mozilla, — и исполняет современный JavaScript через macQJS, порт QuickJS для Mac OS 9.
Насколько нам известно, это первый серьёзный порт NetSurf на Classic Mac OS и первый браузер для Mac OS 9 с нативным CSS Grid, CSS-переменными и современным движком JavaScript прямо на устройстве.
Реальные сайты на реальном железе
Каждый снимок ниже — живой сайт, снятый на Power Mac G3 под управлением Mac OS 9.2.2 с MacSurf 2.0.5. Они сохранены здесь как базовая линия по железу; MacSurf 2.3 значительно ушёл вперёд по сравнению с браузером на этих изображениях.
![]() hackaday.com Современный новостной сайт с обилием JavaScript на полную ширину рабочего стола. | ![]() 68kmla.org Полноценный форум XenForo: вход выполнен, полная ширина, правильный размер текста. |
![]() macintoshgarden.org Насыщенный изображениями и полностью стилизованный, через нативный HTTPS. | ![]() news.ycombinator.com Hacker News: вход и главная страница, без фантомных блоков. |
Новое в 2.3
Вкладки. Одно нативное окно Mac теперь может содержать несколько независимых браузерных страниц. Command-T открывает вкладку; Command-W закрывает текущую вкладку. Фоновые вкладки сохраняют собственный JavaScript-контекст, заголовок, URL, содержимое и состояние прокрутки, не захватывая интерфейс переднего плана.
Выпуск также приносит крупный проход по совместимости с динамическими страницами и JavaScript; более безопасное восстановление DOM; улучшения CSS-математики, размеров, Grid, переменных и отрисовки; нативный WebP и усиленный SVG; перестроенное окно Загрузок; улучшенные Настройки, Закладки и История; более строгое поведение HTTPS/безопасности; и большой объём исправлений падений и времени жизни.
MacSurf 2.3 поддерживает Mac OS 8.6 — Mac OS X 10.6. На Intel Mac сборка для PowerPC работает под Rosetta, где это доступно.
Новое в 2.0.5
Главное — отрисовка hackaday.com на полную ширину рабочего стола (показано выше): правильная типографика, карточки статей и изображения на своих местах.
Под этим: текст измеряется в реальных пикселях устройства (авторский font-size больше не рисуется на 25% меньше), крупный проход по современному CSS (выключка текста, мягкие переносы, логические свойства, сокращения выравнивания блоков, авторазмеры grid), более способный движок JavaScript (настоящие fetch/XHR, разрешение цепочек Promise, обход DOM, document.cookie) и блокировка трекеров/рекламных сетей. Полные примечания к 2.0.5 →
Новое в 2.0
![]() Адресная строка с автодополнением Подсказки на основе истории и закладок по мере ввода. | |
![]() Менеджер истории Сгруппировано по дням, с поиском и очисткой. Настоящее окно. | ![]() Менеджер закладок Сохраняйте, упорядочивайте и переходите прямо из меню. |
Ранние снимки: те же сайты на предыдущих сборках
![]() 68kmla.org | ![]() macintoshgarden.org |
![]() macintoshrepository.org | ![]() machut.net |
![]() lobste.rs | ![]() DuckDuckGo |
Как мы сюда пришли: пара ранних вех
![]() v0.2: JavaScript на Mac OS 9 Первая страница с JS, исполняемая вживую на устройстве. | ![]() CSS Grid Настоящая Grid-вёрстка: объединения, баннеры на всю строку, автоперенос. |
Компоненты
| Компонент | Язык | Назначение |
|---|---|---|
browser/ | C (C89, CW8) | Форк NetSurf с фронтендом macos9. Carbon для интерфейса, QuickDraw для отрисовки, Open Transport для сети, macQJS для JavaScript. |
macTLSсоседний репозиторий | C (CW8) | Нативный TLS 1.3 (с откатом на 1.2) для OS 9: HTTPS прямо с Mac. В основе BearSSL, встроен полный набор корневых сертификатов Mozilla. |
macQJSсоседний репозиторий | C (CW8) | Порт QuickJS для Classic Mac OS: современный JavaScript ES2023 на PowerPC. |
Что уже работает
|
Отрисовка и CSS
|
JavaScript, macQJS (QuickJS / ES2023)
Сеть и безопасность
Интерфейс браузера
|
Поддерживаемые системы
MacSurf 2.3 поддерживает Mac OS 8.6 — Mac OS X 10.6 Snow Leopard.
- Mac на PowerPC запускают MacSurf напрямую.
- Intel Mac могут запускать сборку для PowerPC через Rosetta, где это доступно.
- Mac OS 9 остаётся основной целью и средой, наиболее тщательно протестированной на оригинальном железе.
- Рекомендуемая память: минимум 128 МБ, рекомендуется 256 МБ, 384 МБ для самых тяжёлых сайтов с JavaScript.
Стабильность и диагностика
Значительная часть работы в 2.3 — это то, чего вы не должны замечать: более строгое владение страницей/средой исполнения, более безопасное восстановление DOM, защищённые поздние обратные вызовы, исправления времени жизни кэша/контента, повторное использование изображений при переконвертации, проверки границ в TLS и изоляция вкладок.
В MacSurf также появилась гораздо более глубокая встроенная система диагностики для сопоставления навигации, документов, фреймов, сетевых запросов, задач JavaScript, таймеров, мутаций, XHR/fetch, отклонений Promise, вёрстки, отрисовки и пробелов совместимости. Финальная кампания стресс-тестирования многовкладочности на Tiger завершилась 20/20 циклов без падений и зависаний, после чего последовало тестирование на железе с Mac OS 9.2.2.
Загрузка
MacSurf 2.3 "OPEN TABS" (2026-09-19). Что изменилось — в полных примечаниях к выпуску 2.3 →.
- Скачать MacSurf →: распакуйте StuffIt Expander и дважды щёлкните. MacSurf поддерживает Mac OS 8.6 — Mac OS X 10.6; на Intel Mac сборка для PowerPC работает под Rosetta, где это доступно. Установщик не нужен.
- Уже на машине с Mac OS 9? Скачайте с обычного HTTP-сайта macsurf.org, поскольку GitHub пока не отображается на устройстве.
- Все выпуски →
Хотите сборки между релизами? Еженедельные незавершённые сборки попадают в Beta-Box для сторонников, раньше каждого стабильного релиза.
Сборка
MacSurf собирается на Mac OS 9 с CodeWarrior 8 Pro (обновление 8.3). Исходный код чист для кросс-компиляции с Retro68 PowerPC GCC, который мы используем для быстрых проверок синтаксиса на стороне Linux.
Нативный HTTPS через macTLS · JavaScript через macQJS · на основе NetSurf · вступительное видео














