[2026-09-28] eagle: family/index.md family/plans/lidarr-artist-watchlist.md family/plans/lidarr-taiga-deploy.md personal/tech/flaresolverr-taiga.md

This commit is contained in:
Alexey Martemyanov committed 2026-09-28 23:31:48 +06:00
1 parent 1b09569607
commit ec9a9eabf9
4 files changed
+221 -3

No files matched your search

+1
View File
@@ -48,6 +48,7 @@ Hub: [[family/how-to/truenas-infrastructure|TrueNAS Infrastructure]]
- [[family/projects/media-toolbox-taiga|Media Toolbox (Taiga)]] — *arr стек на TrueNAS
- [[family/how-to/arr-stack-taiga|Arr Stack — Taiga]]
- [[family/plans/lidarr-taiga-deploy|Lidarr на Taiga]] — 🟡 в работе, прокси-обход
- [[family/plans/lidarr-artist-watchlist|Lidarr — список артистов]] — 🟡 анализ Spotify+Яндекс, 207 кандидатов, 🔴 SkyHook 403
- [[family/how-to/jellyfin-config|Jellyfin Config]] — живой инстанс на Taiga
- [[family/documents/google-books-api-key|Google Books API Key]] — ключ для library-app
- [[family/documents/home-access-codes|Коды доступа]] — коды замков, ключи активации, PIN-коды
+192
View File
@@ -0,0 +1,192 @@
# Lidarr — список артистов на отслеживание (анализ Spotify + Яндекс Музыка)
**Дата:** 2026-09-28
**Статус:** 🟡 **АНАЛИЗ ГОТОВ, ВАЛИДАЦИЯ В LIDARR ЗАБЛОКИРОВАНА**
**Namespace:** family
**Задача Alex:** «Анализ моей библиотеки Яндекс/Spotify — каких артистов стоит добавить в Lidarr для отслеживания/автозакачки, возможно что-то из "похожего" но отсутствующего тоже. Минимум 50 позиций.»
---
## 🔴 БЛОКЕР: SkyHook в Lidarr снова отдаёт 403 — валидация имён невозможна
Прогнать 50+ имён через `artist/lookup` **не удалось** — Lidarr не ходит в SkyHook.
**Симптом:**
```
GET /api/v1/artist/lookup?term=Astrix
→ {"message":"...Unable to communicate with LidarrAPI.
HTTP request failed: [403:Forbidden] [GET] at
[https://api.lidarr.audio/api/v0.4/search?type=artist&query=astrix]"}
```
**Диагностика (проверено 2026-09-28, тот же класс проблемы, что закрывался 28 сен):**
| Проверка | Результат |
|---|---|
| `GET /api/v1/config/host` | `proxyEnabled=true`, `proxyType=http`, `proxyHostname=vless-proxy`, `proxyPort=1081`, `proxyBypassFilter` расширен ✅ |
| `curl -x http://vless-proxy:1081 https://api.ipify.org` из контейнера | **`104.28.211.192`** (VPS) ✅ |
| `curl https://api.ipify.org` **без** прокси | **`90.189.160.148`** = **ДОМАШНИЙ IP** ❌ |
| `docker exec lidarr env \| grep -i proxy` | `NO_PROXY_VARS` — env-вариант откачен, ок |
| `curl https://api.ipify.org` **с самого хоста Тайги** | **`90.189.160.148`** — вся сеть NAS идёт через домашний аплинк |
| `docker logs lidarr \| grep -i proxy` | 🔴 **`[Error] ProxyCheck: Proxy Health Check failed`** |
| Cloudflare-ответ в теле 403 | `Your IP: 90.189.160.148` — подтверждает, что запрос ушёл **напрямую** |
| `GET /api/v1/health` | `[]` — **пусто**, хотя лог пишет `ProxyCheck failed` (кэш health врёт) |
| `docker restart lidarr` | **выполнен**, lookup → **всё тот же 403** |
**Корень (в одну строку):** встроенный прокси-конфиг Lidarr **записан, но не применяется** —
собственный `ProxyCheck` Lidarr репортит `failed`, запросы уходят напрямую, и Cloudflare
режет их по гео-IP дома (`90.189.160.148`).
⚠️ **Поправка к записи от 2026-09-28:** тогда было зафиксировано «фикс применён, `docker restart
lidarr` выполнен → работает». Факт 2026-09-28 (вечер, повторная проверка): **блокер вернулся**.
То есть либо фикс не персистится, либо `ProxyCheck` — отдельный механизм, который надо
разбирать отдельно. Проверять `docker logs lidarr | grep -i proxy` при каждом рецидиве.
**Что НЕ помогло:**
- `docker restart lidarr` (сделан, не помог).
- Проверка env-переменных — вариант откачен ранее, их нет.
**Следующая гипотеза (не проверена, апрув истёк):** `ProxyCheck` в Lidarr 3.x имеет
**отдельную настройку проверки прокси** (`Settings → General → Proxy`) либо требует
`proxyBypassLocalAddresses=false`. Также возможно, что `proxyPort=1081` (HTTP-CONNECT) не
поддерживается .NET-клиентом так же, как SOCKS5 — тогда нужен `proxyType: socks5` + порт **1080**.
**Скрипт диагностики (готов):** `/tmp/mus/verify.sh` — пакетная проверка имён через lookup.
---
## Что сделано в анализе
### 1. Извлечение артистов
| Источник | Файл | Строк-треков | Уникальных артистов |
|---|---|---|---|
| Spotify | `personal/spotify-library.md` | 259 | 233 |
| Яндекс Музыка | `personal/yandex-music-library.md` | 1 056 | 765 |
| **Итого (объединение)** | — | **1 315** | **967** |
Парсились ВСЕ секции (лайки **и** плейлисты), художник разбивался по `,` `&` `/` `feat.` `ft.`
`vs.` и ` x `. Веса: лайк = 3, плейлист = 2 (позволяет отличать «сильно любимое» от «попавшего в плейлист»).
### 2. Сверка с текущим владением
Проверено **владение** через Navidrome (читает теги, а не папки):
```bash
docker exec navidrome sqlite3 'file:/data/navidrome.db?mode=ro' "SELECT name FROM artist;"
```
| Метрика | Значение |
|---|---|
| Артистов в Navidrome | **1 207** |
| Альбомов | 551 |
| Треков | 7 791 |
| Артистов в Lidarr | **1** (только `Radiohead`) |
⚠️ `Music/` на NAS — **плоская** структура (`!Rock&Folk`, `!Рэп`…), артистов по папкам НЕ смотреть.
Единственный источник правды по владению — **Navidrome DB** (теги).
### 3. Кандидаты
Артистов из Spotify+Яндекс, которых **нет** ни в Lidarr, ни в Navidrome: **838** (после
нормализации имён: lower, `ё→е`, снятие ведущего `the`, unicode-нормализация, substring-матч).
⚠️ **Питфолл:** разбиение по `,` плодит мусор — `Polo & Pan` → `Polo` + `Pan`;
`Atomic Heart` (это игра-саундтрек); `KSHMR` ок, но `BOBI`/`BOBA` — половина имени.
Хардкод-blocklist мусора ведётся в `/tmp/mus/build_final.py` (переменная `NOISE`).
### 4. Артефакты анализа (на локальной машине)
| Файл | Что |
|---|---|
| `/tmp/mus/analyze.py` | извлечение артистов из обоих md-экспортов + подсчёт |
| `/tmp/mus/crosscheck.py` | сверка с Navidrome, генерация списка кандидатов |
| `/tmp/mus/build_final.py` | сборка финального списка (библиотека + веб-ресёрч), blocklist |
| `/tmp/mus/verify.sh` | пакетная валидация имён через Lidarr `artist/lookup` |
| `/tmp/mus/final_list.tsv` | **207 строк**: rank / artist / genre / why / tier / score |
| `/tmp/mus/artists_whole.tsv` | все 967 артистов с весами |
| `/tmp/mus/navidrome_artists.txt` | 1 207 артистов-владельцев из БД |
⚠️ `/tmp` сбрасывается при перезагрузке — при необходимости перегенерировать скриптами.
Сами скрипты пока НЕ скопированы в vault (были во временном каталоге).
---
## Черновик списка (без валидации в Lidarr)
### Tier A — уже слушаете, но нет ни в Lidarr, ни на NAS (из библиотек, score = вес лайков)
Топ-30 из 838 кандидатов:
| # | Артист | Score | # | Артист | Score |
|---|---|---|---|---|---|
| 1 | СтимфониЯ | 42 | 16 | Set It Off | 17 |
| 2 | KSHMR | 30 | 17 | Mother Mother | 15 |
| 3 | Diablo Swing Orchestra | 28 | 18 | Intelligency | 15 |
| 4 | Rodrigo y Gabriela | 26 | 19 | OVERWERK | 15 |
| 5 | Caravan Palace | 24 | 20 | Заточка | 14 |
| 6 | RichaadEB | 24 | 21 | Джин-Тоник | 13 |
| 7 | Apashe | 21 | 22 | Massive Attack | 12 |
| 8 | Polyphia | 21 | 23 | Asper / Bliss | 12 |
| 9 | Пневмослон | 18 | 24 | The Lost Fingers | 12 |
| 10 | Die Antwoord | 18 | 25 | The Living Tombstone | 12 |
| 11 | Oliver Tree | 18 | 26 | YOHIO | 12 |
| 12 | Worakls | 18 | 27 | Marnik | 12 |
| 13 | KONGOS | 18 | 28 | Gramatik | 12 |
| 14 | NTO | 18 | 29 | Нейромонах Феофан | 12 |
| 15 | Lindemann | 17 | 30 | Viza | 12 |
### Tier B — «похожие», которых нет в библиотеках (веб-ресёрч, 119 шт., 16 направлений)
| Направление | Кандидаты |
|---|---|
| **psy-trance** (Infected Mushroom, Skazi) | Astrix, Shpongle, Juno Reactor, Ace Ventura, Talamasca, Electric Universe, Vini Vici, Avalon, Ott, Vibrasphere, 1200 Micrograms, GMS |
| **electro-swing** (Caravan Palace) | Parov Stelar, Tape Five, Swingrowers, The Correspondents, Jamie Berry, Wolfgang Lohr |
| **melodic techno** (Worakls, NTO) | Joachim Pastor, Teho, Paul Kalkbrenner, Boris Brejcha, Kölsch, Moderat |
| **French touch / synthwave** | French 79, Rone, Fakear, Thylacine, Bon Entendeur, L'Impératrice, Carpenter Brut, Perturbator, Dance With The Dead, Gunship |
| **chiptune / VGM** (meganeko, Jake Kaufman, MBR) | Bossfight, Anamanaguchi, Camellia, Shirobon, Lena Raine, Christopher Larkin, Darren Korb |
| **bass / trap / DnB** (Apashe, KSHMR) | Black Tiger Sex Machine, Kai Wachi, Dabin, RL Grime, Noisia, Pendulum, Netsky, Sub Focus, Blasterjaxx, Vinai |
| **prog / инструментал** (Polyphia) | CHON, Plini, Animals as Leaders, Intervals, Ichika Nito, Thank You Scientist, Biffy Clyro, Placebo |
| **avant / swing-metal** (DSO) | Unexpect, Stolen Babies, Estradasphere, Igorrr |
| **акустика** (Rodrigo y Gabriela) | Hermanos Gutiérrez, Opal Ocean, Estas Tonne, Strunz & Farah |
| **psychobilly** (Mad Sin, Hillbilly Moon) | The Meteors, Nekromantix, Horrorpops, Tiger Army, Demented Are Go, Reverend Horton Heat |
| **NDH / industrial** (Rammstein, Lindemann) | Eisbrecher, Oomph!, Megaherz, Heldmaschine, Emigrate |
| **alt-pop** (Oliver Tree, Die Antwoord, Little Big) | Tommy Cash, Electric Callboy, Salvatore Ganacci, Sub Urban, Ashnikko, Will Wood, Ghost Town |
| **русский рок / панк / ска** | Сплин, Пикник, Крематорий, Алиса, Наутилус Помпилиус, Чайф, Би-2, АукцЫон, Тараканы!, Наив, Порнофильмы, Кукрыниксы, Сектор Газа, Distemper, Ляпис Трубецкой, Элизиум, Мельница, Пилот, Сурганова и Оркестр, Animal ДжаZ, Отава Ё, Дайте танк (!), Моя Мишель, Пошлая Молли |
| **русский рэп** | Anacondaz, Каспийский Груз, Хаски, Скриптонит, Баста, Многоточие, KREC, Рем Дигга, Гуф, Смоки Мо |
**Итого в черновике: 207 строк** — требование «минимум 50» перекрыто с запасом.
---
## Что осталось (для следующей сессии)
1. 🔴 **Починить SkyHook в Lidarr** (см. блокер выше) — без этого списка в Lidarr не залить.
2. Пропустить все имена Tier A + Tier B через `artist/lookup` (`/tmp/mus/verify.sh`),
выкинуть те, что не находятся (главный фильтр от «придуманных» имён).
3. Отфильтровать то, что уже есть в Navidrome (проверка владения — там, не по папкам).
4. Собрать финальный doc-список ≥50 позиций.
5. Опционально: массовое добавление артистов в Lidarr через `POST /api/v1/artist`
(`foreignArtistId` из lookup, `qualityProfileId`, `metadataProfileId`, `rootFolderPath=/storage/Music`).
---
## Ссылки
- [[family/plans/lidarr-taiga-deploy]] — деплой Lidarr (там же основной разбор SkyHook-прокси)
- [[family/projects/media-toolbox-taiga]] — *arr стек на Taiga
- [[family/how-to/navidrome-truenas-android]] — Navidrome (источник правды по владению)
- [[personal/music-download-practices]] — где брать mp3 (hitmotop, mp3party)
- [[personal/spotify-library]] — экспорт Spotify
- [[personal/yandex-music-library]] — экспорт Яндекс Музыки
---
## История
- **2026-09-28** — Alex: «анализ библиотеки Яндекс/Spotify, каких артистов добавить в Lidarr,
минимум 50 позиций». Извлечено 967 уникальных артистов из 1 315 строк; сверено с 1 207
артистами Navidrome → 838 кандидатов; веб-ресёрч дал 119 «похожих» по 16 направлениям;
черновик 207 строк. 🔴 **Валидация в Lidarr невозможна** — SkyHook 403, `ProxyCheck: failed`,
запросы уходят напрямую с домашнего IP `90.189.160.148` (вся сеть Тайги — за домашним аплинком,
VPS-выход даёт только `vless-proxy`). `docker restart lidarr` не помог. Блокер оставлен открытым.
+14 -3
View File
@@ -1,9 +1,20 @@
# Lidarr на Taiga — деплой в связке с arr-стеком и Navidrome
**Дата:** 2026-09-28
**Статус:** ✅ **РАБОЧИЙ — приёмка закрыта 2026-09-28 (вечер).** SkyHook-блокер снят,
проверено end-to-end: lookup → добавление артиста → поиск релизов. Бал: 0 артистов → 1,
0 релизов → 43.
**Статус:** 🔴 **ДЕФЕКТ ВОЗВРАТИЛСЯ (проверено 2026-09-28, поздний вечер) — SkyHook снова 403.**
Ранняя запись «SkyHook-блокер снят, lookup работает» **опровергнута повторной проверкой**.
**Факт:** `GET /api/v1/artist/lookup?term=Astrix` → **403 Cloudflare**; в логах
`[Error] ProxyCheck: Proxy Health Check failed`. Встроенный прокси-конфиг **записан, но не
применяется** — запросы уходят напрямую с **домашнего IP `90.189.160.148`** (вся сеть Тайги
выходит через домашний аплинк; VPS-выход даёт только `vless-proxy` → `104.28.211.192`).
`docker restart lidarr` **выполнен — не помог**. `GET /api/v1/health` при этом отдаёт `[]`
(кэш health врёт, ориентироваться по `docker logs lidarr | grep -i proxy`).
⚠️ **Поправка к записи ниже:** «фикс применён + `docker restart lidarr` → работает» — **НЕВЕРНО
на 2026-09-28 вечер**. Разбор и следующая гипотеза (`proxyBypassLocalAddresses`, `proxyType: socks5`
+ порт 1080) — в [[family/plans/lidarr-artist-watchlist]] §БЛОКЕР.
**Ранее заявленный статус (оставлен для истории):** ✅ РАБОЧИЙ — приёмка закрыта 2026-09-28 (вечер).
SkyHook-блокер снят, проверено end-to-end: lookup → добавление артиста → поиск релизов.
Бал: 0 артистов → 1, 0 релизов → 43.
**Добивка (2026-09-28, поздний вечер):** Radarr и Sonarr вычищены до `health: []`
(`docker restart` + снятие карантина в Prowlarr + `?forceSave=true`). Найден и исправлен
последний дефект Lidarr — **`proxyBypassFilter` без внутренних docker-имён** (см. питфолл).
+14
View File
@@ -1,5 +1,19 @@
# FlareSolverr на Тайге + обход блокировок индексеров
> 🔴 **НОВОЕ 2026-09-28 (вечер): ТОТ ЖЕ КЛАСС ДЕФЕКТА У LIDARR — свой `ProxyCheck` не проходит.**
> SkyHook (`api.lidarr.audio`) отдаёт **403 Cloudflare**; в теле ответа — `Your IP: 90.189.160.148`
> (домашний). Встроенный прокси Lidarr `proxyEnabled=true, proxyType=http, vless-proxy:1081`
> **записан, но не применяется** — `docker logs lidarr | grep -i proxy` даёт
> **`[Error] ProxyCheck: Proxy Health Check failed`**.
> 🔴 **`GET /api/v1/health` при этом отдаёт `[]` — health-кэш врёт.** Ориентироваться на логи.
> 🔴 **Внешний IP дома = `90.189.160.148` И у хоста Тайги тоже** (`curl api.ipify.org` с хоста) —
> вся сеть NAS идёт через домашний аплинк; VPS-выход даёт **только** `vless-proxy`
> (`104.28.211.192` через 1080 и 1081 — обе рабочие).
> ⇒ Практическое правило: **любой сервис на Тайге, который ходит в интернет сам** (Lidarr → SkyHook,
> FS → Chrome), по умолчанию выходит с домашнего IP. Проверять не «настроен ли прокси», а
> **«какой внешний IP у самого сервиса»**.
> `docker restart lidarr` **выполнен — не помог**. Подробности — [[family/plans/lidarr-artist-watchlist]] §БЛОКЕР.
> ✅ **ПРОКСИ-СЛОЙ ИСПРАВЛЕН 2026-09-29:** причина была не в `vless-proxy`.
> FlareSolverr 3.5.2 **игнорирует `proxy` у `request.get/request.post`, если указан `session`**.
> `PROXY_URL` подставляется в тело запроса, но при уже заданной сессии драйвер берётся из старой