Если вы хотите добавить подписочную ссылку в podkop, важно знать главное сразу: штатный podkop подписки не поддерживает — он принимает только одиночные vless://-ссылки, либо json конфигурации. Для работы с subscription URL нужен форк с поддержкой подписок (Netshift). В этой инструкции — чем подписка отличается от одиночной ссылки, как поставить форк и настроить автообновление серверов.
Что такое подписочная ссылка и чем она отличается от vless://
Одиночная ссылка vless:// — это один сервер. Подписочная ссылка (subscription URL) — это адрес вида https://provider.com/sub/ВАШ_ТОКЕН, по которому лежит список из нескольких серверов сразу. Что это даёт:
- серверы обновляются автоматически — если провайдер сменил адрес или добавил новые локации, роутер подтянет их сам;
- не нужно вручную менять ссылку при каждом изменении на стороне сервиса;
- можно переключаться между серверами из списка, не трогая конфиг.
Что понадобится: роутер на OpenWrt 23.05+, доступ по SSH, подписочная ссылка от вашего VPN-сервиса, и уже установленный (или готовый к установке) podkop.
Как устроена подписочная ссылка
Внутри подписки — base64-закодированный список конфигов (vless/vmess/ss/trojan). Посмотреть содержимое перед установкой полезно, чтобы убедиться, что формат поддерживается:
wget -qO- 'https://provider.com/sub/ВАШ_ТОКЕН' | base64 -d
Замените URL на свою ссылку в одинарных кавычках. В выводе вы увидите строки vless://..., vmess://... — это и есть серверы подписки.
Форматы подписок бывают разные: «сырой» base64-список (самый распространённый), Clash (YAML) и sing-box (JSON). Форк Netshift ориентирован в первую очередь на базовые форматы — экзотические Clash-конфиги могут распознаться не полностью.
Если же на руках не подписка, а один JSON-конфиг sing-box или Xray-core (например, серверный inbound), подписка тут не нужна — проще сразу получить vless://-ссылку через конвертер JSON → VLESS и вставить её в штатный podkop.
Что такое форк Netshift и зачем он нужен
Netshift — форк podkop, который добавляет поддержку подписок и автообновление серверов, сохраняя привычный интерфейс.
| Возможность | Оригинальный podkop | Netshift |
|---|---|---|
Одиночная vless:// | да | да |
| Подписочная ссылка | нет | да |
| Автообновление серверов | нет | да |
| Выбор сервера из списка | нет | да |
Совместимость: Netshift ставится вместо оригинального podkop (это форк, а не дополнение) — держать оба одновременно нельзя, они конфликтуют за один и тот же механизм маршрутизации и DNS.
Риски стороннего форка: он развивается отдельно от оригинала, поэтому исправления и новые протоколы могут приходить в другом темпе. Взвесьте, нужна ли вам именно подписка, или хватит одной ссылки в штатном podkop.
Шаг 1. Подготовка
Сделайте бэкап и сохраните текущий конфиг podkop:
sysupgrade -b /root/backup-before-netshift.tar.gz
cp /etc/config/podkop /root/podkop.bak
df -h /overlay
Шаг 2. Удаляем оригинальный podkop (если он стоит)
service podkop stop
opkg remove luci-app-podkop podkop # OpenWrt 24.10
# на OpenWrt 25.12: apk del luci-app-podkop podkop
После удаления в системе остаются sing-box и dnsmasq-full — они нужны и форку, переустанавливать их не придётся.
Шаг 3. Устанавливаем форк с поддержкой подписок
yandexru45/podkop-evolution сохранён только для совместимости с уже установленными системами — для новой установки берите netshift. Пакеты после переименования называются netshift, luci-app-netshift и luci-i18n-netshift-ru (а не podkop_*): формат .ipk для OpenWrt 24.10 и .apk для 25.12 и новее. Проект в статусе беты — конкретные версии в релизах меняются часто, поэтому точные имена файлов сверяйте на странице Releases.
Установка через install-скрипт:
sh <(wget -O - https://raw.githubusercontent.com/yandexru45/netshift/refs/heads/main/install.sh)
Ручной способ — скачать два пакета из Releases и поставить:
cd /tmp
wget https://github.com/yandexru45/netshift/releases/download/.../netshift_....ipk
wget https://github.com/yandexru45/netshift/releases/download/.../luci-app-netshift_....ipk
# OpenWrt 24.10 (opkg)
opkg install ./netshift*.ipk ./luci-app-netshift_*.ipk
# OpenWrt 25.12 (apk): скачивайте .apk и ставьте
# apk add --allow-untrusted ./netshift*.apk ./luci-app-netshift_*.apk
Проверьте версию:
opkg info netshift | grep Version # OpenWrt 24.10
# на OpenWrt 25.12: apk info netshift
Шаг 4. Добавляем подписочную ссылку
- LuCI → Services → Netshift.
- В типе конфигурации выберите Subscription (Outbound from subscription).
- Вставьте URL подписки в соответствующее поле.
- После сохранения форк подтянет список серверов — выберите нужный сервер из выпадающего списка.
- Задайте интервал автообновления подписки (например, раз в сутки).
- Save & Apply.
Шаг 5. То же через SSH и UCI
Пример полей подписки в /etc/config/podkop:
config main 'main'
option mode 'subscription'
option subscription_url 'https://provider.com/sub/ВАШ_ТОКЕН'
option outbound_index '0'
option update_interval '86400'
UCI-командами:
uci set podkop.main.subscription_url='https://provider.com/sub/ВАШ_ТОКЕН'
uci commit podkop
service podkop restart
Шаг 6. Проверка
logread -e netshift | tail -20
Ищите строки об успешной загрузке подписки. Затем проверьте в интерфейсе, что список серверов заполнился, и на клиенте — что внешний IP сменился и заблокированные сайты открываются. Кэш подписки обычно лежит в рабочем каталоге podkop (/etc/netshift или /tmp), туда форк складывает загруженный список.
Выбор и переключение сервера
Чтобы сменить сервер, не меняя ссылку, — просто выберите другой пункт из списка серверов подписки в LuCI и примените. Если форк поддерживает автовыбор по задержке, включите его в настройках секции — тогда будет выбираться самый быстрый сервер.
Типичные проблемы
«Subscription fetch failed» — подписка не скачивается.
Проверьте: выходит ли роутер в интернет, правильный ли URL, установлен ли ca-bundle (для HTTPS-подписок нужны корневые сертификаты — opkg install ca-bundle, на 25.12 — apk add ca-bundle). Проверьте вручную: wget -qO- 'ВАШ_URL' | head.
Подписка скачалась, но список серверов пустой.
Формат подписки не распознан. Декодируйте её (base64 -d) и посмотрите, что внутри — возможно, это Clash/YAML, который форк не разбирает.
После установки форка слетели старые настройки.
Форк — отдельный пакет; часть настроек оригинального podkop могла не перенестись. Восстановите нужное из /root/podkop.bak, но учтите, что структура конфигов может отличаться.
Конфликт версий с sing-box. Если форк требует более свежий sing-box, чем установленный, — обновите движок: см. как обновить sing-box.
Как откатиться на оригинальный podkop
service netshift stop
opkg remove luci-app-netshift netshift # OpenWrt 24.10
# на OpenWrt 25.12: apk del luci-app-netshift netshift
sh <(wget -O - https://raw.githubusercontent.com/itdoginfo/podkop/refs/heads/main/install.sh)
cp /root/podkop.bak /etc/config/podkop
service podkop restart
Часто задаваемые вопросы (FAQ)
Зачем подписка, если можно вставить одну ссылку?
Подписка избавляет от ручного обновления: серверы меняются автоматически. Если сервер один и он статичный — хватит и одиночной vless:// в штатном podkop.
Будет ли форк обновляться вместе с оригиналом? Нет, Netshift развивается независимо. Обновления приходят в своём темпе.
Поддерживает ли форк Hysteria2 / Shadowsocks / Trojan? Зависит от движка: sing-box эти протоколы поддерживает, а войдут ли они в подписку — определяет формат самой подписки. Проверьте декодированием.
Можно ли использовать несколько подписок сразу? В большинстве версий — одна подписка на секцию. Несколько подписок реализуются через дополнительные секции, если форк это позволяет.
Как часто обновляется подписка?
По заданному интервалу (update_interval). Типично — раз в сутки; чаще смысла нет.
Безопасно ли давать роутеру подписочную ссылку? Ссылка хранится в конфиге роутера в открытом виде. Роутер под вашим контролем — это безопасно, но саму ссылку никому не передавайте.
Заключение
Подписочная ссылка в podkop возможна только через форк: снять бэкап → удалить оригинальный podkop → поставить Netshift → выбрать тип Subscription → вставить URL и выбрать сервер. Если подписка вам не нужна, оставайтесь на штатном podkop с одиночной ссылкой. Полный разбор возможностей форка — в статье настройка Netshift на OpenWrt, а при конфликте версий движка поможет обновление sing-box.
Комментарии
💬 Пока нет комментариев. Будьте первым!
Оставить комментарий