mirror of
https://github.com/andrey271192/amnezia_web-PRO.git
synced 2026-09-20 14:42:00 +00:00
feat(install): AmneziaWG presence check + clear warnings/logs
Addresses tester feedback: the installer gave no signal about whether
a working AmneziaWG server was present, so failures ("cannot create
client") were hard to diagnose.
install.sh now prints a "Проверка AmneziaWG" block after deploy:
- lists every container that actually holds /opt/amnezia/awg/*.conf,
with its UDP port and client count;
- states that the panel auto-discovers them (no manual AWG_PROFILES);
- if none found, warns loudly that this is normal on a fresh VPS and
spells out the two ways forward (deploy an instance from the panel's
"Протоколы / инстансы", or install a server with the Amnezia app),
noting that until then the client list is empty by design.
This commit is contained in:
@@ -297,6 +297,35 @@ else
|
|||||||
echo "→ Лендинг пропущен (SKIP_LANDING=1 или нет каталога landing)."
|
echo "→ Лендинг пропущен (SKIP_LANDING=1 или нет каталога landing)."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# ── Диагностика AmneziaWG: что увидит панель ──────────────────────────────
|
||||||
|
echo ""
|
||||||
|
echo "── Проверка AmneziaWG ──"
|
||||||
|
__awg_running="$(docker ps --format '{{.Names}}' 2>/dev/null | grep -E '^amnezia-?awg|amnezia.*wg|awg' || true)"
|
||||||
|
__awg_with_conf=""
|
||||||
|
for __c in $(docker ps --format '{{.Names}}' 2>/dev/null); do
|
||||||
|
if docker exec "${__c}" sh -c 'test -f /opt/amnezia/awg/awg0.conf || test -f /opt/amnezia/awg/wg0.conf' 2>/dev/null; then
|
||||||
|
__awg_with_conf="${__awg_with_conf} ${__c}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
__awg_with_conf="$(echo "${__awg_with_conf}" | xargs 2>/dev/null || true)"
|
||||||
|
|
||||||
|
if [[ -n "${__awg_with_conf}" ]]; then
|
||||||
|
echo "✓ Найдены контейнеры AmneziaWG: ${__awg_with_conf}"
|
||||||
|
echo " Панель подхватит их автоматически (рантайм-обнаружение) — ручной AWG_PROFILES не нужен."
|
||||||
|
for __c in ${__awg_with_conf}; do
|
||||||
|
__cnt="$(docker exec "${__c}" sh -c 'cat /opt/amnezia/awg/clientsTable 2>/dev/null' 2>/dev/null | grep -c clientId || true)"
|
||||||
|
__prt="$(docker exec "${__c}" sh -c 'grep -h ListenPort /opt/amnezia/awg/*.conf 2>/dev/null' 2>/dev/null | grep -oE '[0-9]+' | head -1 || true)"
|
||||||
|
echo " • ${__c}: порт ${__prt:-?}/udp, клиентов в таблице: ${__cnt:-0}"
|
||||||
|
done
|
||||||
|
else
|
||||||
|
echo "⚠ Не найдено ни одного контейнера AmneziaWG (нет /opt/amnezia/awg/*.conf ни в одном контейнере)."
|
||||||
|
echo " Это НОРМАЛЬНО для чистого VPS. Дальше есть два пути:"
|
||||||
|
echo " 1) Развернуть AmneziaWG прямо из панели: раздел «Протоколы / инстансы» → выбрать вариант и порт → «Развернуть инстанс»."
|
||||||
|
echo " 2) Поставить сервер приложением Amnezia на этот VPS — панель подхватит контейнер сама."
|
||||||
|
echo " Пока сервера нет, список клиентов будет пустым и создание клиента вернёт ошибку «контейнер не найден» — это ожидаемо."
|
||||||
|
fi
|
||||||
|
echo "────────────────────────"
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "=== Готово ==="
|
echo "=== Готово ==="
|
||||||
echo "Админ-панель: http://${IP:-SERVER_IP}:${HOST_PORT}"
|
echo "Админ-панель: http://${IP:-SERVER_IP}:${HOST_PORT}"
|
||||||
|
|||||||
Reference in New Issue
Block a user