- Logo oficial (sabia.png) e conjunto de ícones do app desktop. - Interface em português e inglês: tradutor por observação do DOM, seletor de idioma e checagem de cobertura de tradução no CI. - CI/CD com caches (rust-cache, .deb do Tauri em cache) e pipeline de release multiplataforma (CLI em 5 alvos + app desktop via tauri-action), templates de issue/PR. - Suíte de testes de integração do sabia-core (scan e2e, handshake/crack 4-way e PMKID, pcap, trilha de auditoria) — 46 testes verdes. - Documentação completa pt/en: README, ROADMAP, SECURITY, CONTRIBUTING, CHANGELOG e docs/ (cli, interface, arquitetura), com enquadramento de uso autorizado. - Correções de clippy (-D warnings) e formatação em toda a árvore. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2.5 KiB
Contribuindo com o Sabiá
English · Português
Obrigado por ajudar! Regras de ouro:
- Só auditoria autorizada. Todo recurso novo é para testar redes próprias ou com autorização. Operações sensíveis (desautenticação) exigem confirmação explícita e ficam na trilha de auditoria. PRs que escondem atividade da trilha ou removem as confirmações são recusados.
- Teste os parsers com dados reais. Novos leitores (radiotap, 802.11, EAPOL, pcap) precisam de teste com quadros conhecidos — veja
crates/sabia-core/tests/e os ajudantes emcrates/sabia-core/src/testutil.rs. Nada de parser sem teste. - Seja honesto sobre o que funciona. Se um recurso só roda no Linux, ou só cobre WPA2-PSK, diga isso no
--help, no README e no teste.
Fluxo
cargo fmt --all
cargo clippy --workspace --all-targets # como no CI (RUSTFLAGS=-D warnings)
cargo test --workspace
node scripts/check-ui-i18n.mjs # cobertura da tradução da interface
O CI roda em Linux, Windows e macOS; rode esses comandos antes do push — quase tudo que faz o CI falhar aparece aqui em segundos. Mudanças só de documentação (*.md, docs/) são leves no CI.
A captura ao vivo só existe no Linux (AF_PACKET + netlink); em Windows e macOS esses caminhos são compilados mas não exercitados. Testes de parsing e de quebra rodam nas três plataformas, porque são offline.
Onde mexer
Mapa dos módulos em docs/pt-BR/arquitetura.md. O que falta e o que é bem-vindo está no ROADMAP.
- Parsing de quadros:
radiotap.rs,dot11.rs,eapol.rs. - Rádio e sistema:
iface.rs,netlink.rs,scan.rs,capture.rs,inject.rs. - Handshake e quebra:
handshake.rs,crack.rs. - App e API:
crates/sabia-cli/src/eapps/gui/.
Interface e tradução
O texto-fonte da interface é em português; o inglês vem de apps/gui/ui/i18n-en.js, aplicado em tempo de execução por i18n.js. Ao adicionar ou mudar texto visível, rode node scripts/check-ui-i18n.mjs e inclua a tradução — o CI recusa português sem par em inglês. Não traduza dados do usuário (SSID, BSSID, valores) nem termos técnicos (WPA, EAPOL, pcap…).
Documentação
Mantenha o par pt/en: todo arquivo *.md e docs/* tem a versão em português (*.pt-BR.md, docs/pt-BR/) e em inglês.
Licença
Ao contribuir, você concorda em licenciar sob MIT ou Apache-2.0, como o resto do projeto.