[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