A. kb-autosync.sh переписан: pull → regenerate index → commit → push.
После каждого push с Mac индекс objects-map.json и _index.md
обновляются автоматически на code-server (LXC 132).
B. kb-objects-map.py + kb-objects-audit.py добавлены в воскресный
weekly cron на LXC 132 — health-check автогенерируется раз в неделю.
C. Чистка битых wiki-ссылок (score 84 → 9):
- notes/govru-diagnosis → projects/niikn/govru-quickfix-playbook (2)
- claude-memory/podkop → 2026-04-17-peredelki-podkop-stability-fix
- [[../snippets/clients/]] → snippets/clients/ (текстом, 2)
- [[feedback_*]] (user memory) → backtick-cited (2)
- [[../znamenskoye/]] → [[../znamenskoye/README]] (4)
Скрипт kb-objects-audit.py улучшен: regex теперь требует [[...]] с
двойной скобкой (не одной), исключает audit/ и CLAUDE.md (placeholder
и autogen).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
OpenWrt HomeLab (10.0.0.1): AdGuard Home в DNS-цепочке, фильтры YouTube
Контекст
На роутере 10.0.0.1 (OpenWrt 24.10.3, Mediatek Filogic) установлен adguardhome 0.107.57-r1, но трафик клиентов LAN егообходил. dnsmasq форвардил 127.0.0.42 (sing-box подкопа), AGH слушал 127.0.0.1:5353 без клиентов. user_rules в yaml были повреждены (куски Python-листа с залипшими кавычками). Цель — реальная блокировка рекламы для всей сети, в т.ч. максимум возможного для YouTube.
Решение — гибридная схема
LAN client → dnsmasq:53 → AGH:5353 → sing-box:127.0.0.42 → upstream
AGH ставится между dnsmasq и sing-box: блокирует ad-домены до sing-box, а sing-box продолжает делать fakeip и роутить подкоп-домены. Это отличается от двух канонических схем podkop.net/docs/adguard/ (Схема 1: AGH на 127.0.0.10:53 как upstream подкопа; Схема 2: AGH перед подкопом для клиентов), но проще и сохраняет всю существующую логику подкопа.
uci set podkop.settings.dont_touch_dhcp='1' # подкоп больше не переписывает dhcp
uci -q delete dhcp.@dnsmasq[0].server
uci add_list dhcp.@dnsmasq[0].server='127.0.0.1#5353'
uci commit podkop && uci commit dhcp
/etc/init.d/adguardhome restart
/etc/init.d/dnsmasq restart
Бэкапы (на роутере)
/etc/adguardhome.yaml.bak.20260430_001129
/etc/config/dhcp.bak.20260430_001129
Верификация
Запрос на 10.0.0.1
Ответ
Проверяет
doubleclick.net
0.0.0.0
AGH режет ad-домен
pagead2.googlesyndication.com
0.0.0.0
YouTube ad-эндпоинт
wikipedia.org
185.15.59.224
обычный сайт работает
youtube.com
198.18.1.77
fakeip подкопа цел
Граничные случаи / что НЕ блокируется
DNS-блокировка убирает рекламную телеметрию, баннеры, midroll-API YouTube. In-stream-ролики в самих видео сидят на *.googlevideo.com (CDN видео) — DNS их разделить не может. Полная блокировка — только клиентом: uBlock Origin (Firefox/Chrome), SponsorBlock, ReVanced/NewPipe (Android), FreeTube (desktop).
127.0.0.42 и 127.0.0.53 — зарезервированы подкопом и системой, не использовать как listen для других сервисов (podkop.net/docs/adguard/).
При dont_touch_dhcp=0 подкоп при каждом start переписывает dhcp.@dnsmasq[0].server на 127.0.0.42, кладя предыдущее в podkop_server. Любая ручная замена upstream без dont_touch_dhcp=1 не переживёт перезапуск.