[2026-09-25] eagle: family/how-to/lampac-torrents.md personal/tech/lampa-jellyfin-plugin.md

This commit is contained in:
Alexey Martemyanov committed 2026-09-25 21:25:20 +06:00
1 parent dec30c13b4
commit 95916efa2b
2 files changed
+136 -3

No files matched your search

+76 -2
View File
@@ -1,7 +1,7 @@
# Torrents в Lampa — как оно работает и как чинить
**Обновлено:** 2026-09-24
**Связано:** [[personal/tech/lampac-torrserver]], [[personal/tech/lampac-deployment]], [[family/how-to/tv-lampac-plugin]], [[family/how-to/arr-stack-kraken]]
**Обновлено:** 2026-09-25
**Связано:** [[personal/tech/lampac-torrserver]], [[personal/tech/lampac-deployment]], [[family/how-to/tv-lampac-plugin]], [[family/how-to/arr-stack-kraken]], [[personal/tech/lampa-jellyfin-plugin]]
**Статус:** ✅ работает. Приёмка Alex: «Во! теперь появились торренты. запустил F1..»
---
@@ -17,6 +17,8 @@
**Одна причина большинства поломок:** `redapi` указывает на локальный JacRed, который отдаёт формат **без поля `info`** → PidTor падает → 500/503.
**Вторая причина 503 (найдена 2026-09-25): длинный многословный `title`.** См. раздел ниже.
---
## 🔴 Где на самом деле кэш (исправлено 2026-09-24)
@@ -48,6 +50,74 @@ strings <файл> | grep -iE "pidtor|\.dll"
---
## 🔴 Вторая причина 503: длинный многословный `title` (2026-09-25)
**Повод:** Alex — *«эти фильмы можно как-нибудь в торрентах на лампе найти?»* (о 45
документалках с диска Kraken, безотносительно Jellyfin).
**Проверено на Кра́кене, 2026-09-25:**
```
/lite/pidtor?title=Spy%20in%20the%20Snow&year=2018 → 503 (пустое тело)
/lite/pidtor?title=Spy%20in%20the%20Snow → 503
/lite/pidtor?title=Spy → 200, HTML с рабочей раздачей
/lite/pidtor?title=Penguin%20Meet%20the%20Family → пусто
```
Пробел в `title` через `%20` даёт 503; одно слово — 200 с результатом.
Кириллица работает (`title=шпион в снегах` → 200, раздача найдена).
### Причина — Chromium/Playwright внутри lampac, а не JacRed
`jac.red` напрямую исправен и быстр:
```
curl "http://jac.red/api/v2.0/indexers/all/results?apikey=&Query=attenborough"
→ 200, 0.48s, Blue Planet II 156 ГБ 4K BDRemux (rutracker + nnmclub)
curl "…Query=шпион в снегах"
→ 200, BBC Шпион в снегах (rutracker, bitru, nnmclub, kinozal), sid=3
```
`docker logs lampac` при этом забит циклом:
```
Chromium: Browser_Disconnected
Chromium: Initialization → CreateAsync → LaunchAsync
Chromium: v154.0.8037.57 / headless / True
…
Chromium: Timeout 180000ms exceeded.
- <launched> pid=21522
- [err] Failed to connect to the bus: socket /run/dbus/system_bus_socket:
No such file or directory
```
Chromium стартует, отваливается, рестартует — и на запросе с несколькими словами
уходит в 180-секундный таймаут, который отдаётся наружу как **503**.
Фоновый шум `dbus/bus.cc:405` в логах контейнера — **это оно**, не отдельная проблема.
⚠️ Не путать с cached-503 из раздела выше: там признак `X-Invoke-Cache: HIT` +
время <0.04s. Здесь 503 приходит **свежим**, без попадания в кэш.
### Практический вывод для поиска
1. **Искать одним-двумя словами, не полным названием.** `Spy` вместо
`Spy in the Snow`; `Penguin` вместо `Penguin Meet the Family`.
2. **Диакритику/апострофы ломают запрос** — `Nature's Biggest Beasts`
попробовать как `Nature` или `Biggest Beasts`.
3. **Русские документалки ищутся лучше по русскому названию**, чем по
транслитерации папки: `шпион в снегах` → раздача есть.
4. Если пусто на 200 — это честные «0 раздач», а не сбой. Сверить через
`jac.red …?Query=<слово>` напрямую.
### Незакрытый дефект (ждёт решения Alex)
Playwright в контейнере lampac уходит в цикл и валит запросы с длинным title.
Не трогал — правка `base.conf`/ограничение параллельных Chromium вне задачи.
Кандидаты: ограничить параллельный запуск Chromium либо отключить headless-модули
в `base.conf` (в `SkipModules` уже есть `Potok`, `MsxNative`, `ForkPlayerXML`).
---
## По каким трекерам ищет PidTor
Свой список PidTor **не держит**. Он идёт на `{redapi}/api/v2.0/indexers/all/results?title=..&year=..`
@@ -105,6 +175,7 @@ Lampa (ТВ) → «Торренты» → PidTor (модуль lampac)
| Код | Время | Значение | Что делать |
|---|---|---|---|
| **503** | 0.001–0.035s + `X-Invoke-Cache: HIT` | Ответ **из кэша**. Реальная причина скрыта | Запросить **новый ключ** (другой год/title) для честного ответа; см. «Где на самом деле кэш» |
| **503** | 2–180s, **без** `X-Invoke-Cache` | 🔴 **Chromium/Playwright внутри lampac.** Обычно длинный многословный `title` | Искать **одним-двумя словами**; однословный `title` → 200. См. «Вторая причина 503» |
| **500** | 0.1–1s | Честная ошибка. Обычно NPE на `info` | Смотреть `redapi` |
| **200** | — | Работает | — |
@@ -185,6 +256,9 @@ curl -s -X POST http://127.0.0.1:9118/ts/torrents \
8. 🔴 **Кириллица в inline-ssh командах → BLOCKED** (tirith `confusable_text`). Только скриптом-файлом.
9. 🔴 **Порт 9085 наружу закрыт** — работать через `/ts/` на 9118.
10. ⚠️ **Кириллический `title` в query-параметре через Mac** уходит в **таймаут апрува** (BLOCKED) — использовать `%D0%9C...`-экранирование или `+` вместо пробела; `+` в URL работает (`title=Мастерская+сатаны`).
11. 🔴 **`title` из нескольких слов = 503 (Playwright-таймаут).** Проверено 2026-09-25: `title=Spy%20in%20the%20Snow` → 503, `title=Spy` → 200. Это НЕ «раздач нет» и НЕ кэш (`X-Invoke-Cache` отсутствует). Искать одним словом.
12. 🔴 **Шум `dbus/bus.cc:405 … /run/dbus/system_bus_socket` в `docker logs lampac` — маркер той же проблемы.** Chromium в контейнере без dbus стартует и отваливается; `Browser_Disconnected` + `Timeout 180000ms exceeded` в логе = PidTor будет отдавать 503.
13. ⚠️ **`docker logs lampac` тонет в Chromium-шуме** (`grep -viE "dbus|chromium|playwright"`) — иначе реальные строки не видно. Исключений PidTor там по-прежнему НЕТ (см. п. 5).
---