init.conf (JSON) или init.yaml (YAML), которые должны лежать рядом с Core.dll. Watcher проверяет конфигурацию каждую секунду и применяет изменения на лету без перезапуска сервера. Резервные копии автоматически сохраняются в database/backup/init/. Дефолтные значения подгружаются из config/base.conf, а ваши переопределения живут в init.conf или init.yaml.
Основные разделы конфигурации
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. Все параметры применяются сразу при горячей перезагрузке.
Управление модулями (BaseModule)
BaseModule определяет, какие модули загружаются при старте сервера. Есть два механизма фильтрации:
SkipModules: имена модулей, которые не загружаются даже если код присутствует в образеLoadModules: белый список по имени, группе (например,OnlineUKR) или регулярному выражению (например,LME.*)
По умолчанию в
example.init.conf (шаблон из репозитория) в SkipModules указаны: Catalog, DLNA, JacRed, Sync, TimeCode, TorrServer, Tracks, Transcoding, WebLog. Также в base.conf отключены: CacheMedia, ForkPlayerXML, MsxNative, TelegramAuth, TelegramAuthBot. WAF и accsdb отключены через "enable": false в base.conf.Кеш (cache)
Разделcache управляет поведением файлового кеша. Параметр extend задаёт количество минут, на которое продлевается TTL записи при каждом обращении.
Playwright (chromium и firefox)
Playwright используется для автоматизации браузера при обходе JS-защит на стороне провайдеров. В Docker-образе зависимости уже включены. Для нативной установки потребуется дополнительная командаplaywright install chromium.
RCH (Remote Client Hub)
RCH — WebSocket-реле для клиентов, находящихся за NAT. Позволяет устройствам подключаться к серверу без проброса портов.ws://<host>:9118/ws. Пост-запросы результатов принимаются на /rch/result и /rch/gzresult.
Настройка провайдеров
Каждый провайдер контента настраивается в собственном разделеinit.conf. Набор параметров зависит от конкретного источника.
Горячая перезагрузка без рестарта
Watcher проверяет
init.conf и init.yaml каждую секунду. При изменении конфиг применяется сразу, без перезапуска сервера. Резервные копии сохраняются автоматически в database/backup/init/.Минимальный example.init.conf
Ниже приведён точныйexample.init.conf, который поставляется с проектом. Это минимальная конфигурация для первого запуска.