[2026-09-22] eagle: family/how-to/tv-lampac-plugin.md family/projects/watchlist-automation.md personal/plans/lampac-kraken.md personal/plans/lampac-watchlist-plugin.md personal/tech/lampac-deployment.md

This commit is contained in:
Alexey Martemyanov committed 2026-09-22 12:13:29 +06:00
1 parent ba65c521f0
commit 97237168a0
5 files changed
+238 -18

No files matched your search

+50
View File
@@ -324,6 +324,56 @@ ssh root@TV 'script -q -c "luna-send -n 1 -f luna://service/method {json}" /tmp/
**Как убрать выбор источника:** Lampa → Настройки → Плагины → выключить `online.js`. Останутся только торренты.
## 🔴 Выбор источника каталога в Lampa (проверено 2026-09-22)
**В Lampa НЕТ пункта «Настройки → Источник».** Я его выдумал — Alex дважды указал на ошибку.
Не повторять.
Источник (Rezka / Kinobase / «Мой список» / …) переключается **из меню каталогов на главной**:
1. Открыть Lampa на главной
2. Встать на любой ряд каталога → нажать **влево** на пульте
3. Слева выедет **панель со списком источников**
4. Выбрать нужный → OK; каталог перестроится, в заголовке появится имя источника
в верхнем регистре («Фильмы — МОЙ СПИСОК»)
**Плагин `catalog.js` не добавляет пункт меню — он подменяет существующие.**
Механика: при старте приложения `Lampa.Utils.account(api_host + '/catalog', …)` получает список
каталогов, регистрирует каждый как `Lampa.Params.values.source[key]` и подменяет
`Lampa.Api.sources[key]`. Затем хук `Lampa.Listener.follow('menu', …)` перехватывает клики по
`movie`/`tv`/`cartoon`/`anime`/`relise` и подставляет URL из `catalogs[key].menu`.
⚠️ **Следствие — каталоги регистрируются ТОЛЬКО при старте приложения.**
Добавил плагин и не перезапустил Lampa → источника не будет, `/catalog` не запрашивается,
соединений с `:9118` ноль. Нужен **полный перезапуск** (не сворачивание).
### ⚠️ Клиент на ТВ — это не «отдельная Lampa»
`com.lampac.tv` (webOS) грузит UI **с сервера**: `loader.js` читает `lampac_url` из localStorage
(дефолт `http://192.168.1.14:9118`) и подключает `app.min.js` + `lampainit.js`.
Значит логика каталога на ТВ = **серверная**, и править её надо на Lampac, а не на ТВ.
`/lampainit.js` содержит `var plugins_add = [...]` со строкой
`{"url":".../catalog.js","name":"Альтернативные источники каталога","status":1}` —
это **серверный список плагинов, которые Lampac сам подсовывает** в UI.
Каталог watchlist работает через **модуль `Catalog`**, не через эту строку.
Не искать причину поломки в `plugins_add`.
### Диагностика «каталога нет в UI»
| Проверка | Команда | Норма |
|---|---|---|
| Плагин отдаётся | `curl -sI http://192.168.1.14:9118/catalog.js` | 200, ~32 КБ |
| Каталоги зарегистрированы | `curl -s http://192.168.1.14:9118/catalog \| jq 'keys'` | 7 ключей, «Мой список» есть |
| Данные отдаются | `curl -s "…/catalog/list?plugin=watchlist&cat=films" \| jq .total_pages` | 1 |
| ТВ реально ходит | `ssh kraken 'sudo ss -tnp \| grep :9118'` | есть ESTABLISHED <br>**ноль = Lampa не запускалась заново** |
Порядок разбора: сначала `ss` (ходит ли ТВ вообще), потом `/catalog` (что отдаёт сервер),
потом UI. Если ноль соединений — проблема не в сервере.
⚠️ `docker logs lampac` **HTTP-запросы не пишет** — по логам факт обращения ТВ не проверить.
Использовать `ss`, а не логи.
## Внутреннее устройство Lampac (разведка 2026-09-22)
**33 модуля** в образе (`/lampac/module/`):