diff --git a/README.md b/README.md index 27a9bcc..aae25b8 100644 --- a/README.md +++ b/README.md @@ -93,6 +93,10 @@ bash <(curl -fsSL https://raw.githubusercontent.com/andrey271192/PCA_Phobos/main > Для каждого устройства создавай **отдельного клиента** (свой ключ и IP). Один конфиг на двух устройствах = конфликт ключей. +**Приложения:** +- **Android (PhobosWG):** автор пока не публикует APK официально. Положи `.apk` на сервер в `/opt/Phobos/www/app/PhobosWG.apk` — панель сама покажет кнопку «Скачать приложение PhobosWG» на странице Android-клиента (раздаётся по `http://<сервер>/app/PhobosWG.apk`). +- **iPhone (iOS):** официальный [WireGuard из App Store](https://apps.apple.com/app/wireguard/id1441195209) — кнопка есть на странице iOS-клиента. + --- ## Обновление и откат diff --git a/app.py b/app.py index 7b6f06f..4d13888 100644 --- a/app.py +++ b/app.py @@ -1307,11 +1307,17 @@ def client_phone(cid, mode): qr = qr_datauri(link if (mode == "android" and link) else conf) if mode == "android": title = tr("Android — PhobosWG (с обфускацией)", "Android — PhobosWG (obfuscated)") - extra = (f'

{tr("phobos:// ссылка — импорт в PhobosWG:", "phobos:// link — import into PhobosWG:")}

' + apk_btn = "" + if os.path.exists("/opt/Phobos/www/app/PhobosWG.apk"): + apk_btn = (f'

📥 {tr("Скачать приложение PhobosWG (APK)","Download PhobosWG app (APK)")}

') + extra = (apk_btn + + f'

{tr("phobos:// ссылка — импорт в PhobosWG:", "phobos:// link — import into PhobosWG:")}

' f'') else: title = tr("iPhone / iOS WireGuard (без обфускации)", "iPhone / iOS WireGuard (plain, no obfuscation)") - extra = (f'

{tr("⚠ Обычный WireGuard без маскировки (Endpoint → :51820). На сервере должен быть открыт порт 51820.", "⚠ Plain WireGuard, no obfuscation (Endpoint → :51820). Port 51820 must be open on the server.")}

') + extra = (f'

📥 {tr("WireGuard в App Store","WireGuard on the App Store")}

' + f'

{tr("⚠ Обычный WireGuard без маскировки (Endpoint → :51820). На сервере должен быть открыт порт 51820 (ALLOW_PLAIN_WG=1).", "⚠ Plain WireGuard, no obfuscation (Endpoint → :51820). Port 51820 must be open on the server (ALLOW_PLAIN_WG=1).")}

') html = f"""
{nav('clients')} diff --git a/install.sh b/install.sh index 3cd789e..fd49204 100755 --- a/install.sh +++ b/install.sh @@ -221,11 +221,12 @@ server { listen [::]:80 default_server; location /init/ { alias /opt/Phobos/www/init/; default_type application/x-sh; } location /packages/ { alias /opt/Phobos/www/packages/; default_type application/octet-stream; } + location /app/ { alias /opt/Phobos/www/app/; default_type application/octet-stream; } location / { return 404; } } NGINX ln -sf /etc/nginx/sites-available/phobos /etc/nginx/sites-enabled/phobos -chmod 755 /opt/Phobos/www /opt/Phobos/www/init /opt/Phobos/www/packages +mkdir -p /opt/Phobos/www/app; chmod 755 /opt/Phobos/www /opt/Phobos/www/init /opt/Phobos/www/packages /opt/Phobos/www/app nginx -t >/dev/null 2>&1 && systemctl enable nginx -q 2>/dev/null && systemctl restart nginx || echo " WARN: nginx config test failed" # ── 9. router watchdog (auto reboot-recovery) ──