Skip to content

feat(dashboard): add local web UI for live config and component health#177

Open
onlymaj wants to merge 4 commits into
denuitt1:mainfrom
onlymaj:feat/web-dashboard
Open

feat(dashboard): add local web UI for live config and component health#177
onlymaj wants to merge 4 commits into
denuitt1:mainfrom
onlymaj:feat/web-dashboard

Conversation

@onlymaj

@onlymaj onlymaj commented May 11, 2026

Copy link
Copy Markdown
Collaborator
Screen

Why

As open issues have grown, a visual way to inspect the running proxy was needed so users without log-reading skills can self-diagnose faster. The proxy was configured by hand-editing config.json + restart, and runtime health (blacklisted script IDs, Worker chain reachability, upstream forwarder status, MITM CA trust state) was only visible via logs. This adds a loopback dashboard at http://127.0.0.1:7878/ for live config edits and per-component status dots.

What

  • Loopback asyncio HTTP server (no new deps) with Status and Config tabs
  • Status dots for Apps Script deployments, Worker chain, Upstream forwarder, Google SNI pool, Direct Google tunnel and GAS/Worker/Upstream are derived passively from per-relay timestamps, so 30s polling never burns Apps Script quota
  • Config edits apply live: soft keys go through new update_config hooks on ProxyServer/DomainFronter; hard keys (ports, host, auth_key, script_ids, google_ip, front_domain) trigger a brief proxy rebuild orchestrated by a new Supervisor
  • Dedicated cards with toggles for YouTube-via-relay and LAN sharing so common operations don't need the Config tab
  • MITM CA card with install/uninstall and present/trusted indicators; System card with Python/OS info; Logs card tailed at 3s while the tab is visible
  • Page Visibility API stops all polling when the tab is hidden — idle proxy with no open dashboard has zero overhead
  • Atomic config write (tempfile + os.replace) with rollback on validation or rebuild failure

onlymaj added 4 commits May 11, 2026 14:50
Loopback HTTP server at 127.0.0.1:7878 for live config edits and per-component health dots. Hot-reload soft keys; rebuild proxy on hard keys via a new Supervisor.
Migrate existing configs on load; update env var, wizard, validator and dashboard. Move YouTube hint into a popover.
Group upstream_forwarder_url and forwarder_hosts under a new Upstream subtab; materialize defaults so missing keys still render. Drop a few redundant hint paragraphs.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant