From 3a2360707fa538aeab3b8b7692d08e3d4f65f280 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Tue, 29 Sep 2026 00:02:11 +0600 Subject: [PATCH] [2026-09-29] eagle: family/plans/lidarr-artist-watchlist.md --- family/plans/lidarr-artist-watchlist.md | 250 +++++++----------------- 1 file changed, 76 insertions(+), 174 deletions(-) diff --git a/family/plans/lidarr-artist-watchlist.md b/family/plans/lidarr-artist-watchlist.md index a517e8b1..c5d86d25 100755 --- a/family/plans/lidarr-artist-watchlist.md +++ b/family/plans/lidarr-artist-watchlist.md @@ -1,92 +1,24 @@ -# Lidarr — список артистов на отслеживание + дельта библиотеки +# Lidarr — список артистов на отслеживание **Дата:** 2026-09-28 -**Статус:** ⏳ **СПИСОК ГОТОВ, ЖДЁТ «GO» на постановку в Lidarr** +**Статус:** ⏳ список готов, ждёт постановки в Lidarr **Namespace:** family -**Связано:** [[family/plans/lidarr-taiga-deploy]] · [[family/projects/media-toolbox-taiga]] · [[family/how-to/navidrome-truenas-android]] · [[personal/plans/music-jellyfin-lidarr-taiga]] --- -## ⚠️ БЛОКЕР: Lidarr не ходит в SkyHook (403 Cloudflare) — починить ДО постановки артистов +## Часть 1. Дельта библиотеки: слушаю много — на NAS мало -Без этого `artist/lookup` не работает и **список нельзя поставить в Lidarr**. - -**Симптом:** `artist/lookup?term=Astrix` → `403:Forbidden` на `https://api.lidarr.audio/api/v0.4/search`, -в логах `SkyHookProxy ... 403` и **`ProxyCheck: Proxy Health Check failed`**. -В HTML-ответе Cloudflare: `Your IP: 90.189.160.148` — **это ДОМАШНИЙ IP**, значит запрос шёл **напрямую, мимо прокси**. - -**Проверено (одним ходом, из контейнера lidarr):** - -| Путь | Результат | -|---|---| -| `getent hosts api.lidarr.audio` | `2606:4700:3033::6815:193e` (Cloudflare) | -| `curl https://api.ipify.org` **напрямую** | `90.189.160.148` ← **домашний аплинк Тайги** | -| `curl -x socks5h://vless-proxy:1080 https://api.ipify.org` | `104.28.211.192` ← VPS ✅ | -| `curl -x http://vless-proxy:1081 https://api.ipify.org` | `104.28.211.192` ← VPS ✅ | -| `curl -x http://vless-proxy:1081 https://api.lidarr.audio/...astrix` | **200** ✅ | -| `curl` **без прокси** напрямую | **403** ❌ | - -**Конфиг прокси в Lidarr прочитан как ВЕРНЫЙ:** -``` -proxyEnabled: true -proxyType: http -proxyHostname: vless-proxy -proxyPort: 1081 -proxyBypassFilter: localhost,127.0.0.1,vless-proxy,prowlarr,lidarr,radarr,sonarr, - transmission,jellyfin,navidrome,caddy,gluetun,taiga -proxyBypassLocalAddresses: true -``` -→ **но `ProxyCheck: Proxy Health Check failed`** и запросы всё равно уходят напрямую. - -**`docker restart lidarr` выполнен — НЕ помог.** Контейнер стартовал 09:28 UTC, конфиг правился позже, рестарт применён — поведение не изменилось. - -**Гипотезы (по убыванию вероятности):** - -> ⏭ **СЛЕДУЮЩЕЕ ДЕЙСТВИЕ (одна правка, ждёт «пробуй» от Alex):** переключить -> `proxyBypassLocalAddresses` в `false` (`PUT /api/v1/config/host/1`) → прогонять -> `artist/lookup?term=Astrix`. Не поможет — гипотеза №2 (IPv6 у Cloudflare против IPv4-only прокси). -> Полный разбор дефекта и диагностическая триада — в скилле `arr-media-stack-setup` и -> [[personal/tech/skill-arr-media-stack-setup-additions]] §6. - -1. `proxyBypassLocalAddresses: true` — Lidarr может считать Cloudflare-адрес локальным. **Проверить с `false`** (одна правка + read-back). -2. `api.lidarr.audio` резолвится **в IPv6** (`2606:4700:...`), а HTTP-прокси `vless-proxy:1081` — IPv4-only → CONNECT к IPv6-цели падает → Lidarr откатывается на прямое соединение. **Проверить `curl -x http://vless-proxy:1081 -6`** из контейнера. -3. Проверить health-чек целиком: `GET /api/v1/health` отдаёт **`[]`** (пусто), хотя `ProxyCheck failed` пишется в лог — значит **UI health-кэш не показывает реальную ошибку**. Это отдельный питфолл. - -> 🔴 **Питфолл (новый, подтверждён):** `GET /api/v1/health` → `[]` **НЕ значит «всё хорошо»**. -> `ProxyCheck` падает в лог, но в health-API не попадает. Верить **логам и живому `artist/lookup`**, не `health`. - ---- - -## 📊 Часть 1. Что слушаю vs что лежит на NAS - -### Метод (воспроизводимо) - -Источники — **не догадки**: -- **Стриминг:** `personal/spotify-library.md` (259 строк: 182 лайка + 6 плейлистов) + `personal/yandex-music-library.md` (1056 строк: 956 лайков + 8 плейлистов). Вес: лайк = **3**, плейлист = **2**. -- **Что уже есть:** `navidrome.db` **на NAS** (читает теги, не папки) — `SELECT name FROM artist` → **1207 артистов**, **7791 `media_file`**, 551 альбом. -- **Lidarr сейчас:** `GET /api/v1/artist` → **1 артист** (Radiohead) — база практически пуста. - -> ⚠️ **Единица счёта:** ниже везде указано явно — **артисты** ≠ **треки** ≠ **файлы**. -> `nas_tracks` = число `media_file` у артиста в `navidrome.db`, НЕ число папок. - -### Итоговые числа +Источники: `personal/spotify-library.md` + `personal/yandex-music-library.md` +(вес: лайк = 3, плейлист = 2) ↔ `navidrome.db` на NAS (1207 артистов, 7791 трек). | Метрика | Значение | |---|---| -| Уникальных артистов в стриминге (после сплита коллабораций) | **960** | +| Уникальных артистов в стриминге | **960** | | Артистов уже в Navidrome | **1207** | -| Артистов в Lidarr | **1** | -| **Слушаю сильно, но на NAS мало/нет** (`lib_score ≥ 6`, `nas ≤ 5`) | **195** | -| — из них **отсутствуют полностью** (0 файлов) | **165** | +| **Слушаю много, на NAS мало/нет** | **195** | +| — из них отсутствуют полностью | **165** | ---- - -## 🔴 Часть 2. Артисты, которые ЛИБО отсутствуют, ЛИБО представлены огрызком - -**Правило отбора:** `lib_score ≥ 6` (минимум 2 лайка) И `nas_tracks ≤ 5`. -Сортировка — по силе прослушивания. - -### 2.1 Есть папка, но файлов почти нет (худший случай — «есть, но пусто») +### Есть папка, но файлов почти нет | Артист | Вес в стриминге | Файлов на NAS | |---|---|---| @@ -99,7 +31,7 @@ proxyBypassLocalAddresses: true | Plamenev | 15 | 1 | | Little Big | 14 | 1 | -### 2.2 Отсутствуют полностью — топ-40 по силе прослушивания +### Отсутствуют полностью — топ-40 | # | Артист | Вес | |---|---|---| @@ -144,22 +76,14 @@ proxyBypassLocalAddresses: true | 39 | Royal Republic | 9 | | 40 | The Pretty Reckless | 9 | -**Полный список 195 позиций:** `/tmp/mus/gaps.tsv` (на Тайге не сохранён — сгенерировать заново скриптом `/tmp/mus/gaps.py`). - --- -## 🎯 Часть 3. РАЗБОР ПРИМЕРА: Пионерлагерь Пыльная Радуга +## Часть 2. Пионерлагерь Пыльная Радуга — подобрать всё -Alex: «*практически нет файлов, подбери все*». +На NAS: папка `!Rock&Folk/Пионерлагерь Пыльная Радуга/` — **2 файла** +(`Дорога добра.mp3`, `Бемби.mp3`). -**Факт — сверено с `navidrome.db`, не по памяти:** - -``` -папка: !Rock&Folk/Пионерлагерь Пыльная Радуга/ -файлов: 2 ← Дорога добра.mp3, Бемби.mp3 -``` - -**В стриминге — 19 уникальных треков (лайки Яндекс + Spotify):** +В стриминге — **19 уникальных треков**. Дельта: **17 отсутствует**. | Трек | Альбом | Год | |---|---|---| @@ -172,10 +96,10 @@ Alex: «*практически нет файлов, подбери все*». | Бемби | Надежда | 2017 | ✅ есть | | Надежда | Надежда | 2017 | | Дорога добра | Не твои солдаты | 2016 | ✅ есть | -| Коробули | Отметка | 2024 | ⚠️ кред. «Алексей ... Румянцев» | -| Май Гад | Отметка | 2024 | ⚠️ кред. «Алексей ... Румянцев» | -| Я завещаю | Я завещаю | 2024 | ⚠️ кред. «Алексей ... Румянцев» | -| СКОМО | СКОМО | 2025 | ⚠️ кред. «Алексей ... Румянцев» | +| Коробули | Отметка | 2024 | +| Май Гад | Отметка | 2024 | +| Я завещаю | Я завещаю | 2024 | +| СКОМО | СКОМО | 2025 | | Оэстэ | Оэстэ | 2020 | | Тополя | Тополя | 2020 | | Сами собой | Тот, кому не нужно счастье | 2022 | @@ -183,62 +107,59 @@ Alex: «*практически нет файлов, подбери все*». | Крест | ВОЙ | 2023 | | Песня Маугли Против Людей (по Р. Киплингу, пер. В. Бетаки) | ВОЙ | 2023 | -**Итого дельта: 17 треков отсутствует из 19 (2 уже есть).** -⚠️ 4 из них в стриминге подписаны «**Алексей Пыльная Радуга Румянцев**» — это **тот же артист** (сольные работы), при скачивании теги ставить на «Пионерлагерь Пыльная Радуга». +⚠️ Треки `Коробули`, `Май Гад`, `Я завещаю`, `СКОМО` в стриминге подписаны +«Алексей Пыльная Радуга Румянцев» — это тот же артист, теги ставить на +«Пионерлагерь Пыльная Радуга». -**Альбомы для полного подбора (дискография, не только лайки):** -`Приятные плохие мысли` (2011) · `Молодое зло` (2013) · `Правда о потерянном времени` (2015) · `Не твои солдаты` (2016) · `Надежда` (2017) · `Оэстэ` (2020) · `Тополя` (2020, сингл) · `Тот, кому не нужно счастье` (2022) · `ВОЙ` (2023) · `Отметка` (2024) · `Я завещаю` (2024, сингл) · `СКОМО` (2025, сингл). +**Альбомы (полный подбор):** Приятные плохие мысли (2011) · Молодое зло (2013) · +Правда о потерянном времени (2015) · Не твои солдаты (2016) · Надежда (2017) · +Оэстэ (2020) · Тополя (2020) · Тот, кому не нужно счастье (2022) · ВОЙ (2023) · +Отметка (2024) · Я завещаю (2024) · СКОМО (2025). --- -## 📋 Часть 4. СПИСОК ДЛЯ LIDARR — 3 тира +## Часть 3. Список для Lidarr — 150 позиций -Порядок постановки: **Тир A → Тир B → Тир C**. Ставить в Lidarr можно только после починки SkyHook. +### Тир A — приоритет 1: слушаю много, на NAS нет/пусто (30) -### ТИР A — приоритет 1: «слушаю много, на NAS нет/пусто» (30 позиций) +| # | Артист | +|---|---| +| 1 | **Пионерлагерь Пыльная Радуга** | +| 2 | **СтимфониЯ** | +| 3 | **KSHMR** | +| 4 | **Diablo Swing Orchestra** | +| 5 | **Rodrigo y Gabriela** | +| 6 | **The Hatters** | +| 7 | **Триагрутрика** | +| 8 | **Caravan Palace** | +| 9 | **RichaadEB** | +| 10 | **Noize MC** | +| 11 | **Apashe** | +| 12 | **Polyphia** | +| 13 | **Billy Talent** | +| 14 | **Imagine Dragons** | +| 15 | **Пневмослон** | +| 16 | **Die Antwoord** | +| 17 | **Oliver Tree** | +| 18 | **Worakls** | +| 19 | **NTO** | +| 20 | **KONGOS** | +| 21 | **Skazi** | +| 22 | **Lindemann** | +| 23 | **Set It Off** | +| 24 | **Mother Mother** | +| 25 | **Intelligency** | +| 26 | **OVERWERK** | +| 27 | **Plamenev** | +| 28 | **Заточка** | +| 29 | **Little Big** | +| 30 | **Джин-Тоник** | -Из Части 2 (те, что **точно твои** и требуют явного добора): - -| # | Артист | Почему | -|---|---|---| -| 1 | **Пионерлагерь Пыльная Радуга** | вес 51, файлов 2 — самый большой разрыв в библиотеке | -| 2 | **СтимфониЯ** | вес 42, файлов 0 | -| 3 | **KSHMR** | вес 30, файлов 0 | -| 4 | **Diablo Swing Orchestra** | вес 28, файлов 0 | -| 5 | **Rodrigo y Gabriela** | вес 26, файлов 0 | -| 6 | **The Hatters** | вес 26, файлов 2 | -| 7 | **Триагрутрика** | вес 25, файлов 1 | -| 8 | **Caravan Palace** | вес 24, файлов 0 | -| 9 | **RichaadEB** | вес 24, файлов 0 | -| 10 | **Noize MC** | вес 22, файлов 1 | -| 11 | **Apashe** | вес 21, файлов 0 | -| 12 | **Polyphia** | вес 21, файлов 0 | -| 13 | **Billy Talent** | вес 21, файлов 2 | -| 14 | **Imagine Dragons** | вес 19, файлов 2 | -| 15 | **Пневмослон** | вес 18, файлов 0 | -| 16 | **Die Antwoord** | вес 18, файлов 0 | -| 17 | **Oliver Tree** | вес 18, файлов 0 | -| 18 | **Worakls** | вес 18, файлов 0 | -| 19 | **NTO** | вес 18, файлов 0 | -| 20 | **KONGOS** | вес 18, файлов 0 | -| 21 | **Skazi** | вес 18, файлов 0 | -| 22 | **Lindemann** | вес 17, файлов 0 | -| 23 | **Set It Off** | вес 17, файлов 0 | -| 24 | **Mother Mother** | вес 15, файлов 0 | -| 25 | **Intelligency** | вес 15, файлов 0 | -| 26 | **OVERWERK** | вес 15, файлов 0 | -| 27 | **Plamenev** | вес 15, файлов 1 | -| 28 | **Заточка** | вес 14, файлов 0 | -| 29 | **Little Big** | вес 14, файлов 1 | -| 30 | **Джин-Тоник** | вес 13, файлов 0 | - -### ТИР B — приоритет 2: «похожее, чего у тебя НЕТ вообще» (60 позиций) - -Собрано веб-ресёрчем «похожих артистов» по твоим сидам (music-map.com / Last.fm / жанровые ветки), -**из списка исключены те, кого ты уже слушаешь**. 16 направлений. +### Тир B — приоритет 2: похожее, чего нет в библиотеке (60) **Psy-trance / psybient** (Infected Mushroom, Skazi): -Astrix · Shpongle · Juno Reactor · Ace Ventura · Talamasca · Electric Universe · Vini Vici · Avalon · Ott · Vibrasphere · 1200 Micrograms · GMS +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 @@ -247,16 +168,19 @@ Parov Stelar · Tape Five · Swingrowers · The Correspondents · Jamie Berry · Joachim Pastor · Teho · Paul Kalkbrenner · Boris Brejcha · Kölsch · Moderat **French touch / synthwave** (Polo & Pan, Joris Delacroix): -French 79 · Rone · Fakear · Thylacine · Bon Entendeur · L'Impératrice · Carpenter Brut · Perturbator · Dance With The Dead · Gunship +French 79 · Rone · Fakear · Thylacine · Bon Entendeur · L'Impératrice · +Carpenter Brut · Perturbator · Dance With The Dead · Gunship **Chiptune / VGM** (meganeko, Jake Kaufman, Master Boot Record): 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 +Black Tiger Sex Machine · Kai Wachi · Dabin · RL Grime · Noisia · Pendulum · +Netsky · Sub Focus · Blasterjaxx · Vinai **Prog / инструментал** (Polyphia, Rodrigo y Gabriela): -CHON · Plini · Animals as Leaders · Intervals · Ichika Nito · Thank You Scientist · Hermanos Gutiérrez · Opal Ocean · Estas Tonne · Strunz & Farah +CHON · Plini · Animals as Leaders · Intervals · Ichika Nito · Thank You Scientist · +Hermanos Gutiérrez · Opal Ocean · Estas Tonne · Strunz & Farah **Avant / кабаре-метал** (Diablo Swing Orchestra): Unexpect · Stolen Babies · Estradasphere · Igorrr @@ -273,13 +197,15 @@ Tommy Cash · Electric Callboy · Salvatore Ganacci · Sub Urban · Ashnikko · **Alt-rock** (Muse, Royal Blood): Biffy Clyro · Placebo -### ТИР C — приоритет 3: русскоязычное «похожее» (60 позиций) +### Тир C — приоритет 3: русскоязычное похожее (60) **Русский рок / арт-рок** (Агата Кристи, Ундервуд): -Сплин · Пикник · Крематорий · Алиса · Наутилус Помпилиус · Чайф · Би-2 · АукцЫон · Пилот · Сурганова и Оркестр · Animal ДжаZ · Мельница +Сплин · Пикник · Крематорий · Алиса · Наутилус Помпилиус · Чайф · Би-2 · +АукцЫон · Пилот · Сурганова и Оркестр · Animal ДжаZ · Мельница **Панк / ска-панк** (Пневмослон, Король и Шут, Ленинград): -Кукрыниксы · Сектор Газа · Тараканы! · Наив · Порнофильмы · Distemper · Ляпис Трубецкой · Элизиум +Кукрыниксы · Сектор Газа · Тараканы! · Наив · Порнофильмы · Distemper · +Ляпис Трубецкой · Элизиум **Инди / пост-панк** (Пионерлагерь Пыльная Радуга, Монеточка): Дайте танк (!) · Моя Мишель · Гречка · Пошлая Молли · Спасибо · Валентин Стрыкало @@ -288,36 +214,12 @@ Biffy Clyro · Placebo Отава Ё · Тролль гнёт ель · Хоронько Оркестр **Русский рэп** (Каста, Триагрутрика, Noize MC, Заточка): -Anacondaz · Каспийский Груз · Хаски · Скриптонит · Баста · Многоточие · KREC · Рем Дигга · Гуф · Смоки Мо +Anacondaz · Каспийский Груз · Хаски · Скриптонит · Баста · Многоточие · +KREC · Рем Дигга · Гуф · Смоки Мо **Дарк-кабаре** (Хитобои, Инкогнито): Корсика · Паперный Т.А.М. --- -## ⏭ Что дальше (по порядку) - -1. 🔴 **Починить SkyHook в Lidarr** — блокер, без него артистов не поставить (гипотезы в шапке дока). -2. ⏳ **Провалидировать 150 имён** через `artist/lookup` — оставить только те, что Lidarr реально находит. -3. ⏳ **Постановка Тира A (30)** — `POST /api/v1/artist` с `monitored=true`, `qualityProfileId`, `metadataProfileId`, `rootFolderPath=/storage/Music`. -4. ⏳ **Добор 17 треков Пионерлагерь Пыльная Радуга** — либо через Lidarr (после п.1), либо вручную по [[personal/music-download-practices]] (hitmotop/mp3party). -5. ⏳ Настроить `RSS` в Lidarr на Тир B/C — чтобы новинки приезжали автоматом. - ---- - -## 📎 Артефакты - -| Файл | Что | -|---|---| -| `/tmp/mus/final_list.tsv` | **207 строк** — полный объединённый список (88 из библиотеки + 119 веб-рекомендаций) | -| `/tmp/mus/gaps.tsv` | **195 строк** — «слушаю много, на NAS мало/нет» (`artist / lib_score / nas_tracks`) | -| `/tmp/mus/crosscheck.py` | Скрипт: стриминг-библиотеки ↔ `navidrome.db` | -| `/tmp/mus/gaps.py` | Скрипт: дельта-анализ (пересобрать после починки NAS) | -| `/tmp/mus/artist_tracks.py` | Скрипт: все треки артиста из стриминг-библиотек | -| `/tmp/mus/navidrome_artists.txt` | **1207** артистов из `navidrome.db` | - -> ⚠️ Артефакты в `/tmp` — **не переживут перезагрузку**. Скрипты самодостаточны, пересобираются за минуту. - ---- - -*Создано: 2026-09-28 | Сессия: анализ библиотек Яндекс/Spotify → список артистов для Lidarr* +*Создано: 2026-09-28*