Retour aux mises à jour
New releaseSep 20, 2026

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.

Partager

MacSurf

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 affichant hackaday.com sur un Power Macintosh G3 iMac
MacSurf 2.0.5 sur un Power Mac G3 iMac, affichant hackaday.com en pleine largeur de bureau via HTTPS natif.


🆓 Stable mensuelle gratuite

Une 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 soutiens

Les versions en cours de développement arrivent dans Beta-Box chaque semaine, avant chaque version stable, avec des notes de développement en chemin.

Devenir soutien →

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

Support on Ko-fi   Support on Patreon   Sponsor on GitHub

Suivez l'aventure

Join our Discord   Follow on Bluesky

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
hackaday.com
Un site d'actualités moderne et riche en JavaScript, en pleine largeur de bureau.
68kmla.org forum
68kmla.org
Un forum XenForo complet : connecté, pleine largeur, taille de texte correcte.
macintoshgarden.org
macintoshgarden.org
Riche en images et entièrement stylisé, via HTTPS natif.
Hacker News
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.

Notes complètes de la 2.3 →

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
Barre d'adresse à complétion automatique
Suggestions basées sur l'historique et les signets au fil de la frappe.
Gestionnaire d'historique
Gestionnaire d'historique
Groupé par jour, consultable, effaçable. Une vraie fenêtre.
Gestionnaire de signets
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 forum
68kmla.org
Macintosh Garden
macintoshgarden.org
Macintosh Repository
macintoshrepository.org
Mac Hut
machut.net
Fil Lobsters à propos de MacSurf
lobste.rs
Recherche DuckDuckGo
DuckDuckGo
Comment on en est arrivé là : quelques étapes marquantes
JavaScript sur Mac OS 9
v0.2 : JavaScript sur Mac OS 9
La première page contenant du JS évaluée en direct, sur l'appareil.
CSS Grid sur Mac OS 9
CSS Grid
Vraie mise en page Grid : spans, bannières pleine largeur, retour à la ligne automatique.

Les composants

ComposantLangageRô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.
macTLS
dé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é.
macQJS
dé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

  • Pipeline complet NetSurf de récupération, analyse, cascade, mise en page et rendu QuickDraw
  • Propriétés personnalisées CSS avec portée sélecteur/media, spécificité, héritage et résolution différée de var()
  • Flexbox et CSS Grid, avec dimensionnement automatique des pistes renforcé, minmax(), justify-self, espaces de ligne/colonne et comportement d'étirement
  • Calcul et dimensionnement CSS : calc(), min(), max(), clamp(), min/max/fit-content et dimensionnement relatif au viewport
  • Dégradés, border-radius, box-shadow, opacité, transformations, empilement z-index et découpe/origine d'arrière-plan améliorées
  • PNG, GIF, JPEG, BMP, TIFF et WebP natif, y compris la mécanique WebP animé
  • SVG en ligne/externe bien plus robuste : dimensionnement, viewBox, modes de ratio d'aspect, formes, transformations, remplissage/contour et images raster intégrées
  • Polices web téléchargeables, y compris les correctifs WOFF2/Brotli

Notes complètes de la 2.3 →

JavaScript, macQJS (QuickJS / ES2023)

  • Fonctionnalités modernes du langage plus les modules ES
  • fetch / XHR, Headers, Request, Response, AbortController / AbortSignal et annulation native
  • Promesses, microtâches, minuteurs, requestAnimationFrame, localStorage persistant et sendBeacon
  • MutationObserver, ResizeObserver et IntersectionObserver
  • Parcours/sélecteurs DOM renforcés, clonage/remplacement, propriétés reflétées, événements et relations de prototype
  • Surface de compatibilité Canvas 2D avec measureText() en police native
  • crypto.getRandomValues() et randomUUID()

Réseau et sécurité

  • HTTP/1.1 : transfert chunked, keep-alive, redirections, pooling, revalidation du cache et réponses gzip
  • HTTPS via macTLS : TLS 1.3 avec repli TLS 1.2 et bundle de CA Mozilla
  • Le rejet de certificat échoue en mode fermé ; les requêtes HTTPS scriptées ne peuvent pas rétrograder silencieusement en HTTP
  • Cookies/connexions persistants, gestion du référent plus stricte et blocage des traqueurs

Interface du navigateur

  • Navigation par onglets avec état indépendant de page, historique, défilement, rendu et JavaScript
  • Barre d'adresse, précédent / suivant / recharger / accueil et suggestions à la frappe
  • Fenêtre Téléchargements reconstruite avec progression, vitesse, ETA, annulation, ouverture et Révéler dans le Finder
  • Gestionnaires natifs de Préférences, Signets et Historique
  • Saisie de texte, sélection, commandes du presse-papiers, navigation au clavier et contrôles de formulaire natifs

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


Pour Gary & Kaija

Catégories