Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
macsurf — Classic Mac OS 9 PowerPC向けのモダンなWebブラウザ。本格的なCSS3、ES5 JavaScript、ネイティブHTTPSに対応。CodeWarriorを使用し、Carbon API上で構築。 | Kitploit
ツール/GitHubGitHub/mplsllc/macsurf
暗号化/復号化ツールウェブセキュリティ暗号化
GitHubmplsllc/macsurf

macsurf

Classic Mac OS 9 PowerPC向けのモダンなWebブラウザ。本格的なCSS3、ES5 JavaScript、ネイティブHTTPSに対応。CodeWarriorを使用し、Carbon API上で構築。

リポジトリを見るウェブサイト
266716日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

MacSurf

最新のウェブを、25 年前の Mac で。

MacSurf は Classic Mac OS 9 PowerPC 向けのウェブブラウザです。CSS3、ES5 JavaScript、アルファチャンネル付き PNG——そのすべてが G3 iMac で動作します。

MacSurf はフルタイムのプロジェクトです。MacSurf のおかげで古い Mac が再びウェブにつながるようになったなら、どんな金額でも開発の継続を支えてくれます。また、Patreon では開発ログで進捗をフォローできます。

Ko-Fi でフォローしてね!

サポーター

MacSurf はサポーターの皆さんに支えられています——ありがとうございます:

Patreon
Shlooom

Ko-Fi
kilgeist

Mac OS 9 よ、TLS と出会え——ネイティブ、プロキシ不要。

イントロ動画

動画を見る

[!NOTE] 初期アルファ版です——233 MHz の G3 上でネイティブに動作し、描画し、TLS 1.3 で通信しますが、現代のウェブの大半はまだ動作しません。手作りのページ、レトロ風サイト、そして PowerPC で ES5 JavaScript が動く不思議なスリルを期待してください。任意の現代サイトでのスムーズなブラウジング、動画、React 多用のものは期待しないでください。

Power Mac G3 や G4 が手元にあるなら、動かしてどこが壊れるか試してみてください——バグ報告と実機スクリーンショットこそ、このプロジェクトが必要としているものです。現在の課題リストは docs/status.md を参照してください。


なぜこれを作ったのか

ウェブは 20 年前に Classic Mac OS を追い越しました。近代的な HTTPS が 2016 年頃にそれをとどめました。今日、クローゼットから G3 や G4 を取り出しても、生きたウェブサイトにはほとんどたどり着けません。

MacSurf は、その問題をマシン自身で解決しようという試みです——スクリーンショットのプロキシも、リモートターミナルのトリックもありません。プラットフォームに元々あったツール、CodeWarrior、Carbon、QuickDraw、Open Transport で作られたネイティブブラウザです。本物の CSS3 レイアウトと本物の JavaScript が、1999 年製 iMac の 64 MB というメモリ下限の中で動作します。2026 年 5 月下旬以降は macTLS を通じて現代のウェブと直接 TLS 1.2 で通信します。macTLS は BearSSL ベースのスタックで、Mozilla CA バンドル由来の 121 個のトラストアンカーを同梱し、ブラウザのバイナリ内に収められています。もうプロキシは不要です。

私たちが知る限り、これは Classic Mac OS 向けとしては初の本格的な NetSurf 移植であり、Mac OS 9 に搭載されたブラウザとして、ネイティブの CSS Grid、CSS カスタムプロパティ、ES5 JavaScript を備えた初のものです。


進化の過程

以下の各ショットは、Mac OS 9 を搭載した Power Macintosh G3 で撮影された実際のマイルストーンです。fix 番号の注釈は、このリポジトリのコミット履歴に対応しています。


構成要素


現在動作するもの


ダウンロード

最新版は MacSurf 1.68 ——「macQJS」(2026-07-07)です:JavaScript エンジンが置き換えられました——Duktape(ES5)→ macQJS(QuickJS、ES2023)。これにより、モダンな JavaScript が Mac OS 9 上でネイティブに動作します。 さらに、動作するテキスト入力(キャレット / 選択 / Tab)、ログイン状態の保持、ブックマークメニュー + ダウンロードマネージャ、分割スクロールバーの描画修正、ダウンロード可能なウェブフォントのアイコン用グリフ、そして大幅なパフォーマンス改善(ほぼ即座の起動、画像 / フォントのディスクキャッシュ、ビューポートでの画像の遅延読み込み)も含まれます。このサイクルを牽引したコミュニティである 68kmla.org に敬意を表して命名されました。詳細なノート: release-notes/MacSurf-1.68.md。

