[2026-09-22] eagle: personal/plans/lampac-pidtor-503-fix.md personal/tech/lampac-torrserver.md
This commit is contained in:
1 parent
c9d1f21383
commit
4d0c0867db
2 files changed
+194
-9
No files matched your search
@@ -0,0 +1,112 @@
|
|||||||
|
# PidTor 503 в «Торренты» — диагноз и фикс
|
||||||
|
|
||||||
|
**Дата:** 2026-09-22
|
||||||
|
**Статус:** 🔴 ПЛАН, требует подтверждения (нужен рестарт lampac)
|
||||||
|
**Связано:** [[personal/tech/lampac-torrserver]], [[personal/tech/lampac-deployment]]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Симптом (Alex)
|
||||||
|
|
||||||
|
> «по просмотру: у меня есть определенные сомнения что через torrserver идут,
|
||||||
|
> там только пункт "смотреть онлайн" работает и он добавляет вотермарк и рекламу
|
||||||
|
> 1xbet... потому что если пункт "торренты" выбрать при просмотре - то там пусто.»
|
||||||
|
|
||||||
|
## Диагноз: 503 закэширован lampac
|
||||||
|
|
||||||
|
### Ключевое доказательство
|
||||||
|
|
||||||
|
```
|
||||||
|
GET /lite/pidtor?title=F1&year=2025
|
||||||
|
HTTP/1.1 503 Service Unavailable
|
||||||
|
Content-Length: 0
|
||||||
|
X-Invoke-Cache: HIT ← 🔴 ОТВЕТ ИЗ КЭША, запроса к JacRed НЕТ
|
||||||
|
время ответа: 0.0016s ← мгновенно = из памяти
|
||||||
|
```
|
||||||
|
|
||||||
|
### При этом ВСЁ исправно
|
||||||
|
|
||||||
|
```
|
||||||
|
JacRed локальный: /api/v2.0/indexers/all/results?Query=F1 -> 200, 72 раздачи
|
||||||
|
sid=203, 26, 18, 7... (богатая выдача)
|
||||||
|
JacRed локальный: ?Query=Гамнет -> 200, 14 раздач, max sid=79
|
||||||
|
jac.red (чужой): ?Query=Гамнет -> 200, 15 раздач, 0.35s
|
||||||
|
TorrServer: /ts/echo -> MatriX.135, качает (343 пира на тесте)
|
||||||
|
JacRed изнутри: 0.12s локально, 0.20s внешний хост
|
||||||
|
```
|
||||||
|
|
||||||
|
**Вывод: один раз PidTor получил отказ → lampac закэшировал 503 → теперь отдаёт
|
||||||
|
его всем запросам по этим фильмам ~40 минут.**
|
||||||
|
|
||||||
|
### Где искать раздачи — PidTor ходит НАРУЖУ, не на Кра́кен
|
||||||
|
|
||||||
|
```
|
||||||
|
PidTor.redapi = "http://jac.red" (144.31.3.10) ← ЧУЖОЙ хост
|
||||||
|
|
||||||
|
Цепочка:
|
||||||
|
Lampa → lampac PidTor → jac.red (ПОИСК раздач, чужой сервер)
|
||||||
|
→ magnet → TorrServer Кра́кена (КАЧАЕТ, локально)
|
||||||
|
→ поток /lite/pidtor/s<id>
|
||||||
|
|
||||||
|
🔴 Поиск раздач — на чужом сервере. TorrServer только качает.
|
||||||
|
```
|
||||||
|
|
||||||
|
Оба варианта поиска рабочие:
|
||||||
|
- локальный JacRed lampac (`/api/v2.0/indexers/all/results`) — 0.12s
|
||||||
|
- внешний `jac.red` — 0.35s
|
||||||
|
|
||||||
|
## План фикса
|
||||||
|
|
||||||
|
### Шаг 1 — сбросить кэш 503 (рестарт lampac)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker restart lampac
|
||||||
|
```
|
||||||
|
|
||||||
|
Кэш `X-Invoke-Cache` живёт в памяти процесса → сбрасывается рестартом.
|
||||||
|
|
||||||
|
**Проверка после рестарта:**
|
||||||
|
```bash
|
||||||
|
curl -s -o /dev/null -w '%{http_code}\n' \
|
||||||
|
"http://127.0.0.1:9118/lite/pidtor?title=F1&year=2025"
|
||||||
|
# ожидаем 200 (было 503)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Шаг 2 — переключить PidTor на ЛОКАЛЬНЫЙ JacRed (стабильнее)
|
||||||
|
|
||||||
|
`config-module/init.conf`:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"PidTor": {
|
||||||
|
"enable": true,
|
||||||
|
"redapi": "http://127.0.0.1:9118",
|
||||||
|
"min_sid": 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Зачем:
|
||||||
|
- **`redapi` на локальный lampac** — не зависим от чужого `jac.red`, который
|
||||||
|
подтормаживает и даёт таймауты (причина закэшированного 503).
|
||||||
|
- **`min_sid: 1`** вместо 15 — сейчас отсекает большинство раздач.
|
||||||
|
По Гамнету: из 14 раздач только 6 проходят `min_sid=15`.
|
||||||
|
По F1 раздачи с sid=1, 4, 7 отсекаются, хотя они рабочие.
|
||||||
|
|
||||||
|
⚠️ `min_sid` — спорно: низкий sid = медленнее качает. Нужно решение Alex:
|
||||||
|
компромисс `min_sid: 3..5`, либо 1 (показывать всё).
|
||||||
|
|
||||||
|
### Шаг 3 — проверить, что 503 не возвращается
|
||||||
|
|
||||||
|
Прогнать 5 фильмов с паузой, убедиться: все 200.
|
||||||
|
|
||||||
|
## Питфоллы
|
||||||
|
|
||||||
|
1. 🔴 **`X-Invoke-Cache: HIT` в заголовках** — главный маркер «ответ из кэша,
|
||||||
|
а не от источника». Всегда смотреть заголовки, не только код.
|
||||||
|
2. 🔴 **503 ≠ «раздач нет».** При отсутствии раздач PidTor отдаёт 200 с пустым
|
||||||
|
списком. 503 = отказ источника.
|
||||||
|
3. 🔴 **`min_sid: 15` режет выдачу.** Реальные сиды по свежим фильмам: 1–37.
|
||||||
|
4. 🔴 **Поиск раздач идёт наружу** (`jac.red`), TorrServer качает локально.
|
||||||
|
Не путать эти роли при диагностике.
|
||||||
|
5. 🔴 **Кэш PidTor ~40 минут** (README), в памяти процесса.
|
||||||
@@ -1,8 +1,11 @@
|
|||||||
# TorrServer на Кра́кене — диагностика (исправен)
|
# TorrServer на Кра́кене — диагностика
|
||||||
|
|
||||||
**Дата:** 2026-09-22
|
**Дата:** 2026-09-22
|
||||||
**Вывод:** 🔴 **ЧИНИТЬ НЕЧЕГО. TorrServer и вся торрент-цепочка работают.**
|
**Вывод:** ✅ **TorrServer исправен.** Но «Торренты» пусто по ДВУМ причинам,
|
||||||
**Связано:** [[personal/tech/lampac-deployment]], [[personal/plans/lampac-disable-1xbet-ads]]
|
найденным после первой проверки: 🔴 **закэшированный 503** (`X-Invoke-Cache: HIT`)
|
||||||
|
и 🔴 **`min_sid: 15` режет выдачу**. Диагноз и фикс — [[personal/plans/lampac-pidtor-503-fix]].
|
||||||
|
**Связано:** [[personal/tech/lampac-deployment]], [[personal/plans/lampac-pidtor-503-fix]],
|
||||||
|
[[personal/plans/lampac-disable-1xbet-ads]]
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -60,7 +63,7 @@ curl -s "http://127.0.0.1:9118/api/v1.0/torrents?search=Матрица"
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -s "http://127.0.0.1:9118/lite/pidtor?title=Матрица&year=1999"
|
curl -s "http://127.0.0.1:9118/lite/pidtor?title=Матрица&year=1999"
|
||||||
# HTTP 200, 8435 байт
|
# HTTP 200, 8435 байт, 12 раздач
|
||||||
```
|
```
|
||||||
|
|
||||||
Ответ содержит рабочий торрент:
|
Ответ содержит рабочий торрент:
|
||||||
@@ -75,6 +78,50 @@ getent hosts jac.red -> 144.31.3.10
|
|||||||
curl http://jac.red -> HTTP 200
|
curl http://jac.red -> HTTP 200
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### 5. 🔴 НО: часть фильмов отдаёт 503 ИЗ КЭША
|
||||||
|
|
||||||
|
Массовая проверка 12 позиций каталога дала **11 × HTTP 503**, 1 × HTTP 200.
|
||||||
|
При этом JacRed по тем же фильмам отдаёт раздачи:
|
||||||
|
|
||||||
|
```
|
||||||
|
F1 (2025) -> /api/v2.0/indexers/all/results -> 200, 72 раздачи (sid=203,26,18…)
|
||||||
|
Гамнет (2025) -> 200, 14 раздач (max sid=79, 6 проходят min_sid=15)
|
||||||
|
А /lite/pidtor?title=F1 -> 503 с заголовком X-Invoke-Cache: HIT
|
||||||
|
```
|
||||||
|
|
||||||
|
**`X-Invoke-Cache: HIT` + время ответа 0.0016s = ответ из памяти, запроса к
|
||||||
|
JacRed НЕ было.** Один раз источник отказал → lampac закэшировал 503 на ~40 мин.
|
||||||
|
|
||||||
|
🔴 **Диагностический признак: смотреть заголовки, не только код.**
|
||||||
|
503 ≠ «раздач нет» (тогда был бы 200 с пустым списком). 503 = отказ источника,
|
||||||
|
закэшированный процессом. Сброс — `docker restart lampac`.
|
||||||
|
|
||||||
|
## 🔴 Роли в цепочке: поиск НАРУЖУ, качание локально
|
||||||
|
|
||||||
|
```
|
||||||
|
Lampa → lampac PidTor → jac.red (ПОИСК раздач — ЧУЖОЙ хост 144.31.3.10)
|
||||||
|
→ magnet → TorrServer Кра́кена (КАЧАЕТ, локально)
|
||||||
|
→ поток /lite/pidtor/s<id>
|
||||||
|
```
|
||||||
|
|
||||||
|
⚠️ Поиск раздач **не локален** — `PidTor.redapi = "http://jac.red"`. TorrServer
|
||||||
|
только качает то, что нашёл чужой сервер. Не путать эти роли при диагностике.
|
||||||
|
|
||||||
|
Рабочая альтернатива — локальный JacRed lampac:
|
||||||
|
`/api/v2.0/indexers/all/results?Query=…` отвечает за **0.12s** (внешний — 0.35s).
|
||||||
|
|
||||||
|
## 🔴 `min_sid: 15` — второй фильтр, режущий выдачу
|
||||||
|
|
||||||
|
Реальные сиды по свежим фильмам: **1–37**. Порог 15 отсекает большинство:
|
||||||
|
|
||||||
|
```
|
||||||
|
Гамнет: из 14 раздач проходят только 6
|
||||||
|
F1: отсекаются раздачи с sid=1, 4, 7 (рабочие)
|
||||||
|
```
|
||||||
|
|
||||||
|
Понижение `min_sid` — решение Alex (низкий sid = медленнее качает).
|
||||||
|
Варианты: `1` (показывать всё) · `3..5` (компромисс) · оставить `15`.
|
||||||
|
|
||||||
## 🔴 Маршруты — главный питфолл разбора
|
## 🔴 Маршруты — главный питфолл разбора
|
||||||
|
|
||||||
TorrServer **НЕ доступен по порту 9085 напрямую** — lampac проксирует его
|
TorrServer **НЕ доступен по порту 9085 напрямую** — lampac проксирует его
|
||||||
@@ -172,9 +219,35 @@ GET /api/v2.0/indexers/{status}/results?Query= -> JacRed/Jackett-формат
|
|||||||
не подключён в `sisi/index.html`; `modification.js` (22 КБ) даёт 0 совпадений
|
не подключён в `sisi/index.html`; `modification.js` (22 КБ) даёт 0 совпадений
|
||||||
на `1xbet|vast|adTag`, домены только `w3.org`. Реклама от онлайн-источников.
|
на `1xbet|vast|adTag`, домены только `w3.org`. Реклама от онлайн-источников.
|
||||||
|
|
||||||
## Если «Торренты» всё же пусто у Alex — что проверить
|
## Итог: что реально делает «Смотреть онлайн» vs «Торренты»
|
||||||
|
|
||||||
1. Что именно за фильм (есть ли раздачи в принципе — старые/редкие могут быть без сидов)
|
```
|
||||||
2. `curl "http://127.0.0.1:9118/lite/pidtor?title=<название>&year=<год>"` — отдаёт ли
|
«Смотреть онлайн» = 20 источников из /lite/events. Из них ТОРРЕНТНЫЙ — РОВНО ОДИН:
|
||||||
3. `docker logs lampac | grep -i pidtor` — доходит ли запрос
|
Pid<s>T</s>or http://127.0.0.1:9118/lite/pidtor balanser=pidtor
|
||||||
4. `min_sid: 15` — раздачи с сидами < 15 **отсекаются**. Возможно, поэтому пусто
|
|
||||||
|
Остальные 19 — онлайн-балансеры (чужой CDN, реклама 1xbet):
|
||||||
|
Filmix · pizdatoehd · Kinobase · Phantom · Kinogo · AniDub · LeProduction ·
|
||||||
|
VeoVeo · Collaps · HDVB · Rutube · VK Видео · Kinoteatr.kg · Vibix ·
|
||||||
|
Kinotochka · Eneyida · UaKino · UAFilm · Geosaitebi
|
||||||
|
```
|
||||||
|
|
||||||
|
**Отдельного пункта «Торренты» в `/lite/events` НЕТ** — это не источник, а
|
||||||
|
интерфейс выбора раздачи внутри PidTor. Путь в UI:
|
||||||
|
карточка → «Смотреть онлайн» → **PidTor** → список раздач → выбор качества.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# проверка количества раздач на фильме из терминала
|
||||||
|
ssh kraken 'curl -s "http://127.0.0.1:9118/lite/pidtor?title=Матрица&year=1999" \
|
||||||
|
| grep -c data-json=' # -> 12
|
||||||
|
|
||||||
|
# пакетная проверка позиций каталога
|
||||||
|
python3 /tmp/probe_pidtor_batch.py
|
||||||
|
```
|
||||||
|
|
||||||
|
### Если пусто — порядок проверки
|
||||||
|
|
||||||
|
1. `curl -i "…/lite/pidtor?title=<название>&year=<год>"` — **смотреть заголовки**:
|
||||||
|
`X-Invoke-Cache: HIT` → это кэш, лечение `docker restart lampac`
|
||||||
|
2. Пришёл 503 → источник отказал, кэш держит ~40 мин
|
||||||
|
3. Пришёл 200, но 0 раздач → реально нет раздач у трекеров
|
||||||
|
4. `min_sid: 15` — сиды < 15 отсекаются (свежие фильмы часто 1–37)
|
||||||
Reference in new issue
Block a user