Skip to main content
Вся настройка Lampac NextGen хранится в init.conf (JSON) или init.yaml (YAML) рядом с Core.dll. Watcher перечитывает поддерживаемые runtime-параметры без перезапуска. Изменения listener, состава модулей, manifest и startup services требуют рестарта. Резервные копии сохраняются в database/backup/init/, а отсутствующие значения дополняются из base.conf.

Основные разделы конфигурации

listen

IP, порт, протокол и таймауты сетевого слоя

BaseModule

Загрузка и фильтрация модулей: SkipModules, LoadModules

cache

Продление TTL кеша при обращении

Playwright

Автоматизация Chromium и Firefox для обхода JS-защит

RCH

WebSocket-реле для клиентов за NAT

GC

Управление сборщиком мусора .NET

serilog

Структурное логирование в файл

kit

Шифрование потоков через CryptoKit

Полный пример базовой конфигурации

Ниже приведён аннотированный пример init.conf с ключевыми параметрами, которые понадобятся при первой настройке сервера.

Настройка сети (listen)

Раздел listen управляет сетевым слоем ASP.NET Core. Изменение IP, порта, Unix socket или TLS требует перезапуска процесса.

Управление модулями (BaseModule)

BaseModule определяет, какие модули загружаются при старте сервера. Есть два механизма фильтрации:
  • SkipModules: имена модулей, которые не загружаются даже если код присутствует в образе
  • LoadModules: белый список по имени, группе (например, OnlineUKR) или регулярному выражению (например, LME.*)
В example.init.conf в SkipModules указаны Catalog, DLNA, JacRed, Sync, TimeCode, TorrServer, Tracks, Transcoding и WebLog. base.conf дополнительно исключает CacheMedia, ForkPlayerXML, MsxNative, Potok, TelegramAuth и TelegramAuthBot. WAF и accsdb имеют "enable": false.

Кеш (cache)

Раздел cache управляет поведением файлового кеша. Параметр extend задаёт количество минут, на которое продлевается TTL записи при каждом обращении.

Playwright (chromium и firefox)

Playwright используется для автоматизации браузера при обходе JS-защит на стороне провайдеров. В Docker-образе зависимости уже включены. Для нативной установки потребуется дополнительная команда playwright install chromium.

RCH (Remote Client Hub)

RCH — WebSocket-реле для клиентов, находящихся за NAT. Позволяет устройствам подключаться к серверу без проброса портов.
Результаты принимаются через POST /rch/result и /rch/gzresult, состояние проверяется на /rch/check/connected. NativeWebSocket при BaseModule.nws доступен по /nws.

Настройка провайдеров

Каждый провайдер контента настраивается в собственном разделе init.conf. Набор параметров зависит от конкретного источника.

Горячая перезагрузка без рестарта

Watcher проверяет конфигурацию примерно каждую секунду. Модульные настройки, которые подписаны на EventListener.UpdateInitFile, обновляются автоматически; startup-настройки требуют рестарта.

Минимальный example.init.conf

Ниже приведён точный example.init.conf, который поставляется с проектом. Это минимальная конфигурация для первого запуска.
Файл config/base.conf содержит дефолтные значения для всех параметров. Если параметр не указан в вашем init.conf, используется значение из base.conf. Это позволяет держать ваш конфиг минимальным и переопределять только то, что нужно.
Last modified on September 2, 2026