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, который поставляется с проектом. Это минимальная конфигурация для первого запуска.

