
macsurf v2.3
Un navigateur web moderne pour Classic Mac OS 9 PowerPC. Véritable CSS3, JavaScript ES5, HTTPS natif. Conçu avec CodeWarrior sur l'API Carbon.
Le web moderne, sur un Mac de 25 ans.
Un navigateur natif pour l'ère Carbon, de Mac OS 8.6 à Mac OS X 10.6 : vrai CSS, JavaScript moderne et HTTPS sur le Mac lui-même. Pas de proxy, pas de seconde machine.
MacSurf 2.0.5 sur un Power Mac G3 iMac, affichant hackaday.com en pleine largeur de bureau via HTTPS natif.
🆓 Stable mensuelle gratuiteUne version testée sur macsurf.org, gratuite pour tous, avec de vrais tests matériels derrière. Dernière stable : MacSurf 2.3 « OPEN TABS » |
⭐ Hebdomadaire, pour les soutiensLes versions en cours de développement arrivent dans Beta-Box chaque semaine, avant chaque version stable, avec des notes de développement en chemin. |
Chaque projet reste libre en tant que source. Compilez-le vous-même et vous n'aurez jamais besoin de Beta-Box. Vous payez pour la compilation et la cadence, pas pour l'accès.
Soutenir le développement
Suivez l'aventure
Merci à nos soutiens :
Ko-Fi : Chris Marks, Rogue, Turuun, kilgeist
Patreon : Mack Chamberlain, Lucas, Joseph Mulvaney, Shlooom
[!NOTE] 2.3 « OPEN TABS » est la plus grande version de MacSurf depuis la 2.0. Les onglets sont enfin activés, avec un état indépendant de page, défilement, historique, rendu et JavaScript au sein d'une seule fenêtre Mac native. En dessous, il y a une réécriture majeure des pages dynamiques et du cycle de vie, une surface d'API navigateur bien plus large, davantage de support CSS et image/SVG, des gestionnaires natifs reconstruits, un réseau et une sécurité renforcés, et une longue campagne de stabilité pilotée par le matériel. MacSurf reste un logiciel honnête et en cours de développement ; certaines applications modernes très lourdes exposent encore des lacunes de mise en page et d'API. Voir les notes de version 2.3 et docs/status.md pour les détails.
Pourquoi cela existe
Le web a dépassé le Mac OS classique il y a vingt ans, et le HTTPS moderne a achevé le travail vers 2016. Sortez un G3 ou un G4 du placard aujourd'hui et il peut à peine atteindre un seul site en ligne.
MacSurf corrige cela sur la machine elle-même, sans proxy de capture d'écran ni astuce de terminal distant. C'est un navigateur natif construit avec les outils livrés sur la plateforme : CodeWarrior, Carbon, QuickDraw, Open Transport. Il parle TLS 1.3 directement au web moderne via macTLS, une pile basée sur BearSSL intégrée au binaire avec le bundle complet de CA Mozilla, et exécute du JavaScript moderne via macQJS, un portage de QuickJS pour Mac OS 9.
Pour autant que nous sachions, c'est le premier portage sérieux de NetSurf vers le Mac OS classique, et le premier navigateur Mac OS 9 avec CSS Grid natif, propriétés personnalisées CSS et un moteur JavaScript moderne embarqué.
De vrais sites, sur du vrai matériel
Chaque capture ci-dessous est un site en ligne, capturé sur un Power Mac G3 sous Mac OS 9.2.2 avec MacSurf 2.0.5. Elles sont conservées ici comme référence matérielle ; MacSurf 2.3 a largement dépassé le navigateur montré dans ces images.
![]() hackaday.com Un site d'actualités moderne et riche en JavaScript, en pleine largeur de bureau. | ![]() 68kmla.org Un forum XenForo complet : connecté, pleine largeur, taille de texte correcte. |
![]() macintoshgarden.org Riche en images et entièrement stylisé, via HTTPS natif. | ![]() news.ycombinator.com Hacker News : connexion et page d'accueil, sans boîtes fantômes. |
Nouveau dans la 2.3
Onglets. Une seule fenêtre Mac native peut désormais héberger plusieurs pages de navigateur indépendantes. Command-T ouvre un onglet ; Command-W ferme l'onglet courant. Les onglets en arrière-plan conservent leur propre environnement JavaScript, titre, URL, contenu et état de défilement sans prendre le contrôle de l'interface au premier plan.
La version apporte également une passe majeure de compatibilité des pages dynamiques et de JavaScript ; une reconstruction du DOM plus sûre ; des améliorations de calcul CSS, dimensionnement, Grid, variables et rendu ; WebP natif et SVG renforcé ; une fenêtre Téléchargements reconstruite ; des Préférences, Signets et Historique améliorés ; un comportement HTTPS/sécurité plus strict ; et un grand nombre de correctifs de plantage et de cycle de vie.
MacSurf 2.3 prend en charge Mac OS 8.6 à Mac OS X 10.6. Sur les Mac Intel, la version PowerPC s'exécute sous Rosetta lorsque disponible.
Nouveau dans la 2.0.5
Le point d'orgue est le rendu de hackaday.com en pleine largeur de bureau (montré ci-dessus) : typographie correcte, cartes d'articles et images en place.
En dessous : le texte est mesuré en pixels réels de l'appareil (le font-size de l'auteur ne s'affiche plus 25 % trop petit), une grande passe de CSS moderne (texte justifié, césures conditionnelles, propriétés logiques, raccourcis d'alignement de boîte, dimensionnement automatique de grille), un moteur JavaScript plus capable (fetch/XHR réels, chaînes de Promise résolues, parcours du DOM, document.cookie), et le blocage des traqueurs et réseaux publicitaires. Notes complètes de la 2.0.5 →
Nouveau dans la 2.0
![]() Barre d'adresse à complétion automatique Suggestions basées sur l'historique et les signets au fil de la frappe. | |
![]() Gestionnaire d'historique Groupé par jour, consultable, effaçable. Une vraie fenêtre. | ![]() Gestionnaire de signets Enregistrez, organisez et accédez directement depuis le menu. |
Captures antérieures : les mêmes sites sur des versions précédentes
![]() 68kmla.org | ![]() macintoshgarden.org |
![]() macintoshrepository.org | ![]() machut.net |
![]() lobste.rs | ![]() DuckDuckGo |
Comment on en est arrivé là : quelques étapes marquantes
![]() v0.2 : JavaScript sur Mac OS 9 La première page contenant du JS évaluée en direct, sur l'appareil. | ![]() CSS Grid Vraie mise en page Grid : spans, bannières pleine largeur, retour à la ligne automatique. |
Les composants
| Composant | Langage | Rôle |
|---|---|---|
browser/ | C (C89, CW8) | Fork de NetSurf avec une interface macos9. Carbon pour l'interface, QuickDraw pour le dessin, Open Transport pour le réseau, macQJS pour JavaScript. |
macTLSdépôt frère | C (CW8) | TLS 1.3 natif (repli 1.2) pour OS 9 : HTTPS directement depuis le Mac. BearSSL en dessous, bundle complet de CA Mozilla intégré. |
macQJSdépôt frère | C (CW8) | Un portage de QuickJS pour le Mac OS classique : JavaScript ES2023 moderne sur PowerPC. |
Ce qui fonctionne aujourd'hui
|
Rendu et CSS
|
JavaScript, macQJS (QuickJS / ES2023)
Réseau et sécurité
Interface du navigateur
|
Systèmes pris en charge
MacSurf 2.3 prend en charge Mac OS 8.6 à Mac OS X 10.6 Snow Leopard.
- Les Mac PowerPC exécutent MacSurf directement.
- Les Mac Intel peuvent exécuter la version PowerPC via Rosetta lorsque disponible.
- Mac OS 9 reste la cible principale et l'environnement le plus testé sur matériel d'origine.
- Mémoire recommandée : 128 Mo minimum, 256 Mo recommandés, 384 Mo pour les sites JavaScript les plus lourds.
Stabilité et diagnostics
Une grande partie de la 2.3 est un travail que vous ne devriez pas avoir à remarquer : propriété page/runtime renforcée, reconstruction du DOM plus sûre, rappels tardifs protégés, correctifs de durée de vie du cache/contenu, réutilisation d'images entre reconversions, vérifications de limites TLS et isolation des onglets.
MacSurf dispose aussi désormais d'un système de diagnostic intégré bien plus profond pour corréler navigation, documents, cadres, requêtes réseau, tâches JavaScript, minuteurs, mutations, XHR/fetch, rejets de Promise, mise en page, rendu et lacunes de compatibilité. La campagne finale de stress multi-onglets sur Tiger a terminé 20/20 cycles sans aucun plantage ni blocage, suivie de tests sur matériel Mac OS 9.2.2.
Téléchargement
MacSurf 2.3 « OPEN TABS » (2026-09-19). Voir ce qui a changé dans les notes complètes de la 2.3 →.
- Télécharger MacSurf → : décompressez avec StuffIt Expander et double-cliquez. MacSurf prend en charge Mac OS 8.6 à Mac OS X 10.6 ; sur les Mac Intel, la version PowerPC s'exécute sous Rosetta lorsque disponible. Pas d'installateur.
- Déjà sur une machine Mac OS 9 ? Récupérez-le depuis macsurf.org en HTTP simple, car GitHub ne s'affiche pas encore sur l'appareil.
- Toutes les versions →
Vous voulez les versions entre les publications ? Les versions hebdomadaires en cours de développement arrivent dans Beta-Box pour les soutiens, avant chaque version stable.
Compilation
MacSurf se compile sur Mac OS 9 avec CodeWarrior 8 Pro (mise à jour 8.3). Le code source est propre à la compilation croisée avec Retro68 PowerPC GCC, que nous utilisons pour des vérifications de syntaxe rapides côté Linux.
HTTPS natif via macTLS · JavaScript via macQJS · construit sur NetSurf · vidéo d'introduction