1 つ前の MacSurf v1.4 — Open House(2026-06-01):JavaScript マラソンが完結しました。 1 回のリリースで 23 件の JS ブリッジの問題が未解決から解決に変わりました——setTimeout / setInterval / requestAnimationFrame、window.location、window.history、URL、URLSearchParams、classList、style、Event コンストラクタ、MutationObserver、DOMParser、FormData、localStorage、、 / イベント、さらに / のトグル。新しいプローブスイートは G3 iMac 上で を記録しました。診断ページも実装済み: 、、、 はすべて実際のカウンタを描画します。View Source はインラインで表示され、ページ内検索(Find-in-page)は本物の Carbon ダイアログを開きます。さらに前の はマルチカーブの TLS 1.3 を搭載。 は Classic Mac OS 初のネイティブ TLS 1.3。 はエントロピーの穴を塞ぎました。 は UI を再設計したリリース。 はコールドロードの高速化(mactrove.com が 30 秒以上 → 約 2〜3 秒)。最初の番号付きアルファ版は です。

  • MacSurf.sit —— v1.4 のバイナリで、すぐに実行できます。CarbonLib 1.5+ を備えた Mac OS 9.1+ で展開して起動してください。
  • ソースからビルドする場合: リポジトリをクローンし、Mac 側で CodeWarrior 8 から browser/netsurf/frontends/macos9/MacSurf.mcp を開いて Build を選択します。v1.3.1 のワークスペースで v1.4 をビルドする場合は、1 つの新しいソースファイルをプロジェクトに追加する必要があります: browser/netsurf/desktop/search.c(新しい Find ダイアログ用の browser_window_search を提供します。content/textsearch.c は既に含まれています)。macTLS は v1.3.1 から変更ありません。v1.2 のワークスペースで v1.3 をビルドする場合は、TLS 1.3 用に 4 つの macTLS ファイルを追加する必要があります: bearssl/src/ec/ec_c25519_m15.c、os9/ostls_tls13_keysched.c、os9/ostls_tls13_record.c、os9/ostls_tls13_handshake.c。v1.0 のワークスペースで v1.2 をビルドする場合は desktop/download.c が必要です。最初のリリースには CW8 プロジェクトがあらかじめ設定された BuildPack.sit スナップショットが同梱されていますが、現在のビルドは新規クローンからそのまま動作します。

文脈が必要な場合は初期アルファ版のノート: docs/release-notes/MacSurf-0.1a1.md。


はじめに

ブラウザのビルド

MacSurf は Mac OS 9 上で CodeWarrior 8 Pro(8.3 アップデート)を使ってビルドされます。ソースは Retro68 PowerPC GCC に対してクロスコンパイルがクリーンです。これは Linux 側で高速な構文チェックを行うために使用しているものです。

  • Mac 側のビルドガイド
  • Linux でのクロス開発ワークフロー
