Исправление: том ./mods:/lampac/mods в compose и копии 10 модулей с enable:true; конфиг без SkipModules
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
# 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`; контроллеров и статики в модуле нет.
|
||||
Reference in New Issue
Block a user