Files
obsidian-vault/personal/plans/lampac-pidtor-503-fix.md
T

5.0 KiB

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)

docker restart lampac

Кэш X-Invoke-Cache живёт в памяти процесса → сбрасывается рестартом.

Проверка после рестарта:

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:

{
  "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), в памяти процесса.