Compare commits
6 Commits
claude/gre
...
f727f6f977
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f727f6f977 | ||
|
|
6d729dc8c7 | ||
| bf5e24491b | |||
| 57a026ed45 | |||
|
|
ae5eb91280 | ||
| 368a14107d |
47
audit/2026-05-10-creds-drift.md
Normal file
47
audit/2026-05-10-creds-drift.md
Normal file
@@ -0,0 +1,47 @@
|
||||
---
|
||||
date: 2026-05-10
|
||||
type: audit
|
||||
source: kb-audit-creds.py
|
||||
tags: [audit, creds, reachability]
|
||||
---
|
||||
|
||||
# Credentials reachability — 2026-05-10
|
||||
|
||||
Ping-проверка URL из [[../projects/dttb/credentials|credentials.md]].
|
||||
Проверяется только reachability (HTTP status), не реальный логин.
|
||||
|
||||
- Всего URL: **20**
|
||||
- ✓ Reachable: 17 / ⚠ Questionable: 3 / ❌ Unreachable: 0
|
||||
|
||||
## ⚠ Нестандартный ответ
|
||||
|
||||
| URL | Status | Detail |
|
||||
|---|---|---|
|
||||
| `https://remot.dttb.ru/swagger/index.html` | 404 | Not Found |
|
||||
| `https://api.netbird.io` | 404 | Not Found |
|
||||
| `https://api.netbird.io/api/setup-keys` | 404 | Not Found |
|
||||
|
||||
## ✓ Все ответили нормально
|
||||
|
||||
| URL | Status | Категория |
|
||||
|---|---|---|
|
||||
| `https://10.0.0.250:8006` | 200 | ✓ reachable |
|
||||
| `https://pve.dttb.ru` | 200 | ✓ reachable |
|
||||
| `http://10.0.0.189:3000` | 200 | ✓ reachable |
|
||||
| `http://git.dttb.ru` | 200 | ✓ reachable |
|
||||
| `http://10.0.0.195:81` | 200 | ✓ reachable |
|
||||
| `https://npm.dttb.ru` | 200 | ✓ reachable |
|
||||
| `https://remot.dttb.ru/_admin` | 200 | ✓ reachable |
|
||||
| `https://dttb.ru` | 200 | ✓ reachable |
|
||||
| `https://dttb.ru/remote.php/dav/files/admin` | 401 | ✓ auth-required (сервер жив) |
|
||||
| `https://vps.sweb.ru` | 200 | ✓ reachable |
|
||||
| `https://api.sweb.ru/domains/dns` | 200 | ✓ reachable |
|
||||
| `https://mail.niikn.com` | 200 | ✓ reachable |
|
||||
| `http://192.168.1.22:81` | 200 | ✓ reachable |
|
||||
| `https://edit.telegra.ph/auth/f1tfgzYpPpGlAr7cYHRzSeH59fYuNVB2V3fbCdypDc` | 200 | ✓ reachable |
|
||||
| `https://api.telegra.ph/createPage` | 200 | ✓ reachable |
|
||||
| `https://api.telegra.ph/editPage` | 200 | ✓ reachable |
|
||||
| `https://telegra.ph/Nastrojka-VPN-04-24-2` | 200 | ✓ reachable |
|
||||
|
||||
---
|
||||
*Автоматически через `scripts/kb-audit-creds.py`.*
|
||||
81
audit/2026-05-10-dns-drift.md
Normal file
81
audit/2026-05-10-dns-drift.md
Normal file
@@ -0,0 +1,81 @@
|
||||
---
|
||||
date: 2026-05-10
|
||||
type: audit
|
||||
source: kb-audit-dns.py
|
||||
tags: [audit, dns]
|
||||
---
|
||||
|
||||
# DNS resolve audit — 2026-05-10
|
||||
|
||||
Резолвим все домены из NPM через публичный DNS (8.8.8.8) и локальный роутер (10.0.0.1).
|
||||
|
||||
- Всего доменов: **22**
|
||||
- NXDOMAIN на 8.8.8.8: 2 / пустой ответ локально: 1 / split-horizon: 20
|
||||
|
||||
## ❌ NXDOMAIN / не резолвится на 8.8.8.8 (публичный DNS)
|
||||
|
||||
| Домен | Локальный IP |
|
||||
|---|---|
|
||||
| `itilegent.ru` | (тоже нет) |
|
||||
| `vpn.dttb.ru` | 10.0.0.195 |
|
||||
|
||||
## ⚠ Split-horizon — разные IP снаружи и внутри
|
||||
|
||||
Это нормально для *.dttb.ru (внешний Let's Encrypt IP vs локальный 10.0.0.195). Но неожиданный split может быть багом.
|
||||
|
||||
| Домен | Публичный (8.8.8.8) | Локальный (10.0.0.1) |
|
||||
|---|---|---|
|
||||
| `ai.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `bit.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `bitrix24.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `bot.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `git.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `home.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `ip.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `link.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `mail.dttb.ru` | 176.62.183.186 | 10.0.0.107 |
|
||||
| `matrix.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `npm.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `office.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `plex.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `porteiner.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `pve.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `rec.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `remot.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `router.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `z.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
|
||||
## ⚠ Пустой локальный резолв (роутер не знает)
|
||||
|
||||
- `itilegent.ru` (публичный: -)
|
||||
|
||||
## Полная таблица резолва
|
||||
|
||||
| Домен | 8.8.8.8 | 10.0.0.1 |
|
||||
|---|---|---|
|
||||
| `ai.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `bit.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `bitrix24.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `bot.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `git.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `home.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `ip.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `itilegent.ru` | — | — |
|
||||
| `link.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `mail.dttb.ru` | 176.62.183.186 | 10.0.0.107 |
|
||||
| `matrix.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `npm.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `office.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `plex.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `porteiner.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `pve.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `rec.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `remot.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `router.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `vpn.dttb.ru` | — | 10.0.0.195 |
|
||||
| `z.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
|
||||
---
|
||||
*Автоматически через `scripts/kb-audit-dns.py`.*
|
||||
73
audit/2026-05-10-drift.md
Normal file
73
audit/2026-05-10-drift.md
Normal file
@@ -0,0 +1,73 @@
|
||||
---
|
||||
date: 2026-05-10
|
||||
type: audit
|
||||
source: kb-audit.py
|
||||
tags: [audit, drift, infrastructure]
|
||||
---
|
||||
|
||||
# KB drift audit — 2026-05-10
|
||||
|
||||
Сравнение живого `pct list` / `qm list` с [[../projects/dttb/proxmox-inventory|proxmox-inventory.md]]
|
||||
|
||||
- Живых гостей Proxmox: **40**
|
||||
- Упомянуто в inventory: **38**
|
||||
- В обоих: 37 / только в live: 3 / отсутствуют в live: 0
|
||||
- Известны как удалённые: 1 (в `## 🗑️ Удалённые`)
|
||||
|
||||
## ⚠ В Proxmox есть, в inventory НЕТ (надо добавить)
|
||||
|
||||
| VMID | Type | Status | Name |
|
||||
|---|---|---|---|
|
||||
| 128 | LXC | running | profi-parser |
|
||||
| 131 | VM | running | ubuntu |
|
||||
| 139 | LXC | running | severny-les |
|
||||
|
||||
## ✓ Удалённые хосты (задокументированы): 135
|
||||
|
||||
## Полный живой список
|
||||
|
||||
| VMID | Type | Status | Name |
|
||||
|---|---|---|---|
|
||||
| 100 | VM | stopped | NV |
|
||||
| 101 | LXC | stopped | n8n |
|
||||
| 102 | LXC | stopped | SMB |
|
||||
| 103 | LXC | running | NPM |
|
||||
| 104 | VM | running | Agent-DVR |
|
||||
| 105 | VM | stopped | Nextcloud-AIO-dttb.ru |
|
||||
| 106 | VM | running | pbs |
|
||||
| 107 | VM | running | Mailcow |
|
||||
| 108 | LXC | running | zabbix |
|
||||
| 109 | VM | stopped | itilelegent |
|
||||
| 110 | VM | stopped | Cloud |
|
||||
| 111 | VM | running | WinServer2025 |
|
||||
| 112 | VM | stopped | cloud-dttb |
|
||||
| 113 | LXC | running | VaultWarden |
|
||||
| 114 | LXC | running | LinkWarden |
|
||||
| 115 | LXC | running | watchyourlan |
|
||||
| 116 | LXC | running | rustdeskserver |
|
||||
| 117 | LXC | stopped | motioneye |
|
||||
| 118 | LXC | stopped | plex |
|
||||
| 119 | LXC | stopped | myspeed |
|
||||
| 120 | VM | stopped | 7 |
|
||||
| 121 | LXC | stopped | docker-windows |
|
||||
| 122 | LXC | stopped | qbittorrent |
|
||||
| 123 | LXC | stopped | proxmox-local |
|
||||
| 124 | VM | stopped | Matrix |
|
||||
| 125 | VM | stopped | datacentr |
|
||||
| 126 | LXC | stopped | debian |
|
||||
| 127 | VM | running | haos-17.0 |
|
||||
| 128 | LXC | running | profi-parser |
|
||||
| 129 | VM | running | profi-parser-vm |
|
||||
| 130 | VM | stopped | Zima-OS |
|
||||
| 131 | VM | running | ubuntu |
|
||||
| 132 | LXC | running | code-server |
|
||||
| 133 | VM | running | s1c-buzharovo |
|
||||
| 134 | LXC | running | ZnamSecurityBot |
|
||||
| 136 | LXC | running | gitea |
|
||||
| 137 | LXC | running | openclaw |
|
||||
| 138 | LXC | stopped | vpn-proxy |
|
||||
| 139 | LXC | running | severny-les |
|
||||
| 250 | VM | running | Nextcloud-AIO |
|
||||
|
||||
---
|
||||
*Автоматически сгенерировано `scripts/kb-audit.py`. Применять правки — вручную после ревью.*
|
||||
202
audit/2026-05-10-health.md
Normal file
202
audit/2026-05-10-health.md
Normal file
@@ -0,0 +1,202 @@
|
||||
---
|
||||
date: 2026-05-10
|
||||
type: audit
|
||||
source: kb-health.py
|
||||
score: 785
|
||||
tags: [audit, health, metric]
|
||||
---
|
||||
|
||||
# KB health — 2026-05-10
|
||||
|
||||
**Score (меньше = лучше): `785`**
|
||||
Проверено файлов: 848
|
||||
|
||||
## Разбивка
|
||||
|
||||
| Категория | Кол-во | Вес | Штраф |
|
||||
|---|---:|---:|---:|
|
||||
| broken_wikilinks | 4 | 10 | 40 |
|
||||
| broken_paths | 48 | 10 | 480 |
|
||||
| missing_frontmatter | 21 | 3 | 63 |
|
||||
| orphan_files | 51 | 2 | 102 |
|
||||
| undated_todos | 70 | 1 | 70 |
|
||||
| duplicate_basenames | 6 | 5 | 30 |
|
||||
| **ИТОГО** | | | **785** |
|
||||
|
||||
## Битые wikilinks
|
||||
|
||||
| Откуда | `[[таргет]]` |
|
||||
|---|---|
|
||||
| `projects/dttb/graphify-out/GRAPH_REPORT.md` | `[[_COMMUNITY_Community 0]]` |
|
||||
| `projects/dttb/graphify-out/GRAPH_REPORT.md` | `[[_COMMUNITY_Community 1]]` |
|
||||
| `projects/dttb/graphify-out/GRAPH_REPORT.md` | `[[_COMMUNITY_Community 2]]` |
|
||||
| `projects/dttb/graphify-out/GRAPH_REPORT.md` | `[[_COMMUNITY_Community 3]]` |
|
||||
|
||||
## Битые relative-пути
|
||||
|
||||
| Откуда | Путь |
|
||||
|---|---|
|
||||
| `decisions/2026-05-05-mac-dictation-groq-hammerspoon.md` | `../../.claude/projects/-Users-ai-knowledge-base/memory/feedback_superwhisper_no_license.md` |
|
||||
| `decisions/2026-05-05-mac-dictation-groq-hammerspoon.md` | `../../.claude/projects/-Users-ai-knowledge-base/memory/reference_groq_api.md` |
|
||||
| `decisions/2026-05-05-mac-dictation-groq-hammerspoon.md` | `../../.claude/projects/-Users-ai-knowledge-base/memory/feedback_superwhisper_no_license.md` |
|
||||
| `notes/ru-geoblocked-services.md` | `../../.claude/projects/-Users-ai-knowledge-base/memory/feedback_win11_unattended_upgrade.md` |
|
||||
| `notes/ru-geoblocked-services.md` | `../../.claude/projects/-Users-ai-knowledge-base/memory/feedback_nspd_blocks_mts.md` |
|
||||
| `notes/claude/2026-04-21-200915-охотхозяйство-с-openwrt-на-orange-pi-нужно-настрои.md` | `projects/dttb/vps-swtest.md` |
|
||||
| `notes/claude/2026-04-24-194555-создай-учет-подключаемых-клиентов-со-всеми-данными.md` | `projects/dttb/credentials.md` |
|
||||
| `notes/claude/2026-04-20-113423-найди-информацию-по-настройке-openwrt-и-podcop-в-н.md` | `decisions/2026-04-20-niikn-nspd-bypass-via-lionart.md` |
|
||||
| `notes/claude/2026-04-28-122042-промт-для-claude-code-развёртывание-rustdesk-api-s.md` | `decisions/2026-04-28-rustdesk-lejianwen-pro-migration.md` |
|
||||
| `notes/claude/2026-04-28-122042-промт-для-claude-code-развёртывание-rustdesk-api-s.md` | `projects/dttb/rustdesk.md` |
|
||||
| `notes/claude/2026-04-28-122042-промт-для-claude-code-развёртывание-rustdesk-api-s.md` | `projects/dttb/credentials.md` |
|
||||
| `notes/claude/2026-04-30-221054-найди-инфу-вчера-оксане-делали-доступ-через-рустде.md` | `projects/niikn/office-pc.md` |
|
||||
| `notes/claude/2026-04-29-153123-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `projects/dttb/proxmox-inventory.md` |
|
||||
| `notes/claude/2026-04-29-153123-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `projects/dttb/credentials.md` |
|
||||
| `notes/claude/2026-04-29-231939-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `snippets/happ-routing-roscomvpn.md` |
|
||||
| `notes/claude/2026-04-24-194322-создай-учет-подключаемых-клиентов-со-всеми-данными.md` | `snippets/clients/yaroslav-amnezia-setup.md` |
|
||||
| `notes/claude/2026-04-24-194322-создай-учет-подключаемых-клиентов-со-всеми-данными.md` | `snippets/apple-id-us-on-russia.md` |
|
||||
| `notes/claude/2026-05-04-100627-можешь-составлять-графические-схемы-на-dttbruhttpd.md` | `projects/znamenskoye/network-topology-diagram.md` |
|
||||
| `notes/claude/2026-04-20-115126-найди-информацию-по-настройке-openwrt-и-podcop-в-н.md` | `projects/mmfb/mikrotik.md` |
|
||||
| `notes/claude/2026-04-20-115126-найди-информацию-по-настройке-openwrt-и-podcop-в-н.md` | `projects/niikn/mikrotik.md` |
|
||||
| `notes/claude/2026-04-24-165527-новый-клиент-ммфб-юрий-витальевич-нужно-подключить.md` | `projects/mmfb/yuri-vitalievich.md` |
|
||||
| `notes/claude/2026-04-29-160010-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `snippets/clients/yaroslav-happ-setup.md` |
|
||||
| `notes/claude/2026-05-04-085317-можешь-составлять-графические-схемы-на-dttbruhttpd.md` | `projects/dttb/network-topology-diagram.md` |
|
||||
| `notes/claude/2026-04-29-071329-на-компе-юрия-продолжим-проверь-он-сети.md` | `projects/mmfb/otchet-yuri-2026-04.md` |
|
||||
| `notes/claude/2026-04-21-203517-дай-мне-команду-в-сшел-виндовс-установка-нетбирд-и.md` | `/Users/ai/.claude/projects/-Users-ai-knowledge-base/memory/reference_netbird_claude_diag.md` |
|
||||
| `notes/claude/2026-04-29-150044-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `projects/dttb/vpn-clients.md` |
|
||||
| `notes/claude/2026-04-29-223542-создадим-еще-одного-пользователя-подключение-к-vpn.md` | `snippets/clients/sergey-znamenskoye-happ-setup.md` |
|
||||
| `notes/claude/2026-04-28-134112-можешь-найти-кп-мичуринец.md` | `projects/dttb/znamenskoye-network-topology.md` |
|
||||
| `notes/claude/2026-04-28-134112-можешь-найти-кп-мичуринец.md` | `claude-memory/benelux-topology.md` |
|
||||
| `notes/claude/2026-04-25-001105-на-сервере-glavtorg-можешь-запустить-виртулку-с-ам.md` | `projects/glavtorg/README.md` |
|
||||
| `notes/claude/2026-04-24-230658-создай-учет-подключаемых-клиентов-со-всеми-данными.md` | `snippets/clients/yaroslav-amnezia-setup.md` |
|
||||
| `notes/claude/2026-04-24-193827-создай-учет-подключаемых-клиентов-со-всеми-данными.md` | `snippets/clients/yaroslav-amnezia-setup.md` |
|
||||
| `notes/claude/2026-04-24-193827-создай-учет-подключаемых-клиентов-со-всеми-данными.md` | `projects/dttb/vpn-clients.md` |
|
||||
| `notes/claude/2026-04-29-180420-создадим-еще-одного-пользователя-подключение-к-vpn.md` | `snippets/clients/sergey-znamenskoye-happ-setup.md` |
|
||||
| `notes/claude/2026-04-20-101023-найди-информацию-по-настройке-openwrt-и-podcop-в-н.md` | `projects/niikn/openwrt-bypass.md` |
|
||||
| `notes/claude/2026-04-24-194414-создай-учет-подключаемых-клиентов-со-всеми-данными.md` | `snippets/clients/yaroslav-amnezia-setup.md` |
|
||||
| `notes/claude/2026-04-24-194414-создай-учет-подключаемых-клиентов-со-всеми-данными.md` | `snippets/apple-id-us-on-russia.md` |
|
||||
| `notes/claude/2026-05-04-124829-в-ниикн-нспд.md` | `projects/niikn/govru-quickfix-playbook.md` |
|
||||
| `notes/claude/2026-04-28-132949-промт-для-claude-code-развёртывание-rustdesk-api-s.md` | `projects/dttb/rustdesk.md` |
|
||||
| `notes/claude/2026-04-29-163821-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `snippets/amnezia-split-tunnel-ru.md` |
|
||||
| `notes/claude/2026-04-29-151943-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `snippets/clients/yaroslav-happ-setup.md` |
|
||||
| `notes/claude/2026-04-29-151943-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `projects/dttb/vpn-clients.md` |
|
||||
| `notes/claude/2026-04-29-151943-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `projects/dttb/credentials.md` |
|
||||
| `notes/claude/2026-05-04-093928-можешь-составлять-графические-схемы-на-dttbruhttpd.md` | `projects/niikn/network-topology-diagram.md` |
|
||||
| `notes/claude/2026-04-24-202451-новый-клиент-ммфб-юрий-витальевич-нужно-подключить.md` | `projects/mmfb/yuri-vitalievich.md` |
|
||||
| `notes/claude/2026-04-29-001915-на-компе-юрия-продолжим-проверь-он-сети.md` | `projects/mmfb/yuri-vitalievich.md` |
|
||||
| `notes/claude/2026-04-21-154602-охотхозяйство-с-openwrt-на-orange-pi-нужно-настрои.md` | `decisions/2026-04-21-znamenskoye-ohothozyistvo-wg-backup-channel.md` |
|
||||
| `notes/claude/2026-04-21-154602-охотхозяйство-с-openwrt-на-orange-pi-нужно-настрои.md` | `claude-memory/znamenskoye-ohothozyistvo.md` |
|
||||
|
||||
## Без frontmatter (21)
|
||||
|
||||
- `decisions/2026-05-05-mac-dictation-groq-hammerspoon.md`
|
||||
- `notes/ru-geoblocked-services.md`
|
||||
- `projects/dttb/znamenskoye-log.md`
|
||||
- `projects/niikn/office-pc.md`
|
||||
- `projects/niikn/kripto-arm.md`
|
||||
- `projects/mmfb/yuri-vitalievich.md`
|
||||
- `projects/mmfb/otchet-yuri-2026-04.md`
|
||||
- `projects/dttb/graphify-out/GRAPH_REPORT.md`
|
||||
- `snippets/happ-vpn-client-instruction.md`
|
||||
- `snippets/invoice-template.md`
|
||||
- `snippets/assets/happ-routing-roscomvpn/README-upstream.md`
|
||||
- `claude-memory/servicedesk-dttb.md`
|
||||
- `claude-memory/benelux.md`
|
||||
- `claude-memory/nextcloud-dttb.md`
|
||||
- `claude-memory/nvr-fix.md`
|
||||
- `claude-memory/videonablyudenie.md`
|
||||
- `claude-memory/znamenskoe-home.md`
|
||||
- `claude-memory/niikn-nextcloud.md`
|
||||
- `claude-memory/krasnogorsk.md`
|
||||
- `claude-memory/mas-niikn.md`
|
||||
- `claude-memory/MEMORY.md`
|
||||
|
||||
## Orphan — без бэклинков (51)
|
||||
|
||||
_Эти файлы никто не упоминает через `[[..]]`. Кандидаты на удаление или добавление ссылок._
|
||||
|
||||
- `decisions/2026-04-30-niikn-culture-gov-fakeip-fix.md`
|
||||
- `decisions/2026-04-20-niikn-nspd-bypass-via-lionart.md`
|
||||
- `decisions/2026-04-28-netbird-watchdog-lxc-132-137.md`
|
||||
- `decisions/2026-05-05-mac-dictation-groq-hammerspoon.md`
|
||||
- `decisions/2026-05-06-kb-search-overhaul.md`
|
||||
- `decisions/2026-04-28-niikn-uookn-sev-gov-fakeip-fix.md`
|
||||
- `decisions/2026-05-04-niikn-nspd-via-netbird-lionart.md`
|
||||
- `notes/ru-geoblocked-services.md`
|
||||
- `projects/dttb/network-topology-diagram.md`
|
||||
- `projects/niikn/office-pc.md`
|
||||
- `projects/niikn/mailcow.md`
|
||||
- `projects/niikn/NIIKN-Infrastructure.md`
|
||||
- `projects/niikn/groupfolders-migration.md`
|
||||
- `projects/niikn/credentials.md`
|
||||
- `projects/niikn/changelog.md`
|
||||
- `projects/niikn/matrix.md`
|
||||
- `projects/niikn/clawdbot-niikn.md`
|
||||
- `projects/niikn/proxmox.md`
|
||||
- `projects/niikn/NIIKN-ChangeLog.md`
|
||||
- `projects/niikn/npm.md`
|
||||
- `projects/niikn/openwrt-bypass.md`
|
||||
- `projects/niikn/network-topology-diagram.md`
|
||||
- `projects/niikn/NC-Talk-Setup.md`
|
||||
- `projects/niikn/domofon.md`
|
||||
- `projects/niikn/vpn.md`
|
||||
- `projects/mmfb/mikrotik.md`
|
||||
- `projects/dttb/graphify-out/GRAPH_REPORT.md`
|
||||
- `snippets/happ-routing-roscomvpn.md`
|
||||
- `snippets/invoice-template.md`
|
||||
- `snippets/clients/oksana-niikn-rustdesk.md`
|
||||
- ... +21 ещё
|
||||
|
||||
## TODO без даты (70 шт в 10 файлах)
|
||||
|
||||
- `decisions/2026-04-30-rustdesk-pre-prod-audit.md` — 13 шт
|
||||
- `projects/lipki/README.md` — 11 шт
|
||||
- `templates/vpn-client.md` — 7 шт
|
||||
- `decisions/2026-04-29-rustdesk-client-deployment-package.md` — 6 шт
|
||||
- `projects/openwrt-4/README.md` — 6 шт
|
||||
- `projects/benilux/README.md` — 6 шт
|
||||
- `projects/sergey/README.md` — 6 шт
|
||||
- `projects/dttb/vpn-clients.md` — 5 шт
|
||||
- `projects/vishnevyy-sad/README.md` — 5 шт
|
||||
- `claude-memory/mas-niikn.md` — 5 шт
|
||||
|
||||
## Дубликаты имён (6)
|
||||
|
||||
- `README.md`:
|
||||
- `README.md`
|
||||
- `decisions/README.md`
|
||||
- `notes/README.md`
|
||||
- `projects/znamenskoye/README.md`
|
||||
- `projects/openwrt-4/README.md`
|
||||
- `projects/dttb/README.md`
|
||||
- `projects/glavtorg/README.md`
|
||||
- `projects/benilux/README.md`
|
||||
- `projects/vishnevyy-sad/README.md`
|
||||
- `projects/sergey/README.md`
|
||||
- `projects/niikn/README.md`
|
||||
- `projects/lipki/README.md`
|
||||
- `projects/krasnogorsk/README.md`
|
||||
- `projects/mmfb/README.md`
|
||||
- `projects/buzharovo/README.md`
|
||||
- `projects/zelenograd/README.md`
|
||||
- `projects/dttb/nextcloud-talk-bot/README.md`
|
||||
- `snippets/README.md`
|
||||
- `snippets/mac-dictation/README.md`
|
||||
- `scripts/README.md`
|
||||
- `nextcloud.md`:
|
||||
- `projects/nextcloud.md`
|
||||
- `projects/dttb/nextcloud.md`
|
||||
- `network-topology-diagram.md`:
|
||||
- `projects/znamenskoye/network-topology-diagram.md`
|
||||
- `projects/dttb/network-topology-diagram.md`
|
||||
- `projects/niikn/network-topology-diagram.md`
|
||||
- `proxmox-inventory.md`:
|
||||
- `projects/dttb/proxmox-inventory.md`
|
||||
- `projects/mmfb/proxmox-inventory.md`
|
||||
- `credentials.md`:
|
||||
- `projects/dttb/credentials.md`
|
||||
- `projects/niikn/credentials.md`
|
||||
- `mikrotik.md`:
|
||||
- `projects/niikn/mikrotik.md`
|
||||
- `projects/mmfb/mikrotik.md`
|
||||
|
||||
---
|
||||
*Генерируется `scripts/kb-health.py`. JSON-версия в `audit/health-latest.json` для agent-loop.*
|
||||
62
audit/2026-05-10-npm-drift.md
Normal file
62
audit/2026-05-10-npm-drift.md
Normal file
@@ -0,0 +1,62 @@
|
||||
---
|
||||
date: 2026-05-10
|
||||
type: audit
|
||||
source: kb-audit-npm.py
|
||||
tags: [audit, drift, npm]
|
||||
---
|
||||
|
||||
# NPM drift audit — 2026-05-10
|
||||
|
||||
Сверка [[../projects/dttb/npm-proxy-hosts|npm-proxy-hosts.md]] с NPM API (https://npm.dttb.ru).
|
||||
|
||||
- Живых proxy hosts: **22**
|
||||
- В KB: **20**
|
||||
- Совпадений: 20 / новых: 2 / удалённых из NPM: 0 / с изменениями: 3
|
||||
|
||||
## ⚠ Новые hosts (в NPM есть, в KB нет)
|
||||
|
||||
| ID | Домены | Backend | SSL | Enabled |
|
||||
|---|---|---|---|---|
|
||||
| 26 | `router.dttb.ru` | `10.0.0.1:8080` | ✓ | on |
|
||||
| 27 | `vpn.dttb.ru` | `10.0.0.141:8443` | - | on |
|
||||
|
||||
## 🔄 Изменения (ID совпадает, но что-то сменилось)
|
||||
|
||||
### #12 `bitrix24.dttb.ru`
|
||||
- backend: KB=`10.0.0.223:8080` → live=`10.0.0.224:8080`
|
||||
|
||||
### #14 `remot.dttb.ru`
|
||||
- backend: KB=`10.0.0.43:21114` → live=`10.0.0.244:21114`
|
||||
|
||||
### #22 `git.dttb.ru`
|
||||
- ssl: KB=✗ → live=✓
|
||||
|
||||
## Полный живой список
|
||||
|
||||
| ID | Домены | Backend | SSL | Enabled |
|
||||
|---|---|---|---|---|
|
||||
| 1 | `dttb.ru` | `10.0.0.230:11001` | ✓ | on |
|
||||
| 2 | `office.dttb.ru` | `10.0.0.169:8080` | ✓ | on |
|
||||
| 3 | `itilegent.ru` | `10.0.0.223:8080` | ✓ | on |
|
||||
| 4 | `npm.dttb.ru` | `10.0.0.195:81` | ✓ | on |
|
||||
| 5 | `porteiner.dttb.ru` | `10.0.0.10:9443` | ✓ | on |
|
||||
| 6 | `pve.dttb.ru` | `10.0.0.250:8006` | ✓ | on |
|
||||
| 9 | `ai.dttb.ru` | `10.0.0.179:8080` | ✓ | on |
|
||||
| 10 | `bit.dttb.ru` | `10.0.0.217:8080` | ✓ | on |
|
||||
| 11 | `link.dttb.ru` | `10.0.0.184:3000` | ✓ | on |
|
||||
| 12 | `bitrix24.dttb.ru` | `10.0.0.224:8080` | ✓ | on |
|
||||
| 13 | `ip.dttb.ru` | `10.0.0.112:8840` | ✓ | on |
|
||||
| 14 | `remot.dttb.ru` | `10.0.0.244:21114` | ✓ | on |
|
||||
| 15 | `plex.dttb.ru` | `10.0.0.200:32400` | ✓ | on |
|
||||
| 16 | `home.dttb.ru` | `10.0.0.155:8123` | ✓ | on |
|
||||
| 17 | `z.dttb.ru` | `10.0.0.220:80` | ✓ | on |
|
||||
| 21 | `rec.dttb.ru` | `10.0.0.227:8091` | ✓ | on |
|
||||
| 22 | `git.dttb.ru` | `10.0.0.189:3000` | ✓ | on |
|
||||
| 23 | `matrix.dttb.ru` | `10.0.0.224:8080` | ✓ | on |
|
||||
| 25 | `mail.dttb.ru` | `10.0.0.107:443` | ✓ | on |
|
||||
| 26 | `router.dttb.ru` | `10.0.0.1:8080` | ✓ | on |
|
||||
| 27 | `vpn.dttb.ru` | `10.0.0.141:8443` | - | on |
|
||||
| 28 | `bot.dttb.ru` | `10.0.0.239:18789` | ✓ | on |
|
||||
|
||||
---
|
||||
*Автоматически через `scripts/kb-audit-npm.py`.*
|
||||
37
audit/2026-05-10-objects-audit.md
Normal file
37
audit/2026-05-10-objects-audit.md
Normal file
@@ -0,0 +1,37 @@
|
||||
---
|
||||
date: 2026-05-10
|
||||
type: audit
|
||||
source: scripts/kb-objects-audit.py
|
||||
tags: [audit, objects, frontmatter, links]
|
||||
score: 6
|
||||
---
|
||||
|
||||
# KB objects audit — 2026-05-10
|
||||
|
||||
**Score (меньше = лучше): `6`**
|
||||
|
||||
- Проектов с frontmatter: **13/13** (0 проблем)
|
||||
- NetBird online-пиров без проектной карточки: **3**
|
||||
- Битых wiki-ссылок `[[...]]`: **0**
|
||||
|
||||
## Frontmatter в projects/
|
||||
|
||||
✅ все проекты имеют валидный frontmatter
|
||||
|
||||
## Online netbird-пиры без проектной карточки
|
||||
|
||||
Эти пиры онлайн в NetBird, но не привязаны ни к одной projects/-странице.
|
||||
Бот не сможет ответить «найди X» осмысленно — нет файла или alias.
|
||||
|
||||
Лечение: либо создать stub в `projects/<slug>/README.md` (см. `projects/lipki/` как образец),
|
||||
либо добавить имя пира как полную строку в `aliases` подходящего проекта.
|
||||
|
||||
| NetBird-имя | IP | OS | Город |
|
||||
|---|---|---|---|
|
||||
| `DESKTOP-2IOQS54` | 100.70.82.83 | Windows 10 | Saransk |
|
||||
| `DESKTOP-AGBMLPN` | 100.70.0.106 | Windows 11 | Helsinki |
|
||||
| `DESKTOP-HL0BB05` | 100.70.235.80 | Windows 11 | Lipetsk |
|
||||
|
||||
## Битые wiki-ссылки
|
||||
|
||||
✅ битых ссылок не найдено
|
||||
13
audit/2026-05-10-proposed.md
Normal file
13
audit/2026-05-10-proposed.md
Normal file
@@ -0,0 +1,13 @@
|
||||
---
|
||||
date: 2026-05-10
|
||||
type: audit-proposed
|
||||
source: kb-audit-propose.sh (Opus 4.7)
|
||||
tags: [audit, proposed, inventory]
|
||||
---
|
||||
|
||||
# Предложенные правки inventory — 2026-05-10
|
||||
|
||||
Сгенерировано Claude Opus на основе [[2026-05-10-drift|drift-отчёта]].
|
||||
**Правки НЕ применены.** Ревью — ты. Apply — вручную.
|
||||
|
||||
|
||||
47
audit/2026-05-17-creds-drift.md
Normal file
47
audit/2026-05-17-creds-drift.md
Normal file
@@ -0,0 +1,47 @@
|
||||
---
|
||||
date: 2026-05-17
|
||||
type: audit
|
||||
source: kb-audit-creds.py
|
||||
tags: [audit, creds, reachability]
|
||||
---
|
||||
|
||||
# Credentials reachability — 2026-05-17
|
||||
|
||||
Ping-проверка URL из [[../projects/dttb/credentials|credentials.md]].
|
||||
Проверяется только reachability (HTTP status), не реальный логин.
|
||||
|
||||
- Всего URL: **20**
|
||||
- ✓ Reachable: 17 / ⚠ Questionable: 3 / ❌ Unreachable: 0
|
||||
|
||||
## ⚠ Нестандартный ответ
|
||||
|
||||
| URL | Status | Detail |
|
||||
|---|---|---|
|
||||
| `https://remot.dttb.ru/swagger/index.html` | 404 | Not Found |
|
||||
| `https://api.netbird.io` | 404 | Not Found |
|
||||
| `https://api.netbird.io/api/setup-keys` | 404 | Not Found |
|
||||
|
||||
## ✓ Все ответили нормально
|
||||
|
||||
| URL | Status | Категория |
|
||||
|---|---|---|
|
||||
| `https://10.0.0.250:8006` | 200 | ✓ reachable |
|
||||
| `https://pve.dttb.ru` | 200 | ✓ reachable |
|
||||
| `http://10.0.0.189:3000` | 200 | ✓ reachable |
|
||||
| `http://git.dttb.ru` | 200 | ✓ reachable |
|
||||
| `http://10.0.0.195:81` | 200 | ✓ reachable |
|
||||
| `https://npm.dttb.ru` | 200 | ✓ reachable |
|
||||
| `https://remot.dttb.ru/_admin` | 200 | ✓ reachable |
|
||||
| `https://dttb.ru` | 200 | ✓ reachable |
|
||||
| `https://dttb.ru/remote.php/dav/files/admin` | 401 | ✓ auth-required (сервер жив) |
|
||||
| `https://vps.sweb.ru` | 200 | ✓ reachable |
|
||||
| `https://api.sweb.ru/domains/dns` | 200 | ✓ reachable |
|
||||
| `https://mail.niikn.com` | 200 | ✓ reachable |
|
||||
| `http://192.168.1.22:81` | 200 | ✓ reachable |
|
||||
| `https://edit.telegra.ph/auth/f1tfgzYpPpGlAr7cYHRzSeH59fYuNVB2V3fbCdypDc` | 200 | ✓ reachable |
|
||||
| `https://api.telegra.ph/createPage` | 200 | ✓ reachable |
|
||||
| `https://api.telegra.ph/editPage` | 200 | ✓ reachable |
|
||||
| `https://telegra.ph/Nastrojka-VPN-04-24-2` | 200 | ✓ reachable |
|
||||
|
||||
---
|
||||
*Автоматически через `scripts/kb-audit-creds.py`.*
|
||||
75
audit/2026-05-17-dns-drift.md
Normal file
75
audit/2026-05-17-dns-drift.md
Normal file
@@ -0,0 +1,75 @@
|
||||
---
|
||||
date: 2026-05-17
|
||||
type: audit
|
||||
source: kb-audit-dns.py
|
||||
tags: [audit, dns]
|
||||
---
|
||||
|
||||
# DNS resolve audit — 2026-05-17
|
||||
|
||||
Резолвим все домены из NPM через публичный DNS (8.8.8.8) и локальный роутер (10.0.0.1).
|
||||
|
||||
- Всего доменов: **22**
|
||||
- NXDOMAIN на 8.8.8.8: 2 / пустой ответ локально: 22 / split-horizon: 0
|
||||
|
||||
## ❌ NXDOMAIN / не резолвится на 8.8.8.8 (публичный DNS)
|
||||
|
||||
| Домен | Локальный IP |
|
||||
|---|---|
|
||||
| `itilegent.ru` | (тоже нет) |
|
||||
| `vpn.dttb.ru` | (тоже нет) |
|
||||
|
||||
## ⚠ Пустой локальный резолв (роутер не знает)
|
||||
|
||||
- `ai.dttb.ru` (публичный: 176.62.183.186)
|
||||
- `bit.dttb.ru` (публичный: 176.62.183.186)
|
||||
- `bitrix24.dttb.ru` (публичный: 176.62.183.186)
|
||||
- `bot.dttb.ru` (публичный: 176.62.183.186)
|
||||
- `dttb.ru` (публичный: 176.62.183.186)
|
||||
- `git.dttb.ru` (публичный: 176.62.183.186)
|
||||
- `home.dttb.ru` (публичный: 176.62.183.186)
|
||||
- `ip.dttb.ru` (публичный: 176.62.183.186)
|
||||
- `itilegent.ru` (публичный: -)
|
||||
- `link.dttb.ru` (публичный: 176.62.183.186)
|
||||
- `mail.dttb.ru` (публичный: 176.62.183.186)
|
||||
- `matrix.dttb.ru` (публичный: 176.62.183.186)
|
||||
- `npm.dttb.ru` (публичный: 176.62.183.186)
|
||||
- `office.dttb.ru` (публичный: 176.62.183.186)
|
||||
- `plex.dttb.ru` (публичный: 176.62.183.186)
|
||||
- `porteiner.dttb.ru` (публичный: 176.62.183.186)
|
||||
- `pve.dttb.ru` (публичный: 176.62.183.186)
|
||||
- `rec.dttb.ru` (публичный: 176.62.183.186)
|
||||
- `remot.dttb.ru` (публичный: 176.62.183.186)
|
||||
- `router.dttb.ru` (публичный: 176.62.183.186)
|
||||
- `vpn.dttb.ru` (публичный: -)
|
||||
- `z.dttb.ru` (публичный: 176.62.183.186)
|
||||
|
||||
## Полная таблица резолва
|
||||
|
||||
| Домен | 8.8.8.8 | 10.0.0.1 |
|
||||
|---|---|---|
|
||||
| `ai.dttb.ru` | 176.62.183.186 | — |
|
||||
| `bit.dttb.ru` | 176.62.183.186 | — |
|
||||
| `bitrix24.dttb.ru` | 176.62.183.186 | — |
|
||||
| `bot.dttb.ru` | 176.62.183.186 | — |
|
||||
| `dttb.ru` | 176.62.183.186 | — |
|
||||
| `git.dttb.ru` | 176.62.183.186 | — |
|
||||
| `home.dttb.ru` | 176.62.183.186 | — |
|
||||
| `ip.dttb.ru` | 176.62.183.186 | — |
|
||||
| `itilegent.ru` | — | — |
|
||||
| `link.dttb.ru` | 176.62.183.186 | — |
|
||||
| `mail.dttb.ru` | 176.62.183.186 | — |
|
||||
| `matrix.dttb.ru` | 176.62.183.186 | — |
|
||||
| `npm.dttb.ru` | 176.62.183.186 | — |
|
||||
| `office.dttb.ru` | 176.62.183.186 | — |
|
||||
| `plex.dttb.ru` | 176.62.183.186 | — |
|
||||
| `porteiner.dttb.ru` | 176.62.183.186 | — |
|
||||
| `pve.dttb.ru` | 176.62.183.186 | — |
|
||||
| `rec.dttb.ru` | 176.62.183.186 | — |
|
||||
| `remot.dttb.ru` | 176.62.183.186 | — |
|
||||
| `router.dttb.ru` | 176.62.183.186 | — |
|
||||
| `vpn.dttb.ru` | — | — |
|
||||
| `z.dttb.ru` | 176.62.183.186 | — |
|
||||
|
||||
---
|
||||
*Автоматически через `scripts/kb-audit-dns.py`.*
|
||||
73
audit/2026-05-17-drift.md
Normal file
73
audit/2026-05-17-drift.md
Normal file
@@ -0,0 +1,73 @@
|
||||
---
|
||||
date: 2026-05-17
|
||||
type: audit
|
||||
source: kb-audit.py
|
||||
tags: [audit, drift, infrastructure]
|
||||
---
|
||||
|
||||
# KB drift audit — 2026-05-17
|
||||
|
||||
Сравнение живого `pct list` / `qm list` с [[../projects/dttb/proxmox-inventory|proxmox-inventory.md]]
|
||||
|
||||
- Живых гостей Proxmox: **40**
|
||||
- Упомянуто в inventory: **38**
|
||||
- В обоих: 37 / только в live: 3 / отсутствуют в live: 0
|
||||
- Известны как удалённые: 1 (в `## 🗑️ Удалённые`)
|
||||
|
||||
## ⚠ В Proxmox есть, в inventory НЕТ (надо добавить)
|
||||
|
||||
| VMID | Type | Status | Name |
|
||||
|---|---|---|---|
|
||||
| 128 | LXC | stopped | profi-parser |
|
||||
| 131 | VM | running | ubuntu |
|
||||
| 139 | LXC | running | severny-les |
|
||||
|
||||
## ✓ Удалённые хосты (задокументированы): 135
|
||||
|
||||
## Полный живой список
|
||||
|
||||
| VMID | Type | Status | Name |
|
||||
|---|---|---|---|
|
||||
| 100 | VM | stopped | NV |
|
||||
| 101 | LXC | stopped | n8n |
|
||||
| 102 | LXC | stopped | SMB |
|
||||
| 103 | LXC | running | NPM |
|
||||
| 104 | VM | stopped | Agent-DVR |
|
||||
| 105 | VM | stopped | Nextcloud-AIO-dttb.ru |
|
||||
| 106 | VM | running | pbs |
|
||||
| 107 | VM | stopped | Mailcow |
|
||||
| 108 | LXC | stopped | zabbix |
|
||||
| 109 | VM | stopped | itilelegent |
|
||||
| 110 | VM | stopped | Cloud |
|
||||
| 111 | VM | running | WinServer2025 |
|
||||
| 112 | VM | stopped | cloud-dttb |
|
||||
| 113 | LXC | running | VaultWarden |
|
||||
| 114 | LXC | running | LinkWarden |
|
||||
| 115 | LXC | running | watchyourlan |
|
||||
| 116 | LXC | running | rustdeskserver |
|
||||
| 117 | LXC | stopped | motioneye |
|
||||
| 118 | LXC | stopped | plex |
|
||||
| 119 | LXC | stopped | myspeed |
|
||||
| 120 | VM | stopped | 7 |
|
||||
| 121 | LXC | stopped | docker-windows |
|
||||
| 122 | LXC | stopped | qbittorrent |
|
||||
| 123 | LXC | stopped | proxmox-local |
|
||||
| 124 | VM | stopped | Matrix |
|
||||
| 125 | VM | stopped | datacentr |
|
||||
| 126 | LXC | stopped | debian |
|
||||
| 127 | VM | running | haos-17.0 |
|
||||
| 128 | LXC | stopped | profi-parser |
|
||||
| 129 | VM | stopped | profi-parser-vm |
|
||||
| 130 | VM | stopped | Zima-OS |
|
||||
| 131 | VM | running | ubuntu |
|
||||
| 132 | LXC | running | code-server |
|
||||
| 133 | VM | running | s1c-buzharovo |
|
||||
| 134 | LXC | stopped | ZnamSecurityBot |
|
||||
| 136 | LXC | running | gitea |
|
||||
| 137 | LXC | running | openclaw |
|
||||
| 138 | LXC | stopped | vpn-proxy |
|
||||
| 139 | LXC | running | severny-les |
|
||||
| 250 | VM | running | Nextcloud-AIO |
|
||||
|
||||
---
|
||||
*Автоматически сгенерировано `scripts/kb-audit.py`. Применять правки — вручную после ревью.*
|
||||
202
audit/2026-05-17-health.md
Normal file
202
audit/2026-05-17-health.md
Normal file
@@ -0,0 +1,202 @@
|
||||
---
|
||||
date: 2026-05-17
|
||||
type: audit
|
||||
source: kb-health.py
|
||||
score: 785
|
||||
tags: [audit, health, metric]
|
||||
---
|
||||
|
||||
# KB health — 2026-05-17
|
||||
|
||||
**Score (меньше = лучше): `785`**
|
||||
Проверено файлов: 855
|
||||
|
||||
## Разбивка
|
||||
|
||||
| Категория | Кол-во | Вес | Штраф |
|
||||
|---|---:|---:|---:|
|
||||
| broken_wikilinks | 4 | 10 | 40 |
|
||||
| broken_paths | 48 | 10 | 480 |
|
||||
| missing_frontmatter | 21 | 3 | 63 |
|
||||
| orphan_files | 51 | 2 | 102 |
|
||||
| undated_todos | 70 | 1 | 70 |
|
||||
| duplicate_basenames | 6 | 5 | 30 |
|
||||
| **ИТОГО** | | | **785** |
|
||||
|
||||
## Битые wikilinks
|
||||
|
||||
| Откуда | `[[таргет]]` |
|
||||
|---|---|
|
||||
| `projects/dttb/graphify-out/GRAPH_REPORT.md` | `[[_COMMUNITY_Community 0]]` |
|
||||
| `projects/dttb/graphify-out/GRAPH_REPORT.md` | `[[_COMMUNITY_Community 1]]` |
|
||||
| `projects/dttb/graphify-out/GRAPH_REPORT.md` | `[[_COMMUNITY_Community 2]]` |
|
||||
| `projects/dttb/graphify-out/GRAPH_REPORT.md` | `[[_COMMUNITY_Community 3]]` |
|
||||
|
||||
## Битые relative-пути
|
||||
|
||||
| Откуда | Путь |
|
||||
|---|---|
|
||||
| `decisions/2026-05-05-mac-dictation-groq-hammerspoon.md` | `../../.claude/projects/-Users-ai-knowledge-base/memory/feedback_superwhisper_no_license.md` |
|
||||
| `decisions/2026-05-05-mac-dictation-groq-hammerspoon.md` | `../../.claude/projects/-Users-ai-knowledge-base/memory/reference_groq_api.md` |
|
||||
| `decisions/2026-05-05-mac-dictation-groq-hammerspoon.md` | `../../.claude/projects/-Users-ai-knowledge-base/memory/feedback_superwhisper_no_license.md` |
|
||||
| `notes/ru-geoblocked-services.md` | `../../.claude/projects/-Users-ai-knowledge-base/memory/feedback_win11_unattended_upgrade.md` |
|
||||
| `notes/ru-geoblocked-services.md` | `../../.claude/projects/-Users-ai-knowledge-base/memory/feedback_nspd_blocks_mts.md` |
|
||||
| `notes/claude/2026-04-21-200915-охотхозяйство-с-openwrt-на-orange-pi-нужно-настрои.md` | `projects/dttb/vps-swtest.md` |
|
||||
| `notes/claude/2026-04-24-194555-создай-учет-подключаемых-клиентов-со-всеми-данными.md` | `projects/dttb/credentials.md` |
|
||||
| `notes/claude/2026-04-20-113423-найди-информацию-по-настройке-openwrt-и-podcop-в-н.md` | `decisions/2026-04-20-niikn-nspd-bypass-via-lionart.md` |
|
||||
| `notes/claude/2026-04-28-122042-промт-для-claude-code-развёртывание-rustdesk-api-s.md` | `decisions/2026-04-28-rustdesk-lejianwen-pro-migration.md` |
|
||||
| `notes/claude/2026-04-28-122042-промт-для-claude-code-развёртывание-rustdesk-api-s.md` | `projects/dttb/rustdesk.md` |
|
||||
| `notes/claude/2026-04-28-122042-промт-для-claude-code-развёртывание-rustdesk-api-s.md` | `projects/dttb/credentials.md` |
|
||||
| `notes/claude/2026-04-30-221054-найди-инфу-вчера-оксане-делали-доступ-через-рустде.md` | `projects/niikn/office-pc.md` |
|
||||
| `notes/claude/2026-04-29-153123-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `projects/dttb/proxmox-inventory.md` |
|
||||
| `notes/claude/2026-04-29-153123-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `projects/dttb/credentials.md` |
|
||||
| `notes/claude/2026-04-29-231939-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `snippets/happ-routing-roscomvpn.md` |
|
||||
| `notes/claude/2026-04-24-194322-создай-учет-подключаемых-клиентов-со-всеми-данными.md` | `snippets/clients/yaroslav-amnezia-setup.md` |
|
||||
| `notes/claude/2026-04-24-194322-создай-учет-подключаемых-клиентов-со-всеми-данными.md` | `snippets/apple-id-us-on-russia.md` |
|
||||
| `notes/claude/2026-05-04-100627-можешь-составлять-графические-схемы-на-dttbruhttpd.md` | `projects/znamenskoye/network-topology-diagram.md` |
|
||||
| `notes/claude/2026-04-20-115126-найди-информацию-по-настройке-openwrt-и-podcop-в-н.md` | `projects/mmfb/mikrotik.md` |
|
||||
| `notes/claude/2026-04-20-115126-найди-информацию-по-настройке-openwrt-и-podcop-в-н.md` | `projects/niikn/mikrotik.md` |
|
||||
| `notes/claude/2026-04-24-165527-новый-клиент-ммфб-юрий-витальевич-нужно-подключить.md` | `projects/mmfb/yuri-vitalievich.md` |
|
||||
| `notes/claude/2026-04-29-160010-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `snippets/clients/yaroslav-happ-setup.md` |
|
||||
| `notes/claude/2026-05-04-085317-можешь-составлять-графические-схемы-на-dttbruhttpd.md` | `projects/dttb/network-topology-diagram.md` |
|
||||
| `notes/claude/2026-04-29-071329-на-компе-юрия-продолжим-проверь-он-сети.md` | `projects/mmfb/otchet-yuri-2026-04.md` |
|
||||
| `notes/claude/2026-04-21-203517-дай-мне-команду-в-сшел-виндовс-установка-нетбирд-и.md` | `/Users/ai/.claude/projects/-Users-ai-knowledge-base/memory/reference_netbird_claude_diag.md` |
|
||||
| `notes/claude/2026-04-29-150044-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `projects/dttb/vpn-clients.md` |
|
||||
| `notes/claude/2026-04-29-223542-создадим-еще-одного-пользователя-подключение-к-vpn.md` | `snippets/clients/sergey-znamenskoye-happ-setup.md` |
|
||||
| `notes/claude/2026-04-28-134112-можешь-найти-кп-мичуринец.md` | `projects/dttb/znamenskoye-network-topology.md` |
|
||||
| `notes/claude/2026-04-28-134112-можешь-найти-кп-мичуринец.md` | `claude-memory/benelux-topology.md` |
|
||||
| `notes/claude/2026-04-25-001105-на-сервере-glavtorg-можешь-запустить-виртулку-с-ам.md` | `projects/glavtorg/README.md` |
|
||||
| `notes/claude/2026-04-24-230658-создай-учет-подключаемых-клиентов-со-всеми-данными.md` | `snippets/clients/yaroslav-amnezia-setup.md` |
|
||||
| `notes/claude/2026-04-24-193827-создай-учет-подключаемых-клиентов-со-всеми-данными.md` | `snippets/clients/yaroslav-amnezia-setup.md` |
|
||||
| `notes/claude/2026-04-24-193827-создай-учет-подключаемых-клиентов-со-всеми-данными.md` | `projects/dttb/vpn-clients.md` |
|
||||
| `notes/claude/2026-04-29-180420-создадим-еще-одного-пользователя-подключение-к-vpn.md` | `snippets/clients/sergey-znamenskoye-happ-setup.md` |
|
||||
| `notes/claude/2026-04-20-101023-найди-информацию-по-настройке-openwrt-и-podcop-в-н.md` | `projects/niikn/openwrt-bypass.md` |
|
||||
| `notes/claude/2026-04-24-194414-создай-учет-подключаемых-клиентов-со-всеми-данными.md` | `snippets/clients/yaroslav-amnezia-setup.md` |
|
||||
| `notes/claude/2026-04-24-194414-создай-учет-подключаемых-клиентов-со-всеми-данными.md` | `snippets/apple-id-us-on-russia.md` |
|
||||
| `notes/claude/2026-05-04-124829-в-ниикн-нспд.md` | `projects/niikn/govru-quickfix-playbook.md` |
|
||||
| `notes/claude/2026-04-28-132949-промт-для-claude-code-развёртывание-rustdesk-api-s.md` | `projects/dttb/rustdesk.md` |
|
||||
| `notes/claude/2026-04-29-163821-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `snippets/amnezia-split-tunnel-ru.md` |
|
||||
| `notes/claude/2026-04-29-151943-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `snippets/clients/yaroslav-happ-setup.md` |
|
||||
| `notes/claude/2026-04-29-151943-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `projects/dttb/vpn-clients.md` |
|
||||
| `notes/claude/2026-04-29-151943-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `projects/dttb/credentials.md` |
|
||||
| `notes/claude/2026-05-04-093928-можешь-составлять-графические-схемы-на-dttbruhttpd.md` | `projects/niikn/network-topology-diagram.md` |
|
||||
| `notes/claude/2026-04-24-202451-новый-клиент-ммфб-юрий-витальевич-нужно-подключить.md` | `projects/mmfb/yuri-vitalievich.md` |
|
||||
| `notes/claude/2026-04-29-001915-на-компе-юрия-продолжим-проверь-он-сети.md` | `projects/mmfb/yuri-vitalievich.md` |
|
||||
| `notes/claude/2026-04-21-154602-охотхозяйство-с-openwrt-на-orange-pi-нужно-настрои.md` | `decisions/2026-04-21-znamenskoye-ohothozyistvo-wg-backup-channel.md` |
|
||||
| `notes/claude/2026-04-21-154602-охотхозяйство-с-openwrt-на-orange-pi-нужно-настрои.md` | `claude-memory/znamenskoye-ohothozyistvo.md` |
|
||||
|
||||
## Без frontmatter (21)
|
||||
|
||||
- `decisions/2026-05-05-mac-dictation-groq-hammerspoon.md`
|
||||
- `notes/ru-geoblocked-services.md`
|
||||
- `projects/dttb/znamenskoye-log.md`
|
||||
- `projects/niikn/office-pc.md`
|
||||
- `projects/niikn/kripto-arm.md`
|
||||
- `projects/mmfb/yuri-vitalievich.md`
|
||||
- `projects/mmfb/otchet-yuri-2026-04.md`
|
||||
- `projects/dttb/graphify-out/GRAPH_REPORT.md`
|
||||
- `snippets/happ-vpn-client-instruction.md`
|
||||
- `snippets/invoice-template.md`
|
||||
- `snippets/assets/happ-routing-roscomvpn/README-upstream.md`
|
||||
- `claude-memory/servicedesk-dttb.md`
|
||||
- `claude-memory/benelux.md`
|
||||
- `claude-memory/nextcloud-dttb.md`
|
||||
- `claude-memory/nvr-fix.md`
|
||||
- `claude-memory/videonablyudenie.md`
|
||||
- `claude-memory/znamenskoe-home.md`
|
||||
- `claude-memory/niikn-nextcloud.md`
|
||||
- `claude-memory/krasnogorsk.md`
|
||||
- `claude-memory/mas-niikn.md`
|
||||
- `claude-memory/MEMORY.md`
|
||||
|
||||
## Orphan — без бэклинков (51)
|
||||
|
||||
_Эти файлы никто не упоминает через `[[..]]`. Кандидаты на удаление или добавление ссылок._
|
||||
|
||||
- `decisions/2026-04-30-niikn-culture-gov-fakeip-fix.md`
|
||||
- `decisions/2026-04-20-niikn-nspd-bypass-via-lionart.md`
|
||||
- `decisions/2026-04-28-netbird-watchdog-lxc-132-137.md`
|
||||
- `decisions/2026-05-05-mac-dictation-groq-hammerspoon.md`
|
||||
- `decisions/2026-05-06-kb-search-overhaul.md`
|
||||
- `decisions/2026-04-28-niikn-uookn-sev-gov-fakeip-fix.md`
|
||||
- `decisions/2026-05-04-niikn-nspd-via-netbird-lionart.md`
|
||||
- `notes/ru-geoblocked-services.md`
|
||||
- `projects/dttb/network-topology-diagram.md`
|
||||
- `projects/niikn/office-pc.md`
|
||||
- `projects/niikn/mailcow.md`
|
||||
- `projects/niikn/NIIKN-Infrastructure.md`
|
||||
- `projects/niikn/groupfolders-migration.md`
|
||||
- `projects/niikn/credentials.md`
|
||||
- `projects/niikn/changelog.md`
|
||||
- `projects/niikn/matrix.md`
|
||||
- `projects/niikn/clawdbot-niikn.md`
|
||||
- `projects/niikn/proxmox.md`
|
||||
- `projects/niikn/NIIKN-ChangeLog.md`
|
||||
- `projects/niikn/npm.md`
|
||||
- `projects/niikn/openwrt-bypass.md`
|
||||
- `projects/niikn/network-topology-diagram.md`
|
||||
- `projects/niikn/NC-Talk-Setup.md`
|
||||
- `projects/niikn/domofon.md`
|
||||
- `projects/niikn/vpn.md`
|
||||
- `projects/mmfb/mikrotik.md`
|
||||
- `projects/dttb/graphify-out/GRAPH_REPORT.md`
|
||||
- `snippets/happ-routing-roscomvpn.md`
|
||||
- `snippets/invoice-template.md`
|
||||
- `snippets/clients/oksana-niikn-rustdesk.md`
|
||||
- ... +21 ещё
|
||||
|
||||
## TODO без даты (70 шт в 10 файлах)
|
||||
|
||||
- `decisions/2026-04-30-rustdesk-pre-prod-audit.md` — 13 шт
|
||||
- `projects/lipki/README.md` — 11 шт
|
||||
- `templates/vpn-client.md` — 7 шт
|
||||
- `decisions/2026-04-29-rustdesk-client-deployment-package.md` — 6 шт
|
||||
- `projects/openwrt-4/README.md` — 6 шт
|
||||
- `projects/benilux/README.md` — 6 шт
|
||||
- `projects/sergey/README.md` — 6 шт
|
||||
- `projects/dttb/vpn-clients.md` — 5 шт
|
||||
- `projects/vishnevyy-sad/README.md` — 5 шт
|
||||
- `claude-memory/mas-niikn.md` — 5 шт
|
||||
|
||||
## Дубликаты имён (6)
|
||||
|
||||
- `README.md`:
|
||||
- `README.md`
|
||||
- `decisions/README.md`
|
||||
- `notes/README.md`
|
||||
- `projects/znamenskoye/README.md`
|
||||
- `projects/openwrt-4/README.md`
|
||||
- `projects/dttb/README.md`
|
||||
- `projects/glavtorg/README.md`
|
||||
- `projects/benilux/README.md`
|
||||
- `projects/vishnevyy-sad/README.md`
|
||||
- `projects/sergey/README.md`
|
||||
- `projects/niikn/README.md`
|
||||
- `projects/lipki/README.md`
|
||||
- `projects/krasnogorsk/README.md`
|
||||
- `projects/mmfb/README.md`
|
||||
- `projects/buzharovo/README.md`
|
||||
- `projects/zelenograd/README.md`
|
||||
- `projects/dttb/nextcloud-talk-bot/README.md`
|
||||
- `snippets/README.md`
|
||||
- `snippets/mac-dictation/README.md`
|
||||
- `scripts/README.md`
|
||||
- `nextcloud.md`:
|
||||
- `projects/nextcloud.md`
|
||||
- `projects/dttb/nextcloud.md`
|
||||
- `network-topology-diagram.md`:
|
||||
- `projects/znamenskoye/network-topology-diagram.md`
|
||||
- `projects/dttb/network-topology-diagram.md`
|
||||
- `projects/niikn/network-topology-diagram.md`
|
||||
- `proxmox-inventory.md`:
|
||||
- `projects/dttb/proxmox-inventory.md`
|
||||
- `projects/mmfb/proxmox-inventory.md`
|
||||
- `credentials.md`:
|
||||
- `projects/dttb/credentials.md`
|
||||
- `projects/niikn/credentials.md`
|
||||
- `mikrotik.md`:
|
||||
- `projects/niikn/mikrotik.md`
|
||||
- `projects/mmfb/mikrotik.md`
|
||||
|
||||
---
|
||||
*Генерируется `scripts/kb-health.py`. JSON-версия в `audit/health-latest.json` для agent-loop.*
|
||||
62
audit/2026-05-17-npm-drift.md
Normal file
62
audit/2026-05-17-npm-drift.md
Normal file
@@ -0,0 +1,62 @@
|
||||
---
|
||||
date: 2026-05-17
|
||||
type: audit
|
||||
source: kb-audit-npm.py
|
||||
tags: [audit, drift, npm]
|
||||
---
|
||||
|
||||
# NPM drift audit — 2026-05-17
|
||||
|
||||
Сверка [[../projects/dttb/npm-proxy-hosts|npm-proxy-hosts.md]] с NPM API (https://npm.dttb.ru).
|
||||
|
||||
- Живых proxy hosts: **22**
|
||||
- В KB: **20**
|
||||
- Совпадений: 20 / новых: 2 / удалённых из NPM: 0 / с изменениями: 3
|
||||
|
||||
## ⚠ Новые hosts (в NPM есть, в KB нет)
|
||||
|
||||
| ID | Домены | Backend | SSL | Enabled |
|
||||
|---|---|---|---|---|
|
||||
| 26 | `router.dttb.ru` | `10.0.0.1:8080` | ✓ | on |
|
||||
| 27 | `vpn.dttb.ru` | `10.0.0.141:8443` | - | on |
|
||||
|
||||
## 🔄 Изменения (ID совпадает, но что-то сменилось)
|
||||
|
||||
### #12 `bitrix24.dttb.ru`
|
||||
- backend: KB=`10.0.0.223:8080` → live=`10.0.0.224:8080`
|
||||
|
||||
### #14 `remot.dttb.ru`
|
||||
- backend: KB=`10.0.0.43:21114` → live=`10.0.0.244:21114`
|
||||
|
||||
### #22 `git.dttb.ru`
|
||||
- ssl: KB=✗ → live=✓
|
||||
|
||||
## Полный живой список
|
||||
|
||||
| ID | Домены | Backend | SSL | Enabled |
|
||||
|---|---|---|---|---|
|
||||
| 1 | `dttb.ru` | `10.0.0.230:11001` | ✓ | on |
|
||||
| 2 | `office.dttb.ru` | `10.0.0.169:8080` | ✓ | on |
|
||||
| 3 | `itilegent.ru` | `10.0.0.223:8080` | ✓ | on |
|
||||
| 4 | `npm.dttb.ru` | `10.0.0.195:81` | ✓ | on |
|
||||
| 5 | `porteiner.dttb.ru` | `10.0.0.10:9443` | ✓ | on |
|
||||
| 6 | `pve.dttb.ru` | `10.0.0.250:8006` | ✓ | on |
|
||||
| 9 | `ai.dttb.ru` | `10.0.0.179:8080` | ✓ | on |
|
||||
| 10 | `bit.dttb.ru` | `10.0.0.217:8080` | ✓ | on |
|
||||
| 11 | `link.dttb.ru` | `10.0.0.184:3000` | ✓ | on |
|
||||
| 12 | `bitrix24.dttb.ru` | `10.0.0.224:8080` | ✓ | on |
|
||||
| 13 | `ip.dttb.ru` | `10.0.0.112:8840` | ✓ | on |
|
||||
| 14 | `remot.dttb.ru` | `10.0.0.244:21114` | ✓ | on |
|
||||
| 15 | `plex.dttb.ru` | `10.0.0.200:32400` | ✓ | on |
|
||||
| 16 | `home.dttb.ru` | `10.0.0.155:8123` | ✓ | on |
|
||||
| 17 | `z.dttb.ru` | `10.0.0.220:80` | ✓ | on |
|
||||
| 21 | `rec.dttb.ru` | `10.0.0.227:8091` | ✓ | on |
|
||||
| 22 | `git.dttb.ru` | `10.0.0.189:3000` | ✓ | on |
|
||||
| 23 | `matrix.dttb.ru` | `10.0.0.224:8080` | ✓ | on |
|
||||
| 25 | `mail.dttb.ru` | `10.0.0.107:443` | ✓ | on |
|
||||
| 26 | `router.dttb.ru` | `10.0.0.1:8080` | ✓ | on |
|
||||
| 27 | `vpn.dttb.ru` | `10.0.0.141:8443` | - | on |
|
||||
| 28 | `bot.dttb.ru` | `10.0.0.239:18789` | ✓ | on |
|
||||
|
||||
---
|
||||
*Автоматически через `scripts/kb-audit-npm.py`.*
|
||||
37
audit/2026-05-17-objects-audit.md
Normal file
37
audit/2026-05-17-objects-audit.md
Normal file
@@ -0,0 +1,37 @@
|
||||
---
|
||||
date: 2026-05-17
|
||||
type: audit
|
||||
source: scripts/kb-objects-audit.py
|
||||
tags: [audit, objects, frontmatter, links]
|
||||
score: 6
|
||||
---
|
||||
|
||||
# KB objects audit — 2026-05-17
|
||||
|
||||
**Score (меньше = лучше): `6`**
|
||||
|
||||
- Проектов с frontmatter: **13/13** (0 проблем)
|
||||
- NetBird online-пиров без проектной карточки: **3**
|
||||
- Битых wiki-ссылок `[[...]]`: **0**
|
||||
|
||||
## Frontmatter в projects/
|
||||
|
||||
✅ все проекты имеют валидный frontmatter
|
||||
|
||||
## Online netbird-пиры без проектной карточки
|
||||
|
||||
Эти пиры онлайн в NetBird, но не привязаны ни к одной projects/-странице.
|
||||
Бот не сможет ответить «найди X» осмысленно — нет файла или alias.
|
||||
|
||||
Лечение: либо создать stub в `projects/<slug>/README.md` (см. `projects/lipki/` как образец),
|
||||
либо добавить имя пира как полную строку в `aliases` подходящего проекта.
|
||||
|
||||
| NetBird-имя | IP | OS | Город |
|
||||
|---|---|---|---|
|
||||
| `DESKTOP-2IOQS54` | 100.70.82.83 | Windows 10 | Saransk |
|
||||
| `DESKTOP-AGBMLPN` | 100.70.0.106 | Windows 11 | Helsinki |
|
||||
| `DESKTOP-HL0BB05` | 100.70.235.80 | Windows 11 | Lipetsk |
|
||||
|
||||
## Битые wiki-ссылки
|
||||
|
||||
✅ битых ссылок не найдено
|
||||
185
audit/2026-05-17-proposed.md
Normal file
185
audit/2026-05-17-proposed.md
Normal file
@@ -0,0 +1,185 @@
|
||||
---
|
||||
date: 2026-05-17
|
||||
type: audit-proposed
|
||||
source: kb-audit-propose.sh (Opus 4.7)
|
||||
tags: [audit, proposed, inventory]
|
||||
---
|
||||
|
||||
# Предложенные правки inventory — 2026-05-17
|
||||
|
||||
Сгенерировано Claude Opus на основе [[2026-05-17-drift|drift-отчёта]].
|
||||
**Правки НЕ применены.** Ревью — ты. Apply — вручную.
|
||||
|
||||
## 1. Резюме
|
||||
|
||||
В Proxmox появились 3 гостя, отсутствующих в inventory (LXC 128 profi-parser — спорно, VM 131 ubuntu, LXC 139 severny-les). Также обнаружены расхождения статусов (Mailcow, ZnamSecurityBot, vpn-proxy стали stopped) и переименования удалённых VM 129/133, которые снова live.
|
||||
|
||||
---
|
||||
|
||||
## 2. Конкретные правки
|
||||
|
||||
### 2.1. VM 107 — Mailcow: статус running → stopped
|
||||
|
||||
Перенести из секции "🟢 Запущенные VM" в таблицу "🔴 Остановленные VM":
|
||||
|
||||
```diff
|
||||
- ### VM 107 — Mailcow
|
||||
- | Параметр | Значение |
|
||||
- |----------|----------|
|
||||
- | Статус | 🟢 running |
|
||||
- | CPU | 4 vCPU |
|
||||
- | RAM | 8 GB |
|
||||
- | Диск | 60 GB |
|
||||
- | IP | 10.0.0.107 |
|
||||
- | NPM домен | mail.dttb.ru |
|
||||
- | Назначение | Почтовый сервер dttb.ru |
|
||||
```
|
||||
|
||||
Добавить строку в таблицу остановленных VM:
|
||||
|
||||
```diff
|
||||
+ | 107 | Mailcow | 4 | 8 GB | 60 GB | Почтовый сервер dttb.ru (mail.dttb.ru) |
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 2.2. VM 131 — ubuntu: добавить (новый, running)
|
||||
|
||||
Добавить в секцию "🟢 Запущенные VM":
|
||||
|
||||
```diff
|
||||
+ ### VM 131 — ubuntu
|
||||
+ | Параметр | Значение |
|
||||
+ |----------|----------|
|
||||
+ | Статус | 🟢 running |
|
||||
+ | Назначение | Ubuntu (уточнить) |
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 2.3. VM 129 — profi-parser-vm: обновить в "Удалённые"
|
||||
|
||||
VM 129 жива (stopped) и переименована. Убрать из "Удалённые", добавить в остановленные VM:
|
||||
|
||||
```diff
|
||||
## 🗑️ Удалённые (история)
|
||||
- | 129 | Clawdbot | ~апрель 2026 | Данные перенесены на code-server (132) в `/root/backup-lxc129/`, IP 10.0.0.206 освобождён |
|
||||
```
|
||||
|
||||
```diff
|
||||
## 🔴 Остановленные VM (QEMU)
|
||||
+ | 129 | profi-parser-vm | — | — | — | Парсер profi (бывш. Clawdbot) |
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 2.4. VM 133 — s1c-buzharovo: обновить в "Удалённые"
|
||||
|
||||
VM 133 жива (running) и переименована. Убрать из "Удалённые", добавить в запущенные VM:
|
||||
|
||||
```diff
|
||||
## 🗑️ Удалённые (история)
|
||||
- | 133 | clawdbot-1 | ~апрель 2026 | Функционал мигрирован на openclaw (137) |
|
||||
```
|
||||
|
||||
```diff
|
||||
+ ### VM 133 — s1c-buzharovo
|
||||
+ | Параметр | Значение |
|
||||
+ |----------|----------|
|
||||
+ | Статус | 🟢 running |
|
||||
+ | Назначение | 1С Бужарово (уточнить) |
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 2.5. LXC 134 — ZnamSecurityBot: статус running → stopped
|
||||
|
||||
Убрать из секции "🟢 Запущенные LXC", добавить строку в "🔴 Остановленные LXC":
|
||||
|
||||
```diff
|
||||
- ### LXC 134 — ZnamSecurityBot
|
||||
- | Параметр | Значение |
|
||||
- |----------|----------|
|
||||
- | Статус | 🟢 running |
|
||||
- | IP | 10.0.0.238 |
|
||||
- | Tags | ai, assistant, community-script |
|
||||
- | Назначение | ZnamSecurity Telegram-бот |
|
||||
```
|
||||
|
||||
```diff
|
||||
## 🔴 Остановленные LXC
|
||||
+ | 134 | ZnamSecurityBot | ZnamSecurity Telegram-бот |
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 2.6. LXC 138 — vpn-proxy: статус running → stopped
|
||||
|
||||
Убрать из секции "🟢 Запущенные LXC", добавить строку в "🔴 Остановленные LXC":
|
||||
|
||||
```diff
|
||||
- ### LXC 138 — vpn-proxy
|
||||
- | Параметр | Значение |
|
||||
- |----------|----------|
|
||||
- | Статус | 🟢 running |
|
||||
- | IP | 10.0.0.141 (LAN) / 100.70.161.29 (NetBird) |
|
||||
- | Назначение | VPN-proxy (детали уточнить) |
|
||||
```
|
||||
|
||||
```diff
|
||||
## 🔴 Остановленные LXC
|
||||
+ | 138 | vpn-proxy | VPN-proxy |
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 2.7. LXC 139 — severny-les: добавить (новый, running)
|
||||
|
||||
Добавить в секцию "🟢 Запущенные LXC":
|
||||
|
||||
```diff
|
||||
+ ### LXC 139 — severny-les
|
||||
+ | Параметр | Значение |
|
||||
+ |----------|----------|
|
||||
+ | Статус | 🟢 running |
|
||||
+ | Назначение | Северный лес (уточнить) |
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 2.8. Обновить сводную таблицу
|
||||
|
||||
```diff
|
||||
- | QEMU VM | 15 | 5 | 10 |
|
||||
- | LXC | 21 | 11 | 10 |
|
||||
- | **Итого** | **36** | **16** | **20** |
|
||||
+ | QEMU VM | 17 | 5 | 12 |
|
||||
+ | LXC | 22 | 9 | 13 |
|
||||
+ | **Итого** | **39** | **14** | **25** |
|
||||
```
|
||||
|
||||
*(17 VM: +131, +129 из удалённых, +133 из удалённых; 22 LXC: +139; running: 5 VM (106,111,127,131,133,250=6 на самом деле... пересчитаю)*
|
||||
|
||||
Корректный пересчёт:
|
||||
- VM running: 106, 111, 127, 131, 133, 250 = **6**
|
||||
- VM stopped: 100, 104, 105, 107, 109, 110, 112, 120, 124, 125, 129, 130 = **12**
|
||||
- LXC running: 103, 113, 114, 115, 116, 132, 136, 137, 139 = **9**
|
||||
- LXC stopped: 101, 102, 108, 117, 118, 119, 121, 122, 123, 126, 128, 134, 138 = **13**
|
||||
|
||||
```diff
|
||||
+ | QEMU VM | 18 | 6 | 12 |
|
||||
+ | LXC | 22 | 9 | 13 |
|
||||
+ | **Итого** | **40** | **15** | **25** |
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. Предупреждения
|
||||
|
||||
1. **LXC 128 (profi-parser)** — drift-отчёт говорит что его нет в inventory, но он уже есть в таблице остановленных LXC. Возможно ложное срабатывание скрипта аудита. Правка не требуется.
|
||||
|
||||
2. **VM 129 и 133** — в inventory записаны как удалённые (Clawdbot, clawdbot-1), но live показывает их с другими именами (profi-parser-vm, s1c-buzharovo). Похоже VMID были переиспользованы. Историю стоит сохранить комментарием.
|
||||
|
||||
3. **VM 131 (ubuntu), LXC 139 (severny-les)** — нет данных об IP, ресурсах, назначении. Потребуется уточнение вручную (`pct config 139`, `qm config 131`).
|
||||
|
||||
4. **Дата обновления** в шапке файла: сменить `2026-04-17` → `2026-05-17`.
|
||||
52
audit/2026-05-24-creds-drift.md
Normal file
52
audit/2026-05-24-creds-drift.md
Normal file
@@ -0,0 +1,52 @@
|
||||
---
|
||||
date: 2026-05-24
|
||||
type: audit
|
||||
source: kb-audit-creds.py
|
||||
tags: [audit, creds, reachability]
|
||||
---
|
||||
|
||||
# Credentials reachability — 2026-05-24
|
||||
|
||||
Ping-проверка URL из [[../projects/dttb/credentials|credentials.md]].
|
||||
Проверяется только reachability (HTTP status), не реальный логин.
|
||||
|
||||
- Всего URL: **20**
|
||||
- ✓ Reachable: 15 / ⚠ Questionable: 3 / ❌ Unreachable: 2
|
||||
|
||||
## ❌ Недоступные (проверить: сервер упал? URL поменялся?)
|
||||
|
||||
| URL | Status | Detail | Контекст |
|
||||
|---|---|---|---|
|
||||
| `http://10.0.0.189:3000` | FAIL | [Errno 113] No route to host | --------- ---------- URL http://10.0.0.189:30 |
|
||||
| `http://git.dttb.ru` | 502 | Bad Gateway | RL http://10.0.0.189:3000 / http://git.dttb.ru |
|
||||
|
||||
## ⚠ Нестандартный ответ
|
||||
|
||||
| URL | Status | Detail |
|
||||
|---|---|---|
|
||||
| `https://remot.dttb.ru/swagger/index.html` | 404 | Not Found |
|
||||
| `https://api.netbird.io` | 404 | Not Found |
|
||||
| `https://api.netbird.io/api/setup-keys` | 404 | Not Found |
|
||||
|
||||
## ✓ Все ответили нормально
|
||||
|
||||
| URL | Status | Категория |
|
||||
|---|---|---|
|
||||
| `https://10.0.0.250:8006` | 200 | ✓ reachable |
|
||||
| `https://pve.dttb.ru` | 200 | ✓ reachable |
|
||||
| `http://10.0.0.195:81` | 200 | ✓ reachable |
|
||||
| `https://npm.dttb.ru` | 200 | ✓ reachable |
|
||||
| `https://remot.dttb.ru/_admin` | 200 | ✓ reachable |
|
||||
| `https://dttb.ru` | 200 | ✓ reachable |
|
||||
| `https://dttb.ru/remote.php/dav/files/admin` | 401 | ✓ auth-required (сервер жив) |
|
||||
| `https://vps.sweb.ru` | 200 | ✓ reachable |
|
||||
| `https://api.sweb.ru/domains/dns` | 200 | ✓ reachable |
|
||||
| `https://mail.niikn.com` | 200 | ✓ reachable |
|
||||
| `http://192.168.1.22:81` | 200 | ✓ reachable |
|
||||
| `https://edit.telegra.ph/auth/f1tfgzYpPpGlAr7cYHRzSeH59fYuNVB2V3fbCdypDc` | 200 | ✓ reachable |
|
||||
| `https://api.telegra.ph/createPage` | 200 | ✓ reachable |
|
||||
| `https://api.telegra.ph/editPage` | 200 | ✓ reachable |
|
||||
| `https://telegra.ph/Nastrojka-VPN-04-24-2` | 200 | ✓ reachable |
|
||||
|
||||
---
|
||||
*Автоматически через `scripts/kb-audit-creds.py`.*
|
||||
81
audit/2026-05-24-dns-drift.md
Normal file
81
audit/2026-05-24-dns-drift.md
Normal file
@@ -0,0 +1,81 @@
|
||||
---
|
||||
date: 2026-05-24
|
||||
type: audit
|
||||
source: kb-audit-dns.py
|
||||
tags: [audit, dns]
|
||||
---
|
||||
|
||||
# DNS resolve audit — 2026-05-24
|
||||
|
||||
Резолвим все домены из NPM через публичный DNS (8.8.8.8) и локальный роутер (10.0.0.1).
|
||||
|
||||
- Всего доменов: **22**
|
||||
- NXDOMAIN на 8.8.8.8: 2 / пустой ответ локально: 1 / split-horizon: 20
|
||||
|
||||
## ❌ NXDOMAIN / не резолвится на 8.8.8.8 (публичный DNS)
|
||||
|
||||
| Домен | Локальный IP |
|
||||
|---|---|
|
||||
| `itilegent.ru` | (тоже нет) |
|
||||
| `vpn.dttb.ru` | 10.0.0.195 |
|
||||
|
||||
## ⚠ Split-horizon — разные IP снаружи и внутри
|
||||
|
||||
Это нормально для *.dttb.ru (внешний Let's Encrypt IP vs локальный 10.0.0.195). Но неожиданный split может быть багом.
|
||||
|
||||
| Домен | Публичный (8.8.8.8) | Локальный (10.0.0.1) |
|
||||
|---|---|---|
|
||||
| `ai.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `bit.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `bitrix24.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `bot.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `git.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `home.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `ip.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `link.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `mail.dttb.ru` | 176.62.183.186 | 10.0.0.107 |
|
||||
| `matrix.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `npm.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `office.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `plex.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `porteiner.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `pve.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `rec.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `remot.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `router.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `z.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
|
||||
## ⚠ Пустой локальный резолв (роутер не знает)
|
||||
|
||||
- `itilegent.ru` (публичный: -)
|
||||
|
||||
## Полная таблица резолва
|
||||
|
||||
| Домен | 8.8.8.8 | 10.0.0.1 |
|
||||
|---|---|---|
|
||||
| `ai.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `bit.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `bitrix24.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `bot.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `git.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `home.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `ip.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `itilegent.ru` | — | — |
|
||||
| `link.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `mail.dttb.ru` | 176.62.183.186 | 10.0.0.107 |
|
||||
| `matrix.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `npm.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `office.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `plex.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `porteiner.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `pve.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `rec.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `remot.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `router.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
| `vpn.dttb.ru` | — | 10.0.0.195 |
|
||||
| `z.dttb.ru` | 176.62.183.186 | 10.0.0.195 |
|
||||
|
||||
---
|
||||
*Автоматически через `scripts/kb-audit-dns.py`.*
|
||||
72
audit/2026-05-24-drift.md
Normal file
72
audit/2026-05-24-drift.md
Normal file
@@ -0,0 +1,72 @@
|
||||
---
|
||||
date: 2026-05-24
|
||||
type: audit
|
||||
source: kb-audit.py
|
||||
tags: [audit, drift, infrastructure]
|
||||
---
|
||||
|
||||
# KB drift audit — 2026-05-24
|
||||
|
||||
Сравнение живого `pct list` / `qm list` с [[../projects/dttb/proxmox-inventory|proxmox-inventory.md]]
|
||||
|
||||
- Живых гостей Proxmox: **40**
|
||||
- Упомянуто в inventory: **39**
|
||||
- В обоих: 38 / только в live: 2 / отсутствуют в live: 0
|
||||
- Известны как удалённые: 1 (в `## 🗑️ Удалённые`)
|
||||
|
||||
## ⚠ В Proxmox есть, в inventory НЕТ (надо добавить)
|
||||
|
||||
| VMID | Type | Status | Name |
|
||||
|---|---|---|---|
|
||||
| 131 | VM | running | ubuntu |
|
||||
| 139 | LXC | running | severny-les |
|
||||
|
||||
## ✓ Удалённые хосты (задокументированы): 135
|
||||
|
||||
## Полный живой список
|
||||
|
||||
| VMID | Type | Status | Name |
|
||||
|---|---|---|---|
|
||||
| 100 | VM | stopped | NV |
|
||||
| 101 | LXC | stopped | n8n |
|
||||
| 102 | LXC | stopped | SMB |
|
||||
| 103 | LXC | running | NPM |
|
||||
| 104 | VM | stopped | Agent-DVR |
|
||||
| 105 | VM | stopped | Nextcloud-AIO-dttb.ru |
|
||||
| 106 | VM | running | pbs |
|
||||
| 107 | VM | stopped | Mailcow |
|
||||
| 108 | LXC | stopped | zabbix |
|
||||
| 109 | VM | stopped | itilelegent |
|
||||
| 110 | VM | stopped | Cloud |
|
||||
| 111 | VM | running | WinServer2025 |
|
||||
| 112 | VM | stopped | cloud-dttb |
|
||||
| 113 | LXC | running | VaultWarden |
|
||||
| 114 | LXC | running | LinkWarden |
|
||||
| 115 | LXC | running | watchyourlan |
|
||||
| 116 | LXC | running | rustdeskserver |
|
||||
| 117 | LXC | stopped | motioneye |
|
||||
| 118 | LXC | stopped | plex |
|
||||
| 119 | LXC | stopped | myspeed |
|
||||
| 120 | VM | stopped | 7 |
|
||||
| 121 | LXC | stopped | docker-windows |
|
||||
| 122 | LXC | stopped | qbittorrent |
|
||||
| 123 | LXC | stopped | proxmox-local |
|
||||
| 124 | VM | stopped | Matrix |
|
||||
| 125 | VM | stopped | datacentr |
|
||||
| 126 | LXC | stopped | debian |
|
||||
| 127 | VM | stopped | haos-17.0 |
|
||||
| 128 | LXC | stopped | profi-parser |
|
||||
| 129 | VM | stopped | profi-parser-vm |
|
||||
| 130 | VM | stopped | Zima-OS |
|
||||
| 131 | VM | running | ubuntu |
|
||||
| 132 | LXC | running | code-server |
|
||||
| 133 | VM | running | s1c-buzharovo |
|
||||
| 134 | LXC | stopped | ZnamSecurityBot |
|
||||
| 136 | LXC | running | gitea |
|
||||
| 137 | LXC | running | openclaw |
|
||||
| 138 | LXC | stopped | vpn-proxy |
|
||||
| 139 | LXC | running | severny-les |
|
||||
| 250 | VM | running | Nextcloud-AIO |
|
||||
|
||||
---
|
||||
*Автоматически сгенерировано `scripts/kb-audit.py`. Применять правки — вручную после ревью.*
|
||||
202
audit/2026-05-24-health.md
Normal file
202
audit/2026-05-24-health.md
Normal file
@@ -0,0 +1,202 @@
|
||||
---
|
||||
date: 2026-05-24
|
||||
type: audit
|
||||
source: kb-health.py
|
||||
score: 785
|
||||
tags: [audit, health, metric]
|
||||
---
|
||||
|
||||
# KB health — 2026-05-24
|
||||
|
||||
**Score (меньше = лучше): `785`**
|
||||
Проверено файлов: 862
|
||||
|
||||
## Разбивка
|
||||
|
||||
| Категория | Кол-во | Вес | Штраф |
|
||||
|---|---:|---:|---:|
|
||||
| broken_wikilinks | 4 | 10 | 40 |
|
||||
| broken_paths | 48 | 10 | 480 |
|
||||
| missing_frontmatter | 21 | 3 | 63 |
|
||||
| orphan_files | 51 | 2 | 102 |
|
||||
| undated_todos | 70 | 1 | 70 |
|
||||
| duplicate_basenames | 6 | 5 | 30 |
|
||||
| **ИТОГО** | | | **785** |
|
||||
|
||||
## Битые wikilinks
|
||||
|
||||
| Откуда | `[[таргет]]` |
|
||||
|---|---|
|
||||
| `projects/dttb/graphify-out/GRAPH_REPORT.md` | `[[_COMMUNITY_Community 0]]` |
|
||||
| `projects/dttb/graphify-out/GRAPH_REPORT.md` | `[[_COMMUNITY_Community 1]]` |
|
||||
| `projects/dttb/graphify-out/GRAPH_REPORT.md` | `[[_COMMUNITY_Community 2]]` |
|
||||
| `projects/dttb/graphify-out/GRAPH_REPORT.md` | `[[_COMMUNITY_Community 3]]` |
|
||||
|
||||
## Битые relative-пути
|
||||
|
||||
| Откуда | Путь |
|
||||
|---|---|
|
||||
| `decisions/2026-05-05-mac-dictation-groq-hammerspoon.md` | `../../.claude/projects/-Users-ai-knowledge-base/memory/feedback_superwhisper_no_license.md` |
|
||||
| `decisions/2026-05-05-mac-dictation-groq-hammerspoon.md` | `../../.claude/projects/-Users-ai-knowledge-base/memory/reference_groq_api.md` |
|
||||
| `decisions/2026-05-05-mac-dictation-groq-hammerspoon.md` | `../../.claude/projects/-Users-ai-knowledge-base/memory/feedback_superwhisper_no_license.md` |
|
||||
| `notes/ru-geoblocked-services.md` | `../../.claude/projects/-Users-ai-knowledge-base/memory/feedback_win11_unattended_upgrade.md` |
|
||||
| `notes/ru-geoblocked-services.md` | `../../.claude/projects/-Users-ai-knowledge-base/memory/feedback_nspd_blocks_mts.md` |
|
||||
| `notes/claude/2026-04-21-200915-охотхозяйство-с-openwrt-на-orange-pi-нужно-настрои.md` | `projects/dttb/vps-swtest.md` |
|
||||
| `notes/claude/2026-04-24-194555-создай-учет-подключаемых-клиентов-со-всеми-данными.md` | `projects/dttb/credentials.md` |
|
||||
| `notes/claude/2026-04-20-113423-найди-информацию-по-настройке-openwrt-и-podcop-в-н.md` | `decisions/2026-04-20-niikn-nspd-bypass-via-lionart.md` |
|
||||
| `notes/claude/2026-04-28-122042-промт-для-claude-code-развёртывание-rustdesk-api-s.md` | `decisions/2026-04-28-rustdesk-lejianwen-pro-migration.md` |
|
||||
| `notes/claude/2026-04-28-122042-промт-для-claude-code-развёртывание-rustdesk-api-s.md` | `projects/dttb/rustdesk.md` |
|
||||
| `notes/claude/2026-04-28-122042-промт-для-claude-code-развёртывание-rustdesk-api-s.md` | `projects/dttb/credentials.md` |
|
||||
| `notes/claude/2026-04-30-221054-найди-инфу-вчера-оксане-делали-доступ-через-рустде.md` | `projects/niikn/office-pc.md` |
|
||||
| `notes/claude/2026-04-29-153123-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `projects/dttb/proxmox-inventory.md` |
|
||||
| `notes/claude/2026-04-29-153123-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `projects/dttb/credentials.md` |
|
||||
| `notes/claude/2026-04-29-231939-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `snippets/happ-routing-roscomvpn.md` |
|
||||
| `notes/claude/2026-04-24-194322-создай-учет-подключаемых-клиентов-со-всеми-данными.md` | `snippets/clients/yaroslav-amnezia-setup.md` |
|
||||
| `notes/claude/2026-04-24-194322-создай-учет-подключаемых-клиентов-со-всеми-данными.md` | `snippets/apple-id-us-on-russia.md` |
|
||||
| `notes/claude/2026-05-04-100627-можешь-составлять-графические-схемы-на-dttbruhttpd.md` | `projects/znamenskoye/network-topology-diagram.md` |
|
||||
| `notes/claude/2026-04-20-115126-найди-информацию-по-настройке-openwrt-и-podcop-в-н.md` | `projects/mmfb/mikrotik.md` |
|
||||
| `notes/claude/2026-04-20-115126-найди-информацию-по-настройке-openwrt-и-podcop-в-н.md` | `projects/niikn/mikrotik.md` |
|
||||
| `notes/claude/2026-04-24-165527-новый-клиент-ммфб-юрий-витальевич-нужно-подключить.md` | `projects/mmfb/yuri-vitalievich.md` |
|
||||
| `notes/claude/2026-04-29-160010-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `snippets/clients/yaroslav-happ-setup.md` |
|
||||
| `notes/claude/2026-05-04-085317-можешь-составлять-графические-схемы-на-dttbruhttpd.md` | `projects/dttb/network-topology-diagram.md` |
|
||||
| `notes/claude/2026-04-29-071329-на-компе-юрия-продолжим-проверь-он-сети.md` | `projects/mmfb/otchet-yuri-2026-04.md` |
|
||||
| `notes/claude/2026-04-21-203517-дай-мне-команду-в-сшел-виндовс-установка-нетбирд-и.md` | `/Users/ai/.claude/projects/-Users-ai-knowledge-base/memory/reference_netbird_claude_diag.md` |
|
||||
| `notes/claude/2026-04-29-150044-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `projects/dttb/vpn-clients.md` |
|
||||
| `notes/claude/2026-04-29-223542-создадим-еще-одного-пользователя-подключение-к-vpn.md` | `snippets/clients/sergey-znamenskoye-happ-setup.md` |
|
||||
| `notes/claude/2026-04-28-134112-можешь-найти-кп-мичуринец.md` | `projects/dttb/znamenskoye-network-topology.md` |
|
||||
| `notes/claude/2026-04-28-134112-можешь-найти-кп-мичуринец.md` | `claude-memory/benelux-topology.md` |
|
||||
| `notes/claude/2026-04-25-001105-на-сервере-glavtorg-можешь-запустить-виртулку-с-ам.md` | `projects/glavtorg/README.md` |
|
||||
| `notes/claude/2026-04-24-230658-создай-учет-подключаемых-клиентов-со-всеми-данными.md` | `snippets/clients/yaroslav-amnezia-setup.md` |
|
||||
| `notes/claude/2026-04-24-193827-создай-учет-подключаемых-клиентов-со-всеми-данными.md` | `snippets/clients/yaroslav-amnezia-setup.md` |
|
||||
| `notes/claude/2026-04-24-193827-создай-учет-подключаемых-клиентов-со-всеми-данными.md` | `projects/dttb/vpn-clients.md` |
|
||||
| `notes/claude/2026-04-29-180420-создадим-еще-одного-пользователя-подключение-к-vpn.md` | `snippets/clients/sergey-znamenskoye-happ-setup.md` |
|
||||
| `notes/claude/2026-04-20-101023-найди-информацию-по-настройке-openwrt-и-podcop-в-н.md` | `projects/niikn/openwrt-bypass.md` |
|
||||
| `notes/claude/2026-04-24-194414-создай-учет-подключаемых-клиентов-со-всеми-данными.md` | `snippets/clients/yaroslav-amnezia-setup.md` |
|
||||
| `notes/claude/2026-04-24-194414-создай-учет-подключаемых-клиентов-со-всеми-данными.md` | `snippets/apple-id-us-on-russia.md` |
|
||||
| `notes/claude/2026-05-04-124829-в-ниикн-нспд.md` | `projects/niikn/govru-quickfix-playbook.md` |
|
||||
| `notes/claude/2026-04-28-132949-промт-для-claude-code-развёртывание-rustdesk-api-s.md` | `projects/dttb/rustdesk.md` |
|
||||
| `notes/claude/2026-04-29-163821-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `snippets/amnezia-split-tunnel-ru.md` |
|
||||
| `notes/claude/2026-04-29-151943-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `snippets/clients/yaroslav-happ-setup.md` |
|
||||
| `notes/claude/2026-04-29-151943-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `projects/dttb/vpn-clients.md` |
|
||||
| `notes/claude/2026-04-29-151943-сделай-красивую-ссылку-с-локацией-финляндия-для-ha.md` | `projects/dttb/credentials.md` |
|
||||
| `notes/claude/2026-05-04-093928-можешь-составлять-графические-схемы-на-dttbruhttpd.md` | `projects/niikn/network-topology-diagram.md` |
|
||||
| `notes/claude/2026-04-24-202451-новый-клиент-ммфб-юрий-витальевич-нужно-подключить.md` | `projects/mmfb/yuri-vitalievich.md` |
|
||||
| `notes/claude/2026-04-29-001915-на-компе-юрия-продолжим-проверь-он-сети.md` | `projects/mmfb/yuri-vitalievich.md` |
|
||||
| `notes/claude/2026-04-21-154602-охотхозяйство-с-openwrt-на-orange-pi-нужно-настрои.md` | `decisions/2026-04-21-znamenskoye-ohothozyistvo-wg-backup-channel.md` |
|
||||
| `notes/claude/2026-04-21-154602-охотхозяйство-с-openwrt-на-orange-pi-нужно-настрои.md` | `claude-memory/znamenskoye-ohothozyistvo.md` |
|
||||
|
||||
## Без frontmatter (21)
|
||||
|
||||
- `decisions/2026-05-05-mac-dictation-groq-hammerspoon.md`
|
||||
- `notes/ru-geoblocked-services.md`
|
||||
- `projects/dttb/znamenskoye-log.md`
|
||||
- `projects/niikn/office-pc.md`
|
||||
- `projects/niikn/kripto-arm.md`
|
||||
- `projects/mmfb/yuri-vitalievich.md`
|
||||
- `projects/mmfb/otchet-yuri-2026-04.md`
|
||||
- `projects/dttb/graphify-out/GRAPH_REPORT.md`
|
||||
- `snippets/happ-vpn-client-instruction.md`
|
||||
- `snippets/invoice-template.md`
|
||||
- `snippets/assets/happ-routing-roscomvpn/README-upstream.md`
|
||||
- `claude-memory/servicedesk-dttb.md`
|
||||
- `claude-memory/benelux.md`
|
||||
- `claude-memory/nextcloud-dttb.md`
|
||||
- `claude-memory/nvr-fix.md`
|
||||
- `claude-memory/videonablyudenie.md`
|
||||
- `claude-memory/znamenskoe-home.md`
|
||||
- `claude-memory/niikn-nextcloud.md`
|
||||
- `claude-memory/krasnogorsk.md`
|
||||
- `claude-memory/mas-niikn.md`
|
||||
- `claude-memory/MEMORY.md`
|
||||
|
||||
## Orphan — без бэклинков (51)
|
||||
|
||||
_Эти файлы никто не упоминает через `[[..]]`. Кандидаты на удаление или добавление ссылок._
|
||||
|
||||
- `decisions/2026-04-30-niikn-culture-gov-fakeip-fix.md`
|
||||
- `decisions/2026-04-20-niikn-nspd-bypass-via-lionart.md`
|
||||
- `decisions/2026-04-28-netbird-watchdog-lxc-132-137.md`
|
||||
- `decisions/2026-05-05-mac-dictation-groq-hammerspoon.md`
|
||||
- `decisions/2026-05-06-kb-search-overhaul.md`
|
||||
- `decisions/2026-04-28-niikn-uookn-sev-gov-fakeip-fix.md`
|
||||
- `decisions/2026-05-04-niikn-nspd-via-netbird-lionart.md`
|
||||
- `notes/ru-geoblocked-services.md`
|
||||
- `projects/dttb/network-topology-diagram.md`
|
||||
- `projects/niikn/office-pc.md`
|
||||
- `projects/niikn/mailcow.md`
|
||||
- `projects/niikn/NIIKN-Infrastructure.md`
|
||||
- `projects/niikn/groupfolders-migration.md`
|
||||
- `projects/niikn/credentials.md`
|
||||
- `projects/niikn/changelog.md`
|
||||
- `projects/niikn/matrix.md`
|
||||
- `projects/niikn/clawdbot-niikn.md`
|
||||
- `projects/niikn/proxmox.md`
|
||||
- `projects/niikn/NIIKN-ChangeLog.md`
|
||||
- `projects/niikn/npm.md`
|
||||
- `projects/niikn/openwrt-bypass.md`
|
||||
- `projects/niikn/network-topology-diagram.md`
|
||||
- `projects/niikn/NC-Talk-Setup.md`
|
||||
- `projects/niikn/domofon.md`
|
||||
- `projects/niikn/vpn.md`
|
||||
- `projects/mmfb/mikrotik.md`
|
||||
- `projects/dttb/graphify-out/GRAPH_REPORT.md`
|
||||
- `snippets/happ-routing-roscomvpn.md`
|
||||
- `snippets/invoice-template.md`
|
||||
- `snippets/clients/oksana-niikn-rustdesk.md`
|
||||
- ... +21 ещё
|
||||
|
||||
## TODO без даты (70 шт в 10 файлах)
|
||||
|
||||
- `decisions/2026-04-30-rustdesk-pre-prod-audit.md` — 13 шт
|
||||
- `projects/lipki/README.md` — 11 шт
|
||||
- `templates/vpn-client.md` — 7 шт
|
||||
- `decisions/2026-04-29-rustdesk-client-deployment-package.md` — 6 шт
|
||||
- `projects/openwrt-4/README.md` — 6 шт
|
||||
- `projects/benilux/README.md` — 6 шт
|
||||
- `projects/sergey/README.md` — 6 шт
|
||||
- `projects/dttb/vpn-clients.md` — 5 шт
|
||||
- `projects/vishnevyy-sad/README.md` — 5 шт
|
||||
- `claude-memory/mas-niikn.md` — 5 шт
|
||||
|
||||
## Дубликаты имён (6)
|
||||
|
||||
- `README.md`:
|
||||
- `README.md`
|
||||
- `decisions/README.md`
|
||||
- `notes/README.md`
|
||||
- `projects/znamenskoye/README.md`
|
||||
- `projects/openwrt-4/README.md`
|
||||
- `projects/dttb/README.md`
|
||||
- `projects/glavtorg/README.md`
|
||||
- `projects/benilux/README.md`
|
||||
- `projects/vishnevyy-sad/README.md`
|
||||
- `projects/sergey/README.md`
|
||||
- `projects/niikn/README.md`
|
||||
- `projects/lipki/README.md`
|
||||
- `projects/krasnogorsk/README.md`
|
||||
- `projects/mmfb/README.md`
|
||||
- `projects/buzharovo/README.md`
|
||||
- `projects/zelenograd/README.md`
|
||||
- `projects/dttb/nextcloud-talk-bot/README.md`
|
||||
- `snippets/README.md`
|
||||
- `snippets/mac-dictation/README.md`
|
||||
- `scripts/README.md`
|
||||
- `nextcloud.md`:
|
||||
- `projects/nextcloud.md`
|
||||
- `projects/dttb/nextcloud.md`
|
||||
- `network-topology-diagram.md`:
|
||||
- `projects/znamenskoye/network-topology-diagram.md`
|
||||
- `projects/dttb/network-topology-diagram.md`
|
||||
- `projects/niikn/network-topology-diagram.md`
|
||||
- `proxmox-inventory.md`:
|
||||
- `projects/dttb/proxmox-inventory.md`
|
||||
- `projects/mmfb/proxmox-inventory.md`
|
||||
- `credentials.md`:
|
||||
- `projects/dttb/credentials.md`
|
||||
- `projects/niikn/credentials.md`
|
||||
- `mikrotik.md`:
|
||||
- `projects/niikn/mikrotik.md`
|
||||
- `projects/mmfb/mikrotik.md`
|
||||
|
||||
---
|
||||
*Генерируется `scripts/kb-health.py`. JSON-версия в `audit/health-latest.json` для agent-loop.*
|
||||
62
audit/2026-05-24-npm-drift.md
Normal file
62
audit/2026-05-24-npm-drift.md
Normal file
@@ -0,0 +1,62 @@
|
||||
---
|
||||
date: 2026-05-24
|
||||
type: audit
|
||||
source: kb-audit-npm.py
|
||||
tags: [audit, drift, npm]
|
||||
---
|
||||
|
||||
# NPM drift audit — 2026-05-24
|
||||
|
||||
Сверка [[../projects/dttb/npm-proxy-hosts|npm-proxy-hosts.md]] с NPM API (https://npm.dttb.ru).
|
||||
|
||||
- Живых proxy hosts: **22**
|
||||
- В KB: **20**
|
||||
- Совпадений: 20 / новых: 2 / удалённых из NPM: 0 / с изменениями: 3
|
||||
|
||||
## ⚠ Новые hosts (в NPM есть, в KB нет)
|
||||
|
||||
| ID | Домены | Backend | SSL | Enabled |
|
||||
|---|---|---|---|---|
|
||||
| 26 | `router.dttb.ru` | `10.0.0.1:8080` | ✓ | on |
|
||||
| 27 | `vpn.dttb.ru` | `10.0.0.141:8443` | - | on |
|
||||
|
||||
## 🔄 Изменения (ID совпадает, но что-то сменилось)
|
||||
|
||||
### #12 `bitrix24.dttb.ru`
|
||||
- backend: KB=`10.0.0.223:8080` → live=`10.0.0.224:8080`
|
||||
|
||||
### #14 `remot.dttb.ru`
|
||||
- backend: KB=`10.0.0.43:21114` → live=`10.0.0.244:21114`
|
||||
|
||||
### #22 `git.dttb.ru`
|
||||
- ssl: KB=✗ → live=✓
|
||||
|
||||
## Полный живой список
|
||||
|
||||
| ID | Домены | Backend | SSL | Enabled |
|
||||
|---|---|---|---|---|
|
||||
| 1 | `dttb.ru` | `10.0.0.230:11001` | ✓ | on |
|
||||
| 2 | `office.dttb.ru` | `10.0.0.169:8080` | ✓ | on |
|
||||
| 3 | `itilegent.ru` | `10.0.0.223:8080` | ✓ | on |
|
||||
| 4 | `npm.dttb.ru` | `10.0.0.195:81` | ✓ | on |
|
||||
| 5 | `porteiner.dttb.ru` | `10.0.0.10:9443` | ✓ | on |
|
||||
| 6 | `pve.dttb.ru` | `10.0.0.250:8006` | ✓ | on |
|
||||
| 9 | `ai.dttb.ru` | `10.0.0.179:8080` | ✓ | on |
|
||||
| 10 | `bit.dttb.ru` | `10.0.0.217:8080` | ✓ | on |
|
||||
| 11 | `link.dttb.ru` | `10.0.0.184:3000` | ✓ | on |
|
||||
| 12 | `bitrix24.dttb.ru` | `10.0.0.224:8080` | ✓ | on |
|
||||
| 13 | `ip.dttb.ru` | `10.0.0.112:8840` | ✓ | on |
|
||||
| 14 | `remot.dttb.ru` | `10.0.0.244:21114` | ✓ | on |
|
||||
| 15 | `plex.dttb.ru` | `10.0.0.200:32400` | ✓ | on |
|
||||
| 16 | `home.dttb.ru` | `10.0.0.155:8123` | ✓ | on |
|
||||
| 17 | `z.dttb.ru` | `10.0.0.220:80` | ✓ | on |
|
||||
| 21 | `rec.dttb.ru` | `10.0.0.227:8091` | ✓ | on |
|
||||
| 22 | `git.dttb.ru` | `10.0.0.189:3000` | ✓ | on |
|
||||
| 23 | `matrix.dttb.ru` | `10.0.0.224:8080` | ✓ | on |
|
||||
| 25 | `mail.dttb.ru` | `10.0.0.107:443` | ✓ | on |
|
||||
| 26 | `router.dttb.ru` | `10.0.0.1:8080` | ✓ | on |
|
||||
| 27 | `vpn.dttb.ru` | `10.0.0.141:8443` | - | on |
|
||||
| 28 | `bot.dttb.ru` | `10.0.0.239:18789` | ✓ | on |
|
||||
|
||||
---
|
||||
*Автоматически через `scripts/kb-audit-npm.py`.*
|
||||
37
audit/2026-05-24-objects-audit.md
Normal file
37
audit/2026-05-24-objects-audit.md
Normal file
@@ -0,0 +1,37 @@
|
||||
---
|
||||
date: 2026-05-24
|
||||
type: audit
|
||||
source: scripts/kb-objects-audit.py
|
||||
tags: [audit, objects, frontmatter, links]
|
||||
score: 6
|
||||
---
|
||||
|
||||
# KB objects audit — 2026-05-24
|
||||
|
||||
**Score (меньше = лучше): `6`**
|
||||
|
||||
- Проектов с frontmatter: **13/13** (0 проблем)
|
||||
- NetBird online-пиров без проектной карточки: **3**
|
||||
- Битых wiki-ссылок `[[...]]`: **0**
|
||||
|
||||
## Frontmatter в projects/
|
||||
|
||||
✅ все проекты имеют валидный frontmatter
|
||||
|
||||
## Online netbird-пиры без проектной карточки
|
||||
|
||||
Эти пиры онлайн в NetBird, но не привязаны ни к одной projects/-странице.
|
||||
Бот не сможет ответить «найди X» осмысленно — нет файла или alias.
|
||||
|
||||
Лечение: либо создать stub в `projects/<slug>/README.md` (см. `projects/lipki/` как образец),
|
||||
либо добавить имя пира как полную строку в `aliases` подходящего проекта.
|
||||
|
||||
| NetBird-имя | IP | OS | Город |
|
||||
|---|---|---|---|
|
||||
| `DESKTOP-2IOQS54` | 100.70.82.83 | Windows 10 | Saransk |
|
||||
| `DESKTOP-AGBMLPN` | 100.70.0.106 | Windows 11 | Helsinki |
|
||||
| `DESKTOP-HL0BB05` | 100.70.235.80 | Windows 11 | Lipetsk |
|
||||
|
||||
## Битые wiki-ссылки
|
||||
|
||||
✅ битых ссылок не найдено
|
||||
13
audit/2026-05-24-proposed.md
Normal file
13
audit/2026-05-24-proposed.md
Normal file
@@ -0,0 +1,13 @@
|
||||
---
|
||||
date: 2026-05-24
|
||||
type: audit-proposed
|
||||
source: kb-audit-propose.sh (Opus 4.7)
|
||||
tags: [audit, proposed, inventory]
|
||||
---
|
||||
|
||||
# Предложенные правки inventory — 2026-05-24
|
||||
|
||||
Сгенерировано Claude Opus на основе [[2026-05-24-drift|drift-отчёта]].
|
||||
**Правки НЕ применены.** Ревью — ты. Apply — вручную.
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{
|
||||
"date": "2026-05-03",
|
||||
"score": 458,
|
||||
"date": "2026-05-24",
|
||||
"score": 785,
|
||||
"counts": {
|
||||
"broken_wikilinks": 7,
|
||||
"broken_paths": 20,
|
||||
"missing_frontmatter": 17,
|
||||
"orphan_files": 38,
|
||||
"undated_todos": 36,
|
||||
"duplicate_basenames": 5
|
||||
"broken_wikilinks": 4,
|
||||
"broken_paths": 48,
|
||||
"missing_frontmatter": 21,
|
||||
"orphan_files": 51,
|
||||
"undated_todos": 70,
|
||||
"duplicate_basenames": 6
|
||||
},
|
||||
"weights": {
|
||||
"broken_wikilinks": 10,
|
||||
@@ -17,5 +17,5 @@
|
||||
"undated_todos": 1,
|
||||
"duplicate_basenames": 5
|
||||
},
|
||||
"files_scanned": 327
|
||||
"files_scanned": 862
|
||||
}
|
||||
@@ -1,75 +0,0 @@
|
||||
---
|
||||
date: 2026-05-08
|
||||
type: decision
|
||||
tags: [decision, buzharovo, 1c, backup, mssql, effector-saver]
|
||||
---
|
||||
|
||||
# 2026-05-08: Бэкап Бужарово 1С — переход с Effector Saver DT на native MS SQL Backup
|
||||
|
||||
## Контекст
|
||||
|
||||
Вечером 2026-05-08, после починки rmngr-loop, регулярная задача `Бэкап 1Cv8` в Effector Saver Free 4.8/2 на `server1c.netbird.cloud` (Win 2012 R2, MSSQL 2012 SP4, 1С 8.3.27.1606) **отказывалась завершаться успешно**. Шесть подряд запусков (19:51 → 22:21) падали с одной и той же связкой ошибок:
|
||||
|
||||
1. `HRESULT=800401F3` — `V83.ComConnector` не зарегистрирован → Olег зарегистрировал через UI Effector Saver, переключился на 64-bit
|
||||
2. `HRESULT=80004005` — "Администратор кластера не аутентифицирован" — у кластера 1С есть проверка авторизации, но **в кластере нет ни одного admin'а**, а добавить нельзя:
|
||||
- В Серверной консоли 1С: `Локальный кластер → Администраторы` показывает количество=0, форма "Новый администратор" заполнена, но при OK **просит логин/пароль и не принимает agent-уровневый admin** (создан Olегом отдельно)
|
||||
- Через COM `V83.COMConnector`: `AuthenticateAgent('admin', '1qaz!QAZ')` проходит, но `RegClusterAdmin` падает "пользователь не выполнил аутентификацию для требуемой операции" (chicken-and-egg: для создания первого cluster admin нужен уже cluster admin)
|
||||
- Через `rac` с `--agent-user`: cluster operations не принимают agent-уровневую аутентификацию (design choice 1С)
|
||||
|
||||
3. `Ошибка исключительной блокировки информационной базы` — даже без cluster admin'а Effector Saver продолжает выгрузку, но не может получить эксклюзив, потому что в БД активные сессии. Особенно "вечная" сессия `КулябинПИ sid=4514, начат 12:55:42` — после моего рестарта службы 1С в 19:30 и последующих SQL `KILL` сессий, она **раз за разом возвращается** (вероятно, реально открытый где-то тонкий клиент Павла Ивановича + persistent state в `1CV8Clst.lst`).
|
||||
|
||||
## Что пробовали и почему не сработало
|
||||
|
||||
| Попытка | Результат |
|
||||
|---|---|
|
||||
| `regsvr32` x64 `comcntr.dll` | ✅ COM зарегистрирован, переключение Effector Saver на 64-bit убрало `800401F3` |
|
||||
| `Restart-Service '1C:Enterprise 8.3 Server Agent'` | ✅ rmngr вылечен, но session 4514 в реестре кластера **persists** между рестартами |
|
||||
| `KILL` SQL-сессий через `sa/Qwer1122334400` | ✅ временно (sess=0, locks=0), но 1С rphost восстанавливает соединения за 1-2 мин и сессия 4514 reanimates |
|
||||
| `rac cluster admin register` без auth | ❌ "оператор не существует" |
|
||||
| `RegClusterAdmin` через COM с `AuthenticateAgent` | ❌ "пользователь не аутентифицирован для требуемой операции" |
|
||||
| GUI Серверной консоли 1С — добавить cluster admin | ❌ форма не сохраняет, требует cluster auth (которой нет) |
|
||||
|
||||
Тупик: **в кластере БД 1С нет cluster admin'а, и зарегистрировать первого нельзя ни через GUI, ни через rac, ни через COM.** Возможный единственный путь — обнулить `srvinfo\reg_1541\1CV8Clst.lst` целиком (потеря и админов, и регистрации ИБ — нужна перерегистрация ИБ с SQL params; рискованно).
|
||||
|
||||
## Решение: native MS SQL Backup
|
||||
|
||||
Effector Saver делает **DT-выгрузку через 1С Конфигуратор** (`1cv8.exe DESIGNER /DumpIB`), которая требует эксклюзив на ИБ. Это исторический способ для **файловых** ИБ. Для **клиент-серверных** ИБ на MS SQL правильный путь — **`BACKUP DATABASE` на уровне SQL Server**:
|
||||
|
||||
- ✅ **Online backup** — снимает копию во время работы, не требует эксклюзива
|
||||
- ✅ Не зависит от 1С-кластера, cluster admin'а, активных сессий
|
||||
- ✅ С `WITH COMPRESSION` файл сжимается ~3:1 (3.8 GB → 1.1 GB)
|
||||
- ✅ Быстрее — у нас 2 секунды на 3.8 GB БД
|
||||
- ✅ Восстанавливается одним запросом `RESTORE DATABASE`
|
||||
|
||||
Реализация:
|
||||
|
||||
```sql
|
||||
BACKUP DATABASE [RitmUl]
|
||||
TO DISK = N'C:\backup\RitmUl_<ts>.bak'
|
||||
WITH FORMAT, INIT, NAME = N'RitmUl-Full',
|
||||
SKIP, NOREWIND, NOUNLOAD, COMPRESSION, COPY_ONLY,
|
||||
STATS = 5
|
||||
```
|
||||
|
||||
`COPY_ONLY` — чтобы наш бэкап не ломал log chain если потом настроят differential/log backups.
|
||||
|
||||
Запускается через WinRM `python3 + System.Data.SqlClient` с LXC 139 `severny-les` (бот). Storage: `C:\backup\` на server1c (374 GB свободно).
|
||||
|
||||
## Артефакт
|
||||
|
||||
- **Первый успешный бэкап 2026-05-08:** `C:\backup\RitmUl_2026-05-08_2225.bak` (1105 MB)
|
||||
- **Скрипт:** `/root/clawd/scripts/sql_native_backup.py` на LXC 139
|
||||
|
||||
## TODO (после возвращения Olега из Египта)
|
||||
|
||||
1. **Автоматизировать** — добавить cron на LXC 139 `severny-les`: каждый день в 03:00 МСК запускать `sql_native_backup.py`, ротировать (хранить N дней). Алерт в Telegram-группу при сбое.
|
||||
2. **Ротация и трансфер** — настроить копирование `.bak` файлов на внешний носитель (Nextcloud / S3 / Gitea-LFS).
|
||||
3. **Тест восстановления** — раз в N дней автоматически развернуть бэкап в тестовую БД и проверить целостность.
|
||||
4. **Effector Saver** оставить как есть, не чинить (чинить cluster admin = разбирать `1CV8Clst.lst` бинарник, риск убить ИБ). Можно отключить регулярную задачу `Бэкап 1Cv8` в Effector Saver чтобы не плодились алерты "ошибка".
|
||||
5. **TODO документировать** SQL creds в `projects/dttb/credentials.md` (см. блок Бужарово).
|
||||
|
||||
## Связанные
|
||||
|
||||
- [[projects/buzharovo/server1c]] — обновлён с SQL backup как новый канон
|
||||
- [[projects/buzharovo/severny-les-bot]] — бот теперь умеет бэкапить через WinRM+SQL
|
||||
- [[decisions/2026-05-07-buzharovo-1c-rmngr-loop-after-crash]] — про rmngr (отдельная история, починена)
|
||||
@@ -1,77 +0,0 @@
|
||||
---
|
||||
date: 2026-05-08
|
||||
type: decision
|
||||
tags: [decision, buzharovo, bot, openclaw, watchdog, telegram]
|
||||
---
|
||||
|
||||
# 2026-05-08: Северный лес — отдельный AI-ассистент + watchdog для server1c (Бужарово)
|
||||
|
||||
## Контекст
|
||||
|
||||
Олег уезжает в отпуск в Египет 2026-05-09 → 2026-05-22. На server1c (Бужарово, VDS 185.13.47.2 / NetBird 100.70.75.103) недавно (2026-05-07) был rmngr-loop, который лечится только `Restart-Service '1C:Enterprise 8.3 Server Agent (x86-64)' -Force` — ребут не помогает (см. [[decisions/2026-05-07-buzharovo-1c-rmngr-loop-after-crash]]).
|
||||
|
||||
Пока Олег в отпуске, нужно:
|
||||
1. Чтобы кто-то узнавал когда сервер упал (Telegram-группа руководящего состава Северного леса);
|
||||
2. Чтобы можно было дёрнуть восстановительное действие (`/approve restart_1c`) не дожидаясь возвращения Олега из Египта.
|
||||
|
||||
Через ~2 недели (после Египта) планируется миграция server1c с VDS на собственный сервер. Бот должен работать **до и после** миграции — поэтому он не на самом server1c, а на dttb-Proxmox через NetBird.
|
||||
|
||||
## Развилка: clawdbot vs openclaw vs другой watchdog
|
||||
|
||||
Рассматривались три варианта:
|
||||
|
||||
| Вариант | Плюсы | Минусы |
|
||||
|---|---|---|
|
||||
| **clawdbot** (как у [[projects/niikn/clawdbot-niikn|Максимки-Мауля]]) | Проверенный рецепт, проще | Старый стек, не обновляется. exec-approvals самописные. |
|
||||
| **openclaw** (свежий стек 137) | Встроенный `exec-approvals.json` whitelist для shell-команд. Plugins, skills, делегирование на Opus 4.7 через Max. Свежий, активная разработка. | Жёсткая schema, есть тонкости (bonjour, IPv6, FakeIP DNS) — но они уже разобраны на 137. |
|
||||
| **Голый watchdog без AI** | Минимум зависимостей. | Нет диагностики "почему упало". Невозможно дёрнуть `/restart_1c` через `/approve` — только ручной WinRM. |
|
||||
|
||||
**Решение:** **openclaw** — встроенный whitelist для shell-команд (`exec-approvals.json`) — это прямо то что нужно для `/approve` flow. Плюс Опус 4.7 через Max.
|
||||
|
||||
## Архитектура
|
||||
|
||||
**Изоляция от Максимки (LXC 137):** не подвешиваем как доп.канал на 137 — если openclaw на 137 упадёт (а это бывает: bonjour, FakeIP, Kiro 402), упадут и алерты Бужарово. Для критичной мониторинг-задачи нужен **отдельный** инстанс.
|
||||
|
||||
**Хост:** новый LXC 139 на dttb (10.0.0.240, NetBird 100.70.212.78, Ubuntu 24.04, 2c/4GB/10GB).
|
||||
|
||||
**Два слоя независимых:**
|
||||
1. **buzharovo-watchdog** — bash + curl→TG bot API напрямую, systemd timer 60s. **Не зависит от openclaw.** Если AI-часть упала, алерт всё равно дойдёт.
|
||||
2. **openclaw 2026.5.7** — AI-помощник для диагностики и `/approve`-action'ов через WinRM.
|
||||
|
||||
**Алерт-уровни:**
|
||||
- `OK` — всё доступно;
|
||||
- `WARNING` — часть проверок упала;
|
||||
- `WARNING_NETBIRD` — NetBird до server1c лежит, публично сервер виден;
|
||||
- `CRITICAL` — сервер не отвечает ни публично, ни через NetBird.
|
||||
|
||||
Антиспам: алерт шлётся **только при смене уровня**, состояние в `/var/lib/severny-les/state.json`.
|
||||
|
||||
**WinRM-actions с подтверждением:**
|
||||
- read-only без approval (`/status`, `/check_1c`, `/check_rmngr`);
|
||||
- destructive с обязательным `/approve` от Олега `1292155421` (`/restart_1c`, `/kill_orphan_ragent`);
|
||||
- ребута сервера НЕ даём (по опыту 2026-05-07 не помогает rmngr-loop).
|
||||
|
||||
## Превентивные правки на старте (уроки 137)
|
||||
|
||||
Все три "ловушки openclaw" пропатчены сразу:
|
||||
1. `plugins.entries.bonjour.enabled = false` — против mDNS crash-loop (см. [[projects/dttb/openclaw#Crash-loop-каждые-40-сек]]).
|
||||
2. `pct set 139 --nameserver '1.1.1.1 8.8.8.8'` + правка `/etc/resolv.conf` — против FakeIP DNS от 10.0.0.1.
|
||||
3. `NODE_OPTIONS=--dns-result-order=ipv4first` в systemd unit — против IPv6-сбоев Telegram API.
|
||||
|
||||
systemd unit для openclaw — **system-level** (`/etc/systemd/system/openclaw-gateway.service`), а не `--user` как на 137. В LXC без user-session `systemctl --user` не работает (`Failed to connect to bus`).
|
||||
|
||||
## Что осталось сделать после возвращения Олега
|
||||
|
||||
1. **NetBird ACL** `severny-les` → `server1c` (порт 5985 TCP минимум) — без него WinRM-actions не работают, watchdog мониторит только публичные проверки.
|
||||
2. **Добавить @bz_sl_bot в TG-группу** руководящего состава, узнать `chat_id`, обновить `/etc/severny-les/watchdog.env` `BZ_TG_CHAT` и `openclaw.json` `groupAllowFrom`.
|
||||
3. После миграции server1c на свой сервер — обновить IP в `/root/clawd/INFRASTRUCTURE.md` и в `buzharovo-watchdog.sh`.
|
||||
|
||||
## Артефакты
|
||||
|
||||
- LXC 139 `severny-les` (10.0.0.240)
|
||||
- TG bot `@bz_sl_bot` (token `8322860033:...`)
|
||||
- Справочник: [[projects/buzharovo/severny-les-bot]]
|
||||
- Persona: `/root/clawd/{IDENTITY,INFRASTRUCTURE,USER,SOUL,TOOLS,MEMORY,HEARTBEAT}.md`
|
||||
- Скрипты: `/root/clawd/scripts/check_buzharovo.sh`, `winrm_lib.py`, `check_1c_service.py`, `check_rmngr_cpu.py`, `restart_1c_agent.py`, `kill_orphan_ragent.py`, `heartbeat.sh`
|
||||
- Watchdog: `/usr/local/bin/buzharovo-watchdog.sh` + `.service` + `.timer` (60s); `netbird-watchdog` clone с 137 (2 мин)
|
||||
- Whitelist: `/root/.openclaw/exec-approvals.json`
|
||||
@@ -1,85 +0,0 @@
|
||||
---
|
||||
date: 2026-05-14
|
||||
type: decision
|
||||
tags: [decision, buzharovo, watchdog, netbird, monitoring, openclaw]
|
||||
---
|
||||
|
||||
# 2026-05-14: Watchdog Бужарово — только публичный канал, NetBird вынесен из alert level
|
||||
|
||||
## Контекст
|
||||
|
||||
Олег в Египте, прислал что бот "сыпал ошибками вчера, попросил отключить мониторинг". Разведка:
|
||||
|
||||
1. **Все сервисы на LXC 139 живы** (`openclaw-gateway`, `buzharovo-watchdog.timer`, `netbird-watchdog.timer`, `netbird.service` — `active+enabled`). Олег ничего не отключал.
|
||||
2. **Watchdog v1 правильно держал `WARNING_NETBIRD`** (последний алерт 13 мая ~19:32 МСК), антиспам корректный — повторных алертов не слал.
|
||||
3. **Истинный источник "ошибок"** — `openclaw primary model = omniroute/cc/claude-opus-4-7` упёрся в лимит Max-подписки:
|
||||
```
|
||||
omniroute (cc/claude-opus-4-7) returned a billing error — your API key has run out of credits
|
||||
400 [400]: You're out of extra usage. Add more at claude.ai/settings/usage and keep going.
|
||||
```
|
||||
Каждое сообщение в боте + каждое ночное `memory-core dreaming` (cron 03:00) → billing 400 → failover на `kr/claude-sonnet-4.5`. На клиенте часть запросов могла отдаться с ошибкой раньше чем failover отработал.
|
||||
4. **Server1C NetBird daemon (Windows)** регулярно flap'ает, `last_seen=2026-05-13T08:24:26` — > 25 часов вне mesh, хотя сервер сам публично жив (ping + RDP 3389 OK).
|
||||
|
||||
## Решения
|
||||
|
||||
### Фикс 1: primary model → free Sonnet 4.5
|
||||
|
||||
`/root/.openclaw/openclaw.json`:
|
||||
```json
|
||||
{
|
||||
"primary": "omniroute/kr/claude-sonnet-4.5",
|
||||
"fallbacks": [
|
||||
"omniroute/cc/claude-sonnet-4-6",
|
||||
"omniroute/gh/claude-sonnet-4.5",
|
||||
"omniroute/cc/claude-opus-4-7"
|
||||
]
|
||||
}
|
||||
```
|
||||
Hot-reload подхватился. Backup конфига — `/root/.openclaw/openclaw.json.bak.opus-billing-<ts>`.
|
||||
|
||||
**Возврат на Opus как primary — только после пополнения Max** или подключения второго конектора в OmniRoute.
|
||||
|
||||
### Фикс 2: watchdog v2 — только публичный канал
|
||||
|
||||
Переписан `/usr/local/bin/buzharovo-watchdog.sh`. Логика alert-level **больше не учитывает NetBird-проверки**:
|
||||
|
||||
- `OK` — `ping 185.13.47.2` ✓ + `TCP 3389` (RDP) ✓
|
||||
- `DEGRADED` — один из публичных упал
|
||||
- `CRITICAL` — оба публичных упали
|
||||
|
||||
NetBird-уровень (`ping 100.70.75.103` + `TCP 5985`) **только логируется** в `state.json` (`ping_nb`, `winrm_nb`), но не меняет level и не порождает алерт.
|
||||
|
||||
При первом алерте в новую сессию (prev_level=INIT) добавляется пометка:
|
||||
> _NetBird до сервера сейчас лежит — это известная регулярная проблема со стороны Windows-сервера, не влияет на работу 1С для пользователей. Watchdog проверяет только публичный канал._
|
||||
|
||||
**Почему так:** NetBird daemon на Server1C (Windows 2012 R2) теряет mesh-сессию регулярно (memory `feedback_netbird_watchdog`). Лечится `Restart-Service netbird` через RDP — но это ручная операция, и поток алертов из-за этого был шумом, а не сигналом. Сервер для пользователей в Бужарово при этом работает — 1С локально доступна.
|
||||
|
||||
**Что теряем:** WinRM-actions (`check_1c_service.py`, `check_rmngr_cpu.py`, `restart_1c_agent.py`, `sql_native_backup.py`) идут через NetBird (`100.70.75.103:5985`). Когда NetBird падает — эти actions недоступны. Бот в группе об этом честно скажет: "Не могу проверить состояние службы 1С — туннель до сервера временно лежит". Восстанавливается после `Restart-Service netbird` на server1c через RDP.
|
||||
|
||||
**Что НЕ теряем:** алерты о реально критичных событиях (сервер физически лёг публично, сеть провайдера упала, RDP закрылся).
|
||||
|
||||
## Деплой
|
||||
|
||||
```bash
|
||||
pct push 139 wd.sh /usr/local/bin/buzharovo-watchdog.sh
|
||||
chmod +x /usr/local/bin/buzharovo-watchdog.sh
|
||||
chown root:root /usr/local/bin/buzharovo-watchdog.sh
|
||||
echo "{}" > /var/lib/severny-les/state.json # force re-evaluate
|
||||
# Manual run → level=OK, alert "Мониторинг включён" ушёл в группу
|
||||
```
|
||||
|
||||
## Обновления в vault и persona
|
||||
|
||||
- `/root/clawd/MEMORY.md` на LXC 139 — добавлены уроки про Opus billing + watchdog v2
|
||||
- [[projects/buzharovo/severny-les-bot]] — обновить ссылку на watchdog v2 (TODO)
|
||||
- Этот decision-файл
|
||||
|
||||
## NetBird route 10.0.0.0/24 — попутно
|
||||
|
||||
Существующий route `Dom` (`cud7q73l0ubs73dr3gc0`) advertised через peer `pve 100.70.121.235 (Эстония)`, **disconnected**. Переключил routing peer на **`openclaw` (`d79s9g2fadhs739mihkg`)** через PUT `/api/routes/cud7q73l0ubs73dr3gc0`. Mac получил доступ к 10.0.0.0/24 через NetBird → openclaw → LAN.
|
||||
|
||||
## TODO (опционально, не сейчас)
|
||||
|
||||
- **Reverse SSH-туннель** server1c → severny-les для WinRM-actions без зависимости от NetBird. Server1C сам делает outbound SSH → LXC 139 пробрасывает 127.0.0.1:55985 → server1c:5985. WinRM-скрипты целятся в `localhost:55985`. Решает проблему "NetBird лёг — WinRM недоступен".
|
||||
- **HTTPS WinRM (5986)** публично с certificate-pin'ом — альтернатива через интернет, но требует настройки SSL и хорошего firewall.
|
||||
- **Ночной cron sql_native_backup.py** — автоматизация ежедневных бэкапов БД (TODO от 2026-05-08, см. соответствующий decision).
|
||||
101
decisions/2026-05-26-antoshka-opus47-kiro-not-viable.md
Normal file
101
decisions/2026-05-26-antoshka-opus47-kiro-not-viable.md
Normal file
@@ -0,0 +1,101 @@
|
||||
---
|
||||
date: 2026-05-26
|
||||
type: decision
|
||||
tags: [decision, bot, openclaw, omniroute]
|
||||
---
|
||||
|
||||
# Антошка на Opus 4.7: Kiro/GH-free варианты нерабочие, primary остаётся cc/ (Max-подписка)
|
||||
|
||||
**Дата:** 2026-05-26
|
||||
**Статус:** Реализовано (конфиг откатан на cc/claude-opus-4-7)
|
||||
|
||||
## Контекст
|
||||
|
||||
- LXC 137 (бывшая "Максимка", переименовано в **"Антошка"** 2026-05-26)
|
||||
- Цель: перевести Антошку с Sonnet 4.5/Opus 4.6 на **Opus 4.7** как primary
|
||||
- Гипотеза: использовать бесплатный `kr/claude-opus-4.7` через Kiro (AWS Free Tier), как уже работает для `kr/claude-sonnet-4.5`. Если квоты не хватит — добавить ещё Kiro-учёток.
|
||||
|
||||
## Что попробовал
|
||||
|
||||
### 1. Переключил primary на `omniroute/kr/claude-opus-4.7`
|
||||
|
||||
Добавил модель в `models.providers.omniroute.models` (её там не было — только `cc/claude-opus-4-7`):
|
||||
```bash
|
||||
openclaw config set agents.defaults.model.primary omniroute/kr/claude-opus-4.7
|
||||
openclaw config set agents.defaults.model.fallbacks \
|
||||
'["omniroute/cc/claude-opus-4-7","omniroute/cc/claude-sonnet-4-6","omniroute/cx/gpt-5.4"]'
|
||||
```
|
||||
Hot reload применился, gateway: `agent model: omniroute/kr/claude-opus-4.7`.
|
||||
|
||||
### 2. Результат — каскадный фейл всех Anthropic-каналов
|
||||
|
||||
Первый же реальный запрос (Telegram):
|
||||
```
|
||||
14:02:18 kr/claude-opus-4.7 → 402 You have reached the limit (×4 раза по разным учёткам)
|
||||
14:04:21 kr/claude-opus-4.7 → 400 No credentials for provider: kiro
|
||||
14:04:24 cc/claude-opus-4-7 → 400 You're out of extra usage (Max-подписка выгорела)
|
||||
14:04:26 cc/claude-sonnet-4-6 → 400 You're out of extra usage
|
||||
14:04:50 cx/gpt-5.4 → 200 success (Codex выручил)
|
||||
```
|
||||
|
||||
### 3. Состояние Kiro в OmniRoute (LXC 132, storage.sqlite)
|
||||
|
||||
```
|
||||
provider_connections WHERE provider='kiro':
|
||||
5 connections: 4 × credits_exhausted + 1 × banned
|
||||
```
|
||||
|
||||
Все Opus 4.7 вызовы через Kiro **сегодня и исторически** = 402. Ни одного 200.
|
||||
|
||||
### 4. Проверил остальные провайдеры на Opus 4.7
|
||||
|
||||
| Провайдер | Opus 4.7 |
|
||||
|---|---|
|
||||
| `cc/` (Max OAuth) | **200 OK** — работает (после rolling-окна) |
|
||||
| `kr/` (Kiro AWS) | 402, кредиты выгорели на всех учётках |
|
||||
| `gh/` (GitHub Models) | 400 — модель есть в `available`, но адаптер OmniRoute шлёт под `integrator="vscode-chat"` который её не имеет |
|
||||
| `kimi-coding/` | 402 billing |
|
||||
| `amazon-q/` | 500 |
|
||||
| `antigravity/` | timeout |
|
||||
|
||||
## Ключевое открытие
|
||||
|
||||
**Kiro Opus 4.7 — не Free Tier.** На Sonnet 4.5 учётка живёт месяц (~250-300M токенов), на Opus 4.7 — выгорает с первых запросов. Это **отдельная квота**, и она либо нулевая, либо настолько мелкая что неотличима от нуля.
|
||||
|
||||
Добавление новых Kiro-учёток **не решает** проблему — каждая новая учётка выгорит на Opus так же быстро.
|
||||
|
||||
## Решение
|
||||
|
||||
**Primary возвращён на `cc/claude-opus-4-7` (Max-подписка):**
|
||||
|
||||
```json
|
||||
"agents.defaults.model.primary": "omniroute/cc/claude-opus-4-7"
|
||||
"agents.defaults.model.fallbacks": [
|
||||
"omniroute/cc/claude-sonnet-4-6",
|
||||
"omniroute/kr/claude-sonnet-4.5",
|
||||
"omniroute/cx/gpt-5.4"
|
||||
]
|
||||
```
|
||||
|
||||
Логика fallback chain:
|
||||
1. Max-подписка Opus — основной
|
||||
2. Max-подписка Sonnet — если Opus rolling-окно временно выгорело
|
||||
3. **Kiro Sonnet** — бесплатный месячный канал, страховка пока Max не восстановится
|
||||
4. Codex — последний резерв (rolling 3h, ~120 успехов/день суммарно)
|
||||
|
||||
## Что НЕ делать впредь
|
||||
|
||||
1. **Не пытаться использовать `kr/claude-opus-4.x` как primary** — квота меньше дневной нагрузки бота (~450 вызовов/день), сколько учёток ни добавляй.
|
||||
2. **Не доверять `gh/claude-opus-*` через OmniRoute** — модель в `available list`, но адаптер несовместим (integrator-ID). Может починят апстрим, тогда переоценить.
|
||||
3. **Перед сменой primary** — проверять `provider_connections.test_status` и делать одиночный `curl` тест через `http://10.0.0.179:20128/v1/chat/completions` с `model="<новая>"`. Сегодня я этого не сделал → пользователь увидел "Something went wrong" в Telegram.
|
||||
|
||||
## Файлы
|
||||
|
||||
- Бэкап: `/root/.openclaw/openclaw.json.bak-opus47-2026-05-26-*`
|
||||
- Текущий конфиг: `/root/.openclaw/openclaw.json` (Antoshka primary = `cc/claude-opus-4-7`)
|
||||
|
||||
## См. также
|
||||
|
||||
- [[projects/dttb/openclaw|openclaw.md]] — справочник Антошки (бывш. Максимка)
|
||||
- [[projects/clawdbot-bots|clawdbot-bots.md]] — список всех ботов
|
||||
- [[decisions/2026-04-17-code-server-upgrade]] — предыдущая работа по OmniRoute/Kiro
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
date: 2026-05-07
|
||||
date: 2026-05-24
|
||||
type: index
|
||||
source: scripts/kb-objects-map.py
|
||||
tags: [index, registry, objects, netbird]
|
||||
@@ -7,7 +7,7 @@ tags: [index, registry, objects, netbird]
|
||||
|
||||
# Реестр объектов и netbird-пиров
|
||||
|
||||
Авто-сгенерировано `2026-05-07T07:10` из [[dttb/netbird-inventory]] + frontmatter в `projects/`.
|
||||
Авто-сгенерировано `2026-05-24T06:00` из [[dttb/netbird-inventory]] + frontmatter в `projects/`.
|
||||
**Не править вручную** — перепишется. Источник правды — frontmatter в каждом README.
|
||||
|
||||
- Проектов: **21**, из них с netbird-привязкой: **9**
|
||||
|
||||
@@ -16,12 +16,6 @@ aliases: [Бужарово, buzharovo, Server1C]
|
||||
- Netbird: 100.70.75.103 (server1c.netbird.cloud)
|
||||
- Подробности и runbook: [[projects/buzharovo/server1c]]
|
||||
|
||||
- **Северный лес — AI-ассистент** — LXC 139 на dttb-Proxmox, openclaw + watchdog для server1c.
|
||||
- LAN: 10.0.0.240, NetBird: 100.70.212.78
|
||||
- Telegram: `@bz_sl_bot` ("ИИ Ассистент Бужарово ( Северный лес )")
|
||||
- Справочник и runbook: [[projects/buzharovo/severny-les-bot]]
|
||||
- Решение о создании: [[decisions/2026-05-08-severny-les-bot-buzharovo]]
|
||||
|
||||
## Известные рецепты
|
||||
|
||||
- **rmngr-loop после crash** (07.05.2026): тормоза локальных пользователей → `Restart-Service '1C:Enterprise 8.3 Server Agent (x86-64)' -Force`. Полный ребут сервера НЕ помогает. Полный разбор: [[decisions/2026-05-07-buzharovo-1c-rmngr-loop-after-crash]].
|
||||
|
||||
@@ -47,45 +47,3 @@ tags: [dttb]
|
||||
**Why:** причина рута rmngr-loop неясна — возможно повреждение кэша `srvinfo`, регресс 8.3.27.1606, или Disabled-служба `RagentServer_8327` мешает первому запуску ragent. Если повторится — смотреть `C:\Program Files\1cv8\srvinfo\reg_*\1Cv8FTLog\` на ошибки.
|
||||
|
||||
**Долгосрочно:** настроить несколько `rphost` в кластере (по одному на 8-12 сеансов) — сейчас один rphost на всех локальных юзеров = бутылочное горлышко.
|
||||
|
||||
## MS SQL Server (для server1c\RitmUl)
|
||||
|
||||
- **Instance:** `localhost` (default, MSSQL11 = SQL Server 2012 SP4)
|
||||
- **SA / Qwer1122334400** (полные права на все БД)
|
||||
- **БД:** `RitmUl` (~3.8 GB), также есть `Accounting`, `Retail_2021`, `Retail_2021demo`
|
||||
- **Connection string:** `Server=localhost;Database=master;User Id=sa;Password=Qwer1122334400;`
|
||||
|
||||
## Бэкапы — native SQL, не Effector Saver
|
||||
|
||||
**Канон от 2026-05-08:** `BACKUP DATABASE` через SQL Server, не DT-выгрузка через Effector Saver. Подробности и причины — в [[decisions/2026-05-08-buzharovo-sql-native-backup]].
|
||||
|
||||
Команда:
|
||||
```sql
|
||||
BACKUP DATABASE [RitmUl]
|
||||
TO DISK = N'C:\backup\RitmUl_<timestamp>.bak'
|
||||
WITH FORMAT, INIT, COMPRESSION, COPY_ONLY, STATS = 5
|
||||
```
|
||||
|
||||
- **Папка:** `C:\backup\` (на C: было 374 GB свободно на 2026-05-08)
|
||||
- **Время:** ~2 сек на 3.8 GB БД
|
||||
- **Размер:** ~30% от оригинала (3.8 GB → 1.1 GB сжатый)
|
||||
- **Online:** не требует отключения пользователей, не требует cluster admin'а 1С
|
||||
- **Скрипт:** `/root/clawd/scripts/sql_native_backup.py` на LXC 139 (severny-les bot)
|
||||
|
||||
## Кластер 1С — известные проблемы
|
||||
|
||||
### Cluster admin отсутствует, и его нельзя добавить
|
||||
Серверная консоль 1С → `Локальный кластер → Администраторы` показывает 0, но при попытке создать через GUI требует логин cluster admin'а (которого нет) — chicken-and-egg. Через `rac` и `V83.COMConnector` — то же самое. Agent admin (создан 2026-05-08, `admin/1qaz!QAZ` на уровне `(*)Server1C → Администраторы`) **не поднимает права на cluster operations**.
|
||||
|
||||
**Последствия:**
|
||||
- Effector Saver задача `Бэкап 1Cv8` падает с `Администратор кластера не аутентифицирован (HRESULT=80004005)` → не может вызвать `TerminateSession` → не может получить эксклюзив на ИБ.
|
||||
- Все cluster operations (просмотр сессий, kill сессий, блокировка соединений) недоступны через API.
|
||||
|
||||
**Что НЕ помогло:** SQL `KILL` сессий через sa — 1С rphost восстанавливает соединения за 1-2 мин, и persistent session_id (например `КулябинПИ 4514` от 12:55:42 в день 2026-05-08) reanimate.
|
||||
|
||||
**Workaround:** SQL native backup (см. выше) — обходит всю эту историю с эксклюзивом.
|
||||
|
||||
**Как лечить (не сделано, рискованно):** обнулить `C:\Program Files\1cv8\srvinfo\reg_1541\1CV8Clst.lst` → потеряются и админы и регистрация ИБ → перерегистрировать ИБ через SQL params (`SA/Qwer1122334400`, host `localhost`, db `RitmUl`).
|
||||
|
||||
### V83.COMConnector x64 зарегистрирован
|
||||
2026-05-08 я через `regsvr32` зарегистрировал `C:\Program Files\1cv8\8.3.27.1606\bin\comcntr.dll` в `HKLM\SOFTWARE\Classes\V83.COMConnector` (только x64; x86 платформа на сервере не установлена). В Effector Saver вручную переключено на "64-разрядный V83.ComConnector" → `HRESULT=800401F3` ушёл.
|
||||
|
||||
@@ -1,173 +0,0 @@
|
||||
---
|
||||
date: 2026-05-08
|
||||
type: project
|
||||
tags: [buzharovo, bot, openclaw, watchdog, monitoring]
|
||||
---
|
||||
|
||||
# Северный лес — AI-ассистент для server1c
|
||||
|
||||
> Создан 2026-05-08, до отпуска Олега в Египте (2026-05-09 → 2026-05-22). Цель — пока Олега нет, кто-то на стороне Бужарово видит в Telegram-группе что происходит с сервером и может ткнуть `/approve` на восстановительные действия.
|
||||
|
||||
## Что это
|
||||
|
||||
Отдельный AI-бот на стеке **openclaw 2026.5.7**, заточен только под мониторинг и реагирование на инциденты сервера 1С в Бужарово. Watchdog-слой работает независимо от openclaw и шлёт алерты в Telegram напрямую через bot API — даже если AI-часть упала, уведомления всё равно дойдут.
|
||||
|
||||
**Не путать с:**
|
||||
- LXC 137 [[projects/dttb/openclaw|Максимка]] — основной AI-бот Олега, обслуживает всю инфраструктуру.
|
||||
- LXC 114 [[projects/niikn/clawdbot-niikn|Максимка-Мауля]] — бот в НИИКН для Максима Мауля.
|
||||
|
||||
## Расположение
|
||||
|
||||
| Параметр | Значение |
|
||||
|---|---|
|
||||
| Proxmox LXC | **139** (hostname `severny-les`) |
|
||||
| IP LAN | `10.0.0.240` |
|
||||
| NetBird IP | `100.70.212.78` (FQDN `severny-les.netbird.cloud`) |
|
||||
| Ресурсы | 2 cores / 4 GB RAM / 10 GB disk (Ubuntu 24.04) |
|
||||
| Доступ | `sshpass -p '1qaz!QAZ' ssh root@10.0.0.250 "pct exec 139 -- bash"` |
|
||||
|
||||
## Telegram
|
||||
|
||||
- **Bot username:** `@bz_sl_bot`
|
||||
- **Display name:** "ИИ Ассистент Бужарово ( Северный лес )"
|
||||
- **Bot ID:** `8322860033`
|
||||
- **Token:** см. `/root/.openclaw/openclaw.json` → `channels.telegram.botToken` (или `/etc/severny-les/watchdog.env`)
|
||||
- **Allowlist:** Олег `1292155421` (DM). Группа — пока пустая, обновим `groupAllowFrom` когда бот будет добавлен в TG-группу руководящего состава.
|
||||
|
||||
## Стек и сервисы
|
||||
|
||||
### openclaw 2026.5.7 (system-level systemd)
|
||||
- **Конфиг:** `/root/.openclaw/openclaw.json`
|
||||
- **Workspace:** `/root/clawd/` (IDENTITY/INFRASTRUCTURE/USER/SOUL/MEMORY/TOOLS/HEARTBEAT.md + `scripts/`)
|
||||
- **Unit:** `/etc/systemd/system/openclaw-gateway.service` (НЕ `--user` как на 137 — в LXC без sessions это не работает)
|
||||
- **Gateway port:** `18790` (на 137 — 18789, чтобы не путать)
|
||||
- **Primary model:** `omniroute/cc/claude-opus-4-7` (Opus 4.7 через Max), fallbacks: `kr/claude-sonnet-4.5` → `cc/claude-sonnet-4-6`
|
||||
- **Plugin bonjour:** disabled (превентивно от mDNS-крэшей в LXC)
|
||||
- **NODE_OPTIONS:** `--dns-result-order=ipv4first` (превентивно от Telegram IPv6-сбоев)
|
||||
|
||||
```bash
|
||||
systemctl status openclaw-gateway.service
|
||||
systemctl restart openclaw-gateway.service
|
||||
journalctl -u openclaw-gateway.service -n 50 --no-pager
|
||||
```
|
||||
|
||||
### buzharovo-watchdog (system-level systemd timer, каждые 60s)
|
||||
- **Скрипт:** `/usr/local/bin/buzharovo-watchdog.sh`
|
||||
- **Unit:** `/etc/systemd/system/buzharovo-watchdog.{service,timer}`
|
||||
- **Env:** `/etc/severny-les/watchdog.env` (TG token + chat_id)
|
||||
- **State:** `/var/lib/severny-les/state.json` — антиспам (алерт только при смене уровня)
|
||||
|
||||
Уровни: `OK` / `WARNING` (часть проверок упала) / `WARNING_NETBIRD` (NB до server1c лежит, публично OK) / `CRITICAL` (сервер недоступен и публично, и через NetBird).
|
||||
|
||||
Алерт уходит в TG **напрямую** через `https://api.telegram.org/bot.../sendMessage`, мимо openclaw. Если openclaw упал — алерт всё равно придёт.
|
||||
|
||||
```bash
|
||||
journalctl -t buzharovo-watchdog --since "1 hour ago" -n 30
|
||||
systemctl list-timers buzharovo-watchdog.timer
|
||||
# Тестовый прогон:
|
||||
set -a; . /etc/severny-les/watchdog.env; set +a; /usr/local/bin/buzharovo-watchdog.sh
|
||||
```
|
||||
|
||||
### netbird-watchdog (как на LXC 132/137)
|
||||
- **Скрипт:** `/usr/local/bin/netbird-watchdog.sh` (порт с LXC 137)
|
||||
- **Unit:** `/etc/systemd/system/netbird-watchdog.{service,timer}` (каждые 2 мин)
|
||||
- При `Relays: 0/N` или `Peers: 0/N` (когда N>0) и Management=Connected — `systemctl restart netbird` (минимум 5 мин между рестартами).
|
||||
|
||||
### Heartbeat (cron */5)
|
||||
- `/etc/cron.d/severny-les-heartbeat` → `/root/clawd/scripts/heartbeat.sh` пишет timestamp в `/tmp/severny-les-heartbeat`
|
||||
- buzharovo-watchdog проверяет: если heartbeat старше 600s — добавляет в алерт строчку про "openclaw молчит" (анти-спам: не чаще 1 раз в час).
|
||||
|
||||
## Что бот может делать (TOOLS.md)
|
||||
|
||||
### Без `/approve` (read-only)
|
||||
- `/status` — общий статус (ping/порты публично + через NetBird, состояние 1С службы, CPU rmngr)
|
||||
- `/check_1c` — три 1С службы через WinRM (Running/Stopped/Disabled)
|
||||
- `/check_rmngr` — детектор rmngr-loop (CPU rmngr.exe за 5 секунд, >50% = диагноз)
|
||||
|
||||
### С `/approve` от Олега `1292155421`
|
||||
- `/restart_1c` → `Restart-Service '1C:Enterprise 8.3 Server Agent (x86-64)' -Force`. Все сеансы 1С вылетят. Это рецепт от 2026-05-07 rmngr-loop ([[decisions/2026-05-07-buzharovo-1c-rmngr-loop-after-crash]]).
|
||||
- `/kill_orphan_ragent` — найти `ragent.exe` без LISTENING на 1540 и `Stop-Process -Force` (зомби после restart_1c).
|
||||
|
||||
Ребут сервера НЕ даём — по опыту 2026-05-07 ребут rmngr-loop не помогает, простой добавляет.
|
||||
|
||||
`exec-approvals.json` лежит в `/root/.openclaw/exec-approvals.json` — это whitelist для openclaw. Команды не из whitelist openclaw отказывается выполнять.
|
||||
|
||||
## WinRM на server1c
|
||||
|
||||
- **Адрес:** `100.70.75.103:5985` (через NetBird, basic, http) — публично 5985 закрыт
|
||||
- **Учётка:** `dttb` / `1qaz!QAZ`
|
||||
- **Python:** `pywinrm` уже стоит. Обёртка — `/root/clawd/scripts/winrm_lib.py`.
|
||||
|
||||
⚠️ **На 2026-05-08 NetBird ACL до server1c пока НЕ работает** — handshake не идёт (`Required key not available`). Олегу нужно в NetBird Dashboard разрешить `severny-les` доступ к `server1c` хотя бы на порты 5985 (WinRM) + 1 ICMP + 3389 (опц.). До этого WinRM-actions не работают, watchdog мониторит только публичные проверки.
|
||||
|
||||
## Скрипты в `/root/clawd/scripts/`
|
||||
|
||||
| Скрипт | Что делает |
|
||||
|---|---|
|
||||
| `check_buzharovo.sh` | bash, общий статус (ping+порты), без WinRM |
|
||||
| `winrm_lib.py` | обёртка pywinrm, переиспользуют все py-скрипты |
|
||||
| `check_1c_service.py` | 3 службы 1С через WinRM |
|
||||
| `check_rmngr_cpu.py` | детектор rmngr-loop |
|
||||
| `restart_1c_agent.py` | `Restart-Service '1C:...'` (требует /approve) |
|
||||
| `kill_orphan_ragent.py` | убить зомби ragent (требует /approve) |
|
||||
| `heartbeat.sh` | cron, пишет timestamp |
|
||||
| `sql_native_backup.py` | **бэкап ИБ через MS SQL Server `BACKUP DATABASE` с компрессией** (см. [[decisions/2026-05-08-buzharovo-sql-native-backup]]). Online, ~2 сек на 3.8 GB, не требует cluster admin 1С |
|
||||
|
||||
## Сценарии работы
|
||||
|
||||
### Олег в отпуске, ночью упал rmngr
|
||||
1. Watchdog на 60-й секунде заметил: WinRM `1C:Enterprise 8.3 Server Agent (x86-64)` всё ещё Running, **но** `check_rmngr_cpu.py` вернул `RMNGR_LOOP`.
|
||||
2. Watchdog шлёт в TG-группу: 🚨 Северный лес — rmngr-loop на server1c. CPU rmngr 67%. Предлагаю `/restart_1c`.
|
||||
3. Дежурный из руководящего состава отвечает в группу, бот ему: "Ок, но нужно `/approve` от Олега. Можете позвонить ему? Или подождать утра — время до критичного простоя ~2 часа."
|
||||
4. Олег с пляжа делает `/approve restart_1c` → бот выполняет → отписывается в группу что прошло.
|
||||
|
||||
### Сервер недоступен публично
|
||||
1. Watchdog: 3 подряд провала ping `185.13.47.2` за 3 минуты + RDP не отвечает.
|
||||
2. Шлёт в группу: 🚨 server1c НЕДОСТУПЕН. Не отвечает ни публично, ни через NetBird. Похоже сервер лёг или сеть провайдера.
|
||||
3. Бот ничего не может сделать сам — это VDS у внешнего провайдера. Эскалирует на Олега, ждёт ручного вмешательства.
|
||||
|
||||
### NetBird до server1c упал, публично всё OK
|
||||
1. Watchdog: ping `185.13.47.2` ОК, ping `100.70.75.103` нет.
|
||||
2. Шлёт: ⚠️ NetBird до server1c лежит. Публично сервер виден. WinRM-actions недоступны.
|
||||
3. Сервер сам по себе работает — пользователи в Бужарово 1С видят. Но бот не может делать диагностику/рестарты пока NetBird не починен.
|
||||
|
||||
## Чек-лист после возвращения Олега из Египта
|
||||
|
||||
- [ ] Прописать в NetBird Dashboard ACL `severny-les` → `server1c` (5985 TCP минимум).
|
||||
- [ ] Добавить @bz_sl_bot в TG-группу руководящего состава Северного леса; узнать `chat_id` группы.
|
||||
- [ ] Обновить `/etc/severny-les/watchdog.env` BZ_TG_CHAT на групповой chat_id.
|
||||
- [ ] Обновить `/root/.openclaw/openclaw.json` `channels.telegram.groupAllowFrom` — добавить chat_id группы.
|
||||
- [ ] Сделать smoke-test `/restart_1c` (на тестовых выходных, не в боевые часы) — убедиться что openclaw реально дёргает скрипт после `/approve`.
|
||||
- [ ] После миграции server1c на свой сервер — обновить IP в `/root/clawd/INFRASTRUCTURE.md` и в watchdog-скрипте.
|
||||
|
||||
## Известные ограничения и риски
|
||||
|
||||
- **NetBird ACL** на момент создания не пускает severny-les к server1c. Watchdog мониторит публично + через NetBird пингом; WinRM-команды (диагностика 1С, рестарт службы) не работают пока ACL не настроен.
|
||||
- **Группа TG ещё не настроена** — алерты идут в личку Олегу. Когда @bz_sl_bot добавят в группу — поправить env+config.
|
||||
- **Bonjour отключен** превентивно (был crash-loop на 137, см. [[projects/dttb/openclaw#Проблема-Crash-loop-каждые-40-сек]]).
|
||||
- **DNS LXC 139** идёт на `1.1.1.1`/`8.8.8.8` напрямую (через `pct set --nameserver`), не на `10.0.0.1` — иначе FakeIP от Mihomo ломает Telegram API.
|
||||
- **openclaw на system-level** (не --user как на 137). В LXC без user-session systemd --user недоступен.
|
||||
|
||||
## Бэкап
|
||||
|
||||
```bash
|
||||
# на самом LXC 139
|
||||
tar czf /root/severny-les-state-$(date +%F).tar.gz /root/.openclaw /root/clawd /etc/systemd/system/buzharovo-watchdog.* /etc/systemd/system/netbird-watchdog.* /etc/systemd/system/openclaw-gateway.service /etc/severny-les /etc/cron.d/severny-les-heartbeat /usr/local/bin/buzharovo-watchdog.sh /usr/local/bin/netbird-watchdog.sh
|
||||
|
||||
# скопировать наружу
|
||||
sshpass -p '1qaz!QAZ' ssh root@10.0.0.250 "pct pull 139 /root/severny-les-state-*.tar.gz /var/lib/vz/dump/"
|
||||
```
|
||||
|
||||
## Откат
|
||||
|
||||
Если бот сломал что-то и его нужно убрать целиком:
|
||||
|
||||
```bash
|
||||
# stop and disable
|
||||
pct exec 139 -- systemctl disable --now openclaw-gateway.service buzharovo-watchdog.timer netbird-watchdog.timer
|
||||
|
||||
# либо целиком LXC
|
||||
pct stop 139 && pct destroy 139
|
||||
```
|
||||
|
||||
NetBird-пир `severny-les.netbird.cloud` останется в Dashboard — нужно удалить руками.
|
||||
@@ -13,13 +13,13 @@ tags: [bot]
|
||||
|
||||
## Боты
|
||||
|
||||
### Максимка (Основной бот)
|
||||
- **LXC**: 129
|
||||
- **IP**: 10.0.0.237
|
||||
### Антошка (Основной бот, бывш. "Максимка")
|
||||
- **LXC**: 137 (openclaw, переезд с LXC 129 был 2026-04-14; переименован "Максимка" → "Антошка" 2026-05-26)
|
||||
- **IP**: 10.0.0.239
|
||||
- **Telegram User ID**: 1292155421 (Олег)
|
||||
- **Назначение**: Персональный AI помощник, управление всей инфраструктурой
|
||||
- **Модель**: Claude (Anthropic), opus 4.6
|
||||
- **Статус**: Работает с перебоями
|
||||
- **Модель**: `cc/claude-opus-4-7` (Opus 4.7 через Max-подписку), fallback на Sonnet
|
||||
- **Статус**: Работает; подробности см. [[dttb/openclaw|openclaw.md]] и [[decisions/2026-05-26-antoshka-opus47-kiro-not-viable]]
|
||||
|
||||
### НИИКН помощник
|
||||
- **LXC**: 133
|
||||
|
||||
@@ -6,15 +6,15 @@ tags: [dttb, bot]
|
||||
|
||||
# OpenClaw — основной AI-бот (LXC 137)
|
||||
|
||||
Справочник по установке, настройке и починке OpenClaw. Обновлён 2026-04-17.
|
||||
Справочник по установке, настройке и починке OpenClaw. Обновлён 2026-05-26.
|
||||
|
||||
## Что это
|
||||
|
||||
**OpenClaw** (в Telegram/Nextcloud — "Максимка") — основной AI-бот Олега. Multi-channel AI gateway: принимает сообщения из Telegram и Nextcloud Talk, отвечает через OmniRoute (бесплатные модели) и умеет делегировать сложные задачи на code-server (Opus 4.7 через Max подписку).
|
||||
**OpenClaw** (в Telegram/Nextcloud — **"Антошка"**, ранее "Максимка"; переименовано 2026-05-26 чтобы не путаться с НИИКН-ботом @maximka_assistant_bot на LXC 133) — основной AI-бот Олега. Multi-channel AI gateway: принимает сообщения из Telegram и Nextcloud Talk, отвечает на Opus 4.7 через Max-подписку (`cc/`), с fallback на бесплатные модели через OmniRoute. Тяжёлые задачи делегирует на code-server (тоже Opus 4.7 через Max).
|
||||
|
||||
- **NPM пакет:** [`openclaw`](https://www.npmjs.com/package/openclaw)
|
||||
- **GitHub:** https://github.com/openclaw/openclaw
|
||||
- **Автор конфига:** установлен и ведётся Олегом под персонажа "Максимка" 🤖
|
||||
- **Автор конфига:** установлен и ведётся Олегом под персонажа "Антошка" (бывш. "Максимка") 🤖
|
||||
|
||||
## Где живёт
|
||||
|
||||
@@ -169,9 +169,22 @@ openclaw doctor --fix # автофикс (не всеси
|
||||
- `openrouter`
|
||||
- `anthropic`
|
||||
- `zai` — OmniRoute через ZenAI адаптер
|
||||
- `omniroute` — прямой OmniRoute (localhost:20128 на code-server)
|
||||
- `omniroute` — прямой OmniRoute (10.0.0.179:20128 на code-server)
|
||||
- `zai-orig` — оригинальный zai endpoint
|
||||
|
||||
### Текущий primary / fallback (2026-05-26)
|
||||
|
||||
```
|
||||
primary: omniroute/cc/claude-opus-4-7 (Max OAuth — Opus 4.7)
|
||||
fallback 1: omniroute/cc/claude-sonnet-4-6 (Max OAuth — Sonnet)
|
||||
fallback 2: omniroute/kr/claude-sonnet-4.5 (Kiro Free Tier — Sonnet)
|
||||
fallback 3: omniroute/cx/gpt-5.4 (Codex — последний резерв)
|
||||
```
|
||||
|
||||
**Не переключать primary на `kr/claude-opus-4.7`** — Kiro AWS Free Tier на Opus 4.7 = нулевая квота (см. [decisions/2026-05-26-antoshka-opus47-kiro-not-viable](../../decisions/2026-05-26-antoshka-opus47-kiro-not-viable.md)). На Sonnet 4.5 Kiro работает месяцами, на Opus 4.7 учётка выгорает с первых запросов.
|
||||
|
||||
**Не переключать на `gh/claude-opus-4.7`** — GitHub Models имеет модель, но адаптер OmniRoute шлёт под `integrator="vscode-chat"` без доступа к ней. Все запросы → 400.
|
||||
|
||||
### Модели в сессиях — **НЕ ТРОГАЙ**
|
||||
|
||||
В `agents/main/sessions/sessions.json` и `agent/models.json` модели хранятся в формате:
|
||||
@@ -514,3 +527,4 @@ tar czf /root/openclaw-state-$(date +%F).tar.gz /root/.openclaw /root/clawd
|
||||
- **2026-04-27** — две независимые проблемы привели к "бот молчит":
|
||||
1. openclaw 2026.4.24 в crash-loop каждые ~40 сек на `Unhandled promise rejection: CIAO PROBING/ANNOUNCEMENT CANCELLED` (mDNS bonjour-плагин). Лечится отключением `plugins.entries.bonjour.enabled = false`.
|
||||
2. После починки crash-loop всплыла FakeIP DNS — `/etc/resolv.conf` смотрел на `10.0.0.1`, тот отдавал `198.18.0.6` для api.telegram.org (Mihomo FakeIP без proxy-маршрута из LXC). Лечится переключением DNS на `1.1.1.1 8.8.8.8` через `pct set --nameserver` (резолвят через NetBird wt0). См. два новых раздела в "Частые проблемы".
|
||||
- **2026-05-26** — переименование "Максимка" → **"Антошка"** (чтобы не путаться с НИИКН @maximka_assistant_bot). Эксперимент с `kr/claude-opus-4.7` как primary провалился — все 5 Kiro-учёток в `credits_exhausted/banned`, Max-подписка `cc/claude-opus-4-7` оставлена основным каналом. Решение: [decisions/2026-05-26-antoshka-opus47-kiro-not-viable.md](../../decisions/2026-05-26-antoshka-opus47-kiro-not-viable.md).
|
||||
|
||||
@@ -198,6 +198,7 @@ tags: [dttb, proxmox]
|
||||
| 122 | qbittorrent | qBittorrent |
|
||||
| 123 | proxmox-local | Локальный сервис Proxmox |
|
||||
| 126 | debian | Debian базовый |
|
||||
| 128 | profi-parser | (новый, уточнить) |
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -26,9 +26,19 @@ Hairpin NAT: NPM(80,443), TURN(3478→133), Talk TURN(3479→200), RustDesk(2111
|
||||
|
||||
```
|
||||
/ip route add dst-address=198.18.0.0/15 gateway=192.168.1.50 comment=podkop-fakeip
|
||||
/ip route add dst-address=91.108.4.0/22 gateway=192.168.1.50 comment=podkop-telegram
|
||||
/ip route add dst-address=91.108.8.0/22 gateway=192.168.1.50 comment=podkop-telegram
|
||||
/ip route add dst-address=91.108.12.0/22 gateway=192.168.1.50 comment=podkop-telegram
|
||||
/ip route add dst-address=91.108.16.0/22 gateway=192.168.1.50 comment=podkop-telegram
|
||||
/ip route add dst-address=91.108.20.0/22 gateway=192.168.1.50 comment=podkop-telegram
|
||||
/ip route add dst-address=91.108.56.0/22 gateway=192.168.1.50 comment=podkop-telegram
|
||||
/ip route add dst-address=109.239.140.0/24 gateway=192.168.1.50 comment=podkop-telegram
|
||||
/ip route add dst-address=149.154.160.0/20 gateway=192.168.1.50 comment=podkop-telegram
|
||||
```
|
||||
|
||||
Трафик на FakeIP-диапазон направляется на OpenWrt (192.168.1.50) с podkop.
|
||||
FakeIP-диапазон ловит трафик по DNS (через sing-box). IP-подсети Telegram нужны
|
||||
отдельно, потому что нативный TG-клиент бьётся в IP датацентров напрямую, минуя
|
||||
DNS, и без маршрута уходит на WAN мимо OpenWrt → блок РКН → вечный "Connecting".
|
||||
|
||||
## WG-туннель к LionART (NSPD bypass) — ОТКАЧЕНО
|
||||
|
||||
|
||||
@@ -109,9 +109,24 @@ config settings 'settings'
|
||||
config section 'main'
|
||||
option connection_type 'vpn'
|
||||
option interface 'awg0'
|
||||
list community_lists 'russia_inside'
|
||||
list community_lists 'telegram'
|
||||
list community_lists 'meta'
|
||||
list community_lists 'russia_outside'
|
||||
list community_lists 'youtube'
|
||||
list community_lists 'telegram'
|
||||
list user_domains 'notebooklm.google.com'
|
||||
list user_domains 'notebooklm.google'
|
||||
list user_domains 'generativelanguage.googleapis.com'
|
||||
list user_domains 'aistudio.google.com'
|
||||
list user_domains 'labs.google'
|
||||
list user_domains 'grok.com'
|
||||
list user_domains 'x.ai'
|
||||
```
|
||||
|
||||
Добавить новый домен в обход:
|
||||
```sh
|
||||
uci add_list podkop.main.user_domains='example.com'
|
||||
uci commit podkop
|
||||
podkop restart
|
||||
```
|
||||
|
||||
### Что обходится
|
||||
|
||||
Reference in New Issue
Block a user