Опциональный модуль в Modules/ExternalBind/: для заданных URL привязки Lite / Online запрос считается «локальным» при классификации (RequestModel.IsLocalIp).
В manifest.json по умолчанию "enable": false. В корневом README модуль перечислен в таблице модулей.
Несколько контроллеров Online (Filmix Pro, KinoPub, GetsTV и аналоги) завершают привязку устройства / выдачу токена только если requestInfo.IsLocalIp == true. Обычно флаг выставляется лишь для адреса клиента из локальной сети (см. IPNetwork.IsLocalIp).
Если ссылку привязки открыть с другого компьютера, через обратный прокси или в любой схеме, где браузер не определяется как локальный IP, эти эндпоинты отвечают ошибкой вроде «is not local ip», и сценарий не завершается.
ExternalBind подключается рано в цепочке middleware (EventListener.Middleware) и только для перечисленных ниже путей принудительно выставляет IsLocalIp = true, чтобы шаг привязки мог выполниться.
Точное совпадение пути (без учёта регистра):
| Путь | Назначение |
|---|---|
/lite/filmixpro |
Привязка Filmix Pro |
/lite/rhs/bind |
Привязка Rezka |
/lite/kinopubpro |
Привязка KinoPub Pro |
/lite/getstv/bind |
Привязка GetsTV |
/lite/vokinotk |
Привязка Vokino |
/lite/iptvonline/bind |
Привязка IPTV Online |
Чтобы добавить или изменить пути, правьте ExternalBindPaths в ModInit.cs.
В manifest.json установите "enable": true и перезагрузите хост, чтобы модуль подхватился.
По умолчанию enable: false — URL привязки остаются «только для локальной сети», пока вы явно не включите модуль.
При IsLocalIp == true поведение WAF может отличаться от обычного удалённого клиента (например, в init.conf параметр bypassLocalIP может ослаблять часть проверок WAF для таких запросов). Включение ExternalBind расширяет круг тех, кто может завершить привязку по перечисленным путям, до любого, кто достучится до сервера по этим URL.
Включайте модуль только если нужны удалённая или проксированная привязка; сохраняйте обычные меры: HTTPS, контроль доступа, файрвол.
- Реализует
IModuleLoaded; отдельных ключей конфигурации нет. - Зависит только от
Shared; контроллеров и статики в модуле нет.