Ninja-Shield v2 — Static Mockup
Offline-first dashboard mockup with real log-derived data from backbone & nullfeld.
This is a static preview — no server, no fetch, no ninjad. Just open www/index.html and it works. The data is baked in from actual ninja.sh reports.
What's inside
| File | Purpose |
|---|---|
www/index.html |
Dashboard with embedded static data (backbone node) |
samples/backbone_ninja.json |
Parsed backbone access.log → JSON |
samples/nullfeld_ninja.json |
Parsed nullfeld access.log → JSON |
samples/multi_node.json |
Both nodes combined |
bin/access2ninja.py |
Parser (run once, save JSON, embed) |
bin/crumbmidi_bridge.py |
MIDI event generator |
bin/ninja.sh |
Original triage tool |
How to update the mockup data
- Get a fresh
access.logfrom a server (or use ninja.sh output) - Run the parser:
./bin/access2ninja.py /var/log/nginx/access.log <node> <self_ip> > samples/<node>_ninja.json
- Edit
www/index.html→ replace theSTATIC_MOCKUPobject with the new JSON
Test on servers (Ansible/Netbox required)
Once Ansible + Netbox are in place:
- Run
access2ninja.pyon each server, save JSON to a shared location - Dashboard loads JSON via
?log=parameter (feature flag, currently disabled) - Or:
ninjadserves live JSON on each node (requires firewall rules)
Current state: Mockup only. No server deployment without Ansible/Netbox.
License
CKL-Dojo — see Ninja-Shield-v1 for the full license stack.