Локальный браузер для исследований на macOS, построенный на кастомной сборке Brave, который захватывает сетевой трафик, отпечатки, скрипты и данные среды выполнения для реверс-инжиниринга веб-приложений.
Запустите make из корня репозитория. Корневой Makefile определяет
цель по умолчанию и включает следующие файлы по порядку:
| Файл | Ответственность |
|---|---|
config.mk | Флаги компилятора, каталоги сборки, списки исходников для линтера, платформенные значения по умолчанию |
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 и CLI API.
ui запускает этот сервис после детерминированной генерации доказательств. Сборки приложения
объединяют исполняемые файлы Rust и статические ресурсы UI без зависимости от среды выполнения Python.
make check также запускает native-only-check (поставляемый UI в модели LinkeDOM,
отсутствие удалённых элементов управления и отказ стартового скрипта от выведенных из эксплуатации опций CDP; он
устанавливает закреплённый lockfile tools/ui-startup-deps при первом использовании) и запускает каждый
игнорируемый интеграционный тест Rust по точному имени, завершаясь с ошибкой, если не прошёл ровно один тест.
make quickjs-binding-check проверяет закреплённый публичный модуль QuickJS.
make rendered-ui-check — это приёмка отрендеренного UI на macOS для упакованного приложения;
для XCTest требуется полный Xcode.