3 Commits

Author SHA1 Message Date
dekun d75193d527 fix: resolve stuck detecting state for panel stats on subpath deploy
Always inject panel_base from PANEL_PATH for static/API URLs and set
SCRIPT_NAME in middleware so /api/stats works behind nginx subpaths.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-16 10:31:58 +08:00
dekun d339fbd917 fix: prefix panel API requests with subpath for nginx proxy
Stats and node API calls were hitting /api/* at the site root instead of
the hidden PANEL_PATH, causing stats to show unavailable behind nginx.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-16 10:06:10 +08:00
dekun bccf6cfdce feat: add web admin panel for node management
Add Flask panel with login, add/delete nodes, and share link copy.
Generate sing-box config from SQLite; add uninstall script and clean install flow.
Panel served at https://DOMAIN:8444 via nginx.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-16 09:10:19 +08:00