[2026-09-25] eagle: family/how-to/lampac-torrents.md personal/tech/lampa-jellyfin-plugin.md
This commit is contained in:
1 parent
95916efa2b
commit
7bf5d22101
2 files changed
+238
No files matched your search
@@ -1,3 +1,32 @@
|
|||||||
|
---
|
||||||
|
created: '2026-09-22'
|
||||||
|
namespace: family
|
||||||
|
type: how-to
|
||||||
|
status: работает-min_sid-на-обсуждении
|
||||||
|
tags:
|
||||||
|
- lampa
|
||||||
|
- lampac
|
||||||
|
- pidtor
|
||||||
|
- torrents
|
||||||
|
- jacred
|
||||||
|
- torrserver
|
||||||
|
- kraken
|
||||||
|
- min_sid
|
||||||
|
- diagnostics
|
||||||
|
title: Torrents в Lampa — как оно работает и как чинить
|
||||||
|
updated: '2026-09-25'
|
||||||
|
related:
|
||||||
|
- '[[personal/tech/lampac-torrserver]]'
|
||||||
|
- '[[personal/tech/lampac-deployment]]'
|
||||||
|
- '[[personal/tech/lampa-jellyfin-plugin]]'
|
||||||
|
- '[[family/how-to/tv-lampac-plugin]]'
|
||||||
|
- '[[family/how-to/arr-stack-kraken]]'
|
||||||
|
- '[[personal/plans/lampac-kraken]]'
|
||||||
|
summary: >-
|
||||||
|
PidTor: три причины пустого списка — кэш-503, Playwright-503 на многословном
|
||||||
|
title, и min_sid:15 отрезающий нишевые раздачи. Свежие фильмы работают,
|
||||||
|
документалки требуют решения Alex по min_sid.
|
||||||
|
---
|
||||||
# Torrents в Lampa — как оно работает и как чинить
|
# Torrents в Lampa — как оно работает и как чинить
|
||||||
|
|
||||||
**Обновлено:** 2026-09-25
|
**Обновлено:** 2026-09-25
|
||||||
@@ -19,6 +48,10 @@
|
|||||||
|
|
||||||
**Вторая причина 503 (найдена 2026-09-25): длинный многословный `title`.** См. раздел ниже.
|
**Вторая причина 503 (найдена 2026-09-25): длинный многословный `title`.** См. раздел ниже.
|
||||||
|
|
||||||
|
**Третья причина (2026-09-25): `min_sid: 15` отбрасывает нишевые раздачи.** Даже когда
|
||||||
|
JacRed нашёл и `title` короткий — пустой список. Документалки не набирают 15 сидов.
|
||||||
|
См. раздел «Третья причина» ниже.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🔴 Где на самом деле кэш (исправлено 2026-09-24)
|
## 🔴 Где на самом деле кэш (исправлено 2026-09-24)
|
||||||
@@ -118,6 +151,85 @@ Playwright в контейнере lampac уходит в цикл и валит
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 🔴 Третья причина: `min_sid: 15` — фильтр, который режет документалки (2026-09-25)
|
||||||
|
|
||||||
|
**Повод:** Alex — *«понятно. занеси наблюдение в доку по лампе»* (после разбора
|
||||||
|
документалок с диска Kraken).
|
||||||
|
|
||||||
|
**Факт.** Даже когда JacRed раздачу нашёл и `title` короткий (200, не 503), PidTor
|
||||||
|
может отдать пустой список. Причина — **`min_sid` в секции `PidTor`**.
|
||||||
|
|
||||||
|
Текущее значение в `current.conf` lampac (строка 3378):
|
||||||
|
|
||||||
|
```json
|
||||||
|
"PidTor": {
|
||||||
|
"enable": true,
|
||||||
|
"redapi": "http://jac.red",
|
||||||
|
"apikey": null,
|
||||||
|
"min_sid": 15, ← 🔴 вот он
|
||||||
|
"max_size": 0,
|
||||||
|
"emptyVoice": true,
|
||||||
|
"forceAll": false,
|
||||||
|
"torrs": null,
|
||||||
|
"auth_torrs": null
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Фильтр в `PidTor/Controller.cs:86-89`:
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
int sid = torrent.Seeders;
|
||||||
|
if (sid >= init.min_sid) // 15 по умолчанию
|
||||||
|
… // раздача показывается
|
||||||
|
```
|
||||||
|
|
||||||
|
Раздача с `Seeders < 15` **отбрасывается молча** — наружу приходит пустой список,
|
||||||
|
не ошибка.
|
||||||
|
|
||||||
|
### Почему это бьёт именно по документалкам
|
||||||
|
|
||||||
|
Нишевый контент не набирает сидов:
|
||||||
|
|
||||||
|
| Запрос | JacRed нашёл | Сидов | PidTor отдал |
|
||||||
|
|---|---|---|---|
|
||||||
|
| `шпион в снегах` (BBC Spy in the Snow) | rutracker, bitru, nnmclub, kinozal | **3** | ❌ отфильтровано |
|
||||||
|
| `Spy in the Snow` (rutracker) | WEB-DL 1080p ДБ | **3** | ❌ отфильтровано |
|
||||||
|
| `attenborough` → Blue Planet II | rutracker + nnmclub, 156 ГБ 4K | — | зависит от сидов |
|
||||||
|
|
||||||
|
Для фильмов-новинок 15 сидов норма; для BBC-документалки 2018 года — почти недостижимо.
|
||||||
|
|
||||||
|
### Второй барьер рядом — фильтр по качеству
|
||||||
|
|
||||||
|
`Controller.cs:84`: раздача проходит дальше только если `forceAll == true` **или**
|
||||||
|
в имени есть `2160p` / `1080p` / `720p` (либо `4k`/`uhd`).
|
||||||
|
`Spy in the Snow` содержит `1080p` → этот барьер проходит; `min_sid` его убивает.
|
||||||
|
|
||||||
|
### Как снижать `min_sid`
|
||||||
|
|
||||||
|
| Значение | Смысл |
|
||||||
|
|---|---|
|
||||||
|
| `0` | показывать всё, включая мёртвые раздачи (0 сидов) |
|
||||||
|
| `1`–`2` | компромисс: мёртвые отсекаются, нишевые проходят |
|
||||||
|
| `15` | текущее; режет почти все документалки |
|
||||||
|
|
||||||
|
**Порядок правки боевого конфига** ([[personal/plans/lampac-kraken]]):
|
||||||
|
коммит `current.conf` **до** → правка `min_sid` → заливка + рестарт lampac →
|
||||||
|
**приёмка Alex в UI** (искать `Spy in the Snow` в PidTor) → коммит **после**.
|
||||||
|
|
||||||
|
🔴 Приёмка = раздача **видна в UI**, а не «API отвечает 200».
|
||||||
|
|
||||||
|
### Добавка к диагностике: `rjson` как быстрый чекап
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# пустой список vs 503 — различать так (тело {} = отфильтровано, не сбой):
|
||||||
|
curl "http://127.0.0.1:9118/lite/pidtor?title=Spy&rjson=true" → {}
|
||||||
|
```
|
||||||
|
|
||||||
|
`rjson=true` отдаёт JSON вместо HTML — удобнее для скриптов. Пустой `{}` при
|
||||||
|
известной раздаче в JacRed = фильтр `min_sid`/качество, а не поломка.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## По каким трекерам ищет PidTor
|
## По каким трекерам ищет PidTor
|
||||||
|
|
||||||
Свой список PidTor **не держит**. Он идёт на `{redapi}/api/v2.0/indexers/all/results?title=..&year=..`
|
Свой список PidTor **не держит**. Он идёт на `{redapi}/api/v2.0/indexers/all/results?title=..&year=..`
|
||||||
@@ -244,6 +356,99 @@ curl -s -X POST http://127.0.0.1:9118/ts/torrents \
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## ⚠️ ПРЕДЫСТОРИЯ: `min_sid` уже трогали — и откатили (2026-09-22)
|
||||||
|
|
||||||
|
🔴 **Перед любой правкой `min_sid` прочитать это.**
|
||||||
|
|
||||||
|
На сессии 2026-09-22 я **сам понижал `min_sid` до `3`** — и это было **откачено**:
|
||||||
|
|
||||||
|
```
|
||||||
|
· min_sid: мой 3 убран → стоковое 15
|
||||||
|
```
|
||||||
|
|
||||||
|
Причина отката — **`min_sid` не был причиной пустого списка у Alex**. Реальная
|
||||||
|
причина была `redapi`: он указывал на локальный JacRed, который отдаёт формат
|
||||||
|
**без поля `info`** → `PidTor/Controller.cs:97` (`torrent.info.sizeName`) → NPE → 500.
|
||||||
|
|
||||||
|
Стоковое `15` **рабочее состояние, зафиксированное в [[personal/tech/lampac-torrserver]]
|
||||||
|
§«Статус закрытия»: ✅ `min_sid: 3` убран → сток `15`.**
|
||||||
|
Трогать его — значит переоткрывать закрытую задачу.
|
||||||
|
|
||||||
|
⚠️ **Не путать два случая:**
|
||||||
|
|
||||||
|
| | 2026-09-22 (закрыто) | 2026-09-25 (открыто) |
|
||||||
|
|---|---|---|
|
||||||
|
| Симптом | «Торренты» **пусто у всех фильмов** | конкретные **документалки** пусто |
|
||||||
|
| Причина | `redapi` → локальный JacRed (нет `info`) | `Seeders < 15` |
|
||||||
|
| Фикс | `redapi = http://jac.red` | обсуждение `min_sid` |
|
||||||
|
| Вывод | `min_sid` **не при чём** | `min_sid` — вероятная причина |
|
||||||
|
|
||||||
|
Т.е. понижение `min_sid` обосновано **только** для нишевого контента
|
||||||
|
(BBC-документалки, 0–3 сида). Для свежих фильмов стоковое `15` всех устраивало —
|
||||||
|
Гамнет: из 14 раздач проходили 6, F1 играл, **приёмка Alex пройдена**.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📋 Решение ожидает Alex: `min_sid` 15 → 1–2 (НЕ НАЧАТО)
|
||||||
|
|
||||||
|
**Статус:** план записан, правка не начата, ждёт подтверждения Alex.
|
||||||
|
|
||||||
|
**Что предлагается:** понизить `min_sid` до `1`–`2`, чтобы нишевые документалки
|
||||||
|
(BBC `Spy in the Snow`, сидов 0–3) перестали отсеиваться.
|
||||||
|
|
||||||
|
**Цена (озвучена Alex, не забыть повторить): понижение `min_sid` — решение Alex,
|
||||||
|
низкий sid = медленнее качает.** Т.е. раздачи с 1–2 сидами будут играть хуже.
|
||||||
|
|
||||||
|
| Значение | Что даёт | Риск |
|
||||||
|
|---|---|---|
|
||||||
|
| `15` (текущее) | свежие фильмы отлично, документалки пусто | нишевый контент недоступен |
|
||||||
|
| `1`–`2` | документалки появляются | медленная загрузка на нишевых раздачах |
|
||||||
|
| `0` | всё, включая мёртвые | плеер будет висеть на раздачах с 0 сидов |
|
||||||
|
|
||||||
|
### Порядок правки (если Alex подтвердит)
|
||||||
|
|
||||||
|
1. **Коммит `current.conf` ДО** правки.
|
||||||
|
2. Правка `min_sid` в `config-module/init.conf` (**не** `config/init.conf` —
|
||||||
|
правки там не применяются и не дают ошибки).
|
||||||
|
3. Заливка + `docker restart lampac`.
|
||||||
|
4. 🔴 **Приёмка Alex В UI:** искать `Spy in the Snow` в разделе PidTor, запустить.
|
||||||
|
«API отвечает 200» ≠ «работает».
|
||||||
|
5. **Коммит ПОСЛЕ.**
|
||||||
|
|
||||||
|
Объём: ~15 минут + приёмка на ТВ.
|
||||||
|
|
||||||
|
⚠️ **Файл:** правки идут в `config-module/init.conf`. `current.conf` — эффективный,
|
||||||
|
слитый из `base.conf` + `init.conf`; правка `current.conf` напрямую перезапишется
|
||||||
|
при старте. Держать в голове, в каком из двух файлов менять.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Открытый дефект: Playwright валит длинные запросы (не закрыт)
|
||||||
|
|
||||||
|
**Статус:** найден 2026-09-25, **не трогал**, ждёт решения Alex.
|
||||||
|
|
||||||
|
**Симптом:** `/lite/pidtor?title=Spy%20in%20the%20Snow` → **503**, а `?title=Spy` → **200**.
|
||||||
|
Multi-word `title` уходит в 180-секундный таймаут Chromium/Playwright внутри lampac.
|
||||||
|
|
||||||
|
```
|
||||||
|
Chromium: Browser_Disconnected → Initialization → CreateAsync → LaunchAsync
|
||||||
|
Chromium: Timeout 180000ms exceeded.
|
||||||
|
- [err] Failed to connect to the bus: /run/dbus/system_bus_socket: No such file
|
||||||
|
```
|
||||||
|
|
||||||
|
**Кандидаты на фикс:**
|
||||||
|
- ограничить параллельный запуск Chromium;
|
||||||
|
- отключить headless-модули в `base.conf` (`SkipModules` уже содержит
|
||||||
|
`Potok`, `MsxNative`, `ForkPlayerXML`).
|
||||||
|
|
||||||
|
**Обходной путь (работает сейчас):** искать одним-двумя словами.
|
||||||
|
Русские документалки — по русскому названию, **не** по имени папки на диске.
|
||||||
|
|
||||||
|
⚠️ Это **отдельный дефект** от `min_sid`. Если починить Playwright, длинные запросы
|
||||||
|
начнут отвечать, но `min_sid` всё равно отрежет раздачи с <15 сидов.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Питфоллы
|
## Питфоллы
|
||||||
|
|
||||||
1. 🔴 **503 — это кэш, а не ошибка.** Сначала снять кэш **ответа**, потом делать выводы. Иначе час диагностики по закэшированному отказу. ⚠️ Кэш **не в `cache/fdb/`** (там пусто) — см. «Где на самом деле кэш»; быстрее всего запросить **новый ключ** (другой год/title).
|
1. 🔴 **503 — это кэш, а не ошибка.** Сначала снять кэш **ответа**, потом делать выводы. Иначе час диагностики по закэшированному отказу. ⚠️ Кэш **не в `cache/fdb/`** (там пусто) — см. «Где на самом деле кэш»; быстрее всего запросить **новый ключ** (другой год/title).
|
||||||
@@ -259,6 +464,8 @@ curl -s -X POST http://127.0.0.1:9118/ts/torrents \
|
|||||||
11. 🔴 **`title` из нескольких слов = 503 (Playwright-таймаут).** Проверено 2026-09-25: `title=Spy%20in%20the%20Snow` → 503, `title=Spy` → 200. Это НЕ «раздач нет» и НЕ кэш (`X-Invoke-Cache` отсутствует). Искать одним словом.
|
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.
|
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).
|
13. ⚠️ **`docker logs lampac` тонет в Chromium-шуме** (`grep -viE "dbus|chromium|playwright"`) — иначе реальные строки не видно. Исключений PidTor там по-прежнему НЕТ (см. п. 5).
|
||||||
|
14. 🔴 **Пустой список ≠ 503.** Три разных состояния: `503` (кэш/Playwright), `{}`/пусто при 200 (= фильтры `min_sid`/качество отрезали), `500` (NPE на `info`). Проверять `rjson=true` для быстрого различения.
|
||||||
|
15. 🔴 **`min_sid: 15` режет документалки молча.** Сидов у BBC-докфильмов обычно 0–3. Если JacRed находит, а PidTor пусто — смотреть `min_sid` первым делом, не трекеры.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -17,9 +17,13 @@ tags:
|
|||||||
- cartoons
|
- cartoons
|
||||||
- pidtor
|
- pidtor
|
||||||
- torrents
|
- torrents
|
||||||
|
- min_sid
|
||||||
title: lampa-jellyfin-plugin — документалки Jellyfin в Lampa
|
title: lampa-jellyfin-plugin — документалки Jellyfin в Lampa
|
||||||
type: tech-note
|
type: tech-note
|
||||||
updated: '2026-09-25'
|
updated: '2026-09-25'
|
||||||
|
summary: >-
|
||||||
|
PidTor находит документалки только если смотреть title 1-2 словами + снизить
|
||||||
|
min_sid с 15 до 1-2 (BBC-докфильмы держат 0-3 сида)
|
||||||
---
|
---
|
||||||
# Документалки Jellyfin в Lampa — исследование (2026-09-24)
|
# Документалки Jellyfin в Lampa — исследование (2026-09-24)
|
||||||
|
|
||||||
@@ -57,6 +61,29 @@ title=Spy → 200 ✅
|
|||||||
а не по транслитерации имени папки на диске. Имена папок в `media/documentaries`
|
а не по транслитерации имени папки на диске. Имена папок в `media/documentaries`
|
||||||
это локальные имена закачек, и они не равны тому, что нужно в `title`.
|
это локальные имена закачек, и они не равны тому, что нужно в `title`.
|
||||||
|
|
||||||
|
⚠️ **Уточнение (2026-09-25):** `title=Penguin Meet the Family` → **503**, а не «пусто».
|
||||||
|
Первая запись «⚠️ пусто» в таблице выше стояла для многословного запроса —
|
||||||
|
на самом деле это тот же Playwright-503, что и у `Spy in the Snow`.
|
||||||
|
|
||||||
|
### 🔴 И второе правило: `min_sid` надо снижать, иначе пусто
|
||||||
|
|
||||||
|
Даже когда JacRed раздачу нашёл и `title` короткий — PidTor отдаёт пусто,
|
||||||
|
потому что фильтрует по **`min_sid: 15`** (`PidTor/Controller.cs:86-89`).
|
||||||
|
BBC-документалки 2018 года держат **0–3 сида** — все отсеиваются.
|
||||||
|
|
||||||
|
Проверено: `шпион в снегах` → JacRed нашёл 4 трекера (rutracker, bitru,
|
||||||
|
nnmclub, kinozal), `Seeders: 3` → **PidTor не показал ничего**.
|
||||||
|
|
||||||
|
Понижение `min_sid` до `1`–`2` (или `0`) — и они появятся.
|
||||||
|
|
||||||
|
🔴 **Но: `min_sid` уже трогали 2026-09-22 и ОТКАТИЛИ обратно на стоковое 15**
|
||||||
|
(понижение до `3` не помогло — реальная причина тогда была `redapi`, не `min_sid`).
|
||||||
|
Стоковое `15` зафиксировано как рабочее. Возвращаться к нему — только ради
|
||||||
|
нишевого контента и только с подтверждения Alex.
|
||||||
|
|
||||||
|
Полный разбор: [[family/how-to/lampac-torrents]] §«Предыстория min_sid»
|
||||||
|
+ §«Решение ожидает Alex».
|
||||||
|
|
||||||
### Новое: 45 документалок на диске найдены (пути)
|
### Новое: 45 документалок на диске найдены (пути)
|
||||||
|
|
||||||
```
|
```
|
||||||
@@ -86,6 +113,10 @@ PidTor о них не знает и знать не может; торренты
|
|||||||
Alex хочет видеть **именно свою библиотеку с диска** — то, чего в торрентах нет
|
Alex хочет видеть **именно свою библиотеку с диска** — то, чего в торрентах нет
|
||||||
или что качается медленно. Два независимых пути, не альтернативы одного выбора.
|
или что качается медленно. Два независимых пути, не альтернативы одного выбора.
|
||||||
|
|
||||||
|
🔴 **Оговорка (2026-09-25):** «находятся в PidTor» требует снижения `min_sid`
|
||||||
|
с 15 до 1–2 — иначе JacRed находит, а PidTor показывает пусто (сидов < 15).
|
||||||
|
Правка ждёт подтверждения Alex. См. §«И второе правило» выше.
|
||||||
|
|
||||||
## Ключевые факты
|
## Ключевые факты
|
||||||
|
|
||||||
### 1. Lampa не играет с диска Kraken
|
### 1. Lampa не играет с диска Kraken
|
||||||
|
|||||||
Reference in new issue
Block a user