Rockxy の物語

なぜネイティブでオープンソースの macOS HTTP デバッグプロキシを作ったのか。

Rockxy が存在する理由

HTTP API を扱うすべての macOS 開発者は同じ壁にぶつかります。Charles Proxy は Java アプリで Mac 上では違和感があります。Proxyman はネイティブですがクローズドソースで、トラフィックの扱いを監査したりワークフローを拡張したりできません。ブラウザの DevTools はそのブラウザのトラフィックしか見えず、システムサービス、CLI ツール、バックグラウンドプロセスは完全に見逃します。

macOS ネイティブで、誰でもコードを読んで貢献できるオープンソースで、トラフィックがマシンから出ないローカルファーストのデバッグプロキシが欲しかったのです。Rockxy がそのツールです。

Rockxy とは

Rockxy は macOS 向けの完全なローカルデバッグワークステーションです。Mac 上のあらゆるアプリから HTTP、HTTPS、WebSocket、GraphQL-over-HTTP トラフィックをキャプチャします。ルールを適用してリクエストのリダイレクト、ブロック、スロットリングが可能です。ブレークポイントでリクエストやレスポンスを一時停止して編集。変更を加えてリクエストをリプレイ。差分ビューで 2 つのキャプチャしたトランザクションを並べて比較。JavaScript スクリプトでトラフィック操作を自動化。完全なデバッグセッションの保存と共有が可能です。

SwiftUI と AppKit で構築されたネイティブ macOS アプリとして動作します。Electron でも Java でもブラウザ拡張でもありません。プロキシエンジンは SwiftNIO で構築され、高スループット・低レイテンシのトラフィック処理を実現。リクエストリストは仮想スクロールの NSTableView を使用し、100,000 以上のリクエストをラグなく処理します。

私たちの価値観

オープンソース

Apache 2.0 ライセンス。すべてのコードを読めます。フォーク、拡張、コントリビュート。

プライバシーファースト

テレメトリなし。分析なし。クラウドなし。アカウント不要。トラフィックは Mac 上に留まります。

ネイティブパフォーマンス

SwiftUI + AppKit。SwiftNIO プロキシエンジン。仮想スクロール NSTableView。Mac のために作られました。

開発者所有

コミュニティ駆動開発。ベンダーロックインなし。サブスクリプションなし。永久無料。

使用技術

SwiftSwiftNIOSwiftUIAppKitswift-certificatesswift-cryptoswift-nio-sslSQLite.swiftJavaScriptCore