[2026-09-22] eagle: personal/plans/lampac-pidtor-503-fix.md personal/plans/watchlist-tmdb-missing-marker.md personal/tech/lampac-deployment.md personal/tech/lampac-torrserver.md
This commit is contained in:
1 parent
f7c06d2e41
commit
9e4713f81c
4 files changed
+232
-101
No files matched your search
@@ -1,112 +1,126 @@
|
||||
# PidTor 503 в «Торренты» — диагноз и фикс
|
||||
# PidTor 500/503 — НАЙДЕНО И ИСПРАВЛЕНО
|
||||
|
||||
**Дата:** 2026-09-22
|
||||
**Статус:** 🔴 ПЛАН, требует подтверждения (нужен рестарт lampac)
|
||||
**Статус:** ✅ **ИСПРАВЛЕНО.** Все фильмы → HTTP 200
|
||||
**Связано:** [[personal/tech/lampac-torrserver]], [[personal/tech/lampac-deployment]]
|
||||
|
||||
---
|
||||
|
||||
## Симптом (Alex)
|
||||
|
||||
> «по просмотру: у меня есть определенные сомнения что через torrserver идут,
|
||||
> там только пункт "смотреть онлайн" работает и он добавляет вотермарк и рекламу
|
||||
> 1xbet... потому что если пункт "торренты" выбрать при просмотре - то там пусто.»
|
||||
> «если пункт "торренты" выбрать при просмотре - то там пусто»
|
||||
|
||||
## Диагноз: 503 закэширован lampac
|
||||
## 🔴 ПРИЧИНА: мой же неправильный фикс. Локальный JacRed отдаёт формат без `info`
|
||||
|
||||
### Ключевое доказательство
|
||||
### Доказательство сырьём
|
||||
|
||||
```
|
||||
GET /lite/pidtor?title=F1&year=2025
|
||||
HTTP/1.1 503 Service Unavailable
|
||||
Content-Length: 0
|
||||
X-Invoke-Cache: HIT ← 🔴 ОТВЕТ ИЗ КЭША, запроса к JacRed НЕТ
|
||||
время ответа: 0.0016s ← мгновенно = из памяти
|
||||
НАШ JacRed (redapi=http://127.0.0.1:9118), поля ответа:
|
||||
['Category','Details','MagnetUri','Peers','PublishDate','Seeders','Size','Title','Tracker']
|
||||
^^^ info НЕТ!
|
||||
|
||||
jac.red (внешний), поля ответа:
|
||||
[..., 'ffprobe', 'info', 'languages'] ← info ЕСТЬ
|
||||
info = {"quality":480, "voices":["Дубляж"], "sizeName":"2.02 GB",
|
||||
"name":"Хамнет: История, вдохновившая «Гамлета»", "relasted":2025}
|
||||
```
|
||||
|
||||
### При этом ВСЁ исправно
|
||||
### Где падает (PidTor/Controller.cs:97)
|
||||
|
||||
```
|
||||
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 внешний хост
|
||||
```csharp
|
||||
string mediainfo = torrent.info.sizeName ?? string.Empty;
|
||||
// ^^^^^^^^^^^^^^ info == null в ответе локального JacRed
|
||||
// → NullReferenceException → HTTP 500 → закэшировался как 503
|
||||
```
|
||||
|
||||
**Вывод: один раз PidTor получил отказ → lampac закэшировал 503 → теперь отдаёт
|
||||
его всем запросам по этим фильмам ~40 минут.**
|
||||
## ❌ Что я сделал НЕПРАВИЛЬНО
|
||||
|
||||
### Где искать раздачи — PidTor ходит НАРУЖУ, не на Кра́кен
|
||||
Переключил `PidTor.redapi` с `http://jac.red` на `http://127.0.0.1:9118`
|
||||
(«локальный стабильнее»). **Это сломало PidTor полностью:**
|
||||
|
||||
```
|
||||
PidTor.redapi = "http://jac.red" (144.31.3.10) ← ЧУЖОЙ хост
|
||||
|
||||
Цепочка:
|
||||
Lampa → lampac PidTor → jac.red (ПОИСК раздач, чужой сервер)
|
||||
→ magnet → TorrServer Кра́кена (КАЧАЕТ, локально)
|
||||
→ поток /lite/pidtor/s<id>
|
||||
|
||||
🔴 Поиск раздач — на чужом сервере. TorrServer только качает.
|
||||
было (redapi=jac.red): часть фильмов работала, часть 503 (кэш таймаутов)
|
||||
стало (redapi=локальный): ВСЕ фильмы → 500 (NPE на info)
|
||||
```
|
||||
|
||||
Оба варианта поиска рабочие:
|
||||
- локальный JacRed lampac (`/api/v2.0/indexers/all/results`) — 0.12s
|
||||
- внешний `jac.red` — 0.35s
|
||||
Локальный JacRed **несовместим по формату** с PidTor: отдаёт урезанный
|
||||
ответ без `info`, хотя модель PidTor (`Model.cs`) требует `torrent.info.sizeName`.
|
||||
|
||||
## План фикса
|
||||
|
||||
### Шаг 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
|
||||
}
|
||||
"PidTor": {
|
||||
"enable": true,
|
||||
"redapi": "http://jac.red" ← вернуть внешний, он отдаёт ПОЛНЫЙ формат
|
||||
}
|
||||
```
|
||||
|
||||
Зачем:
|
||||
- **`redapi` на локальный lampac** — не зависим от чужого `jac.red`, который
|
||||
подтормаживает и даёт таймауты (причина закэшированного 503).
|
||||
- **`min_sid: 1`** вместо 15 — сейчас отсекает большинство раздач.
|
||||
По Гамнету: из 14 раздач только 6 проходят `min_sid=15`.
|
||||
По F1 раздачи с sid=1, 4, 7 отсекаются, хотя они рабочие.
|
||||
Убрал `min_sid: 3` (в стоке `15`; мой `3` тоже мог резать выдачу).
|
||||
|
||||
⚠️ `min_sid` — спорно: низкий sid = медленнее качает. Нужно решение Alex:
|
||||
компромисс `min_sid: 3..5`, либо 1 (показывать всё).
|
||||
### Проверка после фикса
|
||||
|
||||
### Шаг 3 — проверить, что 503 не возвращается
|
||||
```
|
||||
Гамнет 2025 → HTTP 200, раздач ✅
|
||||
Горничная 2025 → HTTP 200, раздач ✅
|
||||
Я ругаюсь 2025 → HTTP 200, раздач ✅
|
||||
F1 2025 → HTTP 200, раздач ✅
|
||||
Духless 2012 → HTTP 200, раздач ✅
|
||||
Матрица 1999 → HTTP 200, раздач ✅
|
||||
```
|
||||
|
||||
Прогнать 5 фильмов с паузой, убедиться: все 200.
|
||||
До фикса: F1/Горничная/Я ругаюсь → 503, Духless → 500.
|
||||
|
||||
## Питфоллы
|
||||
## 🔴 Что ещё выяснено попутно (важно для будущих сессий)
|
||||
|
||||
1. 🔴 **`X-Invoke-Cache: HIT` в заголовках** — главный маркер «ответ из кэша,
|
||||
а не от источника». Всегда смотреть заголовки, не только код.
|
||||
2. 🔴 **503 ≠ «раздач нет».** При отсутствии раздач PidTor отдаёт 200 с пустым
|
||||
списком. 503 = отказ источника.
|
||||
3. 🔴 **`min_sid: 15` режет выдачу.** Реальные сиды по свежим фильмам: 1–37.
|
||||
4. 🔴 **Поиск раздач идёт наружу** (`jac.red`), TorrServer качает локально.
|
||||
Не путать эти роли при диагностике.
|
||||
5. 🔴 **Кэш PidTor ~40 минут** (README), в памяти процесса.
|
||||
### Кэш 503 (`X-Invoke-Cache: HIT`) — симптом, не причина
|
||||
|
||||
```
|
||||
"cache": { "type": "fdb", "memExtend": true, "extend": 2700 } ← 45 минут
|
||||
```
|
||||
|
||||
Заголовок `X-Invoke-Cache: HIT` + время ответа `0.0015s` = ответ из кэша.
|
||||
При чистке `cache/fdb/` 503 сменился на честный 500 — то есть кэш маскировал
|
||||
настоящую ошибку. **Сброс кэша обязателен при диагностике** — иначе видишь
|
||||
старый закэшированный отказ и делаешь ложные выводы.
|
||||
|
||||
### `enabled: false` у ВСЕХ модулей — это НОРМА
|
||||
|
||||
```
|
||||
PidTor: enable=True, enabled=False
|
||||
И то же у всех 86 модулей (Filmix, HDVB, Kinobase, ...)
|
||||
```
|
||||
|
||||
⚠️ `enabled` — служебное поле (расписание/workinghours), НЕ выключатель.
|
||||
Смотреть только `enable`. Поле не причина отказов.
|
||||
|
||||
### Кэш PidTor: ключ = все параметры
|
||||
|
||||
```
|
||||
pidtor:{title}:{original_title}:{year}:{original_language}:{serial} 40 минут
|
||||
```
|
||||
|
||||
Запрос `F1` без года → 200, с годом → 503. Разные ключи, разный результат.
|
||||
Проверять надо ТЕМ ЖЕ набором параметров, что посылает клиент.
|
||||
|
||||
### Два разных API JacRed
|
||||
|
||||
```
|
||||
/api/v1.0/torrents?search=... ← я использовал, работает
|
||||
/api/v2.0/indexers/all/results?title=... ← это зовёт PidTor
|
||||
```
|
||||
|
||||
⚠️ Проверять надо **тот маршрут, которым ходит модуль**, а не удобный.
|
||||
|
||||
## Питфоллы, стоившие времени
|
||||
|
||||
1. 🔴 **Сначала смотреть, что модуль ждёт, потом «улучшать».** Я переключил
|
||||
redapi ради «стабильности», не проверив совместимость формата → поломал.
|
||||
2. 🔴 **503 = кэш, 500 = реальная ошибка.** Свежий запрос после сброса кэша
|
||||
даёт честный код.
|
||||
3. 🔴 **Лог lampac не показывает исключения** PidTor — `docker logs` пуст.
|
||||
Приходится читать исходник модуля (`Controller.cs`).
|
||||
4. 🔴 **`docker exec lampac python3` — НЕ работает** (python3 нет в образе).
|
||||
Парсить JSON ламповых конфигов — скриптом снаружи через `docker cp`.
|
||||
5. 🔴 **Порт 9085 TorrServer снаружи закрыт** — только `/ts/` через 9118.
|
||||
@@ -10,6 +10,8 @@
|
||||
Коммиты: `lampac-scripts` **`53e5803`** (имя/год из TMDB), `1122b71` (маркер в обе
|
||||
стороны), `watchlist-sync` **`396acc3`**.
|
||||
**Открытые задачи (в работе / ждут Alex)** → [[#🔜 Открытые задачи (2026-09-22, вечер)]]
|
||||
⚠️ Единственная незакрытая: **категории в ленте прыгают при перезагрузке** (п. 3)
|
||||
⚠️ TorrServer/PidTor — **починен** ([[personal/plans/lampac-pidtor-503-fix]])
|
||||
**Связано:** [[personal/plans/lampac-watchlist-plugin]], [[personal/plans/lampac-disable-1xbet-ads]], [[personal/plans/lampac-pidtor-503-fix]], [[family/projects/watchlist-automation]], [[family/projects/watchlist-sync]], [[personal/tech/lampac-deployment]], [[personal/tech/lampac-torrserver]]
|
||||
|
||||
---
|
||||
@@ -175,19 +177,31 @@ displayindex: watchlist 1, rezka 10, kinobase 15, filmix 20, vokino 30,
|
||||
`enumerable:true,configurable:true`) рядом с этой темой.
|
||||
Требует отдельного разбора кода Lampac (LampaWeb/Lampa).
|
||||
|
||||
### 4. Реклама 1xbet при просмотре — ⏳ ЖДЁТ ВЫБОРА ALEX
|
||||
### 4. Реклама 1xbet + пустые «Торренты» — ✅ РАЗОБРАНО И ПОЧИНЕНО
|
||||
|
||||
Alex: *«там только пункт "смотреть онлайн" работает и он добавляет вотермарк и
|
||||
рекламу 1xbet - это точно с торрентов? потому что если пункт "торренты" выбрать
|
||||
при просмотре - то там пусто.»*
|
||||
|
||||
**Разобрано: НЕ торренты.** Реклама идёт от 20 онлайн-балансеров
|
||||
(`Online`/`OnlineRUS`/`OnlinePaid`/`SISI`). TorrServer чист, но раздач нет → пусто.
|
||||
**Итог разбора (2026-09-22, вечер):**
|
||||
|
||||
Выключатель: `"online": false` в `LampWeb.initPlugins` (`$H/config-module/init.conf`).
|
||||
Три варианта на выбор (погасить всё / частично / оставить) — в
|
||||
[[personal/plans/lampac-disable-1xbet-ads]]. Полный разбор — в
|
||||
[[personal/tech/lampac-deployment#🔴🔴 Источники воспроизведения: торренты ≠ «смотреть онлайн» (2026-09-22)]].
|
||||
```
|
||||
РЕКЛАМА → от 20 онлайн-балансеров (Online/OnlineRUS/OnlinePaid/SISI).
|
||||
НЕ от торрентов. TorrServer рекламу не вставляет.
|
||||
ТОРРЕНТЫ → были пусты из-за redapi, указывавшего на локальный lampac:
|
||||
его JacRed отдаёт формат БЕЗ поля info
|
||||
→ PidTor/Controller.cs:97 torrent.info.sizeName → NPE → 500 → кэш 503
|
||||
ФИКС → redapi возвращён на http://jac.red. Все 6 тестовых фильмов → HTTP 200 ✅
|
||||
```
|
||||
|
||||
🔴 **Alex гасить онлайн ЗАПРЕТИЛ:** *«Я БЛЯДЬ НЕ ПРОСИЛ ГАСИТЬ ОНЛАЙН, ЕБЛАН!
|
||||
Я СКАЗАЛ ЧИНИТЬ torrserver!»* — задача была диагностировать TorrServer.
|
||||
`online: false` НЕ добавлялся.
|
||||
|
||||
Разборы: [[personal/plans/lampac-pidtor-503-fix]] (причина + фикс),
|
||||
[[personal/tech/lampac-torrserver]] (устройство цепочки),
|
||||
[[personal/plans/lampac-disable-1xbet-ads]] (выключатель рекламы, если Alex
|
||||
когда-нибудь попросит — пока НЕ применять).
|
||||
|
||||
### 5. Мелочи
|
||||
|
||||
|
||||
@@ -707,24 +707,40 @@ GET /ts/torrents -> 404 (метода нет)
|
||||
GET /ts/settings -> 403 (нужна авторизация ts:tspass)
|
||||
```
|
||||
|
||||
#### 🔴 Вероятная причина пустого списка у Alex: `min_sid: 15`
|
||||
#### 🔴🔴 РЕАЛЬНАЯ причина пустого списка у Alex: `redapi` (найдено 2026-09-22)
|
||||
|
||||
**Не `min_sid`, не TorrServer.** Причина — `redapi` в секции `PidTor`:
|
||||
|
||||
```json
|
||||
"PidTor": { "enable": true, "enabled": false, "redapi": "http://jac.red",
|
||||
"PidTor": { "enable": true, "enabled": false,
|
||||
"redapi": "http://jac.red", ← ДОЛЖНО БЫТЬ ИМЕННО ТАК
|
||||
"min_sid": 15, "torrs": null, "auth_torrs": null }
|
||||
```
|
||||
|
||||
Раздачи с числом сидов **< 15 отсекаются**. Редкие/старые фильмы дадут пусто
|
||||
именно из-за этого. Проверка по конкретному фильму:
|
||||
Если `redapi` переключить на локальный JacRed lampac (`http://127.0.0.1:9118`),
|
||||
PidTor падает на **всех** фильмах: локальный JacRed отдаёт формат БЕЗ поля
|
||||
`info`, а `PidTor/Controller.cs:97` читает `torrent.info.sizeName` → NPE → HTTP 500.
|
||||
|
||||
```bash
|
||||
curl -s "http://127.0.0.1:9118/lite/pidtor?title=<название>&year=<год>"
|
||||
docker logs lampac 2>&1 | grep -i pidtor
|
||||
```
|
||||
НАШ JacRed → поля без "info"
|
||||
jac.red → + info{quality, voices, sizeName, name, originalname, relased}
|
||||
PidTor ждёт → torrent.info.sizeName
|
||||
```
|
||||
|
||||
Проверка: `curl -s -o /dev/null -w '%{http_code}' \
|
||||
"http://127.0.0.1:9118/lite/pidtor?title=Гамнет&year=2025"` → должно быть **200**.
|
||||
|
||||
Полный разбор: [[personal/plans/lampac-pidtor-503-fix]]
|
||||
|
||||
⚠️ **Вторичный фильтр — `min_sid: 15`** (сток). Сиды < 15 отсекаются; свежие
|
||||
фильмы часто имеют 1–37. Понижение — решение Alex (низкий sid = медленнее).
|
||||
|
||||
⚠️ **README PidTor устарел:** там написано «пункт появляется только если заданы
|
||||
`torrs`/`auth_torrs`, иначе список пустой». Фактически при `null` `/lite/pidtor`
|
||||
отдал 8435 байт с рабочей раздачей. Верить факту, не README.
|
||||
отдаёт рабочие раздачи. Верить факту, не README.
|
||||
|
||||
⚠️ **`enabled: false` — НЕ выключатель.** Это поле стоит `false` у всех 86
|
||||
модулей (Filmix, HDVB, Kinobase, PidTor…). Смотреть только `enable`.
|
||||
|
||||
### `vast.js` — НЕ виновник (проверено сырьём)
|
||||
|
||||
@@ -776,6 +792,52 @@ TorrServer**, а не гасить онлайн. План откачен, `init.
|
||||
Док оставлен как справка, где лежит выключатель; применять только по прямому
|
||||
указанию Alex.
|
||||
|
||||
### 📄 Текущее состояние `$H/config-module/init.conf` (2026-09-22, вечер)
|
||||
|
||||
Это единственный меняемый конфиг lampac. Полное содержимое:
|
||||
|
||||
```json
|
||||
{
|
||||
"BaseModule": {
|
||||
"SkipModules": ["Tracks","Transcoding","WebLog","CacheMedia",
|
||||
"ForkPlayerXML","MsxNative","Potok","TelegramAuth",
|
||||
"TelegramAuthBot"]
|
||||
},
|
||||
"LampaWeb": { "initPlugins": { "catalog": true } },
|
||||
"PidTor": { "enable": true, "redapi": "http://jac.red" }
|
||||
}
|
||||
```
|
||||
|
||||
**Что здесь важно:**
|
||||
|
||||
| Ключ | Значение | Почему |
|
||||
|---|---|---|
|
||||
| `LampaWeb.initPlugins.catalog` | `true` | включает модуль Catalog — без него «Мой список» не виден |
|
||||
| `PidTor.enable` | `true` | модуль торрентов активен |
|
||||
| `PidTor.redapi` | `http://jac.red` | 🔴 **НЕ менять на локальный** — см. выше, ломает PidTor |
|
||||
|
||||
⚠️ `online: false` **отсутствует намеренно** — Alex запретил гасить онлайн.
|
||||
|
||||
**Бэкапы (2 шт., оба на HDD рядом с конфигом):**
|
||||
|
||||
```
|
||||
$H/config-module/init.conf.bak-pidtor-20260922-191505
|
||||
$H/config-module/init.conf.bak-20260922-112154 (в $H/, от прошлой правки)
|
||||
```
|
||||
|
||||
**Порядок безопасной правки (правило Alex «коммит ДО → правка → заливка → проверка»):**
|
||||
|
||||
```bash
|
||||
H=/srv/dev-disk-by-uuid-6194539b-03e0-4f33-986b-4da09834e82f/lampac
|
||||
cp $H/config-module/init.conf $H/config-module/init.conf.bak-$(date +%Y%m%d-%H%M%S)
|
||||
# правим локально, scp обратно
|
||||
python3 -c "import json; json.load(open('$H/config-module/init.conf')); print('JSON ok')"
|
||||
docker restart lampac
|
||||
```
|
||||
|
||||
⚠️ Применить конфиг без рестарта нельзя. Рестарт = ~35 сек недоступности плеера.
|
||||
Раздачи в TorrServer при рестарте сохраняются (`data/ts/` не трогается).
|
||||
|
||||
## 🚀 Деплой генератора на Кра́кен (проверено 2026-09-22)
|
||||
|
||||
### 🔴🔴 Питфолл: `load_env()` искал `.env` только по Mac-пути
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
# TorrServer на Кра́кене — диагностика
|
||||
|
||||
**Дата:** 2026-09-22
|
||||
**Вывод:** ✅ **TorrServer исправен.** Но «Торренты» пусто по ДВУМ причинам,
|
||||
найденным после первой проверки: 🔴 **закэшированный 503** (`X-Invoke-Cache: HIT`)
|
||||
и 🔴 **`min_sid: 15` режет выдачу**. Диагноз и фикс — [[personal/plans/lampac-pidtor-503-fix]].
|
||||
**Вывод:** ✅ **TorrServer исправен.** «Торренты» пусто было по причине
|
||||
🔴 **`redapi` указывал на локальный lampac**, чей JacRed отдаёт формат БЕЗ
|
||||
поля `info` → PidTor падал на `torrent.info.sizeName` → NPE → 500 → кэшировался
|
||||
как 503. **ИСПРАВЛЕНО**: `redapi` возвращён на `http://jac.red`.
|
||||
Диагноз и фикс — [[personal/plans/lampac-pidtor-503-fix]].
|
||||
**Связано:** [[personal/tech/lampac-deployment]], [[personal/plans/lampac-pidtor-503-fix]],
|
||||
[[personal/plans/lampac-disable-1xbet-ads]]
|
||||
|
||||
@@ -107,8 +109,28 @@ Lampa → lampac PidTor → jac.red (ПОИСК раздач — ЧУЖОЙ хо
|
||||
⚠️ Поиск раздач **не локален** — `PidTor.redapi = "http://jac.red"`. TorrServer
|
||||
только качает то, что нашёл чужой сервер. Не путать эти роли при диагностике.
|
||||
|
||||
Рабочая альтернатива — локальный JacRed lampac:
|
||||
`/api/v2.0/indexers/all/results?Query=…` отвечает за **0.12s** (внешний — 0.35s).
|
||||
### 🔴🔴 Локальный JacRed — НЕ альтернатива. Он ломает PidTor
|
||||
|
||||
**Проверено 2026-09-22 (стоило полной поломки):** переключение
|
||||
`redapi` на `http://127.0.0.1:9118` (локальный JacRed lampac) роняет **ВСЕ**
|
||||
фильмы в HTTP 500.
|
||||
|
||||
```
|
||||
НАШ JacRed отдаёт поля: Tracker, Details, Title, Size, PublishDate,
|
||||
Category, Seeders, Peers, MagnetUri
|
||||
^^^ поля "info" НЕТ
|
||||
|
||||
jac.red отдаёт ещё: info{quality, voices[], sizeName, name, originalname,
|
||||
relased}, ffprobe, languages, CategoryDesc
|
||||
|
||||
PidTor/Controller.cs:97:
|
||||
string mediainfo = torrent.info.sizeName ?? string.Empty;
|
||||
^^^^^^^^^^^^^^ info == null -> NullReferenceException -> 500
|
||||
```
|
||||
|
||||
Локальный JacRed быстрее (0.12s против 0.35s), но **несовместим по формату**.
|
||||
`redapi` обязан оставаться `http://jac.red`. Подробно:
|
||||
[[personal/plans/lampac-pidtor-503-fix]]
|
||||
|
||||
## 🔴 `min_sid: 15` — второй фильтр, режущий выдачу
|
||||
|
||||
@@ -244,10 +266,29 @@ ssh kraken 'curl -s "http://127.0.0.1:9118/lite/pidtor?title=Матрица&year
|
||||
python3 /tmp/probe_pidtor_batch.py
|
||||
```
|
||||
|
||||
### Если пусто — порядок проверки
|
||||
### Если пусто — порядок проверки (по реальной причине, 2026-09-22)
|
||||
|
||||
0. **СНАЧАЛА проверить `redapi`:**
|
||||
`docker exec lampac sh -c 'grep -o "\"redapi\": \"[^\"]*\"" /lampac/current.conf'`
|
||||
→ должно быть `http://jac.red`. Если `127.0.0.1:9118` — PidTor отдаст 500 (см. выше)
|
||||
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)
|
||||
2. **500** → реальная ошибка (чаще всего `info`-несовместимость источника)
|
||||
3. **503** → источник отказал, кэш держит ~45 мин (`extend: 2700`)
|
||||
4. **200, но 0 раздач** → реально нет раздач у трекеров
|
||||
5. `min_sid: 15` (сток) — сиды < 15 отсекаются (свежие фильмы часто 1–37)
|
||||
|
||||
### 🔴 Порядок сброса кэша (если 503 застрял)
|
||||
|
||||
Кэш переживает `docker restart` — он на диске:
|
||||
|
||||
```bash
|
||||
H=/srv/dev-disk-by-uuid-6194539b-03e0-4f33-986b-4da09834e82f/lampac
|
||||
docker stop lampac
|
||||
cp -r "$H/cache/fdb" /tmp/fdb-backup-$(date +%Y%m%d-%H%M%S)/ # бэкап обязателен
|
||||
rm -rf "$H/cache/fdb"; mkdir -p "$H/cache/fdb"
|
||||
docker start lampac
|
||||
```
|
||||
|
||||
⚠️ После чистки 503 сменится на **500** — это признак, что кэш больше не маскирует
|
||||
настоящую ошибку. Дальше искать причину 500 (пункт 2 выше), а не радоваться.
|
||||
Reference in new issue
Block a user