zonescope is the zero-runtime-dependency Bun and TypeScript topology truth engine for the loca.zone operator hub. It reads the host from independent angles, joins the observations into one Snapshot, and reports contradictions instead of treating any one inventory as authoritative.

Seven sources

  • nginx configuration from /etc/nginx/sites-enabled
  • listening TCP sockets from ss -ltnpH
  • system and user systemd service units
  • running Docker containers from sudo -n docker ps
  • the port_convention: registry in /home/loca/AGENTS.md
  • live TLS handshakes at the local HTTPS edge
  • live HTTPS responses at the local edge

One-command usage

From /home/loca/dev/wild:

./bin/zonescope

The default command prints a terminal report. JSON and a self-contained HTML dashboard are additional renderings of the same snapshot.

Guide

Data flow

flowchart LR
  N["nginx site files"] --> J["judge"]
  S["listening sockets"] --> J
  U["systemd units"] --> J
  C["Docker containers"] --> J
  R["port registry"] --> J
  T["TLS probes"] --> J
  H["HTTPS probes"] --> J
  J --> X["terminal report"]
  J --> Y["snapshot JSON"]
  J --> Z["HTML dashboard"]

scan owns collection and probe orchestration, judge emits generic findings, and the three reporters consume the completed snapshot.