Все параметры init.conf / init.yaml: сеть, модули, WAF,
аутентификация, провайдеры и управление памятью.
Конфиг хранится в init.conf (JSON) или
init.yaml (YAML) рядом с Core.dll. Оба формата поддерживаются одновременно.
Watcher проверяет файл каждую секунду. При изменении —
применяет сразу. Резервные копии сохраняются в database/backup/init/.
Готовые шаблоны: config/example.init.conf и
config/example.init.yaml. Дефолтные значения — в config/base.conf.
{
"listen": {
"ip": "0.0.0.0", // интерфейс прослушивания
"port": 9118, // порт
"scheme": "http", // "http" или "https"
"version": true, // показывать версию в ответах
"ResponseCancelAfter": 10 // таймаут ответа, секунды
}
}
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
ip |
string | "0.0.0.0" |
IP-интерфейс для прослушивания |
port |
int | 9118 |
TCP-порт сервера |
scheme |
string | "http" |
Протокол: http или https |
version |
bool | true |
Добавлять заголовок с версией |
ResponseCancelAfter |
int | 10 |
Таймаут ответа в секундах |
{
"BaseModule": {
"SkipModules": [], // имена модулей для полного отключения
"LoadModules": [".*"], // whitelist: имя, группа (OnlineUKR), regex (LME.*)
"ValidateRequest": true, // валидация входящих запросов
"BlockedBots": true // блокировка ботов по User-Agent
}
}
По умолчанию отключены (в SkipModules в base.conf): Catalog,
Tracks, Transcoding, WebLog, CacheMedia, ForkPlayerXML, MsxNative, Potok, TelegramAuth,
TelegramAuthBot.
Также отключены через manifest.json (enable: false):
AdminPanel, ExternalBind, LogUserRequest-Lite, Telemetry, Tg-notify.bot, WatchTogether,
Tracks, Transcoding.
WAF и accsdb отключены через "enable": false в base.conf, а не
через SkipModules. Модуль GStreamer загружается, но транскодинг выключен до
gst.enable: true — см. секцию gst.
Серверный HLS/fMP4 транскодинг через GStreamer. Заменяет legacy-модуль
Transcoding (FFmpeg). На клиенте подключите плагин http://<host>:9118/gst.js. Подробности —
Modules/GStreamer/README.md.
{
"gst": {
"enable": true,
"allowed_uids": ["device-uid"], // опционально: только эти UID
"inactiveMinutes": 10,
"gst_version": 1.28, // 1.26 на Linux по умолчанию
"PATH": "C:\\Program Files\\gstreamer\\1.0\\mingw_x86_64",
"segment_seconds": 6,
"aac_bitrate": 256,
"aac_samplerate": 48000,
"aac_channels": 2,
"video_bitrate": 10000,
"transcodeH264": false,
"transcodeH265": false,
"transcodeAV1": false,
"transcodeVP9": false,
"tempfs": true,
"tempfs_ring": 1,
"pipeline_timeSeconds": 20,
"pipeline_audioQueue": 4,
"pipeline_videoQueue": 32,
"pipeline_sinkQueue": 64
}
}
| Параметр | По умолчанию | Описание |
|---|---|---|
enable |
false |
Включить транскодинг GStreamer |
allowed_uids |
не задано | Список разрешённых UID устройств; без списка — доступ всем |
conf_uids |
не задано | Индивидуальные настройки pipeline для конкретных UID |
inactiveMinutes |
10 |
Остановка задачи после N минут без активности |
gst_version |
1.28 (Win) / 1.26 (Linux) |
Версия GStreamer; определяется автоматически через gst-inspect-1.0 |
PATH |
MinGW-путь Windows | Корень установки GStreamer (только Windows) |
transcodeH264/H265/AV1/VP9 |
false |
Перекодировать соответствующий кодек в H.264 |
segment_seconds |
6 |
Длительность HLS/fMP4-сегмента в секундах |
aac_bitrate / video_bitrate |
256 / 10000 кбит/с |
Битрейт AAC и H.264 при перекодировании |
aac_samplerate / aac_channels |
авто | Частота дискретизации (Гц) и количество каналов AAC. По умолчанию берутся из исходной дорожки (до 7.1 / 8 каналов) |
tempfs / tempfs_ring |
true / 1 |
Дисковый кольцевой буфер входного HTTP-потока в cache/gstranscoding |
pipeline_* |
см. пример | Размеры очередей pipeline (время и МБ) |
На Linux пакеты GStreamer устанавливаются скриптом install.sh. На Windows — MinGW Runtime
1.28.3 с gstreamer.freedesktop.org. WAF: ^/gst/ — 50 req/s.
{
"cache": {
"extend": 180 // продление TTL на N минут при обращении
}
}
{
"WAF": {
"enable": true,
"countryAllow": ["RU", "UA", "BY"], // геоблокировка ([] = все страны)
"whiteIps": ["192.168.1.0/24"], // белый список IP/CIDR
"bruteForceProtection": true,
"limit_map": {
"/lite/": 10, // max req/s на prefix
"/externalids": 10
}
}
}
| Параметр | Описание |
|---|---|
enable |
Включить WAF. По умолчанию false (base.conf) |
countryAllow |
Разрешённые страны (ISO 3166-1 alpha-2). Пустой массив — без ограничений |
whiteIps |
IP-адреса и CIDR-блоки, всегда пропускаемые (в обход countryAllow и rate limit) |
bruteForceProtection |
Автобан при множественных ошибках аутентификации |
limit_map |
Rate-limit по prefix URL: ключ — prefix, значение — max запросов в секунду |
GeoIP работает через встроенные базы MaxMind GeoLite2
(data/GeoLite2-Country.mmdb, GeoLite2-ASN.mmdb). Базы обновляются вместе с
релизом.
{
"accsdb": {
"enable": true,
// Краткий формат: id:дата_истечения через запятую
"accounts": "user1:2026-12-31,user2:2027-06-01",
// Или подробный формат
"users": [
{ "id": "user1", "expires": "2026-12-31" },
{ "id": "user2", "expires": "2027-06-01" }
]
}
}
{ "lowMemoryMode": true }
Типичный выигрыш: ~−140 МБ RSS по сравнению с режимом по умолчанию.
При очень высокой параллельной нагрузке возможно незначительное снижение пиковой пропускной способности.
{
"chromium": {
"enable": false,
"count": 1, // количество экземпляров в пуле
"restart": 3600 // перезапуск каждые N секунд
},
"firefox": {
"enable": false,
"count": 1
}
}
Playwright требует установленного Chromium/Firefox. В Docker-образе зависимости включены. Для нативной
установки — дополнительная команда playwright install chromium.
{
"rch": {
"enable": false,
"requiredConnected": 1 // мин. подключений для активации
}
}
Remote Client Hub — WebSocket-реле для клиентов за NAT.
Позволяет подключаться без проброса портов. Эндпоинт: ws://.../ws.
{
"GC": {
"Concurrent": true, // параллельная сборка мусора
"ConserveMemory": 0, // агрессивность экономии памяти 0–9
"HighMemoryPercent": 90, // порог "высокой памяти" для принуд. сборки
"RetainVM": false // сохранять VM при возврате памяти ОС
}
}
Каждый провайдер настраивается в собственном разделе init.conf. Набор
параметров зависит от провайдера.
{
// Провайдеры с публичным доступом
"Rezka": { "enable": true, "host": "https://rezka.ag", "priority": 1 },
"Collaps": { "enable": true, "host": "https://api.collaps.net" },
"HDVB": { "enable": true, "host": "https://apivideo.site" },
// Провайдеры с токеном
"Filmix": { "enable": true, "host": "https://filmix.biz", "token": "TOKEN", "priority": 2 },
"KinoPub": { "enable": true, "token": "TOKEN" },
"Kodik": { "enable": true, "token": "TOKEN" }
}
| Параметр | Описание |
|---|---|
enable |
Включить/выключить провайдер |
host |
URL хоста (для провайдеров с настраиваемым зеркалом) |
token |
API-токен или ключ партнёра |
priority |
Порядок в списке источников (меньше = выше) |
{
"online": {
"name": "Lampac NextGen",
"version": true,
"btn_priority_forced": true
},
"sisi": {
"lgbt": false,
"NextHUB": true,
"history": { "enable": false }
},
"openstat": { "enable": false }, // /stats/* эндпоинты
"LampaWeb": {
"widgets": {
"samsung": true, // /samsung.wgt — Tizen
"lg": true // /lg.ipk — webOS
},
"customPlugins": [
{ "url": "{localhost}/tg-notify.js", "status": 1 }
],
"initPlugins": {
"online": true,
"sisi": true,
"torrserver": true,
"timecode": true,
"jacred": true,
"tmdbProxy": true,
"cubProxy": true,
"pirate_store": true
}
}
}
Плагины /online.js и /sisi.js совместимы с Lampa 3.0. Виджеты
Smart TV собираются на лету с подстановкой {localhost}; кеш — в
cache/widgets/. Подробнее о Tg-notify — в секции TelegramBot.
Музыкальный модуль включён по умолчанию. Клиентский плагин —
/music.js (подключается в Lampa вручную). Полное описание —
Modules/Music/README.md.
{
"Music": {
"default_metadata_provider": "musicbrainz",
"default_audio_provider": "youtubeaudio",
"youtube_audio_enabled": true,
"sefon_audio_enabled": true,
"soundcloud_enabled": true,
"soundcloud_country": "US",
"z3fm_enabled": false,
"z3fm_audio_enabled": false,
"client_debug_enabled": false
}
}
| Параметр | По умолчанию | Описание |
|---|---|---|
default_metadata_provider |
musicbrainz |
Каноническая metadata-база каталога |
default_audio_provider |
youtubeaudio |
Основной audio-провайдер для воспроизведения |
soundcloud_country |
US |
Регион чартов и подборок SoundCloud |
z3fm_enabled / z3fm_audio_enabled |
false |
Z3Fm (требует Playwright для антибота) |
client_debug_enabled |
false |
Приём клиентских трейсов на /music/clientlog |
Фоновый Telegram-бот уведомлений о новых сериях и озвучках.
Подписка из карточки Lampa, трекинг через Trakt→TMDB и параллельный опрос Mirage/Collaps. По умолчанию модуль
отключён в manifest.json — включите TelegramBot.enable и задайте
bot_token. Подробности —
Modules/Tg-notify.bot/README.md.
{
"TelegramBot": {
"enable": true,
"bot_token": "ТОКЕН_ОТ_BOTFATHER",
"tmdb_api_key": "ВАШ_КЛЮЧ_TMDB",
"trakt_client_id": "",
"lampac_host": "http://127.0.0.1:9118",
"lampac_token": "",
"check_interval_minutes": 60,
"tmdb_lang": "ru-RU",
"data_dir": "database/tgnotify"
}
}
| Параметр | Описание |
|---|---|
bot_token |
Токен бота от @BotFather. Обязателен для запуска long polling |
tmdb_api_key |
Ключ TMDB v3 — обложки, описания эпизодов, определение сезона |
trakt_client_id |
Client ID Trakt (опционально). Основной источник новых серий; без него — только TMDB |
lampac_host |
Базовый URL Lampac для запросов к балансерам (/lite/mirage, /lite/collaps) |
lampac_token |
Токен accsdb — обязателен при включённой защите accsdb |
check_interval_minutes |
Период фоновой проверки подписок (первый прогон — через 2 мин после старта) |
data_dir |
Каталог users.json / subscriptions.json |
Подключите клиентский плагин через LampaWeb.customPlugins (см. выше) или напрямую по URL
{localhost}/tg-notify.js. Убедитесь, что имя TelegramBot не попало в
SkipModules.