Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
macsurf — Um navegador web moderno para Classic Mac OS 9 PowerPC. CSS3 real, JavaScript ES5, HTTPS nativo. Construído com CodeWarrior na API Carbon. | Kitploit
Ferramentas/GitHubGitHub/mplsllc/macsurf
Ferramentas de Criptografia/DescriptografiaSegurança WebCriptografia
GitHubmplsllc/macsurf

macsurf

Um navegador web moderno para Classic Mac OS 9 PowerPC. CSS3 real, JavaScript ES5, HTTPS nativo. Construído com CodeWarrior na API Carbon.

Ver RepositórioSite
26671há 6 diasRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

MacSurf

A web moderna, num Mac de 25 anos.

O MacSurf é um navegador web para Classic Mac OS 9 PowerPC. CSS3, JavaScript ES5 e PNGs com alpha — rodando num iMac G3.

O MacSurf é um projeto em tempo integral. Se ele trouxe seu Mac antigo de volta à web, cada dólar ajuda a manter o desenvolvimento. Acompanhe também o progresso no Patreon com dev logs.

Siga-me no Ko-Fi!

Apoiadores

O MacSurf é mantido vivo pelos seus apoiadores — obrigado:

Patreon
Shlooom

Ko-Fi
kilgeist

Mac OS 9, conheça o TLS — Nativo, sem necessidade de proxy.

Vídeo de Introdução

Assista ao vídeo

[!NOTE] Alpha inicial — ele roda, renderiza e fala TLS 1.3 nativamente num G3 de 233 MHz, mas a maior parte da web moderna ainda não funciona nele. Espere páginas construídas à mão, sites de estilo retrô e a estranha emoção de JavaScript ES5 em PowerPC. Não espere navegação fluida em sites modernos arbitrários, vídeo ou qualquer coisa pesada em React.

Se você tem um Power Mac G3 ou G4 parado, carregue-o e veja o que quebra — relatórios de bugs e capturas de tela em hardware real são exatamente o que este projeto precisa. Veja docs/status.md para a lista de pendências atual.


Por que isto existe

A web ultrapassou o Classic Mac OS há vinte anos. O HTTPS moderno a finalizou por volta de 2016. Tire um G3 ou G4 do armário hoje e ele mal consegue acessar um único site vivo.

O MacSurf é uma tentativa de resolver isso na própria máquina — sem proxy de captura de tela, sem truque de terminal remoto. Um navegador nativo, construído com as ferramentas que já estavam na plataforma: CodeWarrior, Carbon, QuickDraw, Open Transport. Layouts CSS3 reais e JavaScript real, rodando dentro do piso de memória de 64 MB de um iMac de 1999. Desde o final de maio de 2026, ele fala TLS 1.2 diretamente com a web moderna através do macTLS, uma pilha baseada em BearSSL que vem embutida no binário do navegador com 121 âncoras de confiança do pacote de CAs da Mozilla. Não é mais necessário proxy.

Até onde sabemos, esta é a primeira porta séria do NetSurf para Classic Mac OS, e o primeiro navegador já distribuído no Mac OS 9 com CSS Grid nativo, custom properties CSS e JavaScript ES5.


A progressão

Cada imagem abaixo é um marco real, capturado num Power Macintosh G3 rodando Mac OS 9. As anotações de número de correção correspondem ao histórico de commits deste repositório.


As peças


O que funciona hoje


Download

A versão mais recente é o MacSurf 1.68 — "macQJS" (2026-07-07): o motor JavaScript foi substituído — Duktape (ES5) → macQJS (QuickJS, ES2023), então JavaScript moderno roda nativamente no Mac OS 9. Além disso: entrada de texto funcional (cursor / seleção / Tab), logins persistentes, menu de favoritos + gerenciador de downloads, correção de renderização da barra de rolagem dividida, glifos de ícones de fontes web baixáveis e uma grande passada de desempenho (inicialização quase instantânea, cache em disco de imagens/fontes, carregamento preguiçoso de imagens por viewport). Nomeado em homenagem ao 68kmla.org, a comunidade que impulsionou o ciclo. Notas completas: release-notes/MacSurf-1.68.md.

