# ExternalBind Опциональный модуль в **`Modules/ExternalBind/`**: для **заданных URL привязки Lite / Online** запрос считается «локальным» при классификации (`RequestModel.IsLocalIp`). В [`manifest.json`](manifest.json) по умолчанию **`"enable": false`**. В [корневом README](../../README.md) модуль перечислен в таблице модулей. ## Зачем нужен Несколько контроллеров 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 привязки остаются «только для локальной сети», пока вы явно не включите модуль. ## WAF и безопасность При `IsLocalIp == true` поведение WAF может отличаться от обычного удалённого клиента (например, в `init.conf` параметр `bypassLocalIP` может ослаблять часть проверок WAF для таких запросов). Включение ExternalBind расширяет круг тех, кто может завершить привязку **по перечисленным путям**, до любого, кто достучится до сервера по этим URL. Включайте модуль только если нужны удалённая или проксированная привязка; сохраняйте обычные меры: HTTPS, контроль доступа, файрвол. ## Зависимости - Реализует `IModuleLoaded`; отдельных ключей конфигурации нет. - Зависит только от `Shared`; контроллеров и статики в модуле нет.