Skip to main content
Mole presenting dashboard

Dashboard Endpoints

Web dashboard and topology data APIs.

GET /ui/

Embedded web dashboard interface.

Access via browser: http://localhost:8080/ui/

Features:

  • Metro map visualization
  • Agent information
  • Live topology updates
  • Node details

GET /api/dashboard

Dashboard overview data.

Response:

{
"agent": {
"id": "abc123def456789012345678901234ab",
"short_id": "abc123de",
"display_name": "My Agent",
"is_local": true,
"is_connected": true
},
"stats": {
"peer_count": 3,
"stream_count": 42,
"route_count": 5,
"socks5_running": true,
"exit_handler_running": false
},
"peers": [
{
"id": "def456789012345678901234567890cd",
"short_id": "def45678",
"display_name": "Peer 1",
"state": "connected",
"rtt_ms": 15,
"is_dialer": true
}
],
"routes": [
{
"network": "10.0.0.0/8",
"origin": "Exit Node",
"origin_id": "exit1234",
"hop_count": 2,
"path_display": ["My Agent", "Transit", "Exit Node"]
}
]
}

GET /api/topology

Metro map topology data for visualization.

Response:

{
"local_agent": {
"id": "abc123def456789012345678901234ab",
"short_id": "abc123de",
"display_name": "My Agent",
"is_local": true,
"is_connected": true,
"hostname": "server1.example.com",
"os": "linux",
"arch": "amd64",
"version": "1.0.7",
"uptime_hours": 24.5,
"ip_addresses": ["192.168.1.10", "10.0.0.1"]
},
"agents": [
{
"id": "abc123def456789012345678901234ab",
"short_id": "abc123de",
"display_name": "My Agent",
"is_local": true,
"is_connected": true
},
{
"id": "def456789012345678901234567890cd",
"short_id": "def45678",
"display_name": "Peer 1",
"is_local": false,
"is_connected": true,
"hostname": "peer1.example.com",
"os": "linux",
"arch": "amd64"
}
],
"connections": [
{
"from_agent": "abc123de",
"to_agent": "def45678",
"is_direct": true,
"rtt_ms": 15,
"transport": "quic"
}
]
}

GET /api/nodes

Detailed node information for all known agents.

Response:

{
"nodes": [
{
"id": "abc123def456789012345678901234ab",
"short_id": "abc123de",
"display_name": "Agent 1",
"is_local": true,
"is_connected": true,
"hostname": "agent1.example.com",
"os": "linux",
"arch": "amd64",
"version": "1.0.7",
"uptime_hours": 24.5,
"ip_addresses": ["192.168.1.10", "10.0.0.1"]
},
{
"id": "def456789012345678901234567890cd",
"short_id": "def45678",
"display_name": "Agent 2",
"is_local": false,
"is_connected": true,
"hostname": "agent2.example.com",
"os": "darwin",
"arch": "arm64",
"version": "1.0.7",
"uptime_hours": 12.0,
"ip_addresses": ["192.168.1.20"]
}
]
}

Examples

# Get dashboard data
curl http://localhost:8080/api/dashboard

# Get topology
curl http://localhost:8080/api/topology

# Get node details
curl http://localhost:8080/api/nodes

See Web Dashboard Feature for more information.