ローカルファーストの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 ワーカーに対して
source-facts の 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 は決定論的なエビデンス生成の後にそのサービスを起動します。
backend-e2e は使い捨ての Chromium 互換プロファイルと合成 localhost フィクスチャを
使用します。標準外のブラウザ実行ファイルには ORIGIN_TRACE_TEST_BROWSER を設定して
ください。アプリのビルドは Rust 実行ファイルと静的 UI アセットをバンドルし、Python
ランタイムへの依存はありません。