/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>
Auto AWG_PROFILES now docker-execs each amnezia-awg* container to
pick wg0.conf vs awg0.conf, fallback find, clientsTable siblings.
Fixes legacy layouts where awg0.conf does not exist.
Co-authored-by: Cursor <cursoragent@cursor.com>
Before spawning helper, scan running amnezia-awg* containers and
build AWG_PROFILES JSON labeled by UDP port; pass via env so PRO
install.sh writes it into new panel and /root snapshot.
Co-authored-by: Cursor <cursoragent@cursor.com>
PRO install.sh calls openssl (line 102) for initial secrets and
tar to unpack the release; Alpine docker:*-cli ships neither.
Add them to apk/apt step plus early presence check for clearer log.
Co-authored-by: Cursor <cursoragent@cursor.com>
Helper used DATA_DIR (in-container path) for bind-mount source.
Daemon created phantom /data on host, log + staging went there
instead of /opt/amnezia-admin-data. Resolve HOST_DATA_DIR via env
or docker inspect; place staging under DATA_DIR so single mount
exposes both log and install.sh to helper.
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>
Run install.sh in a disposable docker:26-cli container after docker rm
FREE/landing/stale PRO; keeps working after API response. Legacy in-panel
bash retained when COMMUNITY_DISABLE_DOCKER_CLI_HELPER=1. Persist related
env vars in install.sh from previous container.
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>