wwwroot/, собирает lampainit.js, формирует список расширений, интегрируется с accsdb, обновляет исходники с GitHub через фоновый крон LampaCron и генерирует виджеты Smart TV.
Назначение
- Корень сайта
/подставляет<base>для каталога изconf.index(напримерlampa-main/index.html), иначе делает редирект на статический файл. - Конфиг модуля задаёт репозиторий Git (
git,tree) для автоподтягивания исходников и интервалintervalupdate(в минутах), а также флагautoupdate.
Ключевые маршруты
Событие
accsdb в ModInit: для пути /testaccsdb при совпадении UID с shared_passwd выставляется IsAnonymousRequest (обход для общего пароля).Конфигурация
Секция вinit.conf: LampaWeb.
Поля конфигурации
initPlugins и dedup плагинов
Lampac отдаёт плагины двумя путями:
Список плагинов для обоих маршрутов собирает
LampaPluginBuilder по флагам LampaWeb.initPlugins и customPlugins.
Default URL (flat)
В{initiale} всегда подставляются flat-URL вида {localhost}/online.js, {localhost}/sync.js и т.д. Сервер не подменяет их на */js/{token} автоматически.
Token URL (ручная установка)
Пользователь может добавить token-вариант вручную, например{localhost}/sync/js/myuser или {localhost}/online/js/myuser. На клиенте plugins/lampainit.js при каждом старте:
- сравнивает server list с уже установленными плагинами
- не добавляет flat-URL, если в registry уже есть любой URL того же семейства (
name.jsиname/js/{token}считаются одним плагином) - при наличии token-варианта может удалить flat-дубликат (если в runtime Lampa доступен
Plugins.remove)
Sync orchestrator
Если включёнinitPlugins.sync, модуль sync.js сам загружает bookmark и timecode. Builder не добавляет отдельные bookmark.js / timecode.js в {initiale} и /on.js, даже если их флаги в конфиге true.
customPlugins
Записи изLampaWeb.customPlugins со status: 1 добавляются as-is. Family dedup на клиенте применяется и к ним: например, custom {localhost}/music/js/token блокирует добавление flat {localhost}/music.js из другого источника.
Плагины без token-маршрута
watchtogether.js и startpage.js участвуют в dedup только по exact URL.
Плагин «Дорамы» (dorama.js)
Плагинdorama.js добавляет пункт «Дорамы» в основное меню Lampa сразу после «Сериалы» и регистрирует отдельный источник lampac_dorama. Он не зависит от SISI и подключается только через LampaWeb.initPlugins.dorama: true.
Источник строит секции через TMDB Discover TV для корейских драм:
with_original_language=kowith_genres=18include_adult=false
/tmdb/api/3/..., когда {localhost} подставлен. Иначе используется нативный TMDB URL-builder клиента. Плагин также перехватывает Dorama category_full ссылки, чтобы кнопка «Ещё» не уходила в активный CUB/TMDB source.
Проверка после изменений
1
Включите плагин
Установите
LampaWeb.initPlugins.dorama: true.2
Проверьте lampainit.js
Откройте Lampa через
/lampainit.js и убедитесь, что «Дорамы» стоят сразу после «Сериалы».3
Проверьте on.js
Откройте Lampa через
/on.js и убедитесь, что пункт «Дорамы» появляется без зависимости от SISI.4
Проверьте загрузку секций
Откройте «Дорамы» и проверьте, что экран секций загружает строки.
5
Проверьте пагинацию
Откройте «Ещё» в любой секции и проверьте, что страница 2 грузится из
lampac_dorama, а не из CUB.6
Проверьте отсутствие дублей
Перезагрузите приложение и убедитесь, что в меню остаётся один пункт «Дорамы».
Telegram Auth Gate
Если accsdb включён, по умолчанию клиент видитdeny.js с модалкой пароля/CUB. Можно заменить на гейт Telegram:
accsdb.enable: truetelegramAuthGate.enabled: true- Непустой
botUsername
deny.js.
Как работает гейт
telegram_auth_gate.js показывает fullscreen overlay с UID устройства, кнопкой «Открыть Telegram» и QR-кодом. Опрашивает GET /tg/auth/status каждые checkIntervalMs (по умолчанию 10 секунд). После успешной авторизации экран закрывается автоматически и приложение перезагружается.
Для ТВ
Крупный QR-код и большой UID для удобного сканирования с телефона.
Для мобильных
Кнопка «Открыть Telegram» открывает чат с ботом, UID подставляется в стартовое сообщение.
Зависимости
- Каталог
wwwroot/в корне приложения сlampa-main/и статикой. - Плагины модуля в
plugins/(extensions, deny и т.д.). LampaCronдля автообновления из Git по конфигу.

