[2026-09-22] eagle: family/how-to/htpc-webos-luna.md personal/plans/lampac-watchlist-plugin.md personal/tech/lampac-deployment.md personal/tech/skill-lampac-kraken-deploy.md
This commit is contained in:
1 parent
0c8aecece0
commit
81f8dd398b
4 files changed
+330
-8
No files matched your search
@@ -13,8 +13,10 @@ tags:
|
||||
- webos
|
||||
related:
|
||||
- '[[personal/plans/lampac-kraken]]'
|
||||
- '[[personal/plans/lampac-watchlist-plugin]]'
|
||||
- '[[personal/tech/multistream-single-flow-limit]]'
|
||||
- '[[family/how-to/kraken-network]]'
|
||||
- '[[family/how-to/tv-luna-send]]'
|
||||
---
|
||||
|
||||
# Lampac — развёртывание и эксплуатация (Кра́кен)
|
||||
@@ -152,24 +154,123 @@ Configure complete ← HTTP начинает отвечать
|
||||
|
||||
Выбор порта — `docker compose config` + `sudo ss -tlnp` перед деплоем.
|
||||
|
||||
## Интеграция с Lampa (ТВ)
|
||||
## Интеграция с Lampa (ТВ) — ✅ СДЕЛАНО 2026-09-22
|
||||
|
||||
- Плагин: `http://192.168.1.14:9118/online.js`
|
||||
- TorrServer в Lampa: Настройки → TorrServer → «Использовать основную ссылку» → `http://192.168.1.14:9118`
|
||||
- Буфер плеера: 50–100 МБ
|
||||
- UE на LG: `.ipk` с флешки на розничных телевизорах **не работает** → ставить через **Media Station X**
|
||||
- `/lg.ipk` отдаёт сам Lampac
|
||||
- `/lg.ipk` отдаёт сам Lampac (проверено: HTTP **200**)
|
||||
|
||||
## Откат
|
||||
### Установка клиента на LG webOS — по SSH, без флешки
|
||||
|
||||
🔴 **`Media Station X` и `.ipk` с флешки — НЕ нужны.** ТВ имеет SSH-доступ (root), установка делается с Mac.
|
||||
|
||||
**ТВ:** `root@192.168.1.70`, ключ `~/.ssh/konka_webos`, webOS **5.4.2** (ядро 4.4.84, image `starfish-dvb-secured`, build 2602, `webos_build_datetime 20230405092501`).
|
||||
Порты открыты: `22` (SSH), `3000`/`3001` (Luna). Из кастомного уже стоит: `org.webosbrew.hbchannel` 0.7.2, `org.webosbrew.inputhook`, `me.wouterdek.magic4pc`.
|
||||
|
||||
**Порядок установки:**
|
||||
|
||||
```bash
|
||||
cd /srv/.../lampac && docker compose down
|
||||
sudo rm -rf /srv/dev-disk-by-uuid-6194539b-03e0-4f33-986b-4da09834e82f/lampac
|
||||
# 1. Скачать .ipk от Lampac прямо на ТВ
|
||||
ssh root@192.168.1.70 'curl -sS --max-time 60 -o /tmp/lampa.ipk "http://192.168.1.14:9118/lg.ipk"'
|
||||
# → 6 896 874 байт, формат ar (!<arch>), НЕ tar/gzip
|
||||
|
||||
# 2. Установить (обязательна обёртка script — см. питфолл ниже)
|
||||
ssh root@192.168.1.70 'rm -f /tmp/inst.txt; script -q -c \
|
||||
"luna-send -n 1 -f luna://com.webos.appInstallService/dev/install \
|
||||
{\"id\":\"org.lampa.tv\",\"ipkUrl\":\"/tmp/lampa.ipk\",\"subscribe\":true}" \
|
||||
/tmp/inst.txt >/dev/null 2>&1; cat /tmp/inst.txt'
|
||||
# → {"subscribed":true,"returnValue":true}
|
||||
|
||||
# 3. Проверить, что установилось
|
||||
ssh root@192.168.1.70 'ls /media/developer/apps/usr/palm/applications/'
|
||||
# → com.lampac.tv ← имя приложения Lampa, НЕ org.lampa.tv
|
||||
|
||||
# 4. Запустить
|
||||
ssh root@192.168.1.70 'rm -f /tmp/l.txt; script -q -c \
|
||||
"luna-send -n 1 -f luna://com.webos.applicationManager/launch {\"id\":\"com.lampac.tv\"}" /tmp/l.txt'
|
||||
|
||||
# 5. Убедиться, что открылось
|
||||
ssh root@192.168.1.70 'rm -f /tmp/f.txt; script -q -c \
|
||||
"luna-send -n 1 -f luna://com.webos.applicationManager/getForegroundAppInfo {}" /tmp/f.txt; grep appId /tmp/f.txt'
|
||||
# → "appId": "com.lampac.tv"
|
||||
```
|
||||
|
||||
Lampac изолирован — остальной стек Кра́кена не затрагивается.
|
||||
**Фактический ID приложения — `com.lampac.tv`** (vendor Lampac, version 1.0.0, type web).
|
||||
⚠️ В `luna-send ... dev/install` поле `"id"` — **произвольная метка**; реальный appId берётся из `appinfo.json` внутри ipk. Ошибиться здесь не страшно, но искать приложение надо по фактическому ID.
|
||||
|
||||
### 🔴 Питфолл: `luna-send` по SSH молчит
|
||||
|
||||
**Симптом:** любой вызов `luna-send` через `ssh root@TV "luna-send ..."` печатает **хелп-экран**, а не результат. С `-t` (PTY) — тоже. С `-a '{"json"}'` — тоже.
|
||||
|
||||
**Причина:** `luna-send` детектирует TTY и отказывается писать в pipe.
|
||||
|
||||
**Решение:** обернуть в `script(1)`, который аллоцирует псевдо-TTY, и прочитать временный файл:
|
||||
```bash
|
||||
ssh root@TV 'script -q -c "luna-send -n 1 -f luna://service/method {json}" /tmp/o.txt; cat /tmp/o.txt'
|
||||
```
|
||||
|
||||
Готовый враппер: `~/Automation/tv-luna-send.sh` (`TV_HOST` переопределяет таргет).
|
||||
Доки: [[family/how-to/tv-luna-send]], [[family/how-to/htpc-webos-luna]].
|
||||
|
||||
⚠️ **Установка идёт через `com.webos.appInstallService/dev/install`**, а НЕ через
|
||||
`org.webosbrew.hbchannel.service/install` (последний в образе есть, но `luna-send` его не дёрнул чисто).
|
||||
|
||||
⚠️ `luna-send -i` (subscribe, бесконечный) через враппер **не работает** — нужен polling.
|
||||
|
||||
### Первый просмотр — проверено 2026-09-22
|
||||
|
||||
Фильм запущен, **не дёргается**. Alex: «Вроде стабильно, не делается».
|
||||
|
||||
| Факт | Значение |
|
||||
|---|---|
|
||||
| Соединения ТВ → Lampac | 3 × ESTABLISHED `192.168.1.70 → 192.168.1.14:9118` |
|
||||
| Нагрузка контейнера | `lampac` CPU 57%, NET 168 МБ ↓ / 132 МБ ↑ |
|
||||
| Битрейт на eth0 | **~3–4 Мбит/с** |
|
||||
|
||||
⚠️ **Почему всего 3–4 Мбит, а не 15:** выбран источник **«Смотреть онлайн (lampac 1.18…)»** — встроенный
|
||||
плагин `online.js`, HLS-поток. Lampac отдаёт **ссылку**, ТВ тянет видео напрямую из CDN (в `/proc/net/tcp`
|
||||
ТВ видны внешние адреса на `:443`/`:8443`). Тяжёлый remux с торрента не участвует — поэтому и не дёргается.
|
||||
|
||||
🔴 **Следствие:** этот просмотр **не проверяет**, держит ли сеть remux 60–80 Мбит.
|
||||
Тест функциональности, не полосы. Полосу проверять на торрент-источнике.
|
||||
|
||||
**Как убрать выбор источника:** Lampa → Настройки → Плагины → выключить `online.js`. Останутся только торренты.
|
||||
|
||||
## Внутреннее устройство Lampac (разведка 2026-09-22)
|
||||
|
||||
**33 модуля** в образе (`/lampac/module/`):
|
||||
`AdminPanel`, `Adult`, **`Catalog`**, `Community`, **`DLNA`**, `DatabaseEditor`, `ExternalBind`,
|
||||
`ForkPlayerXML`, `GStreamer`, `JacRed`, `Kit`, `LampaWeb`, `LampacApk`, `LogUserRequest-Lite`,
|
||||
`MsxNative`, `Music`, `NextHUB`, **`Online`**, `OnlineAnime`, `OnlineENG`, `OnlineGEO`, `OnlinePaid`,
|
||||
`OnlineRUS`, `OnlineUKR`, `PidTor`, `Potok`, `Proxy`, `SISI`, `Sync`, `Telemetry` (+ остальные).
|
||||
|
||||
**Конфиг — `current.conf`** внутри образа (`/lampac/current.conf`, 157 КБ, генерируется из `base.conf` +
|
||||
`init.conf`). Рабочий каталог `/lampac`, файлы читаются **из корня**, не из `config/`.
|
||||
|
||||
Выключение модуля — двумя механизмами:
|
||||
1. **`SkipModules`** в `init.conf` / `current.conf`
|
||||
2. **`manifest.json`** в каталоге модуля (`"enable": true|false`)
|
||||
|
||||
⚠️ **`init.conf` НЕ смонтирован** в нашем compose — файл живёт внутри образа. Любая правка через
|
||||
`docker exec` **потеряется при пересоздании контейнера**. Для постоянных правок нужен volume или AdminPanel.
|
||||
|
||||
### Полезные роуты (проверены curl'ом)
|
||||
|
||||
| Роут | Код | Что |
|
||||
|---|---|---|
|
||||
| `/` | 200 | LampaWeb (UI, `<base href="/lampa-main/">`) |
|
||||
| `/online.js` | 200 | плагин VOD — 70+ онлайн-источников |
|
||||
| `/lg.ipk` | 200 | установщик клиента для LG (6.9 МБ) |
|
||||
| `/sisi` | 200 | JSON-список платформ 18+ |
|
||||
| `/dlna` | 200 | DLNA-модуль |
|
||||
| `/ts/echo` | 200 | TorrServer (отдаёт версию, напр. `MatriX.135`) |
|
||||
| `/catalog.js` | **404** | модуль Catalog выключен |
|
||||
| `/cub`, `/api`, `/lampac.js` | 404/500 | — |
|
||||
|
||||
## Что осталось
|
||||
|
||||
1. **Лимит кэша TorrServer** — сейчас дефолт. Задать ~20 ГБ, чтобы не сожрать 396 ГБ свободных.
|
||||
2. **Подключение Lampa на ТВ** — шаг 6 плана, на стороне Alex.
|
||||
2. **`init.conf` без volume** — правки в `docker exec` не переживают пересоздание контейнера.
|
||||
3. **Шаг 7 плана — watchlist в UI Lampa** — план: [[personal/plans/lampac-watchlist-plugin]].
|
||||
4. **Проверка полосы на торрент-источнике** (remux 60–80 Мбит) — не сделана.
|
||||
@@ -13,6 +13,7 @@ tags:
|
||||
related:
|
||||
- '[[personal/tech/lampac-deployment]]'
|
||||
- '[[personal/plans/lampac-kraken]]'
|
||||
- '[[family/how-to/tv-luna-send]]'
|
||||
---
|
||||
|
||||
# Skill: `lampac-kraken-deploy`
|
||||
@@ -40,6 +41,27 @@ related:
|
||||
6. `docker manifest inspect` с Mac → `denied`; проверять **из Кра́кена**.
|
||||
7. `docker compose` только как плагин (v5.1.3), не `docker-compose`.
|
||||
8. Приёмка = играет 5+ минут на ТВ, а не «API отвечает».
|
||||
9. 🔴 **Lampa на ТВ ставится по SSH, флешка и Media Station X НЕ нужны.** См. [[personal/tech/lampac-deployment]].
|
||||
10. 🔴 **`luna-send` по SSH печатает хелп вместо ответа** — обернуть в `script -q -c "..." /tmp/o.txt`.
|
||||
11. Фактический appId Lampa на ТВ — **`com.lampac.tv`** (не `org.lampa.tv` из запроса установки).
|
||||
|
||||
## Установка Lampa на ТВ (сжато)
|
||||
|
||||
```bash
|
||||
# скачать ipk на ТВ
|
||||
ssh root@192.168.1.70 'curl -sS -o /tmp/lampa.ipk "http://192.168.1.14:9118/lg.ipk"'
|
||||
|
||||
# установить (только через com.webos.appInstallService + обёртку script)
|
||||
ssh root@192.168.1.70 'rm -f /tmp/i.txt; script -q -c \
|
||||
"luna-send -n 1 -f luna://com.webos.appInstallService/dev/install \
|
||||
{\"id\":\"org.lampa.tv\",\"ipkUrl\":\"/tmp/lampa.ipk\",\"subscribe\":true}" /tmp/i.txt; cat /tmp/i.txt'
|
||||
|
||||
# запустить
|
||||
ssh root@192.168.1.70 'rm -f /tmp/l.txt; script -q -c \
|
||||
"luna-send -n 1 -f luna://com.webos.applicationManager/launch {\"id\":\"com.lampac.tv\"}" /tmp/l.txt'
|
||||
```
|
||||
|
||||
ТВ: `root@192.168.1.70`, ключ `~/.ssh/konka_webos`, webOS 5.4.2, порты `22`/`3000`/`3001`.
|
||||
|
||||
## Проверка
|
||||
|
||||
@@ -59,3 +81,13 @@ ssh kraken 'sudo rm -rf /srv/dev-disk-by-uuid-6194539b-03e0-4f33-986b-4da09834e8
|
||||
## Не закрыто
|
||||
|
||||
- Лимит кэша TorrServer — дефолт. Рекомендуется ~20 ГБ.
|
||||
- `init.conf` не смонтирован — правки через `docker exec` не переживают пересоздание контейнера.
|
||||
- Шаг 7 — watchlist в UI Lampa: [[personal/plans/lampac-watchlist-plugin]].
|
||||
|
||||
## Реальный скилл (файл)
|
||||
|
||||
`~/.hermes/hermes-whale/skills/devops/lampac-kraken-deploy/SKILL.md`
|
||||
|
||||
⚠️ **Скилл в файловой системе отстал от этой заметки** — в нём нет пунктов 9–11
|
||||
(установка Lampa на ТВ по SSH, питфолл `luna-send`+`script`, фактический appId `com.lampac.tv`).
|
||||
При следующей загрузке скилла — подтянуть из [[personal/tech/lampac-deployment]].
|
||||
Reference in new issue
Block a user