Назад к обновлениям
New releaseSep 20, 2026

macsurf v2.3

Современный веб-браузер для Classic Mac OS 9 PowerPC. Настоящий CSS3, ES5 JavaScript, нативный HTTPS. Создан с помощью CodeWarrior на Carbon API.

Поделиться

MacSurf

Современный веб — на 25-летнем Mac.

Нативный браузер для эпохи Carbon, от Mac OS 8.6 до Mac OS X 10.6: настоящий CSS, современный JavaScript и HTTPS прямо на Mac. Без прокси, без второй машины.

MacSurf 2.0.5 отображает hackaday.com на Power Macintosh G3 iMac
MacSurf 2.0.5 на Power Mac G3 iMac отображает hackaday.com на полную ширину рабочего стола через нативный HTTPS.


🆓 Бесплатный ежемесячный стабильный выпуск

Протестированная сборка на macsurf.org, бесплатная для всех, за ней стоит тестирование на реальном железе.

Последний стабильный выпуск: MacSurf 2.3 "OPEN TABS"

⭐ Еженедельно, для сторонников

Незавершённые сборки попадают в Beta-Box каждую неделю, раньше любого стабильного релиза, вместе с заметками разработчика.

Стать сторонником →

Каждый проект остаётся свободным как исходный код. Соберите его сами, и Beta-Box вам никогда не понадобится. Вы платите за сборку и регулярность, а не за доступ.

Поддержать разработку

Support on Ko-fi   Support on Patreon   Sponsor on GitHub

Следите за обновлениями

Join our Discord   Follow on Bluesky

Спасибо нашим сторонникам:
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
hackaday.com
Современный новостной сайт с обилием JavaScript на полную ширину рабочего стола.
форум 68kmla.org
68kmla.org
Полноценный форум XenForo: вход выполнен, полная ширина, правильный размер текста.
macintoshgarden.org
macintoshgarden.org
Насыщенный изображениями и полностью стилизованный, через нативный HTTPS.
Hacker News
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.3 →

Новое в 2.0.5

Главное — отрисовка hackaday.com на полную ширину рабочего стола (показано выше): правильная типографика, карточки статей и изображения на своих местах.

Под этим: текст измеряется в реальных пикселях устройства (авторский font-size больше не рисуется на 25% меньше), крупный проход по современному CSS (выключка текста, мягкие переносы, логические свойства, сокращения выравнивания блоков, авторазмеры grid), более способный движок JavaScript (настоящие fetch/XHR, разрешение цепочек Promise, обход DOM, document.cookie) и блокировка трекеров/рекламных сетей. Полные примечания к 2.0.5 →

Новое в 2.0

Адресная строка с автодополнением
Адресная строка с автодополнением
Подсказки на основе истории и закладок по мере ввода.
Менеджер истории
Менеджер истории
Сгруппировано по дням, с поиском и очисткой. Настоящее окно.
Менеджер закладок
Менеджер закладок
Сохраняйте, упорядочивайте и переходите прямо из меню.
Ранние снимки: те же сайты на предыдущих сборках
форум 68kmla.org
68kmla.org
Macintosh Garden
macintoshgarden.org
Macintosh Repository
macintoshrepository.org
Mac Hut
machut.net
Тред о MacSurf на Lobsters
lobste.rs
Поиск DuckDuckGo
DuckDuckGo
Как мы сюда пришли: пара ранних вех
JavaScript на Mac OS 9
v0.2: JavaScript на Mac OS 9
Первая страница с JS, исполняемая вживую на устройстве.
CSS Grid на Mac OS 9
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

  • Полный конвейер NetSurf: загрузка, разбор, каскад, вёрстка и отрисовка через QuickDraw
  • CSS-переменные с областью действия селектора/медиа, специфичностью, наследованием и отложенным разрешением var()
  • Flexbox и CSS Grid, включая более сильный авторазмер треков, minmax(), justify-self, промежутки строк/столбцов и поведение растяжения
  • CSS-математика и размеры: calc(), min(), max(), clamp(), min/max/fit-content и размеры относительно вьюпорта
  • Градиенты, border-radius, box-shadow, прозрачность, трансформации, наложение z-index и улучшенная обрезка/начало фона
  • PNG, GIF, JPEG, BMP, TIFF и нативный WebP, включая механизм анимированного WebP
  • Значительно усиленный встроенный/внешний SVG: размеры, viewBox, режимы соотношения сторон, фигуры, трансформации, заливка/обводка и встроенные растровые изображения
  • Загружаемые веб-шрифты, включая исправления WOFF2/Brotli

Полные примечания к выпуску 2.3 →

JavaScript, macQJS (QuickJS / ES2023)

  • Современные языковые возможности плюс ES-модули
  • fetch / XHR, Headers, Request, Response, AbortController / AbortSignal и нативная отмена
  • Promise, микрозадачи, таймеры, requestAnimationFrame, постоянный localStorage и sendBeacon
  • MutationObserver, ResizeObserver и IntersectionObserver
  • Усиленный обход/селекторы DOM, клонирование/замена, отражённые свойства, события и связи прототипов
  • Поверхность совместимости Canvas 2D с measureText() на нативных шрифтах
  • crypto.getRandomValues() и randomUUID()

Сеть и безопасность

  • HTTP/1.1: chunked-передача, keep-alive, перенаправления, пулинг, ревалидация кэша и gzip-ответы
  • HTTPS через macTLS: TLS 1.3 с откатом на TLS 1.2 и набором корневых сертификатов Mozilla
  • Отклонение сертификата завершается отказом; скриптовые HTTPS-запросы не могут молча понизиться до HTTP
  • Постоянные cookie/сессии, более строгая обработка referrer и блокировка трекеров

Интерфейс браузера

  • Вкладочный просмотр с независимым состоянием страницы, истории, прокрутки, отрисовки и JavaScript
  • Адресная строка, назад / вперёд / перезагрузка / домой и подсказки по мере ввода
  • Перестроенное окно Загрузок с прогрессом, скоростью, оставшимся временем, отменой, открытием и «Показать в Finder»
  • Нативные менеджеры Настроек, Закладок и Истории
  • Ввод текста, выделение, команды буфера обмена, навигация с клавиатуры и нативные элементы форм

Поддерживаемые системы

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 · вступительное видео


Для Gary и Kaija

Категории