113 lines
5.0 KiB
Markdown
113 lines
5.0 KiB
Markdown
# 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), в памяти процесса.
|