ローカルファーストのmacOSリサーチブラウザ。カスタムBraveビルド上に構築され、Webアプリのリバースエンジニアリングのためにネットワークトラフィック、フィンガープリント、スクリプト、ランタイム証跡をキャプチャします。
リポジトリのルートから make を実行します。ルートの Makefile がデフォルトのゴールを定義し、以下のファイルを順番にインクルードします:
| ファイル | 役割 |
|---|---|
config.mk | コンパイラフラグ、ビルドディレクトリ、lint 用のソースリスト、プラットフォームのデフォルト |
native.mk | 明示的なネイティブリンク依存関係、コンパイル、生成ヘッダーの依存関係 |
workflows.mk | 製品の起動、エビデンスフィクスチャ、ローカルサービス、Brave 統合コマンド |
quality.mk | ビルド回帰チェック、リンター、サニタイザー、クリーンアップ |
既存のコマンド名と実行ファイルパスは公開インターフェースとして維持されます。実装オブジェクトは BUILD_DIR 内のソースパスをミラーリングします。コンパイラが生成する .d ファイルは、直接および推移的なプロジェクトヘッダーを追跡します。zlib をリンクコマンドに追加するのはデコーダー実行ファイルのみです。make native-probe-compile は、別個のテストソースなしで追跡対象のブラウザキューをコンパイルします。
make bootstrap-dev-tools は、CI で使用されるものと同じ固定バージョンの clang-format と Ruff を ~/.local/share/reb-tools にインストールし、不足している shellcheck と actionlint の formula を Homebrew でインストールします。Make はそれらの固定されたローカルツールを自動的に優先します。make deob-benchmark は Rust ワーカーをビルドし、タイミング、メモリ、変換、および変更されたソースのカバレッジのエビデンスを伴って、境界付きセマンティックコーパスを実行します。
make lint は両方の Rust マニフェストに対してフォーマットと Clippy の警告をチェックします。難読化解除ワーカーはすべてのターゲットを含むため、その回帰テストコードも本番実行ファイルとともにチェックされます。
異なるコンパイラやフラグのセットを使用する場合は、別のビルドディレクトリを使用してください:
make BUILD_DIR=build/debug OPT_CXXFLAGS='-O0 -g' all
Make は既存のビルドディレクトリ内のコマンドラインフラグ値の変更を検出しません。ネイティブルールやコンパイラ設定ファイルへの変更は、ネイティブオブジェクトを無効化します。make sanitize は独自のクリーンビルドディレクトリを使用します。
make native-build-test は scripts/check-native-build.sh を実行します。これは一時ディレクトリ内で 2 つの独立した実行ファイルをビルドして実行し、再ビルドが何も行わないことを確認し、アーティファクトのヘッダー変更がイベントデモを再ビルドせずにそのコンシューマーを無効化することを検証します。make check にはこの回帰チェック、難読化解除セマンティックベンチマーク、およびバックエンドと難読化解除ワーカーの Rust テストスイートが含まれます。また、ビルドされた Rust/Oxc ワーカーに対してソースファクトの HTTP/CLI 統合テストを実行します。そのヘルパーを特定する際には CARGO_TARGET_DIR が尊重されます。
make native-proxy-policy-check は、Chromium、Cargo、ソケット、ブラウザを使用せずに、準備専用のネイティブプロキシ/コンテナポリシースイートをコンパイルして実行します。これは make check と make sanitize に含まれますが、実際のブラウザルーティングや分離を確立するものではありません。バージョン管理されたネイティブプロキシコンテナ契約を参照してください。
origin-trace-backend は Rust HTTP サービス、VM アナライザー、および API CLI をビルドします。ui は決定論的エビデンス生成の後にそのサービスを起動します。アプリビルドは Rust 実行ファイルと静的 UI アセットをバンドルし、Python ランタイム依存関係を持ちません。
make check はまた、native-only-check (LinkeDOM モデル内の出荷済み UI、削除されたコントロールの不在、および廃止された CDP オプションの起動スクリプトによる拒否。初回使用時に固定された tools/ui-startup-deps ロックファイルをインストールします) を実行し、各無視された Rust 統合テストを正確な名前で実行し、ちょうど 1 つのテストが合格しない限り失敗します。make quickjs-binding-check は固定された公開 QuickJS モジュールをチェックします。make rendered-ui-check はパッケージ化されたアプリの macOS レンダリング受け入れテストであり、XCTest のために完全な Xcode を必要とします。