Локальный браузер для исследований на macOS, построенный на кастомной сборке Brave, который захватывает сетевой трафик, отпечатки, скрипты и данные среды выполнения для реверс-инжиниринга веб-приложений.
Запустите make из корня репозитория. Корневой Makefile определяет
цель по умолчанию и включает следующие файлы по порядку:
| Файл | Ответственность |
|---|---|
config.mk | Флаги компилятора, каталоги сборки, списки исходников для lint, платформенные значения по умолчанию |
native.mk | Явные зависимости нативной линковки, компиляция, зависимости от сгенерированных заголовков |
workflows.mk | Запуск продукта, фикстуры доказательств, локальные сервисы, команды интеграции с Brave |
quality.mk | Проверка регрессии сборки, линтеры, санитайзеры, очистка |
Существующие имена команд и пути к исполняемым файлам остаются публичным интерфейсом.
Объекты реализации повторяют пути к исходникам внутри BUILD_DIR; сгенерированные
компилятором файлы .d отслеживают прямые и транзитивные заголовки проекта. Только
исполняемый файл декодера добавляет zlib в свою команду линковки. make native-probe-compile
компилирует отслеживаемую очередь браузера без отдельного тестового исходника.
make bootstrap-dev-tools устанавливает те же закреплённые версии clang-format и Ruff,
которые используются в CI, в ~/.local/share/reb-tools, а также устанавливает отсутствующие
формулы shellcheck и actionlint через Homebrew. Make автоматически предпочитает эти
закреплённые локальные инструменты. make deob-benchmark собирает Rust-воркер и запускает
ограниченный семантический корпус с доказательствами по времени, памяти, преобразованиям и
покрытию изменённых исходников.
make lint проверяет форматирование и предупреждения Clippy для обоих манифестов Rust.
Воркер деобфускации включает все цели, поэтому его код регрессионных тестов проверяется
вместе с производственным исполняемым файлом.
Используйте отдельный каталог сборки для другого компилятора или набора флагов:
make BUILD_DIR=build/debug OPT_CXXFLAGS='-O0 -g' all
Make не обнаруживает изменения значений флагов командной строки в существующем каталоге
сборки. Изменения в нативных правилах или файлах конфигурации компилятора действительно
инвалидируют нативные объекты. make sanitize использует собственный чистый каталог сборки.
make native-build-test запускает scripts/check-native-build.sh, который собирает и
запускает два независимых исполняемых файла во
временном каталоге, проверяет, что повторная сборка не выполняет никакой работы, и
удостоверяется, что изменение заголовка артефакта инвалидирует его потребителя без
пересборки демонстрации событий. make check включает эту проверку регрессии,
семантический бенчмарк деобфускации, а также наборы Rust-тестов бэкенда и воркера
деобфускатора. Он также запускает интеграционный тест HTTP/CLI source-facts против
собранного Rust/Oxc-воркера; CARGO_TARGET_DIR учитывается при поиске этого помощника.
make native-proxy-policy-check компилирует и запускает набор тестов политики
нативного прокси/контейнера только для подготовки, без Chromium, Cargo, сокетов или
браузера. Он включён в make check и make sanitize; он не устанавливает реальную
маршрутизацию или изоляцию браузера. См. версионированный контракт нативного
прокси-контейнера.
origin-trace-backend собирает HTTP-сервис на Rust, анализатор VM и API CLI.
ui запускает этот сервис после детерминированной генерации доказательств. backend-e2e
использует одноразовый Chromium-совместимый профиль и синтетические фикстуры localhost;
задайте ORIGIN_TRACE_TEST_BROWSER для нестандартного исполняемого файла браузера. Сборки
приложений объединяют исполняемые файлы Rust и статические ресурсы UI без зависимости от
среды выполнения Python.