O antecessor MacSurf v1.4 — Open House (2026-06-01): maratona de JavaScript encerrada. 23 problemas da ponte JS saíram de abertos para fechados em um único release — setTimeout / setInterval / requestAnimationFrame, window.location, window.history, URL, URLSearchParams, classList, style, construtores Event, MutationObserver, DOMParser, FormData, localStorage, , eventos / , além do toggle de / . A nova suíte de sondagem marcou num iMac G3. As páginas de diagnóstico estão vivas: , , , renderizam contadores reais. Ver código-fonte (View Source) renderiza inline, e Localizar na página (Find-in-page) abre um diálogo Carbon real. O antecessor trouxe TLS 1.3 com múltiplas curvas; foi o primeiro TLS 1.3 nativo no Classic Mac OS; fechou o buraco de entropia; foi o release de redesenho da interface; foi a aceleração de carregamento a frio (mactrove.com de 30+s → ~2-3s); primeiro alpha numerado em .

  • MacSurf.sit — o binário v1.4, pronto para rodar. Expanda no Mac OS 9.1+ com CarbonLib 1.5+ e inicie.
  • Compilando a partir do código-fonte: clone o repositório e, no lado do Mac, abra browser/netsurf/frontends/macos9/MacSurf.mcp no CodeWarrior 8 e escolha Build. Quem compila a v1.4 num workspace da v1.3.1 precisa adicionar um novo arquivo de código-fonte ao projeto: browser/netsurf/desktop/search.c (fornece browser_window_search para o novo diálogo de Localizar; content/textsearch.c já está incluído). O macTLS não mudou desde a v1.3.1. Quem compila a v1.3 num workspace da v1.2 precisa adicionar quatro arquivos macTLS para TLS 1.3: bearssl/src/ec/ec_c25519_m15.c, os9/ostls_tls13_keysched.c, os9/ostls_tls13_record.c, os9/ostls_tls13_handshake.c. Quem compila a v1.2 num workspace da 1.0 precisa de desktop/download.c. O release mais antigo traz um snapshot BuildPack.sit com o projeto CW8 pré-configurado, mas as compilações atuais funcionam direto de um clone novo.

Notas de alpha anteriores, se quiser contexto: docs/release-notes/MacSurf-0.1a1.md.


Começando

Compilando o navegador

O MacSurf é compilado no Mac OS 9 com CodeWarrior 8 Pro (atualização 8.3). O código-fonte é limpo para compilação cruzada com Retro68 PowerPC GCC, que é o que usamos para verificações rápidas de sintaxe no lado Linux.

  • Guia de compilação no Mac
  • Fluxo de trabalho de dev cruzado no Linux
