Server1C — это самостоятельный объект (организация в Бужарово), не часть
домашней инфраструктуры dttb. Переношу projects/dttb/server1c.md →
projects/buzharovo/server1c.md, добавляю README.md как точку входа,
обновляю обратные ссылки.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Симптом: rmngr держит >100% ядра в idle, rac не отвечает, локальные пользователи жалуются на тормоза. Полный ребут сервера НЕ помогает. Лечится Restart-Service '1C:Enterprise 8.3 Server Agent (x86-64)'.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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>
Существующие проекты получили frontmatter с aliases для FTS / objects-map:
niikn — Cloud-NIIKN New niikn.com, pve-niikn, Kripto-ARM, M.Maul
dttb — Work Server dttb, code-server, rustdeskserver, MacBook-Pro, ...
glavtorg, krasnogorsk, zelenograd — добавлен frontmatter с aliases
Создано 6 новых README:
projects/znamenskoye/README.md — был отсутствующий index 3-х объектов
projects/mmfb/README.md — был отсутствующий index ММФБ + LionART
projects/sergey/README.md — stub OpenWrt_Sergey (Одинцово)
projects/benilux/README.md — stub OpenWrt Benilux (Истра)
projects/vishnevyy-sad/README.md — stub Константин (Москва)
projects/openwrt-4/README.md — stub анонимный OpenWrt_4
Обновлён scripts/kb-objects-map.py: exact-match вместо substring (избегает FP
вроде alias 'cloud' ⊂ 'Cloud-NIIKN New niikn.com'). Aliases теперь должны
содержать полные имена пиров как в netbird-inventory.
Метрика: с 38 orphan-пиров до 14. Остаток — реально неклассифицированные
клиентские машины без явной привязки к проекту (Денис Тихая, DESKTOP-2IOQS54
и др.) — задача для отдельного шага обогащения.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Авто-генератор реестра: парсит netbird-inventory + frontmatter каждого проекта,
выводит JSON для бота и человекочитаемый index с wiki-ссылками.
Пока 16 проектов / 38 orphan-пиров без своих карточек — выявленные дыры станут
input для Фазы 4 (stub-генератора). Скрипт идемпотентный, без deps (pure stdlib),
запуск: cd ~/knowledge-base && python3 scripts/kb-objects-map.py
Парсер обрабатывает offline-таблицу netbird (другой порядок колонок), normalize
ye→e уравнивает Знаменское/Znamenskoe. Source of truth — frontmatter каждого
проекта; добавление aliases/owner/region там сразу подхватится при следующем run.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Закрывает причину #1 путаницы Максимки на запросах вида "OpenWRT Липки": слово "Липки" во всём vault встречалось только одной строкой в netbird-inventory, FTS вытаскивал НИИКН по статистике слова "OpenWRT".
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
podkop user_domains на 192.168.1.50 — 5 доменов (notebooklm.google[.com],
generativelanguage.googleapis.com, aistudio.google.com, labs.google).
Клиенты по DHCP ходят на dnsmasq 192.168.1.50, FakeIP-маршрут
198.18.0.0/15→OpenWrt уже на MikroTik — для Оксаны и всего офиса
ничего на ПК настраивать не надо.
Аудит перед запуском в прод. Найдены и исправлены critical и medium issues:
Critical (fixed):
- File permissions 644 → 600/640 для id_ed25519, БД, config.yaml
- Нет logrotate (диск 2GB зальётся) → /etc/logrotate.d/rustdesk
- Нет авто-бэкапа → daily cron 03:00 в /root/rustdesk-backups/
Medium (fixed):
- Brute-force на /api/admin/login → NPM rate-limit 5r/m
Medium (deferred):
- NC share без пароля (NC сейчас down — отдельный task)
- Security headers не наследуются в location / (NPM template limitation)
Документация:
- decisions/2026-04-30-rustdesk-pre-prod-audit.md — полный отчёт
- projects/dttb/rustdesk-runbook.md — операционный runbook (recovery,
troubleshooting, onboarding, updates)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- snippets/clients/sergey-znamenskoye-happ-setup.md: персональная инструкция с готовым сообщением и блоком про US Apple ID hbuggle819
- snippets/assets/vpn-finland-5870-sergey-znamenskoye-20260429.png: QR vless-ссылки
- projects/dttb/vpn-clients.md: запись клиента №2 (UUID 4798936b)
NPM stack пересоздан с публикацией портов 21115-21119. Compose-файл теперь
лежит на host /data/compose/2/docker-compose.yml (Portainer хранил только
в своём volume — теперь синхронизированы). Custom stream.conf с TLS
termination для 21118/21119 в /data/compose/2/data/nginx/custom/.
wss://remot.dttb.ru:21118/ws/id и /ws/relay отвечают 101 Switching Protocols.
WebClient доходит до hbbr с relay request, но peer должен быть online +
залогинен в API чтобы соединение установилось.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
При попытке завести web-client (wss://remot.dttb.ru:21118) выяснилось что
docker port для NPM публикует только 80/81/443. Streams 21115-21119
работают только внутри docker-сети — desktop-клиенты ходят на 10.0.0.244
напрямую через LAN/NetBird. Web-client требует rebuild NPM compose с ports.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Админка lejianwen-api 2.7 при клике на peer открывает /webclient2/#/<id>,
но api отдаёт Flutter WebClient на /webclient/. Без rewrite получаем 404.
Добавлен return 301 в advanced_config NPM Proxy Host 14 — hash остаётся
в браузере, peer-id корректно подхватывается Flutter-app.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Два независимых фейла за один инцидент 2026-04-27:
1. Bonjour-плагин валит node на CIAO PROBING/ANNOUNCEMENT CANCELLED
(mDNS не работает в LXC). Fix: plugins.entries.bonjour.enabled=false.
Не лечится npm install openclaw@latest.
2. /etc/resolv.conf смотрел на 10.0.0.1 (LionART/Mihomo), который
отдавал FakeIP 198.18.0.6 для api.telegram.org — из LXC такой
трафик некуда маршрутизировать. Fix: nameserver 1.1.1.1 8.8.8.8
через pct set --nameserver (резолвят через NetBird wt0).