Initializing DecentralRadar v1.0...
STATUS: Illuminating the invisible. π
LAYER: Shadowing the grid. π₯·
RESULT: Maximum signal. π₯
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βSYSTEM::NODE_SCAN [ββββββββββ] 80% (π°οΈ) LOC: PRIVATE β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β β’β€ β₯β£ β
β β’β€ βββββββββββββββββ β₯β£ β
β β β β β β
β β β β’ββββββ£ β β TRK: 5.0 GHz β
β β β β β β β β SIG: STABLE β
β β β β₯ββββββ€ β β BUF: CLEAR β
β β β_________________β β β
β β₯β£ β’β€ β
β β₯β£ GOJOSIX.EYE β’β€ β
β β₯β£____________________β’β€ β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β[!] Illuminating the invisible. | [!] Shadowing the grid. β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
gojosix.eye net is the identity and presentation layer for this repository's desktop app.
The Cargo package name is decentral-radar, but the app itself is presented as a highly stylized signal observatory.
This project is a Linux desktop application that scans nearby WiFi networks and transforms them into a live, radar-like observatory.
It synthesizes:
- π¦ Rust for the UI, state modeling, multi-threading, and spatial heuristics.
- β‘ Zig for high-performance, low-level
nl80211WiFi scanning through a dynamically linked shared library. - π¨ egui/eframe for the buttery-smooth, animated dashboard and radar panel.
- π§ Linux Utils (
nmcliandip neigh) for network context and LAN-neighbor visibility.
The result is a local-first tool for visualizing RF visibility in your physical space, unlocking:
- π Nearby SSIDs & BSSIDs tracking
- π Signal strength (RSSI) historical graphing
- π¦ Spatially-aware channel congestion mapping
- π·οΈ Vendor/OUI hints for unknown signals
- π΅οΈ Connected-device awareness & role hints
- πΆ RSSI-based presence and motion heuristics
- π Room fingerprinting and health summaries
Most WiFi tools fall into two extremes: purely technical, text-heavy CLI outputs, or disconnected web dashboards. gojosix.eye net bridges this gap.
It exists to explore a more tactile, visual, and honest way of looking at the WiFi spectrum. It feels like a rich lab instrumentβgiving you dark control-room energy without relying on black-box "smart" systems.
β¨ Key Differentiators:
- Desktop First: Not a web app. Built raw and close to the metal.
- Direct Kernel Access: The Zig scanner talks directly to Linux interfaces via
nl80211. - Commodity Hardware: Requires NO custom sensor nodes; it runs on standard Linux WiFi gear.
- Environmental Context: Fuses raw WiFi visibility with heuristics for motion, posture drift, signal health, and room fingerprinting.
This project intentionally keeps expectations realistic.
- It uses WiFi RSSI heuristics, not dedicated body sensors.
- Words like "Pose", "vitals", "presence", and "motion" are interpretive estimates based on RF signal behavior.
- π Disclaimer: Treat this as an experimental observatory tool, not as a medical, safety, surveillance, or security system.
Linux WiFi / NetworkManager / neighbor table
β
βββ Zig scanner (.so) ββ> nl80211 kernel path
β
βββ nmcli / ip neigh ββ> local network context
β
βΌ
Rust app state ββ> monitoring heuristics ββ> egui observatory & radar
Key moving parts:
build.rs: Automatically invokeszig build -Doptimize=ReleaseSafe.native/src/scanner.zig: Builds the fast, low-level shared scanner library.src/scanner/: Handles Rust FFI and scan data parsing.src/gui/: Renders the immersive dashboard, tabs, and sweeping radar.src/monitoring/,src/pose/,src/vitals/: Computes heuristics and summaries.
This project is currently Linux-first and targeted at Ubuntu-style desktop environments.
Note: It expects a graphical session for
eframe/winit. Headless or compositor-less runs may fail withWaylandError. Scan depth depends on your adapter's capabilities.
Required Tooling:
rustc&cargo(1.94.0+)zig(0.13.0) - Use version 0.13.0 to prevent build API drift.
π¦ Install Rust:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"β‘ Install Zig (0.13.0):
mkdir -p ~/opt && cd ~/opt
# Download the Zig release archive manually from ziglang.org/download -> Linux x86_64
tar -xf zig-linux-x86_64-0.13.0.tar.xz
echo 'export PATH="$PATH:$HOME/opt/zig-linux-x86_64-0.13.0"' >> ~/.zshrc
source ~/.zshrcgit clone https://github.com/zang7777/six-eye gojosix-eye
cd gojosix-eye
cargo runBehind the scenes: Cargo builds the Rust front-end, triggers build.rs to compile the Zig library in native/, links them, and launches the UI.
| Task | Command |
|---|---|
| Run App | cargo run |
| Test Rust | cargo test |
| Test Zig | cd native && zig build test |
| Format Rust | cargo fmt |
gojosix-eye/
βββ build.rs # Rust build script (runs Zig, links library)
βββ native/ # Zig codebase
β βββ build.zig # Zig build definition
β βββ src/scanner.zig # nl80211 WiFi scanner core
βββ src/ # Rust codebase
β βββ gui/ # UI components (dashboard, radar, tabs, export)
β βββ monitoring/ # Observatory summary logic
β βββ pose/ # Posture estimation heuristics
β βββ vitals/ # Vitals-like RSSI drop/spike analysis
β βββ scanner/ # Rust FFI wrapper for Zig scanner
β βββ signal_health.rs # Environmental health & fingerprinting
β βββ models/ # Shared domain data models
βββ assets/
βββ oui/oui.txt # Vendor MAC lookup data
βββ gojosix-eye-net.svg # Original SVG assets
The app can export JSON snapshots of the current observatory state for external analysis.
gojosix_eye_net_export_YYYYMMDD_HHMMSS.json
- Richer radar animation and decaying target trails
- Stronger per-band filtering (2.4GHz / 5GHz / 6GHz)
- Spectrum-style frequency overlays
- Better Linux packaging (AppImage / Flatpak / DEB)
- Saved sessions and historical replay mode
- Temporal diffing between saved room fingerprints
Licensing Dual-licensed under either:
Credits
- Inspired by the legendary RuView aesthetic.
- Built locally by builders, for RF experimenters, and systems-minded tinkerers.
