docs: lambac torrents howto (PidTor redapi fix) + watchlist marker done
This commit is contained in:
1 parent
b4463f8a1f
commit
6e0fe30f80
4 files changed
+306
-12
No files matched your search
@@ -646,13 +646,21 @@ FlixCDN · Gencit · HDVB · Kinobase · Kinogo · Kinoteatrkg · Kinotochka ·
|
||||
LeProduction · Mirage · Phantom · PizdatoeHD · RuDub · RutubeMovie · Spectre ·
|
||||
VeoVeo · Vibix · VideoDB · Videoseed · VkMovie · Zetflix · ZetflixDB`
|
||||
|
||||
### Почему «Торренты» пусто — ✅ РАЗОБРАНО ПОЛНОСТЬЮ (2026-09-22)
|
||||
### Почему «Торренты» пусто — ✅ РАЗОБРАНО ПОЛНОСТЬЮ И ПОЧИНЕНО (2026-09-22)
|
||||
|
||||
**Вывод: TorrServer и вся торрент-цепочка ИСПРАВНЫ. Чинить нечего.**
|
||||
**Вывод: причина — `redapi`, а не TorrServer. ИСПРАВЛЕНО, ПРИНЯТО В UI.**
|
||||
|
||||
```
|
||||
ПРИЧИНА → PidTor.redapi указывал на ЛОКАЛЬНЫЙ JacRed lampac,
|
||||
который отдаёт формат БЕЗ поля info
|
||||
→ PidTor/Controller.cs:97 torrent.info.sizeName → NPE → 500 → кэш 503
|
||||
ФИКС → redapi возвращён на http://jac.red (отдаёт полный формат)
|
||||
ПРИЁМКА → ✅ Alex в UI: «Во! теперь появились торренты. запустил F1..»
|
||||
```
|
||||
|
||||
Первая версия объяснения («нет раздач — нет сидов») была **неполной**. Полная
|
||||
диагностика ниже доказала, что раздачи находятся. Отдельный док:
|
||||
[[personal/tech/lampac-torrserver]].
|
||||
[[personal/tech/lampac-torrserver]], разбор фикса: [[personal/plans/lampac-pidtor-503-fix]].
|
||||
|
||||
#### TorrServer жив и качает
|
||||
|
||||
@@ -701,12 +709,27 @@ http://127.0.0.1:9118/ts/download/ -> скачивание
|
||||
🔴 **Метод запроса ВАЖЕН — и `400` вместо `404` = маршрут существует:**
|
||||
|
||||
```
|
||||
POST /ts/torrents с телом [] -> [] ✅ список раздач
|
||||
POST /ts/torrents с телом {} -> 400 (неверный формат тела)
|
||||
GET /ts/torrents -> 404 (метода нет)
|
||||
GET /ts/settings -> 403 (нужна авторизация ts:tspass)
|
||||
POST /ts/torrents -d '{"action":"list"}' -> 200, [] ✅ ТОЛЬКО ТАК
|
||||
POST /ts/torrents с телом [] -> 400
|
||||
POST /ts/torrents без тела -> 400
|
||||
POST /ts/torrents с телом {} -> 400
|
||||
GET /ts/torrents -> 404 (метода нет)
|
||||
GET /ts/torrents/list -> 404
|
||||
GET /ts/settings -> 403 (нужна авторизация ts:tspass)
|
||||
```
|
||||
|
||||
🔴 **Исправлено 2026-09-22:** ранняя запись говорила, что `[]` даёт список.
|
||||
**Это неверно** — проверено перебором: `[]`, `{}` и пустое тело → **400**.
|
||||
Рабочий вызов ровно один:
|
||||
|
||||
```bash
|
||||
curl -s -X POST http://127.0.0.1:9118/ts/torrents \
|
||||
-H 'Content-Type: application/json' -d '{"action":"list"}'
|
||||
```
|
||||
|
||||
⚠️ **Раздачи живут в памяти процесса TorrServer** — `docker restart lampac` их
|
||||
выгружает (тестовая `probe` исчезла сама). Файл `data/ts/` при этом не трогается.
|
||||
|
||||
#### 🔴🔴 РЕАЛЬНАЯ причина пустого списка у Alex: `redapi` (найдено 2026-09-22)
|
||||
|
||||
**Не `min_sid`, не TorrServer.** Причина — `redapi` в секции `PidTor`:
|
||||
|
||||
@@ -1,13 +1,26 @@
|
||||
# TorrServer на Кра́кене — диагностика
|
||||
|
||||
**Дата:** 2026-09-22
|
||||
**Вывод:** ✅ **TorrServer исправен.** «Торренты» пусто было по причине
|
||||
**Дата:** 2026-09-22 · **ОБНОВЛЕНО 2026-09-22 (вечер): подтверждено Alex в UI**
|
||||
**Вывод:** ✅ **TorrServer исправен. ЗАДАЧА ЗАКРЫТА.** «Торренты» пусто было по причине
|
||||
🔴 **`redapi` указывал на локальный lampac**, чей JacRed отдаёт формат БЕЗ
|
||||
поля `info` → PidTor падал на `torrent.info.sizeName` → NPE → 500 → кэшировался
|
||||
как 503. **ИСПРАВЛЕНО**: `redapi` возвращён на `http://jac.red`.
|
||||
**Приёмка Alex:** «Во! теперь появились торренты. запустил F1..» — ✅ видно в UI.
|
||||
Диагноз и фикс — [[personal/plans/lampac-pidtor-503-fix]].
|
||||
**Связано:** [[personal/tech/lampac-deployment]], [[personal/plans/lampac-pidtor-503-fix]],
|
||||
[[personal/plans/lampac-disable-1xbet-ads]]
|
||||
[[personal/plans/lampac-disable-1xbet-ads]], [[personal/plans/watchlist-tmdb-missing-marker]]
|
||||
|
||||
---
|
||||
|
||||
## ✅ Статус закрытия (2026-09-22 вечер)
|
||||
|
||||
| Пункт | Статус |
|
||||
|---|---|
|
||||
| PidTor 500/503 | ✅ исправлено, `redapi=http://jac.red` |
|
||||
| Приёмка в UI | ✅ Alex запустил F1 в плеере |
|
||||
| Тестовая раздача `probe` | ✅ убрана сама (сброс при рестарте) |
|
||||
| `min_sid` | ✅ `min_sid: 3` убран → сток `15` |
|
||||
| Минус год у «Волшебный участок: Фильм» | ⏳ оставлено пусто (см. ниже) |
|
||||
|
||||
---
|
||||
|
||||
@@ -316,4 +329,86 @@ docker start lampac
|
||||
```
|
||||
|
||||
⚠️ После чистки 503 сменится на **500** — это признак, что кэш больше не маскирует
|
||||
настоящую ошибку. Дальше искать причину 500 (пункт 2 выше), а не радоваться.
|
||||
настоящую причину. Дальше искать причину 500 (пункт 2 выше), а не радоваться.
|
||||
|
||||
---
|
||||
|
||||
## 🔴 «Волшебный участок: Фильм» — `year: null`. НЕ БАГ, данных нет в источнике
|
||||
|
||||
**Дата разбора:** 2026-09-22 · **Статус:** ⏳ оставлено пусто (решение Alex ожидается)
|
||||
|
||||
### Сырьё
|
||||
|
||||
`watchlist.json` (единственная позиция без года из 376):
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "Волшебный участок: Фильм",
|
||||
"original": "Волшебный участок: Фильм",
|
||||
"year": null, <- год отсутствует
|
||||
"rating": 0.0,
|
||||
"image": "", <- 🔴 постера ТОЖЕ нет
|
||||
"href": "https://www.themoviedb.org/movie/1272100"
|
||||
}
|
||||
```
|
||||
|
||||
### Что реально отдаёт TMDB по ID 1272100
|
||||
|
||||
```bash
|
||||
curl "https://api.themoviedb.org/3/movie/1272100?api_key=$TMDB_KEY&language=ru-RU"
|
||||
```
|
||||
|
||||
```
|
||||
ru-RU: title='Волшебный участок: Фильм' original_title='Волшебный участок: Фильм'
|
||||
en-US: title='The Magic District. The Movie'
|
||||
release_date = '' <- ПУСТО
|
||||
status = 'In Production' <- 🔴 ФИЛЬМ ЕЩЁ НЕ ВЫШЕЛ
|
||||
poster_path = None / poster=False <- постера нет
|
||||
runtime = 0 imdb_id = None vote_average = 0.0
|
||||
```
|
||||
|
||||
TMDB поиск по названию подтверждает: ровно один результат, `id=1272100`.
|
||||
|
||||
### Вывод: генератор работает правильно
|
||||
|
||||
`release_date` пуст **у самого TMDB**, потому что фильм в производстве.
|
||||
Генератор честно пишет `null`. Это не дефект `tmdb_details()`.
|
||||
|
||||
Кинопоиск как fallback **не подходит**: запрос
|
||||
`kinopoiskapiunofficial.tech/api/v2.1/films/search-by-keyword?keyword=Волшебный участок`
|
||||
вернул **HTTP 400 Bad Request** (баг API на `:keyword`-маршруте). Плюс
|
||||
КП-карточки фильма может ещё не существовать — сериал есть, фильм в производстве.
|
||||
|
||||
### Решение: НЕ ВЫДУМЫВАТЬ год
|
||||
|
||||
| Вариант | Оценка |
|
||||
|---|---|
|
||||
| **Оставить `null` (рекомендовано)** | ✅ не выдумываем данные; когда фильм выйдет — TMDB отдаст `release_date`, генератор подхватит сам |
|
||||
| Заполнить год вручную | ❌ премьера неизвестна → выдуманный год хуже пустоты |
|
||||
| Год из КП как fallback | ❌ КП отдаёт 400; ~30-40 мин работы, риск сломать резолв |
|
||||
|
||||
**Косметическая опция (если Alex захочет, ~15 мин):** выводить `"скоро"`
|
||||
вместо пустого года при `status == "In Production"`.
|
||||
|
||||
**Правило «фильм есть → добавлять» соблюдено:** позиция в каталоге, карточка
|
||||
откроется, торренты найдутся когда фильм выйдет.
|
||||
|
||||
### Питфолл: где лежат ключи TMDB/KP
|
||||
|
||||
```
|
||||
🔴 .env в $H/lampac/ НЕТ — ключи в $H/watchlist-sync/.env
|
||||
(TMDB_KEY, KP_KEY). Генератор читает через load_env() — 5 мест поиска.
|
||||
```
|
||||
|
||||
### Питфолл: пути на Кра́кене
|
||||
|
||||
```
|
||||
🔴 HDD lampac = /srv/dev-disk-by-uuid-6194539b-03e0-4f33-986b-4da09834e82f
|
||||
НЕ ...6194539b-ec7d-4b5e-9cb2-2a4e0b0a3a1a (этот UUID не существует)
|
||||
watchlist.json = $H/lampac/wwwroot/watchlist.json (376 записей)
|
||||
боевой .md = $H/obsidian/family/documents/movies-watchlist.md
|
||||
скрипты = $H/lampac/scripts/{gen_watchlist.py,mark_missing.py}
|
||||
```
|
||||
|
||||
⚠️ `find /srv -name watchlist.json` — единственный надёжный способ уточнить путь;
|
||||
UUID в памяти/доках может быть устаревшим или обрезанным.
|
||||
Reference in new issue
Block a user