[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:
1 parent
35dfecbe02
commit
e200596c45
7 files changed
+5134
-5820
No files matched your search
@@ -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-коды
|
||||
|
||||
|
||||
@@ -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 работает).
|
||||
|
||||
|
||||
@@ -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 |
|
||||
Reference in new issue
Block a user