Перезапуск сервиса каждые 45–60 минут — это «колхоз 2024 года».
В 2025 году те, кто реально побеждает ТСПУ надолго и красиво, уже не перезапускают ничего вообще.
Они делают динамическое перенаправление без разрыва соединений — и это именно то, что превращает ППРЧ-порты из «прикольно, но геморно» в «неубиваемо и незаметно».
Рабочие способы 2025 года (без перезапуска)
| Способ | Как работает | Интервал перескока | Совместимость | Живучесть в РФ (2025) |
|-------------------------|-------------------------------------------------------------------------------|---------------------|-----------------------------------|-----------------------|
| nftables + flowtable (Linux 5.10+) | Одно постоянное правило перенаправляет любой трафик с любого порта на внутренний порт Xray/Hysteria (например, 40000). Меняется только таблица, соединения не рвутся. | хоть каждые 5 секунд | Xray, Sing-box, Hysteria2, OpenVPN | ★★★★★ (идеал) |
| iptables TPROXY + mark | Аналогично, но для старых ядер. Маркировка пакетов + mangle. | 10–30 сек | Любой UDP/TCP-прокси | ★★★★☆ |
| sing-box 1.9+ multiplex + inbound group | В конфиге указываешь 1000–5000 портов сразу, sing-box сам распределяет и переключает их по алгоритму (включая функцию времени). Ноль внешнего перенаправления. | 1–60 сек | Только sing-box | ★★★★★ |
| Hysteria 2 bind range (с 2024.12) | Параметр listen = "0.0.0.0:20000-55535" + port_hopping = true. Hysteria сама прыгает внутри диапазона по ППРЧ-алгоритму, используя тот же ключ, что и клиент. | 5–300 сек | Только Hysteria 2 | ★★★★★ |
| Xray + vless-reality + multi-port inbound + reload | Один inbound с массивом портов + systemctl reload xray (graceful, не рвёт соединения). | 30–3600 сек | Xray/V2Ray | ★★★★☆ |
Самый чистый и неубиваемый вариант 2025 года
nftables/flowtable + один фиксированный внутренний порт
(используют почти все серьёзные группы в РФ)
# 1. Сервер (VPS)
# Xray/Hysteria слушает только внутри: localhost:40000 или 127.0.0.1:40000
# 2. Скрипт, который меняет внешний порт без разрыва (запускать в @reboot и cron)
#!/bin/bash
SECRET="your-mega-secret-2025"
BASE=20000
RANGE=45535
while :; do
NOW=$(date +%s)
HOUR=$((NOW / 3600))
PORT=$(( BASE + $(echo -n "$SECRET$HOUR" | b3sum | cut -d' ' -f1 | head -c10) % RANGE ))
# Атомарно меняем только одну строку в nftables
nft flush chain inet hopwall redirect
nft add rule inet hopwall redirect tcp dport $PORT counter redirect to 40000
nft add rule inet hopwall redirect udp dport $PORT counter redirect to 40000
echo "$(date) → внешний порт $PORT → 40000"
sleep $(( 3600 - (NOW % 3600) + 5 ))
done
Преимущества:
- Xray/Hysteria/Sing-box никогда не трогаются и не перезапускаются.
- Соединения живут часами, даже если порт сменился 10 раз.
- flowtable ускоряет перенаправление до уровня железа.
- Клиенту вообще ничего не надо обновлять — он всегда стучится на текущий порт по той же формуле.
Клиентская часть (один раз настроил — забыл)
В Nekobox / Hiddify / v2rayNG / sing-box просто включаешь скрипт или плагин, который каждые 30–60 минут меняет только поле port в активном outbound по той же формуле.
Никаких разрывов — старое соединение умирает само через keep-alive, новое уже на новом порту.
Готовые решения, которые уже это делают «из коробки» (ноябрь 2025)
1. Hysteria 2 + port_hopping = true → просто добавь в config
listen: :20000-55535
port_hopping: true
hopping_secret: "your-secret"
hopping_interval: 1800s # или 300s, если хочешь по-военному
Всё. Никаких скриптов.
2. sing-box 1.10-beta → inbound type = “mixed” + port_range и hop_interval.
3. AmneziaVPN 4.8.5+ → в кастомном контейнере включи «Zero-Downtime Port Hopping».
[file-name 000093_2025-11-13_08-41-17.txt]