Feature
Looking Glass
Ze includes a built-in looking glass that exposes BGP session state and route information via both an HTMX web UI and a birdwatcher-compatible REST API. The looking glass runs as a separate HTTP server on its own port (default 8443). It is read-only and open by default, because a looking glass is a public surface. It serves TLS by default, and an optional bearer token gates every route when you set one.
| Feature | Description |
|---|---|
| Peer dashboard | Live peer table with state, ASN, route counts, SSE updates |
| Route lookup | Prefix and IP containment search with full attribute display |
| AS path search | Pattern-based AS path filtering |
| Community search | Standard and large community filtering |
| AS path topology graph | Server-side SVG visualization of AS path DAGs |
| Birdwatcher REST API | Alice-LG compatible JSON endpoints under. Specified in RFC 2119 terms in Birdwatcher compatibility. /api/looking-glass/ |
| htmx web UI | Server-rendered HTML pages under with fragment updates. htmx 4.0.0-beta6 is embedded, with hx-sse.min.js on the peers page. /lg/ |
| templ rendering | Every page and fragment is written in a .templ source and compiled to Go, and each view takes a typed struct. The two SVG graph builders keep their markup in Go, because every attribute they write is a coordinate the layout pass computed |
| YANG configuration | environment/looking-glass block with enabled, server (ip, port), tls (default true), and token settings |
See Looking Glass Guide for configuration and usage.
AS Path Topology Graph
The looking glass includes a server-side SVG graph that visualizes AS path topology for any prefix. When looking up a route, clicking "Show topology" renders a directed acyclic graph where nodes represent autonomous systems and edges represent peering links.
| Feature | Description |
|---|---|
| Server-side SVG | Rendered entirely in Go, no external dependencies (no GraphViz, no WASM, no JS graph library) |
| Layered layout | Sugiyama-inspired left-to-right layout with source ASes on the left, origin on the right |
| AS prepending | Consecutive duplicate ASNs collapsed to a single node |
| Multi-path | Multiple AS paths to the same prefix shown as a branching DAG |
| ASN labels | Each node shows AS number and organization name (when decorator is available) |
| Node cap | Graphs limited to 100 nodes to prevent resource exhaustion |
| HTMX integration | Loaded as an inline SVG fragment via GET /lg/graph?prefix=X |