
macsurf v2.3
Um navegador web moderno para Classic Mac OS 9 PowerPC. CSS3 real, JavaScript ES5, HTTPS nativo. Construído com CodeWarrior na API Carbon.
A web moderna, em um Mac de 25 anos.
Um navegador nativo para a era Carbon, do Mac OS 8.6 ao Mac OS X 10.6: CSS de verdade, JavaScript moderno e HTTPS no próprio Mac. Sem proxy, sem uma segunda máquina.
MacSurf 2.0.5 em um Power Mac G3 iMac, renderizando hackaday.com em largura total de desktop via HTTPS nativo.
🆓 Estável mensal gratuitoUma build testada em macsurf.org, gratuita para todos, com testes em hardware real por trás. Estável mais recente: MacSurf 2.3 "OPEN TABS" |
⭐ Semanal, para apoiadoresBuilds em desenvolvimento chegam ao Beta-Box toda semana, antes de cada versão estável, com notas de desenvolvimento ao longo do caminho. |
Todo projeto permanece livre como código-fonte. Compile você mesmo e nunca precisará do Beta-Box. Você está pagando pela build e pela cadência, não pelo acesso.
Apoie o desenvolvimento
Acompanhe
Obrigado aos nossos apoiadores:
Ko-Fi: Chris Marks, Rogue, Turuun, kilgeist
Patreon: Mack Chamberlain, Lucas, Joseph Mulvaney, Shlooom
[!NOTE] 2.3 "OPEN TABS" é a maior versão do MacSurf desde a 2.0. As abas finalmente estão habilitadas, com estado independente de página, rolagem, histórico, renderização e JavaScript dentro de uma única janela nativa do Mac. Por baixo disso há uma grande reescrita de páginas dinâmicas/ciclo de vida, uma superfície de API do navegador muito maior, mais suporte a CSS e imagens/SVG, gerenciadores nativos reconstruídos, rede e segurança mais robustas, e uma longa campanha de estabilidade guiada por hardware. O MacSurf continua sendo software honesto e em desenvolvimento; alguns aplicativos modernos muito pesados ainda expõem lacunas de layout e de API. Veja as notas de versão da 2.3 e docs/status.md para detalhes.
Por que isso existe
A web superou o Classic Mac OS há vinte anos, e o HTTPS moderno deu o golpe final por volta de 2016. Tire um G3 ou G4 do armário hoje e ele mal consegue acessar um único site ao vivo.
O MacSurf resolve isso na própria máquina, sem proxy de captura de tela e sem truque de terminal remoto. É um navegador nativo construído com as ferramentas que acompanhavam a plataforma: CodeWarrior, Carbon, QuickDraw, Open Transport. Ele fala TLS 1.3 diretamente com a web moderna através do macTLS, uma pilha baseada em BearSSL embutida no binário com o pacote completo de CAs da Mozilla, e executa JavaScript moderno através do macQJS, um porte do QuickJS para Mac OS 9.
Pelo que sabemos, é o primeiro porte sério do NetSurf para o Classic Mac OS, e o primeiro navegador para Mac OS 9 com CSS Grid nativo, propriedades customizadas de CSS e um motor de JavaScript moderno no dispositivo.
Sites reais, em hardware real
Cada captura abaixo é de um site ao vivo, feita em um Power Mac G3 rodando Mac OS 9.2.2 com MacSurf 2.0.5. Elas são mantidas aqui como linha de base de hardware; o MacSurf 2.3 avançou substancialmente além do navegador mostrado nessas imagens.
![]() hackaday.com Um site de notícias moderno e pesado em JavaScript em largura total de desktop. | ![]() 68kmla.org Um fórum XenForo completo: logado, largura total, tamanho de texto correto. |
![]() macintoshgarden.org Pesado em imagens e totalmente estilizado, via HTTPS nativo. | ![]() news.ycombinator.com Hacker News: login e página inicial, sem caixas fantasmas. |
Novidades na 2.3
Abas. Uma única janela nativa do Mac agora pode hospedar múltiplas páginas de navegador independentes. Command-T abre uma aba; Command-W fecha a aba atual. Abas em segundo plano mantêm seu próprio realm de JavaScript, título, URL, conteúdo e estado de rolagem sem assumir o controle da interface em primeiro plano.
A versão também traz uma grande passagem de compatibilidade de páginas dinâmicas e JavaScript; reconstrução de DOM mais segura; melhorias em matemática CSS, dimensionamento, Grid, variáveis e pintura; WebP nativo e SVG mais robusto; uma janela de Downloads reconstruída; Preferências, Favoritos e Histórico aprimorados; comportamento de HTTPS/segurança mais rigoroso; e um grande conjunto de correções de travamentos e de tempo de vida.
O MacSurf 2.3 suporta Mac OS 8.6 até Mac OS X 10.6. Em Macs Intel, a build PowerPC roda sob Rosetta onde disponível.
Novidades na 2.0.5
O destaque é o hackaday.com renderizando em largura total de desktop (mostrado acima): tipografia correta, cartões de artigos e imagens no lugar.
Por baixo: o texto é medido em pixels reais do dispositivo (o font-size do autor não é mais desenhado 25% menor), uma grande passagem de CSS moderno (texto justificado, hífens suaves, propriedades lógicas, atalhos de alinhamento de caixa, dimensionamento automático de grid), um motor de JavaScript mais capaz (fetch/XHR reais, cadeias de Promise resolvidas, travessia de DOM, document.cookie) e bloqueio de rastreadores/redes de anúncios. Notas completas da 2.0.5 →
Novidades na 2.0
![]() Barra de endereços com preenchimento automático Sugestões baseadas em histórico e favoritos enquanto você digita. | |
![]() Gerenciador de histórico Agrupado por dia, pesquisável, apagável. Uma janela de verdade. | ![]() Gerenciador de favoritos Salve, organize e acesse diretamente pelo menu. |
Capturas anteriores: os mesmos sites em builds anteriores
![]() 68kmla.org | ![]() macintoshgarden.org |
![]() macintoshrepository.org | ![]() machut.net |
![]() lobste.rs | ![]() DuckDuckGo |
Como chegamos aqui: alguns marcos iniciais
![]() v0.2: JavaScript no Mac OS 9 A primeira página com JS avaliada ao vivo, no dispositivo. | ![]() CSS Grid Layout Grid de verdade: spans, heróis de linha inteira, quebra automática. |
As peças
| Componente | Linguagem | Propósito |
|---|---|---|
browser/ | C (C89, CW8) | Fork do NetSurf com um frontend macos9. Carbon para a interface, QuickDraw para desenho, Open Transport para rede, macQJS para JavaScript. |
macTLSrepositório irmão | C (CW8) | TLS 1.3 nativo (fallback para 1.2) para OS 9: HTTPS direto do Mac. BearSSL por baixo, pacote completo de CAs da Mozilla embutido. |
macQJSrepositório irmão | C (CW8) | Um porte do QuickJS para o Classic Mac OS: JavaScript ES2023 moderno em PowerPC. |
O que funciona hoje
|
Renderização e CSS
|
JavaScript, macQJS (QuickJS / ES2023)
Rede e segurança
Interface do navegador
|
Sistemas suportados
O MacSurf 2.3 suporta Mac OS 8.6 até Mac OS X 10.6 Snow Leopard.
- Macs PowerPC rodam o MacSurf diretamente.
- Macs Intel podem rodar a build PowerPC através do Rosetta onde disponível.
- O Mac OS 9 continua sendo o alvo principal e o ambiente mais amplamente testado em hardware original.
- Memória recomendada: mínimo de 128 MB, 256 MB recomendado, 384 MB para os sites JavaScript mais pesados.
Estabilidade e diagnósticos
Grande parte da 2.3 é um trabalho que você não deveria precisar notar: propriedade mais forte de página/runtime, reconstrução de DOM mais segura, callbacks tardios protegidos, correções de tempo de vida de cache/conteúdo, reutilização de imagens entre reconversões, verificações de limites do TLS e isolamento de abas.
O MacSurf também agora tem um sistema de diagnóstico embutido muito mais profundo para correlacionar navegação, documentos, frames, requisições de rede, tarefas JavaScript, timers, mutações, XHR/fetch, rejeições de Promise, layout, pintura e lacunas de compatibilidade. A campanha final de estresse multi-abas no Tiger completou 20/20 ciclos com zero travamentos e zero congelamentos, seguida de testes em hardware Mac OS 9.2.2.
Download
MacSurf 2.3 "OPEN TABS" (2026-09-19). Veja o que mudou nas notas completas da versão 2.3 →.
- Baixar o MacSurf →: expanda com o StuffIt Expander e dê um duplo clique. O MacSurf suporta Mac OS 8.6 até Mac OS X 10.6; em Macs Intel a build PowerPC roda sob Rosetta onde disponível. Sem instalador.
- Já está em uma máquina Mac OS 9? Pegue em macsurf.org via HTTP simples, já que o GitHub ainda não renderiza no dispositivo.
- Todas as versões →
Quer as builds entre versões? Builds semanais em desenvolvimento chegam ao Beta-Box para apoiadores, antes de cada versão estável.
Compilação
O MacSurf compila no Mac OS 9 com o CodeWarrior 8 Pro (atualização 8.3). O código-fonte é limpo para compilação cruzada com o Retro68 PowerPC GCC, que usamos para verificações rápidas de sintaxe no lado Linux.
HTTPS nativo via macTLS · JavaScript via macQJS · construído sobre NetSurf · vídeo de introdução














