mtproto status now derives advertised host from request when MTPRO_PUBLIC_HOST/CLIENT_CONFIG_ENDPOINT are unset, so tg:// always works with the host:port the admin uses. Adds copy button. Adds theme selector (auto/light/dark) persisted in localStorage with prefers-color-scheme fallback.
Co-authored-by: Cursor <cursoragent@cursor.com>
Public GET /api/panel/footer with env-backed URLs (defaults: Boosty + t.me sponsor). install.sh forwards PANEL_FOOTER_*. Promo only in admin SPA, not nginx landing.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Rename snapshot to snap; bust app.js cache (?v).\n- /health returns version from package.json; startup log prints v.
Co-authored-by: Cursor <cursoragent@cursor.com>
ReferenceError fixed by awaiting /api/mtproto/status before using snap. Footer: GitHub-only; dropped Boosty/Ozon/Telegram. Removed advertiseHint from install JSON (hint remains on status).
Co-authored-by: Cursor <cursoragent@cursor.com>
Docker pull/run/remove/restart via host socket (no SSH), optional
secrets and tg:// links when MTPRO_PUBLIC_HOST or CLIENT_CONFIG_ENDPOINT set.
Expose MTPRO_* and UI_HIDE_MTPROTO through install.sh.
Co-authored-by: Cursor <cursoragent@cursor.com>
/api/protocols now returns uiHidden alongside edition; client
applies both so cascade/warp stay hidden if /api/clients errors
out (e.g. missing clientsTable in tunnel container).
Co-authored-by: Cursor <cursoragent@cursor.com>
Poll community-install-last.log after «Установить PRO» with GET
/api/community/install-log; preserve log DOM across banner redraws.
Co-authored-by: Cursor <cursoragent@cursor.com>
Ship full install stack with .amnezia-panel-edition=community; docs and
footer point to Boosty/PRO. Managing peers, export, cascade and WARP
require private PRO build.
Co-authored-by: Cursor <cursoragent@cursor.com>