Подписка с учётом приложения: kit-sub перед подпиской 3X-UI

- scripts/kit-sub.py — посредник на публичном порту подписки (HTTPS), 3X-UI только на 127.0.0.1
- Clash/Mihomo (Clash Verge, FlClash…) получают конфиг 3X-UI плюс AmneziaWG
- Happ, v2rayN, Karing, Hiddify — ссылки без AmneziaWG, которого они не умеют
- expire=0 убирается из Subscription-Userinfo — больше нет «01.01.1970»
- Сертификат перечитывается после продления Let's Encrypt, TLS в потоках, тайм-ауты
- Установщик ставит kit-sub сам (systemd, ограничения безопасности); адрес подписки не меняется

Проверено: Mihomo по итоговому Clash-конфигу — все 10 прокси, включая оба AmneziaWG;
обновление поверх существующей установки на сервере в России.
This commit is contained in:
itsnotkubrick
2026-09-27 18:13:46 +03:00
parent 90946b2802
commit 0ce96f08e1
3 changed files with 272 additions and 18 deletions
+12 -6
View File
@@ -15,8 +15,8 @@
- подбирает сайт для маскировки REALITY — с TLS 1.3 и HTTP/2;
- создаёт подключения на всех протоколах из таблицы ниже, генерирует ключи
и обфускацию AmneziaWG;
- включает единую подписку: Clash Verge и FlClash получают готовый конфиг Mihomo,
остальные приложения — список ссылок;
- включает единую подписку с учётом приложения: Clash Verge и FlClash получают готовый
конфиг Mihomo с AmneziaWG, остальные приложения — ссылки только на то, что они умеют;
- открывает в ufw только нужные порты.
## Протоколы
@@ -77,10 +77,9 @@ bash <(curl -fsSL https://raw.githubusercontent.com/itsnotkubrick/Reality_Hyster
| Android | Hiddify, Happ, v2rayNG, FlClash |
| Windows, macOS, Linux | Hiddify, v2rayN, Clash Verge |
**AmneziaWG идёт отдельной подпиской** — её адрес заканчивается на `-awg`. Добавьте её в Clash Verge
или FlClash, а в AmneziaVPN импортируйте ссылки `vpn://` из `/root/3x-ui.txt`. В общую подписку
AmneziaWG не попадает: Happ, v2rayN, Karing и Hiddify его не поддерживают.
Для Telegram — ссылка `tg://` оттуда же.
Подписка смотрит, какое приложение её запрашивает: Clash Verge и FlClash получают AmneziaWG,
а Happ, v2rayN, Karing и Hiddify — нет, потому что не умеют его. Для AmneziaVPN импортируйте
ссылки `vpn://` из `/root/3x-ui.txt`, для Telegram — ссылку `tg://` оттуда же.
## Добавить друга
@@ -97,6 +96,13 @@ AmneziaWG не попадает: Happ, v2rayN, Karing и Hiddify его не п
| `--sni www.samsung.com` | свой сайт для маскировки REALITY |
| `--no-ufw` | не трогать файрвол |
## Как устроена подписка
Наружу смотрит небольшой сервис [kit-sub](../scripts/kit-sub.py) (Python, служба `kit-sub`),
а подписка 3X-UI работает только внутри сервера. kit-sub узнаёт приложение по User-Agent,
добавляет AmneziaWG в конфиг для Clash-приложений, убирает из заголовка «срок 0», из-за которого
приложения показывали 01.01.1970, и сам подхватывает продлённый сертификат.
> [!NOTE]
> Если порт 80 занят, сертификат Let's Encrypt не получить. Тогда скрипт сделает свой
> сертификат и впишет его отпечаток в ссылки, а панель будет доступна через SSH-туннель.