[2026-09-28] eagle: family/index.md family/plans/lidarr-artist-watchlist.md family/plans/lidarr-artist-watchlist.md.bak-sibling-20260928 personal/tech/skill-arr-media-stack-setup-additions.md
This commit is contained in:
1 parent
d1107a9de1
commit
0f352f3bca
4 files changed
+517
-156
No files matched your search
+1
-1
@@ -48,7 +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/plans/lidarr-artist-watchlist|Lidarr — список артистов]] — 🟡 150 позиций в 3 тирах + дельта: **195 артистов слушаю много / на NAS мало-нет**; 🔴 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-коды
|
||||
|
||||
@@ -1,192 +1,316 @@
|
||||
# Lidarr — список артистов на отслеживание (анализ Spotify + Яндекс Музыка)
|
||||
# Lidarr — список артистов на отслеживание + дельта библиотеки
|
||||
|
||||
**Дата:** 2026-09-28
|
||||
**Статус:** 🟡 **АНАЛИЗ ГОТОВ, ВАЛИДАЦИЯ В LIDARR ЗАБЛОКИРОВАНА**
|
||||
**Статус:** ⏳ **СПИСОК ГОТОВ, ЖДЁТ «GO» на постановку в Lidarr**
|
||||
**Namespace:** family
|
||||
**Задача Alex:** «Анализ моей библиотеки Яндекс/Spotify — каких артистов стоит добавить в Lidarr для отслеживания/автозакачки, возможно что-то из "похожего" но отсутствующего тоже. Минимум 50 позиций.»
|
||||
**Связано:** [[family/plans/lidarr-taiga-deploy]] · [[family/projects/media-toolbox-taiga]] · [[family/how-to/navidrome-truenas-android]] · [[personal/plans/music-jellyfin-lidarr-taiga]]
|
||||
|
||||
---
|
||||
|
||||
## 🔴 БЛОКЕР: SkyHook в Lidarr снова отдаёт 403 — валидация имён невозможна
|
||||
## ⚠️ БЛОКЕР: Lidarr не ходит в SkyHook (403 Cloudflare) — починить ДО постановки артистов
|
||||
|
||||
Прогнать 50+ имён через `artist/lookup` **не удалось** — Lidarr не ходит в SkyHook.
|
||||
Без этого `artist/lookup` не работает и **список нельзя поставить в Lidarr**.
|
||||
|
||||
**Симптом:**
|
||||
```
|
||||
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]"}
|
||||
```
|
||||
**Симптом:** `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**, значит запрос шёл **напрямую, мимо прокси**.
|
||||
|
||||
**Диагностика (проверено 2026-09-28, тот же класс проблемы, что закрывался 28 сен):**
|
||||
**Проверено (одним ходом, из контейнера lidarr):**
|
||||
|
||||
| Проверка | Результат |
|
||||
| Путь | Результат |
|
||||
|---|---|
|
||||
| `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** |
|
||||
| `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 **записан, но не применяется** —
|
||||
собственный `ProxyCheck` Lidarr репортит `failed`, запросы уходят напрямую, и Cloudflare
|
||||
режет их по гео-IP дома (`90.189.160.148`).
|
||||
**Конфиг прокси в 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`** и запросы всё равно уходят напрямую.
|
||||
|
||||
⚠️ **Поправка к записи от 2026-09-28:** тогда было зафиксировано «фикс применён, `docker restart
|
||||
lidarr` выполнен → работает». Факт 2026-09-28 (вечер, повторная проверка): **блокер вернулся**.
|
||||
То есть либо фикс не персистится, либо `ProxyCheck` — отдельный механизм, который надо
|
||||
разбирать отдельно. Проверять `docker logs lidarr | grep -i proxy` при каждом рецидиве.
|
||||
**`docker restart lidarr` выполнен — НЕ помог.** Контейнер стартовал 09:28 UTC, конфиг правился позже, рестарт применён — поведение не изменилось.
|
||||
|
||||
**Что НЕ помогло:**
|
||||
- `docker restart lidarr` (сделан, не помог).
|
||||
- Проверка env-переменных — вариант откачен ранее, их нет.
|
||||
**Гипотезы (по убыванию вероятности):**
|
||||
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-кэш не показывает реальную ошибку**. Это отдельный питфолл.
|
||||
|
||||
**Следующая гипотеза (не проверена, апрув истёк):** `ProxyCheck` в Lidarr 3.x имеет
|
||||
**отдельную настройку проверки прокси** (`Settings → General → Proxy`) либо требует
|
||||
`proxyBypassLocalAddresses=false`. Также возможно, что `proxyPort=1081` (HTTP-CONNECT) не
|
||||
поддерживается .NET-клиентом так же, как SOCKS5 — тогда нужен `proxyType: socks5` + порт **1080**.
|
||||
|
||||
**Скрипт диагностики (готов):** `/tmp/mus/verify.sh` — пакетная проверка имён через lookup.
|
||||
> 🔴 **Питфолл (новый, подтверждён):** `GET /api/v1/health` → `[]` **НЕ значит «всё хорошо»**.
|
||||
> `ProxyCheck` падает в лог, но в health-API не попадает. Верить **логам и живому `artist/lookup`**, не `health`.
|
||||
|
||||
---
|
||||
|
||||
## Что сделано в анализе
|
||||
## 📊 Часть 1. Что слушаю vs что лежит на NAS
|
||||
|
||||
### 1. Извлечение артистов
|
||||
### Метод (воспроизводимо)
|
||||
|
||||
| Источник | Файл | Строк-треков | Уникальных артистов |
|
||||
|---|---|---|---|
|
||||
| Spotify | `personal/spotify-library.md` | 259 | 233 |
|
||||
| Яндекс Музыка | `personal/yandex-music-library.md` | 1 056 | 765 |
|
||||
| **Итого (объединение)** | — | **1 315** | **967** |
|
||||
Источники — **не догадки**:
|
||||
- **Стриминг:** `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) — база практически пуста.
|
||||
|
||||
Парсились ВСЕ секции (лайки **и** плейлисты), художник разбивался по `,` `&` `/` `feat.` `ft.`
|
||||
`vs.` и ` x `. Веса: лайк = 3, плейлист = 2 (позволяет отличать «сильно любимое» от «попавшего в плейлист»).
|
||||
> ⚠️ **Единица счёта:** ниже везде указано явно — **артисты** ≠ **треки** ≠ **файлы**.
|
||||
> `nas_tracks` = число `media_file` у артиста в `navidrome.db`, НЕ число папок.
|
||||
|
||||
### 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`) |
|
||||
| Уникальных артистов в стриминге (после сплита коллабораций) | **960** |
|
||||
| Артистов уже в Navidrome | **1207** |
|
||||
| Артистов в Lidarr | **1** |
|
||||
| **Слушаю сильно, но на NAS мало/нет** (`lib_score ≥ 6`, `nas ≤ 5`) | **195** |
|
||||
| — из них **отсутствуют полностью** (0 файлов) | **165** |
|
||||
|
||||
⚠️ `Music/` на NAS — **плоская** структура (`!Rock&Folk`, `!Рэп`…), артистов по папкам НЕ смотреть.
|
||||
Единственный источник правды по владению — **Navidrome DB** (теги).
|
||||
---
|
||||
|
||||
### 3. Кандидаты
|
||||
## 🔴 Часть 2. Артисты, которые ЛИБО отсутствуют, ЛИБО представлены огрызком
|
||||
|
||||
Артистов из Spotify+Яндекс, которых **нет** ни в Lidarr, ни в Navidrome: **838** (после
|
||||
нормализации имён: lower, `ё→е`, снятие ведущего `the`, unicode-нормализация, substring-матч).
|
||||
**Правило отбора:** `lib_score ≥ 6` (минимум 2 лайка) И `nas_tracks ≤ 5`.
|
||||
Сортировка — по силе прослушивания.
|
||||
|
||||
⚠️ **Питфолл:** разбиение по `,` плодит мусор — `Polo & Pan` → `Polo` + `Pan`;
|
||||
`Atomic Heart` (это игра-саундтрек); `KSHMR` ок, но `BOBI`/`BOBA` — половина имени.
|
||||
Хардкод-blocklist мусора ведётся в `/tmp/mus/build_final.py` (переменная `NOISE`).
|
||||
### 2.1 Есть папка, но файлов почти нет (худший случай — «есть, но пусто»)
|
||||
|
||||
### 4. Артефакты анализа (на локальной машине)
|
||||
| Артист | Вес в стриминге | Файлов на NAS |
|
||||
|---|---|---|
|
||||
| **Пионерлагерь Пыльная Радуга** | **51** | **2** 🔴 |
|
||||
| The Hatters | 26 | 2 |
|
||||
| Триагрутрика | 25 | 1 |
|
||||
| Noize MC | 22 | 1 |
|
||||
| Billy Talent | 21 | 2 |
|
||||
| Imagine Dragons | 19 | 2 |
|
||||
| Plamenev | 15 | 1 |
|
||||
| Little Big | 14 | 1 |
|
||||
|
||||
### 2.2 Отсутствуют полностью — топ-40 по силе прослушивания
|
||||
|
||||
| # | Артист | Вес |
|
||||
|---|---|---|
|
||||
| 1 | СтимфониЯ | 42 |
|
||||
| 2 | KSHMR | 30 |
|
||||
| 3 | Diablo Swing Orchestra | 28 |
|
||||
| 4 | Rodrigo y Gabriela | 26 |
|
||||
| 5 | Caravan Palace | 24 |
|
||||
| 6 | RichaadEB | 24 |
|
||||
| 7 | Atomic Heart | 21 |
|
||||
| 8 | Apashe | 21 |
|
||||
| 9 | Polyphia | 21 |
|
||||
| 10 | Пневмослон | 18 |
|
||||
| 11 | Die Antwoord | 18 |
|
||||
| 12 | Oliver Tree | 18 |
|
||||
| 13 | Worakls | 18 |
|
||||
| 14 | KONGOS | 18 |
|
||||
| 15 | NTO | 18 |
|
||||
| 16 | Skazi | 18 |
|
||||
| 17 | Lindemann | 17 |
|
||||
| 18 | Set It Off | 17 |
|
||||
| 19 | Agatha Christie | 15 |
|
||||
| 20 | Mother Mother | 15 |
|
||||
| 21 | Intelligency | 15 |
|
||||
| 22 | OVERWERK | 15 |
|
||||
| 23 | Заточка | 14 |
|
||||
| 24 | Джин-Тоник | 13 |
|
||||
| 25 | 4 Позиции Бруно | 12 |
|
||||
| 26 | Massive Attack | 12 |
|
||||
| 27 | The Lost Fingers | 12 |
|
||||
| 28 | The Living Tombstone | 12 |
|
||||
| 29 | YOHIO | 12 |
|
||||
| 30 | Marnik | 12 |
|
||||
| 31 | Gramatik | 12 |
|
||||
| 32 | Нейромонах Феофан | 12 |
|
||||
| 33 | Viza | 12 |
|
||||
| 34 | The Pierces | 11 |
|
||||
| 35 | Инкогнито | 11 |
|
||||
| 36 | Des Rocs | 9 |
|
||||
| 37 | meganeko | 9 |
|
||||
| 38 | Two Feet | 9 |
|
||||
| 39 | Royal Republic | 9 |
|
||||
| 40 | The Pretty Reckless | 9 |
|
||||
|
||||
**Полный список 195 позиций:** `/tmp/mus/gaps.tsv` (на Тайге не сохранён — сгенерировать заново скриптом `/tmp/mus/gaps.py`).
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Часть 3. РАЗБОР ПРИМЕРА: Пионерлагерь Пыльная Радуга
|
||||
|
||||
Alex: «*практически нет файлов, подбери все*».
|
||||
|
||||
**Факт — сверено с `navidrome.db`, не по памяти:**
|
||||
|
||||
```
|
||||
папка: !Rock&Folk/Пионерлагерь Пыльная Радуга/
|
||||
файлов: 2 ← Дорога добра.mp3, Бемби.mp3
|
||||
```
|
||||
|
||||
**В стриминге — 19 уникальных треков (лайки Яндекс + Spotify):**
|
||||
|
||||
| Трек | Альбом | Год |
|
||||
|---|---|---|
|
||||
| Гранаты | Приятные плохие мысли | 2011 |
|
||||
| Очки | Приятные плохие мысли | 2011 |
|
||||
| Раненые тыквы | Молодое зло | 2013 |
|
||||
| Волшебный цветок | Правда о потерянном времени | 2015 |
|
||||
| Дегенеративное искусство (По мотивам Oxxxymiron) | Правда о потерянном времени | 2015 |
|
||||
| Моисей | Правда о потерянном времени | 2015 |
|
||||
| Бемби | Надежда | 2017 | ✅ есть |
|
||||
| Надежда | Надежда | 2017 |
|
||||
| Дорога добра | Не твои солдаты | 2016 | ✅ есть |
|
||||
| Коробули | Отметка | 2024 | ⚠️ кред. «Алексей ... Румянцев» |
|
||||
| Май Гад | Отметка | 2024 | ⚠️ кред. «Алексей ... Румянцев» |
|
||||
| Я завещаю | Я завещаю | 2024 | ⚠️ кред. «Алексей ... Румянцев» |
|
||||
| СКОМО | СКОМО | 2025 | ⚠️ кред. «Алексей ... Румянцев» |
|
||||
| Оэстэ | Оэстэ | 2020 |
|
||||
| Тополя | Тополя | 2020 |
|
||||
| Сами собой | Тот, кому не нужно счастье | 2022 |
|
||||
| Твой - мой | Тот, кому не нужно счастье | 2022 |
|
||||
| Крест | ВОЙ | 2023 |
|
||||
| Песня Маугли Против Людей (по Р. Киплингу, пер. В. Бетаки) | ВОЙ | 2023 |
|
||||
|
||||
**Итого дельта: 17 треков отсутствует из 19 (2 уже есть).**
|
||||
⚠️ 4 из них в стриминге подписаны «**Алексей Пыльная Радуга Румянцев**» — это **тот же артист** (сольные работы), при скачивании теги ставить на «Пионерлагерь Пыльная Радуга».
|
||||
|
||||
**Альбомы для полного подбора (дискография, не только лайки):**
|
||||
`Приятные плохие мысли` (2011) · `Молодое зло` (2013) · `Правда о потерянном времени` (2015) · `Не твои солдаты` (2016) · `Надежда` (2017) · `Оэстэ` (2020) · `Тополя` (2020, сингл) · `Тот, кому не нужно счастье` (2022) · `ВОЙ` (2023) · `Отметка` (2024) · `Я завещаю` (2024, сингл) · `СКОМО` (2025, сингл).
|
||||
|
||||
---
|
||||
|
||||
## 📋 Часть 4. СПИСОК ДЛЯ LIDARR — 3 тира
|
||||
|
||||
Порядок постановки: **Тир A → Тир B → Тир C**. Ставить в Lidarr можно только после починки SkyHook.
|
||||
|
||||
### ТИР A — приоритет 1: «слушаю много, на NAS нет/пусто» (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 направлений.
|
||||
|
||||
**Psy-trance / psybient** (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** (Polo & Pan, Joris Delacroix):
|
||||
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
|
||||
|
||||
**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
|
||||
|
||||
**Avant / кабаре-метал** (Diablo Swing Orchestra):
|
||||
Unexpect · Stolen Babies · Estradasphere · Igorrr
|
||||
|
||||
**Psychobilly** (Mad Sin, The Hillbilly Moon Explosion):
|
||||
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
|
||||
|
||||
**Alt-rock** (Muse, Royal Blood):
|
||||
Biffy Clyro · Placebo
|
||||
|
||||
### ТИР C — приоритет 3: русскоязычное «похожее» (60 позиций)
|
||||
|
||||
**Русский рок / арт-рок** (Агата Кристи, Ундервуд):
|
||||
Сплин · Пикник · Крематорий · Алиса · Наутилус Помпилиус · Чайф · Би-2 · АукцЫон · Пилот · Сурганова и Оркестр · Animal ДжаZ · Мельница
|
||||
|
||||
**Панк / ска-панк** (Пневмослон, Король и Шут, Ленинград):
|
||||
Кукрыниксы · Сектор Газа · Тараканы! · Наив · Порнофильмы · Distemper · Ляпис Трубецкой · Элизиум
|
||||
|
||||
**Инди / пост-панк** (Пионерлагерь Пыльная Радуга, Монеточка):
|
||||
Дайте танк (!) · Моя Мишель · Гречка · Пошлая Молли · Спасибо · Валентин Стрыкало
|
||||
|
||||
**Фолк** (СтимфониЯ, Пётр Налич):
|
||||
Отава Ё · Тролль гнёт ель · Хоронько Оркестр
|
||||
|
||||
**Русский рэп** (Каста, Триагрутрика, Noize MC, Заточка):
|
||||
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/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/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` сбрасывается при перезагрузке — при необходимости перегенерировать скриптами.
|
||||
Сами скрипты пока НЕ скопированы в vault (были во временном каталоге).
|
||||
> ⚠️ Артефакты в `/tmp` — **не переживут перезагрузку**. Скрипты самодостаточны, пересобираются за минуту.
|
||||
|
||||
---
|
||||
|
||||
## Черновик списка (без валидации в 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` не помог. Блокер оставлен открытым.
|
||||
*Создано: 2026-09-28 | Сессия: анализ библиотек Яндекс/Spotify → список артистов для Lidarr*
|
||||
@@ -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` не помог. Блокер оставлен открытым.
|
||||
@@ -129,6 +129,51 @@ docker exec transmission sh -c 'cat /config/settings.json' # → "download-dir
|
||||
Плюс Transmission монтирует `/mnt/storage`, Radarr — `/storage` (один хост-путь под двумя именами).
|
||||
**Всегда проверять наличие записей в API** (`GET /api/v3/remotepathmapping`), а не то, что записано в доке.
|
||||
|
||||
## 6. 🔴 Прокси в Lidarr: «записан» ≠ «применяется» (2026-09-28, поздний вечер)
|
||||
|
||||
**Конфиг-ридбэк ИДЕАЛЬНЫЙ** — `proxyEnabled:true`, `proxyType:"http"`, `proxyHostname:"vless-proxy"`,
|
||||
`proxyPort:1081`, `proxyBypassFilter` расширен на все docker-имена стека — **а Lidarr всё равно
|
||||
ходит напрямую**:
|
||||
|
||||
```
|
||||
docker logs lidarr | grep -i proxy
|
||||
[Error] ProxyCheck: Proxy Health Check failed
|
||||
```
|
||||
|
||||
`artist/lookup` → **403 Cloudflare**, и сама страница ошибки CF выдаёт egress-IP:
|
||||
`Your IP: 90.189.160.148` — **домашний аплинк**, не VPS. `docker restart lidarr` **не помог**.
|
||||
|
||||
### Диагностическая триада: «прокси настроен неверно» vs «прокси не применяется»
|
||||
|
||||
```bash
|
||||
# 1. конфиг верный? GET /api/v1/config/host → proxyEnabled / proxyType / proxyPort
|
||||
# 2. прокси САМ работает? (из того же контейнера)
|
||||
docker exec lidarr sh -c 'curl -s -m 15 -x http://vless-proxy:1081 https://api.ipify.org' # VPS IP
|
||||
docker exec lidarr sh -c 'curl -s -m 15 https://api.ipify.org' # домашний IP
|
||||
# 3. Lidarr ЕГО ИСПОЛЬЗУЕТ? ЛОГ — единственный надёжный сигнал
|
||||
docker logs lidarr 2>&1 | grep -i proxy # ProxyCheck failed ⇒ НЕ использует
|
||||
```
|
||||
|
||||
Если (1) ✅ и (2) ✅, а (3) даёт `ProxyCheck failed` — **конфиг инертен**.
|
||||
|
||||
- **Подозреваемый №1: `proxyBypassLocalAddresses: true`.** `api.lidarr.audio` резолвится в
|
||||
Cloudflare-IP; эвристика «локальный адрес» может его проглотить. Проверить с `false`.
|
||||
- **Подозреваемый №2: IPv6-цель против IPv4-only прокси.** В контейнере `api.lidarr.audio` даёт
|
||||
`2606:4700:...` (AAAA), а `vless-proxy:1081` — только IPv4. CONNECT к v6-цели падает, и
|
||||
.NET-клиент **молча откатывается** на прямое соединение.
|
||||
Проверка: `curl -x http://vless-proxy:1081 -6 https://api.lidarr.audio/...`
|
||||
- **Подозреваемый №3: `proxyType:"socks5"` + порт `1080`** — обойти специфику HTTP-CONNECT.
|
||||
|
||||
> 🔴 **`GET /api/v1/health` → `[]` НЕ значит «сервис здоров».** Lidarr пишет провал `ProxyCheck`
|
||||
> **только в лог** — в health-API он не попадает. `health: []` сосуществовал с жёстким `403` на
|
||||
> каждом вызове метаданных. **Проверять живым `artist/lookup` + `docker logs | grep`, не `health`.**
|
||||
|
||||
> 🔴 **Обобщённое правило для этого хоста:** любой сервис, который ходит в интернет сам
|
||||
> (Lidarr → SkyHook, FlareSolverr → Chrome), по умолчанию выходит через **домашний аплинк**
|
||||
> (`90.189.160.148`). `curl api.ipify.org` **на хосте Тайги** возвращает домашний IP — VPS-выход
|
||||
> существует **только** за `vless-proxy`. ⇒ «прокси настроен» бессмысленно; доказательство одно:
|
||||
> **отличается ли egress-IP этого сервиса от `90.189.160.148`**.
|
||||
|
||||
## Связанные заметки
|
||||
|
||||
- [[personal/plans/lidarr-taiga-and-indexer-unblock]] — план, из которого выросли эти находки
|
||||
|
||||
Reference in new issue
Block a user