[2026-09-24] eagle: family/how-to/lampac-torrents.md personal/tech/lampac-deployment.md personal/tech/lampac-torrserver.md

This commit is contained in:
Alexey Martemyanov committed 2026-09-24 18:39:49 +06:00
1 parent eed338bbc7
commit 6b119612c1
3 files changed
+209 -15

No files matched your search

+78 -14
View File
@@ -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
+80
View File
@@ -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) — **отдельные
+51 -1
View File
@@ -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)