From 6b119612c141a1ba5a565e1580efddeda104f4cc Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Thu, 24 Sep 2026 18:39:49 +0600 Subject: [PATCH] [2026-09-24] eagle: family/how-to/lampac-torrents.md personal/tech/lampac-deployment.md personal/tech/lampac-torrserver.md --- family/how-to/lampac-torrents.md | 92 +++++++++++++++++++++++++----- personal/tech/lampac-deployment.md | 80 ++++++++++++++++++++++++++ personal/tech/lampac-torrserver.md | 52 ++++++++++++++++- 3 files changed, 209 insertions(+), 15 deletions(-) diff --git a/family/how-to/lampac-torrents.md b/family/how-to/lampac-torrents.md index c461360d..85f4c6fe 100644 --- a/family/how-to/lampac-torrents.md +++ b/family/how-to/lampac-torrents.md @@ -1,7 +1,7 @@ # Torrents в Lampa — как оно работает и как чинить -**Обновлено:** 2026-09-22 -**Связано:** [[personal/tech/lampac-torrserver]], [[personal/tech/lampac-deployment]], [[family/how-to/tv-lampac-plugin]] +**Обновлено:** 2026-09-24 +**Связано:** [[personal/tech/lampac-torrserver]], [[personal/tech/lampac-deployment]], [[family/how-to/tv-lampac-plugin]], [[family/how-to/arr-stack-kraken]] **Статус:** ✅ работает. Приёмка Alex: «Во! теперь появились торренты. запустил F1..» --- @@ -11,7 +11,7 @@ ``` Пункт «Торренты» пуст / 500 / 503 → проверь PidTor.redapi = http://jac.red (НЕ локальный!) -→ очисти cache/fdb/ +→ снять кэш ответа (см. «Где на самом деле кэш» ниже) → docker restart lampac ``` @@ -19,19 +19,72 @@ --- +## 🔴 Где на самом деле кэш (исправлено 2026-09-24) + +Прежняя запись «кэш лежит в `cache/fdb/`» **неверна**. Факт: + +``` +$H/lampac/cache/fdb/ → только ПУСТЫЕ каталоги 0/ 1/ 2/ … f/ (0 файлов) +$H/lampac/cache/module/ → 76 файлов без расширений, base64-ish имена + (OEdMn4LsmVEkyTEYgfu5dg), file = PE32 .NET DLL +``` + +`cache/module/` — это **сборки .NET-модулей**, кэш модулей, а не JSON-ответы PidTor. +Опознать модуль по содержимому: + +```bash +grep -l "pidtor" $H/lampac/cache/module/* # → файл, внутри которого PidTor.dll +strings <файл> | grep -iE "pidtor|\.dll" +# → PidTor.dll, lite/pidtor, lite/pidtor/serial/{id}, lite/pidtor/s{id} +``` + +⚠️ **Перед «очистить `cache/fdb/`» проверь, что там есть файлы** — +`find $H/lampac/cache/fdb -type f | wc -l`. Пусто → чистка не даст ничего. +Кэш модулей в `cache/module/` без нужды не трогать: модули пересобираются при старте. + +📌 **Практический вывод:** при 503 первым делом пробовать **заголовок, который ещё +не запрашивался** (другой год / другой title) — свежий ключ не попадёт в старый кэш и +даст честный ответ. `docker restart lampac` кэш ответов **не снимает**. + +--- + +## По каким трекерам ищет PidTor + +Свой список PidTor **не держит**. Он идёт на `{redapi}/api/v2.0/indexers/all/results?title=..&year=..` +— суффикс **`all`** означает «все индексеры JacRed разом». Состав трекеров определяется +**стороной `jac.red`**, а не lampac. + +🔴 **Prowlarr в этой цепочке не участвует.** У Prowlarr свои 6 индексера +(RuTracker · Kinozal · Kinozal (M) · RuTor · NoNaMe Club · Byrutor), и питает он +**Radarr/Sonarr** ([[family/how-to/arr-stack-kraken]]). Прямого моста +«Prowlarr → источники Lampa» нет; добавить трекер в Prowlarr ≠ добавить источник в плеер. + +**Как влиять на список источников (два пути):** + +| Путь | Как | Блокер | +|---|---|---| +| Локальный JacRed lampac | править набор трекеров в его БД (`$H/lampac/data/`), затем переключить `redapi` на `http://127.0.0.1:9118` | 🔴 формат **без `info`** → NPE. Переключать **только** после появления поля `info` | +| Prowlarr в обход PidTor | добавить трекеры в Prowlarr и качать ими в Radarr/Sonarr | это не «источники в Lampa» — в плеере их не видно | + +⚠️ Шум «один источник в «Смотреть онлайн» и качество плохое» — это **онлайн-балансеры** +(`Online`/`OnlineRUS`/`OnlinePaid`/`SISI`), а не PidTor. Качество диктует CDN источника. + +--- + ## Архитектура ``` Lampa (ТВ) → «Торренты» → PidTor (модуль lampac) ↓ redapi jac.red (ВНЕШНИЙ, 144.31.3.10) + ↓ /api/v2.0/indexers/all/results (все индексеры) ↓ MagnetUri + info{} TorrServer (встроен в lampac, порт 9085 внутр.) ↓ качает на HDD Кра́кена ``` -🔴 **Поиск раздач идёт на ВНЕШНИЙ `jac.red`.** TorrServer только качает. Локальный JacRed есть, но **несовместим по формату**. +🔴 **Поиск раздач идёт на ВНЕШНИЙ `jac.red`.** TorrServer только качает. Локальный JacRed есть, но **несовместим по формату** (нет `info`). ### Что нужно в `config-module/init.conf` @@ -51,11 +104,13 @@ Lampa (ТВ) → «Торренты» → PidTor (модуль lampac) | Код | Время | Значение | Что делать | |---|---|---|---| -| **503** | 0.001–0.002s + `X-Invoke-Cache: HIT` | Ответ **из кэша**. Реальная причина скрыта | Очистить `cache/fdb/` | +| **503** | 0.001–0.035s + `X-Invoke-Cache: HIT` | Ответ **из кэша**. Реальная причина скрыта | Запросить **новый ключ** (другой год/title) для честного ответа; см. «Где на самом деле кэш» | | **500** | 0.1–1s | Честная ошибка. Обычно NPE на `info` | Смотреть `redapi` | | **200** | — | Работает | — | -🔴 **503 = кэш, 500 = реальная ошибка.** Кэш `extend: 2700` = 45 минут, переживает `docker restart` (лежит на диске в `cache/fdb/`). Заголовок `X-Invoke-Cache: HIT` + время ~0.0015s — верный признак. +🔴 **503 = кэш, 500 = реальная ошибка.** `X-Invoke-Cache: HIT` + время <0.04s — верный признак. +🔴 **`503` не означает «раздач нет».** Это кэшированный отказ. Делать выводы о трекерах +можно только по свежему (некэшированному) ответу. --- @@ -120,13 +175,16 @@ curl -s -X POST http://127.0.0.1:9118/ts/torrents \ ## Питфоллы -1. 🔴 **503 — это кэш, а не ошибка.** Сначала очистить `cache/fdb/`, потом делать выводы. Иначе час diagnostic по закэшированному отказу. -2. 🔴 **`enabled: false` у всех 86 модулей — это НОРМА.** Служебное поле (расписание). Смотреть только `enable`. -3. 🔴 **Лог lampac не показывает исключения** PidTor — `docker logs` пуст. Читать исходник (`Controller.cs`, `Model.cs`). -4. 🔴 **`docker exec lampac python3` не работает** — python3 нет в образе. Парсить конфиги скриптом снаружи через `docker cp`. -5. 🔴 **Конфиг — в `config-module/init.conf`**, не в `config/init.conf`. -6. 🔴 **Кириллица в inline-ssh командах → BLOCKED** (tirith `confusable_text`). Только скриптом-файлом. -7. 🔴 **Порт 9085 наружу закрыт** — работать через `/ts/` на 9118. +1. 🔴 **503 — это кэш, а не ошибка.** Сначала снять кэш **ответа**, потом делать выводы. Иначе час диагностики по закэшированному отказу. ⚠️ Кэш **не в `cache/fdb/`** (там пусто) — см. «Где на самом деле кэш»; быстрее всего запросить **новый ключ** (другой год/title). +2. 🔴 **503 ≠ «раздач нет».** Это кэшированный отказ; выводы о трекерах делать только по свежему ответу. +3. 🔴 **Prowlarr не влияет на источники Lampa.** Он питает Radarr/Sonarr; PidTor ходит на `jac.red`. +4. 🔴 **`enabled: false` у всех 86 модулей — это НОРМА.** Служебное поле (расписание). Смотреть только `enable`. +5. 🔴 **Лог lampac не показывает исключения** PidTor — `docker logs` пуст. Читать исходник (`Controller.cs`, `Model.cs`). +6. 🔴 **`docker exec lampac python3` не работает** — python3 нет в образе. Парсить конфиги скриптом снаружи через `docker cp`. +7. 🔴 **Конфиг — в `config-module/init.conf`**, не в `config/init.conf`. +8. 🔴 **Кириллица в inline-ssh командах → BLOCKED** (tirith `confusable_text`). Только скриптом-файлом. +9. 🔴 **Порт 9085 наружу закрыт** — работать через `/ts/` на 9118. +10. ⚠️ **Кириллический `title` в query-параметре через Mac** уходит в **таймаут апрува** (BLOCKED) — использовать `%D0%9C...`-экранирование или `+` вместо пробела; `+` в URL работает (`title=Мастерская+сатаны`). --- @@ -144,9 +202,15 @@ curl -s -X POST http://127.0.0.1:9118/ts/torrents \ Дешевле сравнить два JSON, чем ломать модуль и разбирать час. +⚠️ **Второй урок (2026-09-24): не выдумывать расположение файлов.** «Кэш в `cache/fdb/`» +прожило в двух доках сутки, хотя папка **пустая**. Проверять факт (`find … | wc -l`), +а не повторять запись из доки. + --- ## Связанные - [[personal/tech/lampac-torrserver]] — детальная диагностика, маршруты `/ts/` -- [[personal/tech/lampac-deployment]] — деплой, плагин каталога +- [[personal/tech/lampac-deployment]] — деплой, плагин каталога, разбор «Мастерская сатаны» 2026-09-24 +- [[family/how-to/arr-stack-kraken]] — стек Prowlarr/Radarr/Sonarr (отдельная, не связанная ветка) +- [[personal/tech/prowlarr-flaresolverr-cloudflare]] — индексера Prowlarr diff --git a/personal/tech/lampac-deployment.md b/personal/tech/lampac-deployment.md index 764c897b..24d0992e 100644 --- a/personal/tech/lampac-deployment.md +++ b/personal/tech/lampac-deployment.md @@ -21,12 +21,92 @@ related: - '[[personal/tech/multistream-single-flow-limit]]' - '[[family/how-to/kraken-network]]' - '[[family/how-to/tv-luna-send]]' + - '[[personal/tech/prowlarr-flaresolverr-cloudflare]]' --- # Lampac — развёртывание и эксплуатация (Кра́кен) > Технический справочник. Развёрнуто 2026-09-22. План и статус шагов — [[personal/plans/lampac-kraken]]. +## 🔴 2026-09-24 (вечер): «Мастерская сатаны» — один источник, торренты пусты. План диагностики + +**Вопрос Alex:** *«для Мастерская сатаны например в lampac в источниках есть только +один результат через свой lampa сервер в ужасном качестве, в торрентах по нему ничего +не нашлось в lampac, надо проверить почему, по каким трекерам он ищет, и можем ли мы +влиять на списки источников например через prowlarr резолвер?»* + +### Что установлено фактами (проверено в этой сессии) + +**1. `/lite/pidtor` по этому фильму отдаёт `503` из КЭША, а не «0 раздач».** + +``` +GET http://192.168.1.14:9118/lite/pidtor?title=Мастерская сатаны&year=2025 + → HTTP 503, Content-Length: 0, X-Invoke-Cache: HIT, t=0.007–0.035s +``` + +Тот же симптом, что чинили 2026-09-22: кэш `extend: 2700` (45 мин) переживает +`docker restart lampac`. ⚠️ **Пока кэш не снят, «в торрентах ничего не нашлось» — +не вывод о трекерах вообще.** Пусто будет по любому заголовку. + +🔴 **Ошибка при разборе 22-го: «кэш в `cache/fdb/`» — НЕВЕРНО.** Фактически +`cache/fdb/` содержит **только пустые каталоги** (`0/ 1/ 2/ 3/ 4/ 5/ 7/ 9/ a/ b/ d/ e/ f/`, +0 файлов во всех). Реальный кэш лежит в **`$H/lampac/cache/module/`** — 76 файлов без +расширений с base64-ish именами (`OEdMn4LsmVEkyTEYgfu5dg`), это **сборки .NET-модулей +(PE32 Mono/.Net DLL)**, а не JSON-ответы. Нашёл по содержимому: +`grep -l "pidtor" $H/lampac/cache/module/*` → `PidTor.dll` (`lite/pidtor`, +`lite/pidtor/serial/{id}`, `lite/pidtor/s{id}`). + +⚠️ Вывод для будущих чисток: **перед удалением `cache/fdb/` проверить, что там вообще +есть файлы.** Пустая папка = чистка ничего не даст; кэш модулей лежит в +`cache/module/`, и трогать его надо с оглядкой (модули пересобираются). + +**2. По каким трекерам ищет PidTor: свой список он НЕ держит — ходит на внешний `jac.red`.** + +``` +Lampa (TV) → «Торренты» → PidTor (модуль lampac) + ↓ redapi + jac.red (ВНЕШНИЙ, 144.31.3.10) + ↓ /api/v2.0/indexers/all/results?title=..&year=.. + «all» = ВСЕ индексеры JacRed сразу + ↓ MagnetUri + info{} + TorrServer (встроен, порт 9085 внутр. → /ts/ на 9118) +``` + +🔴 **Prowlarr к PidTor отношения не имеет.** У Prowlarr свои 6 индексера +(RuTracker · Kinozal · Kinozal (M) · RuTor · NoNaMe Club · Byrutor), и он питает +**Radarr/Sonarr**, не PidTor. Прямого моста «Prowlarr → источники Lampa» нет. + +**3. Влияние на список источников — два реальных пути, оба не «через Prowlarr»:** + +| Путь | Как | Блокер | +|---|---|---| +| **локальный JacRed lampac** | править набор трекеров в его БД (`$H/lampac/data/`) и переключить `redapi` на `http://127.0.0.1:9118` | 🔴 локальный JacRed отдаёт формат **БЕЗ поля `info`** → `PidTor/Controller.cs:97 torrent.info.sizeName` → NPE → 500. Переключать **только** после того, как локальный начнёт отдавать `info` | +| **Prowlarr в обход PidTor** | добавить трекеры в Prowlarr и забирать ими напрямую (в Radarr/Sonarr) | это не «источники в Lampa»; в плеере их не будет | + +**4. Один источник в «Смотреть онлайн» и «ужасное качество» — это про онлайн-балансеры, +не про PidTor.** «Смотреть онлайн» обслуживают `Online`/`OnlineRUS`/`OnlinePaid`/`SISI` +(20 активных балансеров из `/lite/events`), поток идёт с чужого CDN, реклама 1xbet +рисуется обёрткой источника. Качество диктует источник, а не lampac. + +### План диагностики (записан, НЕ выполнен — ждёт апрува Alex) + +1. **Снять 503:** `docker stop lampac` → очистить `cache/fdb/` (предварительно проверив, + что там есть файлы) → `docker start lampac` → повторить `/lite/pidtor` по + «Мастерская сатаны». ~5 мин. +2. **Замерить сырой `jac.red`:** `GET http://jac.red/api/v2.0/indexers/all/results?title=<Название>&year=<Год>` — + сколько результатов и по каким `Tracker` (`jq '[.Results[].Tracker]|group_by(.)|map({(.[0]):length})|add'`). + 5 мин. +3. **Развести два исхода:** 0 результатов → смотреть конфиг индексеров `jac.red` (только чтение); + результаты есть, но PidTor режет → проверить `min_sid: 15` и совпадение года. 5–10 мин. +4. **Отдельно:** описать в Obsidian, через какой механизм реально расширять список источников. + +⚠️ Шаг 1 требует `docker stop lampac` — **зона Alex** (docker-оп над контейнерами он делает сам). +⚠️ Шаги 2–3 (curl к внешнему `jac.red`) в этой сессии ушли в **таймаут апрува** (BLOCKED ×2) — +не повторять без явного согласия. + +**Связано:** [[family/how-to/lampac-torrents]] · [[personal/tech/lampac-torrserver]] · +[[family/how-to/arr-stack-kraken]] · [[personal/tech/prowlarr-flaresolverr-cloudflare]] + ## 🔴 2026-09-24: генератор каталога признан вторым матчером — уходит в проект `lampac/scripts/gen_watchlist.py` (878 строк) + `mark_missing.py` (179) — **отдельные diff --git a/personal/tech/lampac-torrserver.md b/personal/tech/lampac-torrserver.md index 65a14c53..620e84b6 100644 --- a/personal/tech/lampac-torrserver.md +++ b/personal/tech/lampac-torrserver.md @@ -1,6 +1,6 @@ # TorrServer на Кра́кене — диагностика -**Дата:** 2026-09-22 · **ОБНОВЛЕНО 2026-09-22 (вечер): подтверждено Alex в UI** +**Дата:** 2026-09-22 · **ОБНОВЛЕНО 2026-09-24 (вечер): исправлено расположение кэша** **Вывод:** ✅ **TorrServer исправен. ЗАДАЧА ЗАКРЫТА.** «Торренты» пусто было по причине 🔴 **`redapi` указывал на локальный lampac**, чей JacRed отдаёт формат БЕЗ поля `info` → PidTor падал на `torrent.info.sizeName` → NPE → 500 → кэшировался @@ -12,6 +12,55 @@ --- +## 🔴 2026-09-24: «Мастерская сатаны» — рецидив симптома 503 + исправление про кэш + +**Повод:** Alex — *«в торрентах по нему ничего не нашлось в lampac, надо проверить +почему, по каким трекерам он ищет, и можем ли мы влиять на список источников +например через prowlarr резолвер?»* + +**Факт:** `/lite/pidtor?title=Мастерская сатаны&year=2025` → **HTTP 503**, +`Content-Length: 0`, **`X-Invoke-Cache: HIT`**, t=0.007–0.035s. Это **кэшированный +отказ**, а не «0 раздач». Делать вывод о трекерах по такому ответу нельзя. + +### 🔴 Исправление: «кэш в `cache/fdb/`» — НЕВЕРНО (прожило сутки в двух доках) + +``` +$H/lampac/cache/fdb/ → 13 каталогов 0/ 1/ 2/ 3/ 4/ 5/ 7/ 9/ a/ b/ d/ e/ f/, + ВСЕ ПУСТЫЕ — find … -type f | wc -l → 0 +$H/lampac/cache/module/ → 76 файлов без расширений (OEdMn4LsmVEkyTEYgfu5dg), + file → PE32 executable (DLL) Mono/.Net assembly +``` + +`cache/module/` — **сборки .NET-модулей**, не JSON-ответы PidTor. +Опознать модуль: `grep -l "pidtor" $H/lampac/cache/module/*` → +`strings <файл> | grep -iE "pidtor|\.dll"` → `PidTor.dll`, `lite/pidtor`, +`lite/pidtor/serial/{id}`, `lite/pidtor/s{id}`. + +📌 **Практика при 503:** пробовать **заголовок, который ещё не запрашивался** +(другой год / title) — свежий ключ минует кэш и даёт честный ответ. +`docker restart lampac` кэш ответов **не снимает**. + +### По каким трекерам ищет PidTor + +Своего списка нет. Ходит на `{redapi}/api/v2.0/indexers/all/results?title=..&year=..` — +суффикс **`all`** = все индексеры JacRed разом; состав определяет сторона **`jac.red`** +(внешний, 144.31.3.10), не lampac. + +🔴 **Prowlarr тут ни при чём** — у него свои 6 индексера и он питает Radarr/Sonarr +([[family/how-to/arr-stack-kraken]]). Моста «Prowlarr → источники Lampa» не существует. + +Влияние на список источников: (а) локальный JacRed lampac — править трекеры в +`$H/lampac/data/`, `redapi` переключать **только** после появления поля `info`; +(б) Prowlarr в обход PidTor — в плеере таких источников не будет. + +### Статус + +Диагностика **не доведена**: шаги 2–3 (curl к `jac.red` из Mac) ушли в **таймаут +апрува (BLOCKED ×2)**; шаг 1 (`docker stop lampac`) — зона Alex. +План из 4 шагов записан в [[personal/tech/lampac-deployment]] §«Мастерская сатаны». + +--- + ## ✅ Статус закрытия (2026-09-22 вечер) | Пункт | Статус | @@ -22,6 +71,7 @@ | `min_sid` | ✅ `min_sid: 3` убран → сток `15` | | Минус год у «Волшебный участок: Фильм» | ✅ ЗАКРЫТО — оставлено пусто (данных нет в TMDB, фильм в производстве) | | Документация | ✅ саммари → [[family/how-to/lampac-torrents]], план снесён | +| Запись про `cache/fdb/` | ⚠️ **исправлена 2026-09-24** — папка пустая, см. выше | ### Итог задачи (2026-09-22)