chore: padroniza arquitetura Ciberfauna, logo na raiz, hooks de verificação e CI multi-arch no runner ARM
CI / Formatação e clippy (push) Successful in 1m9s
CI / Auditoria de dependências (push) Successful in 12s
CI / Testes (Linux) (push) Successful in 1m34s
Release / Cria a release (push) Successful in 5s
CI / Compila o app desktop (Linux) (push) Successful in 1m36s
Release / CLI (linux-aarch64) (push) Successful in 1m23s
Release / CLI (linux-x86_64) (push) Successful in 1m40s
Release / App desktop (linux-aarch64) (push) Successful in 7m32s
Release / App desktop (linux-x86_64) (push) Failing after 9m5s
Release / App desktop (windows) (push) Failing after 6m20s

This commit is contained in:
Lucas Rayan committed 2026-10-30 17:38:58 -03:00
1 parent 30a086a808
commit 659701b2d4
95 files changed
+2826 -253

No files matched your search

+4 -4
View File
@@ -34,12 +34,12 @@ pub struct ReportOptions {
}
const PAGED_MARKER: &str = "<!--SABIA_PAGEDJS-->";
const LOGO_PNG: &[u8] = include_bytes!("../../../apps/gui/ui/sabia.png");
const LOGO_PNG: &[u8] = include_bytes!("../../../logo.png");
const B64: &[u8; 64] = b"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
/// Embute o logo como `data:` URI — sem isso o relatório standalone (modo
/// offline, pensado pra abrir sem servidor nenhum) teria um `<img
/// src="/sabia.png">` que nunca resolve fora do `sabia ui`. Pequeno o
/// src="/logo.png">` que nunca resolve fora do `sabia ui`. Pequeno o
/// bastante (poucos KB) pra não valer a pena puxar uma crate de base64 só
/// por isso.
fn base64(bytes: &[u8]) -> String {
@@ -502,7 +502,7 @@ pub fn render(model: &ReportModel, options: ReportOptions) -> String {
let paged = if options.inline_pagedjs {
PAGED_MARKER.to_string()
} else {
"<script src=\"/paged.polyfill.min.js\"></script>".to_string()
"<script src=\"/vendor/paged.polyfill.min.js\"></script>".to_string()
};
let stats = &model.stats;
let crackable = model.handshakes.iter().filter(|h| h.crackable).count();
@@ -765,7 +765,7 @@ mod tests {
m.title = "Rede <x>".into();
let html = render(&m, ReportOptions::default());
assert!(html.contains("Rede &lt;x&gt;"));
assert!(html.contains("paged.polyfill.min.js"));
assert!(html.contains("/vendor/paged.polyfill.min.js"));
assert!(html.contains("@page"));
}
+2 -2
View File
@@ -1,7 +1,7 @@
//! Ataque de PIN WPS com o `reaver` embutido.
//!
//! O protocolo EAP-WSC é grande demais para reimplementar aqui; o Sabiá
//! carrega uma cópia do reaver (GPL-2, veja `assets/tools/LICENSE.reaver`),
//! carrega uma cópia do reaver (GPL-2, veja `crates/sabia-core/assets/tools/LICENSE.reaver`),
//! extrai em tempo de execução e mostra a saída ao vivo. Assim o WPS já
//! funciona sem instalar nada. Se o usuário tiver um `bully` no PATH, ele
//! também aparece como alternativa.
@@ -17,7 +17,7 @@ pub struct WpsTool {
}
#[cfg(target_os = "linux")]
const BUNDLED_REAVER: &[u8] = include_bytes!("../../../assets/tools/reaver");
const BUNDLED_REAVER: &[u8] = include_bytes!("../assets/tools/reaver");
/// Procura um binário no `PATH` — usado pelo WPS (reaver/bully) e, fora
/// deste módulo, pelo Evil Twin (hostapd/dnsmasq), que precisa da mesma