ツールをダウンロード
Mac OS 9 で JavaScript の Hello World
v0.2:Mac OS 9 で JavaScript
初の実用的な JS 搭載ページ。Duktape 2.7.0 の ES5 がライブで動作:Math.sqrt、JSON、ES5 の配列メソッド。
CSS transform の rotate、scale、translate
fixes73:CSS トランスフォーム
ネイティブの transform: rotate() / scale() / translate()。整数 Q15 の sin/cos テーブル、FPU 非依存、QuickDraw 上で任意角度。
CSS の放射状グラデーション
fixes74d:放射状グラデーション
同心円状の PaintOval スタックによる 2 ストップの放射状グラデーション。デコード時に 16 レベルをスミア処理。シェイプと位置のキーワードをパース。
CSS アニメーション:wiggle、swing、スロー回転
fixes77:CSS アニメーション
fixes73 の回転をベースにしたリニアなピンポンアニメーションプレイヤー。wiggle、swing、そして 0°→359° の完全な回転。
Mac OS 9 で透過 PNG 画像
fixes79b:PNG 透過
QuickTime Graphics Importer が NetSurf の画像コンテンツハンドラに供給。PNG + GIF + BMP、すべて本物の透過に対応。
CSS の word-break と overflow-wrap
fixes136:word-break / overflow-wrap
word-break: break-all、keep-all、white-space: nowrap、レガシーな word-wrap: break-word。URL スタイルのアグレッシブな折り返し。
CSS の z-index スタッキングコンテキスト
fixes147:スタッキングコンテキスト
CSS 2.1 の描画順序。opacity、トランスフォーム、明示的な z-index はすべて新しいスタッキングコンテキストを生成し、実機上で正しく描画されます。
CSS Grid のカラム配置
fixes151:CSS Grid のカラム配置
grid-column: span N、全行ヒーローセクションの 1 / -1、位置指定の start / end、span + 自動折り返し。OS 9 で本物の Grid レイアウト。
home.macsurf.org を描画する MacSurf 1.0
v1.0:ショーケース
新しいツールベルトツールバー、シャープな URL フィールド、マット仕上げのアイコンで、OS 9.2.2 を搭載した G3 iMac 上で home.macsurf.org を描画。macTLS によるオリジン直結のネイティブ HTTPS、サーバーサイドレンダリングのポータル、エンドツーエンドのトゥルーカラー画像。
コンポーネント言語目的
browser/C (C89, CW8)macos9 フロントエンドを備えた NetSurf フォーク。UI は Carbon、描画は QuickDraw、ネットワークは Open Transport、JS は Duktape。
proxy/Go (stdlib only)旧式の TLS ストリッピング HTTP プロキシ。macTLS がネイティブで動作するようになった現在はほぼ退役していますが、フォールバックや CarbonLib のないマシンでは今でも有用です。Mac は平文 HTTP を送信し、プロキシが HTTPS で取得して平文 HTTP を返します。
macTLS
兄弟リポジトリ
C (CW8)OS 9 向けのネイティブ TLS 1.2 ライブラリ——Mac から直接モダンな HTTPS へ、プロキシ不要。内部は BearSSL、121 個のトラストアンカーを内蔵。

レンダリングパイプライン

  • NetSurf の完全な fetch → parse → cascade → layout → plot
  • var() 解決を備えたネイティブ libcss
  • オフスクリーンの GWorld バックバッファを使用する QuickDraw プロッタ

CSS —— レイアウトで約 150 のプロパティに対応

  • カスタムプロパティと var()
  • Flex:justify-content、align-content、order
  • Grid V1 と grid-template-columns/rows、gap
  • border-radius、box-shadow、opacity
  • 線形グラデーションと放射状グラデーション
  • text-shadow、text-overflow: ellipsis
  • transform(rotate、translate、scale)
  • z-index スタッキングコンテキスト(CSS 2.1 の描画順序)
  • CSS カウンタ、ビューポート単位、aspect-ratio
  • sans、serif、monospace の font-family エイリアス

CSS の対応状況一覧 →

JavaScript —— Duktape 2.7.0、完全な ES5

  • クロージャ、プロトタイプ、正規表現、JSON
  • Promise(ポリフィル)、再帰、マンデルブロ集合
  • 233 MHz の G3 で ackermann(3,7) が約 6 秒

画像 —— 全 5 形式

  • ピクセル単位の本物のアルファを持つ PNG(lodepng + CopyMask)
  • パレット透過の GIF
  • JPEG、BMP、TIFF

ネットワーク

  • Open Transport TCP、素の非 InContext 呼び出し
  • HTTP/1.1 + chunked + keep-alive + 3xx フォロー
  • コネクションプーリング、15 秒の無進捗タイムアウト
  • macTLS(デフォルト)または Go プロキシ(フォールバック)経由の HTTPS

ブラウザ UI

  • アドレスバー、戻る / 進む / 再読み込み / ホーム
  • ステータスバー、ページ情報、複数ウィンドウ
  • スムーズなスクロールバー、キーボードスクロール
fetch
load
DOMContentLoaded
<details>
<summary>
JS 19/19 pass, 0 fail
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