mirror of
https://github.com/BigBodyCobain/Shadowbroker.git
synced 2026-06-04 13:28:13 +02:00
668ce16dc7
Gate messages now propagate via the Infonet hashchain as encrypted blobs — every node syncs them through normal chain sync while only Gate members with MLS keys can decrypt. Added mesh reputation system, peer push workers, voluntary Wormhole opt-in for node participation, fork recovery, killwormhole scripts, obfuscated terminology, and hardened the self-updater to protect encryption keys and chain state during updates. New features: Shodan search, train tracking, Sentinel Hub imagery, 8 new intelligence layers, CCTV expansion to 11,000+ cameras across 6 countries, Mesh Terminal CLI, prediction markets, desktop-shell scaffold, and comprehensive mesh test suite (215 frontend + backend tests passing). Community contributors: @wa1id, @AlborzNazari, @adust09, @Xpirix, @imqdcr, @csysp, @suranyami, @chr0n1x, @johan-martensson, @singularfailure, @smithbh, @OrfeoTerkuci, @deuza, @tm-const, @Elhard1, @ttulttul
41 lines
1.3 KiB
TypeScript
41 lines
1.3 KiB
TypeScript
const MESH_TERMINAL_OPEN_EVENT = 'oracle:open-mesh-terminal';
|
|
const SECURE_MESH_TERMINAL_LAUNCHER_EVENT = 'oracle:open-secure-mesh-terminal-launcher';
|
|
|
|
export function requestMeshTerminalOpen(source = 'ui'): void {
|
|
if (typeof window === 'undefined') return;
|
|
window.dispatchEvent(
|
|
new CustomEvent(MESH_TERMINAL_OPEN_EVENT, {
|
|
detail: { source, at: Date.now() },
|
|
}),
|
|
);
|
|
}
|
|
|
|
export function subscribeMeshTerminalOpen(handler: () => void): () => void {
|
|
if (typeof window === 'undefined') {
|
|
return () => {};
|
|
}
|
|
|
|
const listener = () => handler();
|
|
window.addEventListener(MESH_TERMINAL_OPEN_EVENT, listener);
|
|
return () => window.removeEventListener(MESH_TERMINAL_OPEN_EVENT, listener);
|
|
}
|
|
|
|
export function requestSecureMeshTerminalLauncherOpen(source = 'ui'): void {
|
|
if (typeof window === 'undefined') return;
|
|
window.dispatchEvent(
|
|
new CustomEvent(SECURE_MESH_TERMINAL_LAUNCHER_EVENT, {
|
|
detail: { source, at: Date.now() },
|
|
}),
|
|
);
|
|
}
|
|
|
|
export function subscribeSecureMeshTerminalLauncherOpen(handler: () => void): () => void {
|
|
if (typeof window === 'undefined') {
|
|
return () => {};
|
|
}
|
|
|
|
const listener = () => handler();
|
|
window.addEventListener(SECURE_MESH_TERMINAL_LAUNCHER_EVENT, listener);
|
|
return () => window.removeEventListener(SECURE_MESH_TERMINAL_LAUNCHER_EVENT, listener);
|
|
}
|