Navegador de pesquisa macOS local-first construído sobre uma build personalizada do Brave que captura tráfego de rede, fingerprints, scripts e evidências de runtime para engenharia reversa de aplicações web.
Execute make a partir da raiz do repositório. O Makefile raiz define
o objetivo padrão e inclui estes arquivos na seguinte ordem:
| Arquivo | Responsabilidade |
|---|---|
config.mk | Flags do compilador, diretórios de build, listas de fontes para lint, padrões de plataforma |
native.mk | Dependências explícitas de link nativo, compilação, dependências de cabeçalhos gerados |
workflows.mk | Lançamento do produto, fixtures de evidência, serviços locais, comandos de integração com o Brave |
quality.mk | Verificação de regressão do build, linters, sanitizers, limpeza |
Os nomes de comandos e caminhos de executáveis existentes permanecem como interface pública.
Os objetos de implementação espelham os caminhos de origem dentro de BUILD_DIR; os arquivos
.d gerados pelo compilador rastreiam cabeçalhos diretos e transitivos do projeto. Apenas o
executável do decodificador adiciona zlib ao seu comando de link. make native-probe-compile
compila a fila de navegador rastreada sem uma fonte de teste separada.
make bootstrap-dev-tools instala as mesmas versões fixadas de clang-format e Ruff
usadas pela CI em ~/.local/share/reb-tools, e instala as fórmulas ausentes de
shellcheck e actionlint com o Homebrew. O Make prefere automaticamente essas
ferramentas locais fixadas. make deob-benchmark compila o worker Rust e executa
o corpus semântico limitado com evidências de tempo, memória, transformação e
cobertura de fontes alteradas.
make lint verifica a formatação e os avisos do Clippy para ambos os manifestos Rust.
O worker de desofuscação inclui todos os alvos, de modo que seu código de teste de
regressão é verificado junto com o executável de produção.
Use um diretório de build separado para um compilador ou conjunto de flags diferente:
make BUILD_DIR=build/debug OPT_CXXFLAGS='-O0 -g' all
O Make não detecta alterações nos valores das flags de linha de comando em um diretório
de build existente. Alterações nas regras nativas ou nos arquivos de configuração do
compilador invalidam os objetos nativos. make sanitize usa seu próprio diretório de
build limpo.
make native-build-test executa scripts/check-native-build.sh, que compila e
executa dois executáveis independentes em um diretório temporário, verifica que um
build repetido não realiza trabalho e confirma que uma alteração no cabeçalho de um
artefato invalida seu consumidor sem recompilar a demonstração de eventos. make check
inclui esta verificação de regressão, o benchmark semântico de desofuscação e as suítes
de testes Rust do backend e do worker de desofuscação. Ele também executa o teste de
integração HTTP/CLI de fatos de origem contra o worker Rust/Oxc compilado;
CARGO_TARGET_DIR é respeitado ao localizar esse auxiliar.
make native-proxy-policy-check compila e executa a suíte de políticas de proxy/container
nativo somente de preparação, sem Chromium, Cargo, sockets ou navegador.
Ela está incluída em make check e make sanitize; não estabelece roteamento ou
isolamento real de navegador. Consulte o contrato versionado de proxy-container nativo.
origin-trace-backend compila o serviço HTTP Rust, o analisador de VM e a CLI de API.
ui inicia esse serviço após a geração determinística de evidências. Os builds do app
empacotam executáveis Rust e ativos estáticos de UI, sem dependência de runtime Python.
make check também executa native-only-check (a UI distribuída em um modelo LinkeDOM,
ausência de controles removidos e recusa do script de lançamento de opções CDP descontinuadas;
ele instala o lockfile fixado de tools/ui-startup-deps no primeiro uso) e executa cada
teste de integração Rust ignorado pelo nome exato, falhando a menos que exatamente um teste
tenha passado. make quickjs-binding-check verifica o módulo QuickJS público fixado.
make rendered-ui-check é a aceitação renderizada no macOS do app empacotado;
requer o Xcode completo para o XCTest.