Baixar ferramenta
JavaScript Hello World no Mac OS 9
v0.2: JavaScript no Mac OS 9
Primeira página real com JS. Duktape 2.7.0 ES5 avaliando ao vivo: Math.sqrt, JSON, métodos de array ES5.
Transformações CSS rotate, scale, translate
fixes73: Transformações CSS
transform: rotate() / scale() / translate() nativo. Tabela seno/cosseno inteira Q15, sem dependência de FPU, ângulos arbitrários no QuickDraw.
Gradientes radiais CSS
fixes74d: Gradientes radiais
Gradientes radiais de 2 paradas via pilha concêntrica de PaintOval. 16 níveis borrados na decodificação. Palavras-chave de forma e posição analisadas.
Animações CSS: wiggle, swing, rotação lenta
fixes77: Animações CSS
Player de animação linear ping-pong sobre a rotação do fixes73. Wiggle, swing e rotação completa de 0°→359°.
Imagem PNG com transparência no Mac OS 9
fixes79b: Transparência PNG
QuickTime Graphics Importer alimentando o manipulador de conteúdo de imagem do NetSurf. PNG + GIF + BMP, todos com transparência real.
CSS word-break e overflow-wrap
fixes136: word-break / overflow-wrap
word-break: break-all, keep-all, white-space: nowrap, word-wrap: break-word legado. Quebra agressiva estilo URL.
Contextos de empilhamento CSS z-index
fixes147: Contextos de empilhamento
Ordem de pintura CSS 2.1. Opacidade, transformações e z-index explícito criam novos contextos de empilhamento, pintados corretamente em hardware real.
Posicionamento de colunas no CSS Grid
fixes151: Posicionamento de colunas no CSS Grid
grid-column: span N, hero de linha inteira 1 / -1, start / end posicional, span + quebra automática. Layout Grid real no OS 9.
MacSurf 1.0 renderizando home.macsurf.org
v1.0: Showcase
Nova barra de ferramentas com cinto de utilidades, campo de URL nítido e ícones com moldura renderizando home.macsurf.org num iMac G3 rodando OS 9.2.2. HTTPS nativo via macTLS direto para a origem, portal renderizado no servidor, imagens em cores reais de ponta a ponta.
ComponenteLinguagemFinalidade
browser/C (C89, CW8)Fork do NetSurf com um frontend macos9. Carbon para a UI, QuickDraw para desenho, Open Transport para rede, Duktape para JS.
proxy/Go (apenas stdlib)O antigo proxy HTTP que removia TLS. Em grande parte aposentado agora que o macTLS funciona nativamente, mas ainda útil como fallback ou em máquinas sem CarbonLib. O Mac envia HTTP puro, o proxy busca via HTTPS e retorna HTTP puro.
macTLS
repositório irmão
C (CW8)Biblioteca TLS 1.2 nativa para OS 9 — HTTPS moderno direto do Mac, sem proxy. BearSSL por baixo, 121 âncoras de confiança incorporadas.

Pipeline de renderização

  • Fluxo completo do NetSurf: fetch → parse → cascade → layout → plot
  • libcss nativo com resolução de var()
  • Plotters QuickDraw com back-buffer offscreen GWorld

CSS — cerca de 150 propriedades consumidas no layout

  • Custom properties e var()
  • Flex: justify-content, align-content, order
  • Grid V1 mais grid-template-columns/rows, gap
  • border-radius, box-shadow, opacidade
  • Gradientes lineares e radiais
  • text-shadow, text-overflow: ellipsis
  • transform (rotate, translate, scale)
  • Contextos de empilhamento z-index (ordem de pintura CSS 2.1)
  • Contadores CSS, unidades de viewport, aspect-ratio
  • Aliases de font-family para sans, serif, monospace

Status completo do CSS →

JavaScript — Duktape 2.7.0, ES5 completo

  • Closures, protótipos, regex, JSON
  • Promises (polyfill), recursão, Mandelbrot
  • Cerca de 6 segundos para ackermann(3,7) num G3 de 233 MHz

Imagens — todos os cinco formatos

  • PNG com alpha real por pixel (lodepng + CopyMask)
  • GIF com transparência de paleta
  • JPEG, BMP, TIFF

Rede

  • Open Transport TCP, chamadas não-InContext simples
  • HTTP/1.1 + chunked + keep-alive + follow de 3xx
  • Pool de conexões, timeout de 15 segundos sem progresso
  • HTTPS via macTLS (padrão) ou proxy Go (fallback)

Interface do navegador

  • Barra de endereço, voltar / avançar / recarregar / início
  • Barra de status, informações da página, múltiplas janelas
  • Barra de rolagem suave, rolagem por teclado
fetch
load
DOMContentLoaded
<details>
<summary>
JS 19/19 passou, 0 falhou
about:cache
about:memory
about:config
about:perf
v1.3.1 "Forward, refined"
v1.3 "Forward"
v1.2 "Sealed"
v1.0 "Showcase"
v0.6.2 "Speed-Run"
v0.1a1