[2026-09-22] eagle: family/projects/watchlist-automation.md personal/plans/lampac-disable-1xbet-ads.md personal/plans/watchlist-tmdb-missing-marker.md personal/tech/lampac-deployment.md

This commit is contained in:
Alexey Martemyanov committed 2026-09-22 18:49:46 +06:00
1 parent db766abb58
commit 6e93554b27
4 files changed
+393 -26

No files matched your search

+148 -8
View File
@@ -246,22 +246,64 @@ Department`, `Место встречи изменить нельзя`, `MOZU`,
+ wanted/missing 0 записей
```
### Удаление (по команде Alex)
### ✅ УДАЛЕНИЕ ВЫПОЛНЕНО (2026-09-22, 18:44) — 16/16, файлы с диска ушли
Скрипт: `~/lampac-tmp/delete_autodownloads.py` (Python + `urllib`, не bash:
кириллица/`$()` в ssh-командах рвётся). Список ID **фиксирован в коде**, dry-run
печатает план, `--apply` удаляет.
🔴 **Radarr по умолчанию НЕ удаляет файл с диска.** Нужен явный
`deleteFiles=true` в DELETE-запросе, иначе файл останется в
`/media/movies-radarr/<Title> (<Year>)/` сиротой. Корзины нет — удаление
необратимо без `/tmp`-дампа.
```bash
# ОДИН фильм
curl -sL -X DELETE "$UR/api/v3/movie/<id>?deleteFiles=true&addImportExclusion=false" \
-H "X-Api-Key: $RADARR_KEY"
# исключения импорта НЕ добавляем: addImportExclusion=true — только если
# фильм НЕ должен вернуться; для авто-закачек это и нужно, но решает Alex.
```python
url = "%s/api/v3/movie/%d?deleteFiles=true&addImportExclusion=false" % (URL, i)
req = urllib.request.Request(url, method="DELETE")
req.add_header("X-Api-Key", KEY)
```
⚠️ Удаление 12 фильмов с файлами освободит место в `/media/movies-radarr`,
Результат: `удалено: 16, ошибок: 0` (все HTTP 200).
```
Radarr: 50 → 34 фильма B added >= 20.09: 0
очередь: 0 wanted/missing: 0
monitored: 0 .recyclebin: пусто (файлы ушли физически)
12 каталогов в $M/movies-radarr исчезли; осталось 17
Sonarr: 13 сериалов, added >= 20.09: 0 (авто-закачек не было, не трогали)
```
Снимок до удаления: `/tmp/radarr-delete-snapshot.json`.
Скрипт проверки: `~/lampac-tmp/verify_deleted.sh`, `~/lampac-tmp/verify_final.sh`.
### 🔴🔴 КРИТИЧНО: `/media/movies-radarr` существует в ДВУХ разных местах
Первый `find` дал ложный результат «каталогов: 0» — я смотрел не туда.
```
снаружи: /media/movies-radarr → SD-пустышка, 0 файлов,
принадлежит root
в контейнере: /srv/…49e8f586…/media/movies-radarr → РЕАЛЬНЫЙ диск, 29 → 17 каталогов
```
`docker inspect radarr --format '{{range .Mounts}}...'`:
```
/srv/dev-disk-by-uuid-49e8f586-3839-4c5d-a1e1-58bfc3579ade/media -> /media
/srv/dev-disk-by-uuid-49e8f586-3839-4c5d-a1e1-58bfc3579ade/media/downloads -> /downloads
/srv/dev-disk-by-uuid-6194539b-03e0-4f33-986b-4da09834e82f/docker/radarr/config -> /config
```
🔴 **Radarr монтирует ДРУГОЙ диск** (`49e8f586`), не тот, где lampac
(`6194539b`). Оба — `sda1` 1.8T, но это разные маунты/файловые пространства.
Проверять **только через маунты контейнера**, а не по наружному пути.
`$M` = `/srv/dev-disk-by-uuid-49e8f586-3839-4c5d-a1e1-58bfc3579ade/media`.
Структура реального медиа-диска: `cartoons/`, `cartoons-series/`, `documentaries/`,
`documentaries-series/`, `downloads/{complete,incomplete,radarr,sonarr}/`,
`movies/`, `movies-radarr/`, `music/`, `series/`, `series-sonarr/`, `.recyclebin/`.
⚠️ Удаление 12 фильмов с файлами освободило место в `$M/movies-radarr`,
но **не влияет на каталог Lampa** — `watchlist.json` строится из `.md`,
Radarr в отображении не участвует.
@@ -352,6 +394,104 @@ if norm(title) not in missing:
(`$H` = `/srv/dev-disk-by-uuid-6194539b-03e0-4f33-986b-4da09834e82f/lampac`),
`kraken:kraken`, бэкапы `/tmp/movies-watchlist.md.bak-*` + `.bak-questions` рядом.
## 🔴🔴 Источники воспроизведения: торренты ≠ «смотреть онлайн» (2026-09-22)
**Вопрос Alex:** *«у меня есть определенные сомнения что через torrserver идут,
там только пункт "смотреть онлайн" работает и он добавляет вотермарк и рекламу
1xbet — это точно с торрентов? потому что если пункт "торренты" выбрать при
просмотре — то там пусто.»*
### Ответ: сомнения подтвердились. Это НЕ торренты.
Два **независимых** механизма воспроизведения в Lampa:
| Пункт в UI | За ним | Откуда поток | Реклама |
|---|---|---|---|
| **«Торренты»** | модуль `TorrServer` (порт 9085) | раздача через P2P | **НЕТ** |
| **«Смотреть онлайн»** | `Online` + `OnlineRUS` + `OnlinePaid` + `SISI` | чужой CDN источника | **ДА: 1xbet** |
🔴 **Реклама 1xbet приходит от ОНЛАЙН-ИСТОЧНИКА, а не от TorrServer.**
TorrServer отдаёт поток как есть, баннеры рисует обёртка онлайн-источника.
### Точные пути и механизм
```
/lampac/module/TorrServer ← торренты (жив: /echo -> "MatriX.135")
/lampac/module/Online ← базовый модуль онлайн-источников
/lampac/module/OnlineRUS ← 23 русских источника
/lampac/module/OnlinePaid ← Rezka и платные
/lampac/module/OnlineUKR | OnlineENG | OnlineAnime | OnlineGEO
/lampac/module/SISI ← 18+ (не источник рекламы для обычных фильмов)
```
`/lite/events` (НЕ `/api/`, НЕ `/online`) отдаёт список активных балансеров —
**20 штук**, формат `{"name":..,"url":"/lite/<x>","balanser":"<x>"}`:
```
Filmix · pizdatoehd · Kinobase · Phantom · Kinogo · AniDub · LeProduction ·
VeoVeo · PidTor · Collaps · HDVB · Rutube · VK Видео · Kinoteatr.kg ·
Vibix · Kinotochka · Eneyida · UaKino · UAFilm · Geosaitebi
```
`/lampac/module/OnlineRUS/` = **23 каталога**: `CDNvideohub · Collaps · FanCDN ·
FlixCDN · Gencit · HDVB · Kinobase · Kinogo · Kinoteatrkg · Kinotochka ·
LeProduction · Mirage · Phantom · PizdatoeHD · RuDub · RutubeMovie · Spectre ·
VeoVeo · Vibix · VideoDB · Videoseed · VkMovie · Zetflix · ZetflixDB`
### Почему «Торренты» пусто
TorrServer **работает** (`docker exec lampac curl -s http://127.0.0.1:9085/echo`
→ `MatriX.135`), но по этим фильмам **нет раздач** — нет сидов в трекере.
Это не поломка.
🔴 **TorrServer НЕДОСТУПЕН снаружи контейнера** — `curl http://127.0.0.1:9085/*`
с хоста даёт `Connection refused`. Проверять **только** через `docker exec lampac`.
### `vast.js` — НЕ виновник (проверено сырьём)
```
$H/wwwroot/vast.js = библиотека VASTPlayer (25×ads, 18×VAST, 6×AdTag)
$H/wwwroot/sisi/index.html → vast.js НЕ подключён
$H/wwwroot/sisi/plugins/modification.js (22 КБ):
реклама/трекеры (1xbet|vast|adTag|preroll): 0 совпадений
домены: только w3.org (XML-неймспейсы)
"torrent": 1 упоминание (сообщение «нет файлов»)
```
`modification.js` — чистый клиент TorrServer'а: берёт `element.json`, зовёт
`Api$1.account(element.video + '&json=true')`, играет качества. Рекламы в нём нет.
### 🔧 Выключатель: `LampaWeb.initPlugins.online` в `init.conf`
`/lampac/base.conf` (из образа):
```json
"LampaWeb": { "initPlugins": {
"jacred": true, "tmdbProxy": true, "cubProxy": true,
"online": true, // ← «смотреть онлайн»: 20 балансеров + реклама
"sisi": true, // ← 18+ модуль
"torrserver": true, // ← торренты (не трогать)
"timecode": true
}}
```
Пользовательский override уже смонтирован в контейнер (`:ro`):
`$H/config-module/init.conf` → `/lampac/init.conf`. Сейчас там только
`catalog: true`. **Он перекрывает base.conf.**
Чтобы погасить рекламу — добавить `"online": false` в `initPlugins`.
⚠️ **Цена решения (объяснить Alex до правки):**
```
• Реклама 1xbet пропадёт
• Останется ТОЛЬКО «Торренты». Нет раздач → смотреть нечего
• Онлайн-просмотр (Rezka/Filmix/Rutube/VK) исчезнет ВООБЩЕ
```
План и варианты: [[personal/plans/lampac-disable-1xbet-ads]].
Статус: **ждёт выбора Alex** (гасить онлайн полностью / частично / оставить).
## 🚀 Деплой генератора на Кра́кен (проверено 2026-09-22)
### 🔴🔴 Питфолл: `load_env()` искал `.env` только по Mac-пути