Esqueleto inicial: sabia-core + sabia-cli + UI local, OpenWolf
- sabia-core: descoberta de interfaces, controle de modo monitor/canal via iw (ponte até ter nl80211 nativo), captura crua 802.11 via AF_PACKET (sem libpcap), parsing de radiotap e quadros de gerenciamento (beacon/probe/EAPOL), agregação em tabela de APs/ clientes, escrita de .pcap, trilha de auditoria encadeada por hash, auto-atualização via GitHub releases (curl, sem dependências de rede extras) - sabia-cli: `sabia iface`, `sabia scan`, `sabia update`, `sabia audit-verify`, `sabia ui` (servidor local + navegador, protegido por token, mesma filosofia do Guará) - OpenWolf inicializado para memória de projeto entre agentes
This commit is contained in:
commit
e989413018
76 files changed
+8386
No files matched your search
@@ -0,0 +1,16 @@
|
||||
import * as fs from 'node:fs';
|
||||
import * as path from 'node:path';
|
||||
import {execFileSync} from 'node:child_process';
|
||||
/** Only durable bug knowledge is shared. Anatomy, usage, sessions and STATUS
|
||||
* always remain in the worktree's own .wolf directory.
|
||||
*/
|
||||
export function sharedWolfDir(wolfDir: string): string {
|
||||
const root=path.dirname(wolfDir);
|
||||
try {
|
||||
if (!fs.statSync(path.join(root,'.git')).isFile()) return wolfDir;
|
||||
const common=execFileSync('git',['rev-parse','--path-format=absolute','--git-common-dir'],{cwd:root,encoding:'utf8',stdio:['ignore','pipe','ignore'],timeout:1000}).trim();
|
||||
if (path.basename(common) !== '.git') return wolfDir;
|
||||
const shared=path.join(path.dirname(common),'.wolf');
|
||||
return fs.statSync(shared).isDirectory() ? shared : wolfDir;
|
||||
} catch {return wolfDir;}
|
||||
}
|
||||
Reference in new issue
Block a user