> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lampac.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Модуль Online: VOD-плагин и агрегатор источников

> Модуль Online обеспечивает VOD-плагин /online.js для Lampa и агрегирует ссылки от 70+ провайдеров через маршруты /lite/*.

Модуль **Online** — это ядро VOD-системы Lampac NextGen. Он отдаёт клиентский плагин `/online.js` для приложения Lampa и агрегирует ссылки на контент от более чем 70 источников через маршруты `/lite/{provider}`. Большинство конкретных провайдеров (Rezka, Filmix, Kodik и другие) реализованы в отдельных проектах под `Modules/OnlineRUS`, `OnlinePaid`, `OnlineAnime`, `OnlineENG`, `OnlineUKR` и `OnlineGEO`, каждый из которых регистрирует собственный контроллер с маршрутом `/lite/{имя}`.

## Ключевые маршруты

| Маршрут              | Назначение                                    |
| -------------------- | --------------------------------------------- |
| `/online.js`         | Основной VOD-плагин для Lampa 3.0             |
| `/online/js/{token}` | Плагин с авторизацией по токену               |
| `/lite/{provider}`   | Список источников от конкретного провайдера   |
| `/externalids`       | Маппинг внешних ID (TMDB, KinoPoisk и другие) |
| `/lifeevents`        | SSE-поток событий здоровья провайдеров        |
| `/lite/withsearch`   | Агрегированный поиск по всем провайдерам      |
| `/lite/spider`       | Паук-агрегатор для быстрого сбора ссылок      |

## Конфигурация

Секция `online` в `init.conf` управляет поведением плагина и его отображением в Lampa.

```json theme={null}
{
  "online": {
    "name": "Lampac NextGen",
    "version": true,
    "btn_priority_forced": true,
    "spiderName": "Lampac"
  }
}
```

| Параметр              | Назначение                                          |
| --------------------- | --------------------------------------------------- |
| `name`                | Имя источника, отображаемое в списке плагинов Lampa |
| `version`             | Показывать версию Lampac в интерфейсе               |
| `btn_priority_forced` | Принудительно выставлять приоритет кнопки источника |
| `spiderName`          | Имя агрегатора для режима spider                    |

## Защита WAF

Модуль Online автоматически добавляет лимиты в `CoreInit.conf.WAF.limit_map` при старте:

| Паттерн                       | Лимит                 |
| ----------------------------- | --------------------- |
| `^/lite/`                     | 10 запросов в секунду |
| `^/(externalids\|lifeevents)` | 10 запросов в секунду |

Эти правила защищают агрегирующие маршруты от перегрузки. Дополнительные настройки WAF задаются в секции `WAF` `init.conf`.

## Источник PiTor

Отдельный встроенный источник **PiTor** доступен по маршруту `/lite/pidtor`. Он обеспечивает стриминг контента через торрент-протокол и не требует внешних CDN. Для работы PiTor не нужны отдельные API-ключи, но рекомендуется убедиться, что TorrServer включён и доступен.

<Tip>
  Подключите плагин в Lampa через адрес `http://HOST:9118/online.js`, заменив `HOST` на IP-адрес или домен вашего сервера Lampac.
</Tip>

## Связь с другими модулями

Провайдеры из `Modules/Online*/*` регистрируют собственные контроллеры с маршрутами `/lite/...`. Плагин и списки в `OnlineApi` стыкуются с ними через общие контракты и реестр источников. Настройки отдельных источников задаются в `init.conf` в одноимённых секциях, например:

```json theme={null}
{
  "Rezka": { "enable": true, "host": "https://rezka.ag", "priority": 1 },
  "Filmix": { "enable": true, "host": "https://filmix.biz", "token": "TOKEN", "priority": 2 }
}
```
