[2026-09-26] eagle: family/index.md family/plans/lidarr-taiga-deploy.md family/projects/media-toolbox-taiga.md personal/plans/music-tags-review/1-needs-decision.md personal/plans/music-tags-review/2-medium-confidence.md personal/plans/music-tags-review/3-high-confidence.md personal/plans/music-tags-review/music-tags-review.md

This commit is contained in:
Alexey Martemyanov committed 2026-09-26 14:38:41 +06:00
1 parent 35dfecbe02
commit e200596c45
7 files changed
+5134 -5820

No files matched your search

+4
View File
@@ -45,6 +45,10 @@ Hub: [[family/how-to/truenas-infrastructure|TrueNAS Infrastructure]]
- [[family/how-to/truenas-infrastructure|TrueNAS Infrastructure]] — Тайга NAS
- [[family/how-to/truenas-access|TrueNAS Access]]
- [[family/how-to/truenas-rclone-backup|TrueNAS Rclone Backup]]
- [[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/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-коды
+16 -2
View File
@@ -291,11 +291,25 @@ https://kinozal.tv/ → 000
## Питфоллы (Taiga-специфика, проверено)
- **`dns: [8.8.8.8]` в compose НЕ обходит блокировку** — проверено, NXDOMAIN с 8.8.8.8 тоже.
Провайдерский DNS отдаёт NXDOMAIN и для внешнего резолвера, т.к. DNS-трафик идёт через провайдера.
- **На хосте TrueNAS нет `curl` и `python3`** в PATH (zsh). `wget` есть внутри контейнеров.
BusyBox `wget` **не поддерживает `-e`** (proxy options) — искать другой способ прокси-теста.
- **`sqlite3` на хосте НЕ установлен** (вопреки старой доке).
BusyBox `wget` **не поддерживает `-e`** и **`--method=PUT`**.
**В контейнерах linuxserver есть `/usr/bin/curl`** — использовать его для API-вызовов.
- **`sqlite3` на хосте НЕ установлен** (вопреки старой доке). Копировать `.db` на Mac через
`ssh ... "cat /path/db" > /tmp/db` и читать локальным `sqlite3`.
- **Caddyfile root-owned** — правка только через `docker run --rm -v /:/host alpine` (см. skill `truenas-caddy-service-deploy`).
Тот же приём работает для любого root-owned каталога (подтверждено на `/mnt/RED_2TB/docker/vless-proxy/` — `0:0 755`;
`cd` туда работает, запись — нет).
- **`docker network connect` теряется при пересоздании** — прописывать сети в compose.
- **Prowlarr API PUT возвращает 202, но кеш не сброшен** — `docker restart prowlarr` обязателен,
иначе `GET` покажет старое значение и БД останется прежней.
- **Prowlarr `?forceSave=true`** — обход валидации доступа к сайту при PUT индексеров
(`400 CloudFlare Protection` → `202`).
- **`DELETE /api/v1/indexerstatus` → HTTP 405.** Сброс статуса делать через `POST /api/v1/indexer/testall`
(он сбрасывает `disabledTill` сам).
- **`jq` с интерполяцией `\(...)` в inline SSH-строке ломается** — писать в файл-скрипт.
- **JSON-правка `awk`/`sed` ломается при `tags` последним полем** — обрезать `awk '/"tags":/ { exit }'`
и дописывать хвост через `printf`.
- `ls -la` на TrueNAS показывает `d---------` — норма для NFSv4 ACL; реальные права через `midclt call filesystem.getacl`.
- Папки медиа: uid 950 `drwxrwx---`, root `/mnt/RED_2TB/storage` — `drwxr-x--x` (traverse работает).
+45 -24
View File
@@ -75,15 +75,18 @@ Caddy: subdomain-based роутинг, без URL Base. Let's Encrypt автом
| radarr | media_net + caddy_default |
| sonarr | media_net + caddy_default |
| jellyfin | caddy_default |
| transmission | transmission_default + **media_net** (подключён вручную) |
| vless-proxy | hermes_taiga_net + **media_net** (подключён вручную) |
| transmission | transmission_default + **media_net** (персистентно в compose) |
| vless-proxy | hermes_taiga_net + **media_net** (персистентно в compose, добавлено 2026-09-26) |
> ✅ **ПОПРАВКА 2026-09-26 (проверено на живой машине):** строка про `vless-proxy` в `media_net`
> **НЕВЕРНА.** Факт: `docker inspect vless-proxy` → только `hermes_taiga_net` (172.16.15.2).
> `docker network inspect media_net` → участники `prowlarr radarr transmission sonarr`
> (vless-proxy отсутствует). `docker exec prowlarr getent hosts vless-proxy` → NO DNS.
> ✅ **ПОПРАВКА 2026-09-26 (проверено на живой машине):** строка про `vless-proxy` в `media_net` была
> **НЕВЕРНА.** Факт на момент начала сессии: `docker inspect vless-proxy` → только `hermes_taiga_net`
> (172.16.15.2). `docker network inspect media_net` → участники `prowlarr radarr transmission sonarr`.
> `docker exec prowlarr getent hosts vless-proxy` → NO DNS.
> Следствие: прокси-маршрут для индексеров, описанный в §«Prowlarr — прокси», **никогда не работал**.
> План починки — [[personal/plans/lidarr-taiga-and-indexer-unblock]] Фаза 0.
>
> ✅ **ИСПРАВЛЕНО 2026-09-26:** `media_net` добавлена в `/mnt/RED_2TB/docker/vless-proxy/docker-compose.yml`
> (persistent) + контейнер пересоздан `--force-recreate`. Теперь `vless-proxy` = `172.16.17.6` в `media_net`,
> `getent hosts vless-proxy` из prowlarr/radarr резолвится. Полный разбор — [[family/plans/lidarr-taiga-deploy]] Фаза 0.
>
> ⚠️ **ПОПРАВКА PUID/PGID:** `921/921` устарело (см. строку выше про PUID 921 — артефакт до
> restore-инцидента). Факт 2026-09-26: **все сервисы стека под uid 950**, `PUID=950 PGID=950`
@@ -149,7 +152,7 @@ Radarr/Sonarr монтируют `/mnt/RED_2TB/storage/` → `/storage/`
> "rpc-whitelist": "172.16.*.*"}
> ```
> Radarr ОЖИДАЕТ подкаталог категории (`/storage/Downloads/radarr`) — его нет.
> Разбирать в Фазе 4 плана [[personal/plans/lidarr-taiga-and-indexer-unblock]].
> Разбирать в Фазе 4 плана [[family/plans/lidarr-taiga-deploy]].
Предполагаемый маппинг в каждом (задумано, но не выставлено):
- host: `transmission`
@@ -188,30 +191,48 @@ nslookup google.com 192.168.2.2 # → OK
> Это **другой** класс, чем задокументированные «Cloudflare 403 на indexers.prowlarr.com»
> и «RuTracker Turnstile»: здесь DNS не отдаёт IP вообще.
Прокси для обхода описан в §«Prowlarr — прокси», но **не работает** (см. поправку о сетях выше).
Полный план — [[personal/plans/lidarr-taiga-and-indexer-unblock]] Фаза 0.
Прокси для обхода описан в §«Prowlarr — прокси». **✅ 2026-09-26: прокси-маршрут починен** —
3 из 6 индексеров работают. Полный разбор — [[family/plans/lidarr-taiga-deploy]] Фаза 0.
## Prowlarr — прокси для заблокированных индексеров
vless-proxy доступен в `media_net` как `vless-proxy:1080` (SOCKS5).
`vless-proxy` доступен в `media_net` как `vless-proxy` (SOCKS5 **1080**, HTTP **1081**).
Настройка в Prowlarr: Settings → Indexers → Add Proxy:
- Type: SOCKS5
- Host: `vless-proxy`, Port: `1080`
- Tags: `[proxy]`
Настройка (фактическое состояние после 2026-09-26):
- Прокси `vless-socks5` (id=1), Type `Socks5`, Host `vless-proxy`, Port `1080`
- Тег `proxy` (id=1) — создан; **все 6 индексеров** имеют tags `[1]`
Индексеры с тегом `proxy`: RuTracker (заблокирован в РФ), остальные — по усмотрению.
> ✅ **ИСПРАВЛЕНО 2026-09-26.** До этого таблица `Tags` в `prowlarr.db` была **ПУСТА**,
> а `Indexers.Tags` ссылался на висячий id `[1]`; `IndexerProxies.Tags` = `[]`.
> Прокси физически не был привязан ни к чему → все индексеры падали в NXDOMAIN.
>
> **Результат `POST /api/v1/indexer/testall` (2026-09-26):**
>
> | id | Индексер | Статус |
> |---|---|---|
> | 1 | RuTracker | ❌ `403 Cloudflare "Just a moment..."` на `/forum/login.php` |
> | 2 | RuTor | ✅ OK |
> | 3 | Byrutor | ✅ OK |
> | 4 | NoNaMe Club | ✅ OK |
> | 5 | Kinozal | ❌ `blocked by CloudFlare Protection` |
> | 6 | Kinozal (M) | ❌ `blocked by CloudFlare Protection` |
>
> RuTracker: `GET /forum/index.php` → **200**, `POST /forum/login.php` → **403 Cloudflare JS-challenge**.
> Остаточная проблема — Cloudflare, НЕ DNS. Решение — FlareSolverr (не установлен, ждём решение Alex).
>
> 🔴 **Важно для RuTracker/Kinozal: `kinozal.tv` МЁРТВ** (NXDOMAIN даже на выходной стороне прокси) —
> использовать `kinozal.me` (через прокси → 200).
## Индексеры (те же что на Кракене)
| Имя | Примечание |
|-----|-----------|
| RuTracker | через прокси |
| RuTor | |
| Byrutor | enableRss: false |
| NoNaMe Club | |
| Kinozal | |
| Kinozal (M) | магнет, без grab limit — предпочтительный |
| id | Имя | Примечание |
|-----|-----|-----------|
| 1 | RuTracker | через прокси; ⚠️ Cloudflare-челлендж на логине |
| 2 | RuTor | через прокси; ✅ работает |
| 3 | Byrutor | через прокси; ✅ работает; `enableRss: false` |
| 4 | NoNaMe Club | через прокси; ✅ работает |
| 5 | Kinozal | через прокси; ⚠️ Cloudflare Protection; URL должен быть `kinozal.me` |
| 6 | Kinozal (M) | через прокси; ⚠️ Cloudflare Protection; магнет, без grab limit — предпочтительный |
`preferMagnetUrl: true` для всех → нет дневного лимита на .torrent.
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -8,29 +8,13 @@ status: awaiting-approval
# Music Tags — проверка тегов
**К правке:** 4961 файлов · **без изменений:** 2945
**К правке:** 4774 файлов · **без изменений:** 3132
> [!warning] Ничего не изменено
> Это план. Ставь галочки, что одобряешь. После «go» — бэкап в `Music/backup/` и применение.
| Блок | Файлов |
|---|---:|
| [[1-needs-decision\|Требует решения]] | 9 |
| [[2-medium-confidence\|Средняя уверенность]] | 2611 |
| [[3-high-confidence\|Высокая уверенность]] | 2341 |
## Контекст
Сгенерировано из `~/Downloads/music-tags/tag-fix-plan.csv` скриптом
`render_grouped_doc.py` (в `~/Developer/personal-os/tools/music-tags/`).
- **Полный разбор проблемы, план и питфоллы:** [[personal/tech/music-tags-repair-truenas]]
- **Зачем это нужно:** Music-библиотеку Jellyfin нельзя создать на битых тегах
(Jellyfin раскладывает музыку по тегам, не по папкам) — [[family/how-to/jellyfin-config]]
- **Статус:** этап 3 плана ремонта (апрув Alex). Правки файлов ещё **не начаты**.
## Ограничения формата
Блоки 2 и 3 — по 730–780 КБ / 5000+ строк. Obsidian открывает, но скролл тяжёлый;
наверху каждого файла есть оглавление по папкам (клик → прыжок к разделу).
Дубли-папки в `!Детские/Сказки/` намеренно **не** включены — Alex разбирает их сам.
| [[1-needs-decision\|Требует решения]] | 296 |
| [[2-medium-confidence\|Средняя уверенность]] | 2031 |
| [[3-high-confidence\|Высокая уверенность]] | 2447 |