[2026-09-28] eagle: family/how-to/arr-stack-kraken.md personal/plans/flaresolverr-taiga-deploy.md personal/tech/flaresolverr-taiga.md

This commit is contained in:
Alexey Martemyanov committed 2026-09-28 17:21:24 +06:00
1 parent 8174fc8d3c
commit 8f85b41bb1
3 files changed
+118 -8

No files matched your search

+23
View File
@@ -369,6 +369,29 @@ Alex: **ожидаемое поведение**; если фильм нужен
- **17 фильмов в Radarr `hasFile=False`** — ждут подходящего релиза в Prowlarr. Scream (1996) в процессе загрузки.
- **Prowlarr** — если долго не находит релизы, проверить статус индексеров (`/api/v1/health`). ⚠️ health врёт, реальную причину блокировки смотреть в `config/logs/prowlarr.debug.txt` — см. секцию «🔴 Индексера Prowlarr — починка Cloudflare (2026-09-20)» ниже.
- ✅ **2026-09-20: все индексера Prowlarr починены (6/6), Radarr 4/4 и Sonarr 5/5 зелёные.** Причины были: сеть (`docker_default` вместо `media_net`), непривязанный tag у FlareSolverr-прокси, и блокировки в `IndexerStatus`. Детали и команды — в секции ниже.
- 🔴🔴 **2026-09-29: КАРАНТИН НА КРА́КЕНЕ ВСЁ ЕЩЁ СТОИТ (проверено вживую).**
`SELECT ProviderId, EscalationLevel, DisabledTill FROM IndexerStatus` в
`/srv/dev-disk-by-uuid-49e8f586-3839-4c5d-a1e1-58bfc3579ade/docker/prowlarr/config/prowlarr.db`:
```
1 RuTracker EscalationLevel=9 DisabledTill=2026-09-27 ← В КАРАНТИНЕ
5 Kinozal 9 2026-09-27 ← В КАРАНТИНЕ
6 Kinozal (M) 9 2026-09-27 ← В КАРАНТИНЕ
2 RuTor 3 — 3 Byrutor 0 — 4 NoNaMe 0 —
```
⚠️ Фикс от 2026-09-24 (`shm_size: 1gb` + снятие `IndexerStatus`) **доведён не был** —
записи остались. Список индексеров id 1–6 идентичен Тайге (RuTracker, RuTor, Byrutor,
NoNaMe Club, Kinozal, Kinozal (M)).
- 🔴 **2026-09-29: капча-солвера на Кра́кене НЕТ.** Проверено: `docker ps -a | grep -iE
"solver|capsolve|2captcha|capmonster"` → только `flaresolverr`. В env FS —
`LOG_LEVEL, BROWSER_TIMEOUT, PATH, LANG, GPG_KEY, PYTHON_*`, **нет `CAPTCHA_SOLVER`**.
Единственный прокси-элемент: `(1, 'FlareSolverr', {"host":"http://flaresolverr:8191/",
"requestTimeout":60})`. То есть **на Кра́кене нет средства решать капчу** — не ссылаться
на него как на работающий образец.
- **2026-09-29: у FS на Кра́кене объявлен `/config`, но он ПУСТ.** Монтирование
`.../docker-data/volumes/fcca433276af5e66b4f8273956294532850cc9c37597d83d89c24f33dd694d49/_data
=> /config`, `ls /config` → `total 8` (только `.` и `..`), `sessions: []`, FS `v3.5.2`.
Persistent Chrome-профиль **фактически не используется**. Env: **`PROXY_URL` отсутствует** —
на Кра́кене DNS-блока провайдера нет, FS ходит в трекер напрямую.
- 🔴 **2026-09-24: РЕЦИДИВ — «6/6» больше не действует.** RuTracker (1), Kinozal (5), Kinozal (M) (6)
снова заблокированы, `EscalationLevel=9`, `disabledTill=2026-09-25T10:17Z` — то есть **сутки**.
Первопричина не Cloudflare и не теги (они на месте), а **FlareSolverr в crash-loop**:
+28 -8
View File
@@ -1,11 +1,14 @@
# FlareSolverr на Тайге + обход блокировок индексеров — план/отчёт
> **Статус 2026-09-28 (конец дня): инфраструктура готова, 1 пункт открыт.**
> FlareSolverr развёрнут, все 6 индексеров настроены, поиск «matrix» → **256 результатов**
> (RuTor 100, RuTracker 50, NoNaMe 50, Kinozal 50, Byrutor 6). **RuTracker впервые `valid`
> за всё время стека (с 2026-05-20).**
> 🔴 **Открыто:** `IndexerStatus` в `prowlarr.db` — RuTracker `EscalationLevel=9` до +24 ч.
> Снимается **только SQL** (план ниже), карантин даёт warning каскадом во все четыре сервиса.
> **Статус 2026-09-29: инфраструктура готова, поиск через CF-индексеры НЕ работает.**
> FlareSolverr развёрнут, все 6 индексеров настроены. `IndexerStatus` снят через SQL
> (2026-09-29) → все 6 `caps` → **200**, `health` `[]`, `indexerstatus` `[]`.
> 🔴 **Но реальный поиск:** `total=79`, отдали только **NoNaMe (47) + RuTor (32)**
> (раньше был замер 256 — см. историю). RuTracker/Kinozal/Kinozal(M) возвращаются
> в карантин через минуты, лог: `Empty cookies returned by FlareSolverr`.
> **Корень: нет куки `bb_data` → логин RuTracker не выполняется.** Нужен Alex (см. Остаток п.6).
> 🔴 **«Как на Кра́кене» — НЕ рецепт:** на живом Кра́кене капча-солвера **нет**, карантин
> **идентичен** (`EscalationLevel=9`, 2026-09-27). Обе площадки красные одинаково (Остаток п.7).
> Полный разбор, все питфоллы и команды — [[personal/tech/flaresolverr-taiga]].
> Связано: [[personal/plans/lidarr-taiga-and-indexer-unblock]],
> [[family/projects/media-toolbox-taiga]], [[family/how-to/arr-stack-kraken]],
@@ -310,8 +313,12 @@ for I in 1 5 6; do curl -s -o /dev/null -w "idx$I=%{http_code}\n" \
## Остаток после сессии 2026-09-28 (не блокирует Prowlarr/FlareSolverr)
1. ⏳ **Снять `IndexerStatus` через SQL** — план выше, шаг 2 ждёт апрува на `docker stop prowlarr`.
Единственный незакрытый пункт, дающий warning каскадом во все четыре сервиса.
1. ✅ **СНЯТО через SQL 2026-09-29.** `docker stop prowlarr` → `DELETE FROM IndexerStatus;` →
`docker start prowlarr`. Результат: `rows=0`, `quick_check=ok`, 6 определений на месте,
`health` → `[]`, `indexerstatus` → `[]`, **все 6 `caps` → 200**.
🔴 **НО поиск не починился:** через минуты CF-индексеры снова в карантине, поиск даёт
`total=79` (только NoNaMe 47 + RuTor 32). Причина — **отсутствие `bb_data`**, см. п. 6.
Скрипт: `/tmp/clear_indexerstatus.sh`. Бэкап: `~/prowlarr.db.bak-20260928-032611`.
2. ✅ **Пароль RuTracker — вопрос закрыт: пароль ВЕРНЫЙ.** Проверено `request.post` через FS:
`len=251 792`, форма логина не вернулась. Первый диагноз «пароль неверен» был ложным —
признак «форма вернулась» проверять по **`final_url` + длине HTML**, а не по подстроке
@@ -326,3 +333,16 @@ for I in 1 5 6; do curl -s -o /dev/null -w "idx$I=%{http_code}\n" \
5. **Приёмка Alex в UI:** `https://prowlarr.mallexxx.duckdns.org` → 6 зелёных;
`https://lidarr.mallexxx.duckdns.org` → поиск артиста работает. Alex подтвердил:
**«все зеленое, логин починен»**. Открытый вопрос по swap закрыт Alex (не нужен — RAM 21 GB).
6. 🔴 **ГЛАВНЫЙ НЕЗАКРЫТЫЙ ПУНКТ (2026-09-29): логин RuTracker не выполняется.**
В cookies сессии нет **`bb_data`** (кука авторизации) — только `cf_clearance` + `bb_guid`.
Лог Prowlarr: `FlareSolverrException: "Empty cookies returned by FlareSolverr"` (`FlareSolverr.cs:68`).
Форма индексера принимает только `username`/`password` — поля для cookie нет, подставить
живую сессию из браузера **нельзя**. Нужен Alex: зайти на `rutracker.org` браузером
**с того же IP** (`vless-proxy`), пройти капчу один раз, либо отключить капчу в профиле.
Полный разбор — [[personal/tech/flaresolverr-taiga]] §«ИТОГОВЫЙ КОРЕНЬ» и §«СВЕРКА С КРА́КЕНОМ».
7. 🔴 **«Как на Кра́кене» — НЕ рецепт (2026-09-29).** Проверено на живом Кра́кене:
капча-солвера там **нет** (только FlareSolverr, `requestTimeout: 60`), а карантин
**идентичен Тайге** — RuTracker/Kinozal/Kinozal(M) `EscalationLevel=9`, `DisabledTill=2026-09-27`.
**Обе площадки красные по одной и той же причине.** Не строить план на посылке
«на Кра́кене работает». Детали — [[personal/tech/flaresolverr-taiga]] §«СВЕРКА С КРА́КЕНОМ»,
[[family/how-to/arr-stack-kraken]].
+67
View File
@@ -8,6 +8,10 @@
> `FlareSolverrException: Empty cookies returned by FlareSolverr` (`FlareSolverr.cs:68`).
> 🔴 **КОРЕНЬ (найден в этой сессии): у сессии нет куки `bb_data`** — только `cf_clearance` + `bb_guid`.
> Это значит **логин RuTracker не выполняется**, а не «CF блокирует». Детали — раздел ниже.
> 🔴🔴 **СВЕРКА С КРА́КЕНОМ (2026-09-29): «как на Кра́кене» = ТОЖЕ СЛОМАНО.** Alex спросил про
> капча-солвер на Кра́кене — **его там НЕТ**, только FlareSolverr. Карантин на Кра́кене
> **идентичен Тайге**: RuTracker/Kinozal/Kinozal(M) `EscalationLevel=9`, `DisabledTill=2026-09-27`.
> Обе площадки имеют один и тот же незакрытый дефект. См. раздел «СВЕРКА С КРА́КЕНОМ».
> **Radarr/Sonarr/Lidarr** — health чистый; warning-и про индексе́ры живут в БД **Prowlarr**, не у них.
> **Lidarr** — SkyHook работает, `musicCategory=lidarr` применён, поиск релизов отдаёт **43** FLAC.
> ⚠️ Открыто: **RuTracker** — автоматический логин невозможен (нужен Alex, см. ниже);
@@ -350,6 +354,69 @@ Prefetch `GET login.php` в той же сессии → POST → тоже фо
---
## 🔴🔴 СВЕРКА С КРА́КЕНОМ (2026-09-29): «как на Кра́кене» = ТОЖЕ СЛОМАНО
Alex спросил «на кракене вроде был капча солвер для этого?». Проверено на живом Кра́кене —
**капча-солвера там НЕТ, и карантин там тот же**. Это снимает главную ложную посылку задачи.
### Капча-солвера на Кра́кене нет
```
docker ps -a | grep -iE "solver|capsolve|2captcha|anti|capmonster" → только flaresolverr
FS env: LOG_LEVEL, BROWSER_TIMEOUT, PATH, LANG, GPG_KEY, PYTHON_* → НЕТ CAPTCHA_SOLVER
IndexerProxies на Кра́кене:
(1, 'FlareSolverr', '{"host":"http://flaresolverr:8191/","requestTimeout":60}', 'FlareSolverr', ...)
```
Только FlareSolverr, `requestTimeout: 60` (на Тайге уже 180). **Никакого `CAPTCHA_SOLVER`,
2captcha, capsolver.** Если капча-солвер где-то и вспоминается — это не Кра́кен.
### Карантин на Кра́кене — идентичный Тайге
```sql
-- Кра́кен: /srv/dev-disk-by-uuid-49e8f586-.../docker/prowlarr/config/prowlarr.db
SELECT ProviderId, EscalationLevel, DisabledTill FROM IndexerStatus;
```
```
1 RuTracker EscalationLevel=9 DisabledTill=2026-09-27 ← В КАРАНТИНЕ
5 Kinozal 9 2026-09-27 ← В КАРАНТИНЕ
6 Kinozal (M) 9 2026-09-27 ← В КАРАНТИНЕ
2 RuTor 3 —
3 Byrutor 0 —
4 NoNaMe 0 —
```
**Ровно та же тройка, ровно тот же `EscalationLevel=9`.** То есть на Кра́кене карантин
тоже стоит с 27 сентября и не снимался. Список индексеров на Кра́кене — **идентичен Тайге**
(id 1–6, те же имена, тот же `impl`).
> 🔴 **Вывод для будущих сессий:** не строить план на посылке «на Кра́кене работает, значит
> и на Тайге заработает». На 2026-09-29 обе площадки имеют **одинаковый незакрытый дефект
> авторизации RuTracker**. «Как на Кра́кене» ≠ «починить» — на Кра́кене тоже красное.
### Что реально отличается: у FS на Кра́кене есть `/config`
```
Кра́кен: IMAGE=ghcr.io/flaresolverr/flaresolverr:latest
MOUNTS= /srv/.../docker-data/volumes/fcca43.../_data => /config
ENV: НЕТ PROXY_URL (на Кра́кене DNS-блока нет)
/config пуст (ls → total 8, только . и ..) sessions: []
Тайга: PROXY_URL=socks5://vless-proxy:1080 /config НЕТ
```
⚠️ `/config` **пуст** и на Кра́кене, и сессий нет (`sessions: []`, version 3.5.2).
То есть **persistent Chrome-профиль не используется** — гипотеза «профиль с cookies
переживает рестарт» **опровергнута**. Это была ложная версия; не тратить на неё время.
> ⚠️ `/config` на Кра́кене объявлен, но ничего не сохраняет → добавлять его на Тайге
> **не нужно**. Причина `bb_data`-отсутствия не в профиле.
Скрипт сверки: `/tmp/whale_login_check.py`, `/tmp/whale_login2.py` (запускать **на хосте Тайги**,
порт `8191` наружу с Mac не проброшен → `Connection refused`).
---
## ⚠️ ЛОЖНЫЙ СЛЕД (оставлен для истории): «капча привязана к сессии»
Самый запутанный пункт. Дефект выглядел как «неверный пароль», потом как «капча»,