[2026-09-28] eagle: family/plans/lidarr-taiga-deploy.md personal/tech/flaresolverr-taiga.md
This commit is contained in:
1 parent
36eccc0ac3
commit
c5d21f962a
2 files changed
+160
-24
No files matched your search
@@ -1,6 +1,10 @@
|
||||
# FlareSolverr на Тайге + обход блокировок индексеров
|
||||
|
||||
> ✅ **СОСТОЯНИЕ 2026-09-28: ГОТОВО. Все 6 индексеров рабочие, health чистый.**
|
||||
> ✅ **СОСТОЯНИЕ 2026-09-28 (поздний вечер): ГОТОВО на всех четырёх arr-сервисах.**
|
||||
> **Prowlarr** — 6/6 индексеров, `health` → `[]`, `indexerstatus` → `[]`.
|
||||
> **Radarr** — `health` → `[]`. **Sonarr** — `health` → `[]`.
|
||||
> **Lidarr** — работает (SkyHook + 23 релиза); 1 warning `Kinozal (M)` лечится
|
||||
> `docker restart lidarr` после правки `proxyBypassFilter` (см. питфолл в конце).
|
||||
> Контейнер `flaresolverr` (v3.5.2), порт `8191`, сеть `media_net`, `shm_size: 1gb`,
|
||||
> `LOG_LEVEL=warning`, **`PROXY_URL=socks5://vless-proxy:1080`**.
|
||||
> Compose — `/mnt/RED_2TB/docker/arr/docker-compose.yml` (6-й сервис).
|
||||
@@ -229,6 +233,14 @@ CPU 0.68%); канал прокси нормальный (kinozal через soc
|
||||
сессии `prowlarr`** — последний блокер (сессия была создана до `PROXY_URL`).
|
||||
Итог: **6/6 индексеров, health `[]`, поиск 256 результатов.**
|
||||
RuTracker впервые `valid` за всё время существования стека (с 2026-05-20).
|
||||
- **2026-09-28 (поздний вечер)** — **добивка Radarr/Sonarr/Lidarr до чистого health.**
|
||||
Закрыто: `docker restart radarr sonarr` (+`lidarr`) → `RemotePathMappingCheck` ушла,
|
||||
health Radarr/Sonarr → `[]`. Снят карантин Kinozal/Kinozal(M) в Prowlarr тестом
|
||||
**полным объектом** (`{"id":N}` → 400 всегда). Новые питфоллы: **`test` требует полный
|
||||
объект**; **429 на `caps` = карантин Prowlarr → каскад во все arr**;
|
||||
**`proxyBypassFilter` Lidarr без `prowlarr`** → таймауты к Prowlarr из-за собственного
|
||||
прокси-конфига. Остаток: RuTor — несовпадение категорий (не блок), и 1 warning в Lidarr
|
||||
до перезапуска с новым bypass.
|
||||
|
||||
## ✅ ЗАКРЫТО: пароль RuTracker — рабочий (первый диагноз был НЕВЕРЕН)
|
||||
|
||||
@@ -269,13 +281,25 @@ mkdir -p /mnt/RED_2TB/storage/Downloads/radarr /mnt/RED_2TB/storage/Downloads/so
|
||||
осталась, нужен `docker restart radarr sonarr` для перепроверки. См.
|
||||
[[family/plans/lidarr-taiga-deploy]].
|
||||
|
||||
## Открытые пункты
|
||||
## ✅ ЗАКРЫТО 2026-09-28 (поздний вечер): Radarr/Sonarr/Lidarr вычищены
|
||||
|
||||
- **Приёмка Alex в UI:** `https://prowlarr.mallexxx.duckdns.org` → Indexers → 6 зелёных без карантинов.
|
||||
- ⏳ **`docker restart radarr sonarr`** — применить создание каталогов (апрув истёк 2026-09-28).
|
||||
- ⏳ **`POST /api/v3/indexer/testall`** в Radarr/Sonarr — снять карантин с их собственных
|
||||
копий индексеров (`RuTor`, `Kinozal`, `Kinozal M`). ⚠️ Отдаёт **400**, но это не ошибка:
|
||||
парсить тело (массив с `isValid`), а не HTTP-код.
|
||||
| Что | Итог |
|
||||
|---|---|
|
||||
| `docker restart radarr sonarr` | ✅ выполнен → `RemotePathMappingCheck` **ушла** |
|
||||
| Карантин индексеров в Prowlarr (id 5, 6) | ✅ снят тестом полным объектом → `caps` 200 |
|
||||
| `PUT /api/v3/indexer/N?forceSave=true` в Radarr/Sonarr | ✅ 202 |
|
||||
| `docker restart radarr sonarr lidarr` | ✅ выполнен |
|
||||
| **health Radarr** | ✅ `[]` — чисто |
|
||||
| **health Sonarr** | ✅ `[]` — чисто |
|
||||
| health Lidarr | ⚠️ 1 warning `Kinozal (M)` — дефект `proxyBypassFilter`, см. питфолл ниже |
|
||||
| Библиотека Lidarr | 1 артист (`Radiohead`), 23 релиза |
|
||||
|
||||
**Остаток (не блокирует):** RuTor в Radarr/Sonarr — `Query successful, but no results in the
|
||||
configured categories`. Это **не блокировка и не карантин**: RuTor не отдаёт результаты в
|
||||
категориях фильмов/сериалов. Проверено тестом полным объектом → caps отдаёт, карантина нет.
|
||||
|
||||
- **Приёмка Alex в UI:** `https://prowlarr.mallexxx.duckdns.org` → Indexers → 6 зелёных;
|
||||
`https://lidarr.mallexxx.duckdns.org` → артист ищется.
|
||||
|
||||
## ✅ Lidarr ↔ SkyHook: решено 2026-09-28 (встроенный прокси, НЕ env)
|
||||
|
||||
@@ -315,6 +339,55 @@ compose-env + рестарт → всё тот же **403**. .NET-клиент S
|
||||
⚠️ Откат: env-вариант убран из compose (бэкап
|
||||
`~truenas_admin/docker-compose.yml.bak-20260928-lidarr-proxy`).
|
||||
|
||||
## 🔴 ПИТФОЛЛ: `test` требует ПОЛНЫЙ объект, не `{id}` → 400
|
||||
|
||||
Во **всех** arr-сервисах (`Prowlarr`, `Radarr`, `Sonarr`, `Lidarr`) эндпоинт
|
||||
`POST /api/vN/indexer/test` с телом `{"id":N}` отдаёт **400 Bad Request**.
|
||||
Правильно — отправить **полный** объект индексера:
|
||||
```bash
|
||||
curl -s -H "X-Api-Key: $K" http://localhost:PORT/api/v3/indexer > /tmp/idx.json
|
||||
docker cp /tmp/idx.json radarr:/tmp/idx.json
|
||||
docker exec radarr curl -s -X POST -H "X-Api-Key: $K" -H "Content-Type: application/json" \
|
||||
--data-binary @/tmp/idx.json http://localhost:7878/api/v3/indexer/test
|
||||
# → {} с http=200 = тест пройден; 400 + validationFailures = реальная ошибка
|
||||
```
|
||||
`{}` + **200** = успех (не 204, не «пусто»). `POST /indexer/testall` — тот же класс грабли,
|
||||
он ещё и **подвешивает** Sonarr (>300 с) — гонять **по одному**.
|
||||
|
||||
## 🔴 ПИТФОЛЛ: `429` на `/N/api?t=caps` у Prowlarr = карантин → каскад во все arr
|
||||
|
||||
`GET http://prowlarr:9696/5/api?t=caps&apikey=…` → **429 TooManyRequests**, пока индексер
|
||||
в карантине. Следствие: **Radarr/Sonarr/Lidarr не могут синкнуть этот индексер** и показывают
|
||||
`Unable to connect to indexer … [429:TooManyRequests]`. Настоящая причина — не в них.
|
||||
|
||||
**Порядок лечения (снизу вверх):**
|
||||
1. Снять карантин в **Prowlarr** — `POST /api/v1/indexer/test` полным объектом (по одному).
|
||||
2. Проверить `GET /api/v1/indexerstatus` → пусто и `caps` → **200**.
|
||||
3. Пересохранить проблемный индексер в самом arr: `PUT /api/v3/indexer/N?forceSave=true` → **202**
|
||||
(сбрасывает `FailureCount`).
|
||||
4. `docker restart radarr sonarr lidarr` — health пересчитывается только при старте.
|
||||
|
||||
## 🔴 ПИТФОЛЛ: `proxyBypassFilter` Lidarr без внутренних имён → таймауты к Prowlarr
|
||||
|
||||
**Самый неочевидный дефект сессии.** После включения встроенного прокси Lidarr
|
||||
(`proxyEnabled=true`) его запросы к **Prowlarr** ушли в прокси и стали падать
|
||||
`Http request timed out`, хотя в Prowlarr тот же индексер отвечал 200.
|
||||
|
||||
**Причина:** дефолтный bypass — `localhost,127.0.0.1,vless-proxy`, в нём **НЕТ `prowlarr`**.
|
||||
Имя `prowlarr` не попадает под `proxyBypassLocalAddresses` (это не IP-литерал), поэтому
|
||||
внутрикластерный `http://prowlarr:9696/…` инкапсулировался в HTTP-прокси и таймаутил.
|
||||
|
||||
**Фикс** — дописать в `config/host.proxyBypassFilter` **все внутренние docker-имена**:
|
||||
```
|
||||
localhost,127.0.0.1,vless-proxy,prowlarr,lidarr,radarr,sonarr,transmission,jellyfin,navidrome,caddy,gluetun,taiga
|
||||
```
|
||||
Скрипт: `/tmp/lidarr_bypass.py` (GET → patch filter → PUT `/api/v1/config/host` → **202** → read-back).
|
||||
⚠️ После правки — `docker restart lidarr`.
|
||||
|
||||
> ⚠️ **Правило:** включая приложению прокси-конфиг, **сразу прописать в bypass все имена
|
||||
> своего стека**. Иначе сервис «уйдёт» в прокси и к соседям — симптом выглядит как
|
||||
> «сервер индексера недоступен», а виноват собственный прокси-конфиг.
|
||||
|
||||
## Общий вывод по прокси на Тайге (три разных механизма!)
|
||||
|
||||
На одном хосте понадобились **три независимых способа** прокинуть трафик через `vless-proxy`:
|
||||
|
||||
Reference in new issue
Block a user