Compare commits
19 Commits
claude/gre
...
e994661bd7
| Author | SHA1 | Date | |
|---|---|---|---|
| e994661bd7 | |||
|
|
cfe44d886c | ||
| 5f87025ed7 | |||
|
|
d6c82aa5d8 | ||
| 393e6a05bf | |||
|
|
d85906f18c | ||
| 5548d7d987 | |||
|
|
ea741fbfee | ||
| 768a23fc8c | |||
| 35202bc348 | |||
| e51c6310f0 | |||
| 3f634037d9 | |||
| 82e95310c2 | |||
|
|
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",
|
"date": "2026-05-24",
|
||||||
"score": 458,
|
"score": 785,
|
||||||
"counts": {
|
"counts": {
|
||||||
"broken_wikilinks": 7,
|
"broken_wikilinks": 4,
|
||||||
"broken_paths": 20,
|
"broken_paths": 48,
|
||||||
"missing_frontmatter": 17,
|
"missing_frontmatter": 21,
|
||||||
"orphan_files": 38,
|
"orphan_files": 51,
|
||||||
"undated_todos": 36,
|
"undated_todos": 70,
|
||||||
"duplicate_basenames": 5
|
"duplicate_basenames": 6
|
||||||
},
|
},
|
||||||
"weights": {
|
"weights": {
|
||||||
"broken_wikilinks": 10,
|
"broken_wikilinks": 10,
|
||||||
@@ -17,5 +17,5 @@
|
|||||||
"undated_todos": 1,
|
"undated_todos": 1,
|
||||||
"duplicate_basenames": 5
|
"duplicate_basenames": 5
|
||||||
},
|
},
|
||||||
"files_scanned": 327
|
"files_scanned": 862
|
||||||
}
|
}
|
||||||
@@ -68,6 +68,18 @@ Vault `~/knowledge-base` хранился только в Gitea (`git.dttb.ru/ol
|
|||||||
|
|
||||||
**openclaw read-only** через `git remote set-url --push origin DISABLED_READONLY` — любая попытка push из бота завершится ошибкой "Could not resolve host", случайно перезаписать не сможет.
|
**openclaw read-only** через `git remote set-url --push origin DISABLED_READONLY` — любая попытка push из бота завершится ошибкой "Could not resolve host", случайно перезаписать не сможет.
|
||||||
|
|
||||||
|
### Нормализация на code-server (2026-05-26)
|
||||||
|
|
||||||
|
Обнаружено что на LXC 132 параллельно существовали **два независимых клона** одного репо:
|
||||||
|
- `/root/knowledge-base/` — рабочий, `git.dttb.ru` remote, обслуживался `kb-autosync.sh` cron'ом
|
||||||
|
- `/root/.claude/knowledge-base/` — отдельный клон, `10.0.0.189:3000` remote, использовался Claude Code и Obsidian, **отстал от remote на 1.5 месяца (239 коммитов)**
|
||||||
|
|
||||||
|
При попытке push с Claude-клона: rebase-каскад на сотни файлов, конфликты. Это нестабильно.
|
||||||
|
|
||||||
|
**Решение:** `/root/.claude/knowledge-base/` → симлинк на `/root/knowledge-base/`. Старый клон сохранён как `/root/.claude/knowledge-base.bak-2026-05-26` (на случай если что-то нужно достать). Все процессы теперь пишут в **один git-репо**, cron каждые 5 минут реально синхронизирует то что наработал Claude Code.
|
||||||
|
|
||||||
|
Также: на LXC 136 (Gitea) сетевой настройкой стояло `ip=dhcp` — DHCP выдал `.191` вместо `.189`, push с code-server возвращал `Couldn't connect`. Заменено на `ip=10.0.0.189/24,gw=10.0.0.1` (статика).
|
||||||
|
|
||||||
### Компоненты
|
### Компоненты
|
||||||
|
|
||||||
- **`/Users/ai/.config/nextcloud-kb/rclone.conf`** — WebDAV ремоут `kbsync:` на `https://dttb.ru/remote.php/dav/files/admin`, app password в obscured виде
|
- **`/Users/ai/.config/nextcloud-kb/rclone.conf`** — WebDAV ремоут `kbsync:` на `https://dttb.ru/remote.php/dav/files/admin`, app password в obscured виде
|
||||||
|
|||||||
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
|
||||||
94
decisions/2026-05-26-server-upgrade-z6-g4.md
Normal file
94
decisions/2026-05-26-server-upgrade-z6-g4.md
Normal file
@@ -0,0 +1,94 @@
|
|||||||
|
---
|
||||||
|
date: 2026-05-26
|
||||||
|
type: decision
|
||||||
|
tags: [decision, hardware, proxmox, planning]
|
||||||
|
---
|
||||||
|
|
||||||
|
# Апгрейд основного сервера Proxmox — план
|
||||||
|
|
||||||
|
**Дата:** 2026-05-26
|
||||||
|
**Статус:** В планировании (черновик, добивать)
|
||||||
|
|
||||||
|
## Контекст
|
||||||
|
|
||||||
|
Текущий хост Proxmox (10.0.0.250) упирается в **RAM** при росте числа VM/LXC. На ноде сейчас 36 единиц (15 VM + 21 LXC), из которых 16 запущены. Планы:
|
||||||
|
|
||||||
|
- 50+ контейнеров (масштабирование лабы)
|
||||||
|
- Локальные LLM (Ollama, llama.cpp) — требует GPU
|
||||||
|
- ZFS-хранилище / Ceph — требует дисковых слотов и ECC RAM
|
||||||
|
- Kubernetes / dev-окружения
|
||||||
|
|
||||||
|
## Ограничения
|
||||||
|
|
||||||
|
- **Бюджет:** до 100к ₽
|
||||||
|
- **Размещение:** дома в отдельной комнате/шкафу
|
||||||
|
- **Шум:** rack-серверы (Dell R730xd/R740xd) **отпадают** — слышно даже через шкаф
|
||||||
|
- Нужна **workstation или самосбор в tower-корпусе**
|
||||||
|
|
||||||
|
## Рассмотренные варианты
|
||||||
|
|
||||||
|
### ❌ Dell R730xd / R740xd (rack 2U)
|
||||||
|
Лучшее железо за деньги (256 ГБ RAM + 28 ядер за 100к), но **шумит как пылесос** — слышно через дверь шкафа. Отклонено.
|
||||||
|
|
||||||
|
### Вариант A: HP Z8 G4
|
||||||
|
- Корпус б/у: 40–50к
|
||||||
|
- 1× Xeon Gold 6138 (20C/40T): 10к
|
||||||
|
- 128 ГБ DDR4 ECC RDIMM: 28к
|
||||||
|
- NVMe 1 ТБ: 7к
|
||||||
|
- **Итого ~90к, 128 ГБ RAM, 20 ядер**
|
||||||
|
- Потолок: 3 ТБ RAM, 56 ядер (2× CPU), до 3× GPU
|
||||||
|
- Большой и тяжёлый (~46 кг)
|
||||||
|
|
||||||
|
### Вариант B: HP Z6 G4 ⭐ (рекомендуемый)
|
||||||
|
Младший брат Z8, та же платформа LGA 3647 / DDR4 ECC.
|
||||||
|
- Корпус б/у: 25–35к (на 15к дешевле Z8)
|
||||||
|
- 1× Xeon Gold 6138 (20C/40T): 10к
|
||||||
|
- **192 ГБ DDR4 ECC RDIMM** (6×32): 38к
|
||||||
|
- NVMe 1 ТБ: 7к
|
||||||
|
- **Итого ~90к, 192 ГБ RAM, 20 ядер**
|
||||||
|
- Потолок: 768 ГБ RAM, 56 ядер, 2× GPU
|
||||||
|
- Компактнее и тише Z8
|
||||||
|
|
||||||
|
### Вариант C: Самосбор EPYC Rome
|
||||||
|
- Supermicro H11SSL-i: 20к
|
||||||
|
- EPYC 7402P (24C/48T, 180W): 28к
|
||||||
|
- 256 ГБ DDR4 ECC RDIMM (8×32): 50к
|
||||||
|
- Fractal Define 7 XL: 15к
|
||||||
|
- Seasonic 850W + Noctua NH-U14S TR4-SP3: 18к
|
||||||
|
- NVMe 1 ТБ: 7к
|
||||||
|
- **Итого ~135к** (превышает бюджет на 35к)
|
||||||
|
- Лучшая память/ядра за деньги, но дороже и сложнее
|
||||||
|
|
||||||
|
## Сравнение
|
||||||
|
|
||||||
|
| Критерий | Z8 G4 | **Z6 G4** ⭐ | EPYC самосбор |
|
||||||
|
|---|---|---|---|
|
||||||
|
| Цена | 90к | **90к** | 135к |
|
||||||
|
| RAM | 128 ГБ | **192 ГБ** | 128–256 ГБ |
|
||||||
|
| Потолок RAM | 3 ТБ | 768 ГБ | 2 ТБ |
|
||||||
|
| Ядер | 20 | 20 | 24 |
|
||||||
|
| Шум | Тихий | **Тише** | Тихий (башня) |
|
||||||
|
| GPU слотов | 3× | 2× | 2–3× |
|
||||||
|
| Сборка | Готово | Готово | Самосбор |
|
||||||
|
|
||||||
|
## Предварительное решение
|
||||||
|
|
||||||
|
**HP Z6 G4** — оптимальный баланс цены/памяти/шума:
|
||||||
|
- За 90к получаем 192 ГБ RAM вместо 128 ГБ у Z8 (главное узкое место решено)
|
||||||
|
- Тише и компактнее Z8
|
||||||
|
- Готовая платформа, апгрейд по мере роста до 768 ГБ RAM
|
||||||
|
- 2× GPU слотов хватит для RTX 3090 24GB (LLM)
|
||||||
|
|
||||||
|
## Открытые вопросы (добить позже)
|
||||||
|
|
||||||
|
- [ ] Уточнить конкретную модификацию Z6 G4 на Авито (с/без CPU/RAM)
|
||||||
|
- [ ] Выбрать CPU: Gold 6138 (20C, 125W) vs Gold 6248R (24C, 205W) — нужен ли усиленный кулер
|
||||||
|
- [ ] План миграции с текущего хоста (10.0.0.250) — какие VM/LXC переносить первыми
|
||||||
|
- [ ] GPU для LLM — отдельной покупкой или сразу в комплекте (RTX 3090 24GB б/у ~50–60к)
|
||||||
|
- [ ] Дисковая подсистема: ZFS поверх каких дисков? (HDD под холодные данные + NVMe под VM)
|
||||||
|
- [ ] Что делать со старым хостом 10.0.0.250 — оставить как backup-ноду PVE кластера?
|
||||||
|
|
||||||
|
## Связанные документы
|
||||||
|
|
||||||
|
- [[projects/dttb/proxmox-inventory]] — текущая инвентаризация
|
||||||
|
- [[projects/dttb/network-topology]] — сетевая карта
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
date: 2026-05-07
|
date: 2026-05-28
|
||||||
type: index
|
type: index
|
||||||
source: scripts/kb-objects-map.py
|
source: scripts/kb-objects-map.py
|
||||||
tags: [index, registry, objects, netbird]
|
tags: [index, registry, objects, netbird]
|
||||||
@@ -7,7 +7,7 @@ tags: [index, registry, objects, netbird]
|
|||||||
|
|
||||||
# Реестр объектов и netbird-пиров
|
# Реестр объектов и netbird-пиров
|
||||||
|
|
||||||
Авто-сгенерировано `2026-05-07T07:10` из [[dttb/netbird-inventory]] + frontmatter в `projects/`.
|
Авто-сгенерировано `2026-05-28T10:30` из [[dttb/netbird-inventory]] + frontmatter в `projects/`.
|
||||||
**Не править вручную** — перепишется. Источник правды — frontmatter в каждом README.
|
**Не править вручную** — перепишется. Источник правды — frontmatter в каждом README.
|
||||||
|
|
||||||
- Проектов: **21**, из них с netbird-привязкой: **9**
|
- Проектов: **21**, из них с netbird-привязкой: **9**
|
||||||
|
|||||||
@@ -13,13 +13,13 @@ tags: [bot]
|
|||||||
|
|
||||||
## Боты
|
## Боты
|
||||||
|
|
||||||
### Максимка (Основной бот)
|
### Антошка (Основной бот, бывш. "Максимка")
|
||||||
- **LXC**: 129
|
- **LXC**: 137 (openclaw, переезд с LXC 129 был 2026-04-14; переименован "Максимка" → "Антошка" 2026-05-26)
|
||||||
- **IP**: 10.0.0.237
|
- **IP**: 10.0.0.239
|
||||||
- **Telegram User ID**: 1292155421 (Олег)
|
- **Telegram User ID**: 1292155421 (Олег)
|
||||||
- **Назначение**: Персональный AI помощник, управление всей инфраструктурой
|
- **Назначение**: Персональный 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
|
- **LXC**: 133
|
||||||
|
|||||||
@@ -6,15 +6,15 @@ tags: [dttb, bot]
|
|||||||
|
|
||||||
# OpenClaw — основной AI-бот (LXC 137)
|
# 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)
|
- **NPM пакет:** [`openclaw`](https://www.npmjs.com/package/openclaw)
|
||||||
- **GitHub:** https://github.com/openclaw/openclaw
|
- **GitHub:** https://github.com/openclaw/openclaw
|
||||||
- **Автор конфига:** установлен и ведётся Олегом под персонажа "Максимка" 🤖
|
- **Автор конфига:** установлен и ведётся Олегом под персонажа "Антошка" (бывш. "Максимка") 🤖
|
||||||
|
|
||||||
## Где живёт
|
## Где живёт
|
||||||
|
|
||||||
@@ -169,9 +169,22 @@ openclaw doctor --fix # автофикс (не всеси
|
|||||||
- `openrouter`
|
- `openrouter`
|
||||||
- `anthropic`
|
- `anthropic`
|
||||||
- `zai` — OmniRoute через ZenAI адаптер
|
- `zai` — OmniRoute через ZenAI адаптер
|
||||||
- `omniroute` — прямой OmniRoute (localhost:20128 на code-server)
|
- `omniroute` — прямой OmniRoute (10.0.0.179:20128 на code-server)
|
||||||
- `zai-orig` — оригинальный zai endpoint
|
- `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` модели хранятся в формате:
|
В `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** — две независимые проблемы привели к "бот молчит":
|
- **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`.
|
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). См. два новых раздела в "Частые проблемы".
|
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).
|
||||||
|
|||||||
@@ -160,8 +160,9 @@ tags: [dttb, proxmox]
|
|||||||
| Параметр | Значение |
|
| Параметр | Значение |
|
||||||
|----------|----------|
|
|----------|----------|
|
||||||
| Статус | 🟢 running |
|
| Статус | 🟢 running |
|
||||||
| IP | 10.0.0.189 (+ docker bridges) |
|
| IP | 10.0.0.189 (статика; зафиксирована 2026-05-26 — было `ip=dhcp` → выдавался .191 → терялась связь и push в KB-репо ломался) |
|
||||||
| NPM домен | git.dttb.ru → 10.0.0.189:3000 |
|
| NPM домен | git.dttb.ru → 10.0.0.189:3000 |
|
||||||
|
| Gitea | Docker `gitea/gitea:latest` (порт 3000), uptime считается с May06 |
|
||||||
| Tags | git, knowledge-base |
|
| Tags | git, knowledge-base |
|
||||||
| Назначение | Gitea — Git-сервер (`knowledge-base.git`) |
|
| Назначение | Gitea — Git-сервер (`knowledge-base.git`) |
|
||||||
|
|
||||||
@@ -198,6 +199,7 @@ tags: [dttb, proxmox]
|
|||||||
| 122 | qbittorrent | qBittorrent |
|
| 122 | qbittorrent | qBittorrent |
|
||||||
| 123 | proxmox-local | Локальный сервис Proxmox |
|
| 123 | proxmox-local | Локальный сервис Proxmox |
|
||||||
| 126 | debian | Debian базовый |
|
| 126 | debian | Debian базовый |
|
||||||
|
| 128 | profi-parser | (новый, уточнить) |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -25,5 +25,5 @@ tags: [dttb, dns]
|
|||||||
- editMx params: {domain, subDomain:"", action:"add"/"edit", priority, value:"host.", index(edit)}
|
- editMx params: {domain, subDomain:"", action:"add"/"edit", priority, value:"host.", index(edit)}
|
||||||
- editTxt params: {domain, action:"add"/"edit", subDomain:"@"/..., value, index(edit)}
|
- editTxt params: {domain, action:"add"/"edit", subDomain:"@"/..., value, index(edit)}
|
||||||
- Капча после 2-3 запросов подряд — новая сессия сбрасывает
|
- Капча после 2-3 запросов подряд — новая сессия сбрасывает
|
||||||
- [[feedback_spaceweb_dns]] — editMain в цикле ломает зону niikn.com; vpn.niikn.com устойчив к API
|
- [Spaceweb DNS API опасности](feedback_spaceweb_dns.md) — editMain в цикле ломает зону niikn.com; vpn.niikn.com устойчив к API
|
||||||
<!-- END AUTO-SYNC -->
|
<!-- END AUTO-SYNC -->
|
||||||
|
|||||||
@@ -99,3 +99,15 @@ journalctl -u clawdbot.service --since today --no-pager | grep -iE "agent model|
|
|||||||
- Отправлен `message_id=553` в Telegram со ссылкой на отчёт `/Maximka-Bot/Отчёт_что_я_умею_и_что_нужно.docx` — представление бота, что умеет и что нужно от Максима
|
- Отправлен `message_id=553` в Telegram со ссылкой на отчёт `/Maximka-Bot/Отчёт_что_я_умею_и_что_нужно.docx` — представление бота, что умеет и что нужно от Максима
|
||||||
- Папка `/Maximka-Bot/` создана в его Nextcloud, готова к работе
|
- Папка `/Maximka-Bot/` создана в его Nextcloud, готова к работе
|
||||||
- Ожидаем от Максима: приоритеты (что важно), 2-3 шаблона договоров в `/Maximka-Bot/templates/`, реквизиты НИИКН
|
- Ожидаем от Максима: приоритеты (что важно), 2-3 шаблона договоров в `/Maximka-Bot/templates/`, реквизиты НИИКН
|
||||||
|
|
||||||
|
<!-- AUTO-SYNC FROM MEMORY.MD - DO NOT EDIT BELOW -->
|
||||||
|
## Clawdbot-1 / НИИКН (LXC 133)
|
||||||
|
- IP: 10.0.0.237, Netbird: 100.70.200.150 (clawdbot-1.netbird.cloud)
|
||||||
|
- Telegram: @maximka_assistant_bot (token: 8279417986:AAEjmdnOSO4izFHZJZYPbjcqKzqLARqPnow)
|
||||||
|
- Model: omniroute/kr/claude-sonnet-4.5 — **БЕСПЛАТНО через OmniRoute** (10.0.0.179:20128)
|
||||||
|
- OmniRoute: использует Kiro провайдер (AWS бесплатный), API key: sk-225e902dc95ff192...
|
||||||
|
- Переключён с CLIProxy на OmniRoute 2026-04-13
|
||||||
|
- CLIProxy: свой остановлен и отключен (cliproxy.service disabled)
|
||||||
|
- Персона: бот для НИИКН через Nextcloud Talk (SOUL.md/IDENTITY.md/USER.md в /root/clawd-admin, /root/clawd-assistant)
|
||||||
|
- SMB: нет (клон без mp0)
|
||||||
|
<!-- END AUTO-SYNC -->
|
||||||
|
|||||||
85
projects/niikn/maul-pc.md
Normal file
85
projects/niikn/maul-pc.md
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
---
|
||||||
|
aliases: [DESKTOP-IC5A0K2, "M.Maul PC", "Максим Мауль ПК", "Maxim Maul PC", maul-pc]
|
||||||
|
tags: [niikn, windows, host]
|
||||||
|
---
|
||||||
|
|
||||||
|
# ПК Максима Мауля (НИИКН)
|
||||||
|
|
||||||
|
Рабочий ПК руководителя НИИКН [[project_niikn_maxim_assistant|Максима Мауля]]. Стоит в офисе НИИКН (Истра), LAN `192.168.1.0/24`, NetBird-доступ через группу `NIIKN`.
|
||||||
|
|
||||||
|
> Не путать с [[clawdbot-niikn|ботом Максима]] (LXC 114 `assistent_maximka_bot`) — это **рабочая станция самого Максима**.
|
||||||
|
|
||||||
|
## Сеть
|
||||||
|
|
||||||
|
| Параметр | Значение |
|
||||||
|
|----------|----------|
|
||||||
|
| Hostname | `DESKTOP-IC5A0K2` |
|
||||||
|
| FQDN NetBird | `desktop-ic5a0k2-m.netbird.cloud` |
|
||||||
|
| NetBird IP | `100.70.178.190` (`wt0`) |
|
||||||
|
| LAN IP | `192.168.1.89` (Ethernet) |
|
||||||
|
| NetBird группы | NIIKN |
|
||||||
|
| OS | Windows 10 Pro x64 |
|
||||||
|
|
||||||
|
## Железо
|
||||||
|
|
||||||
|
| Параметр | Значение |
|
||||||
|
|----------|----------|
|
||||||
|
| Vendor / Model | HP ProDesk 400 G7 Small Form Factor PC |
|
||||||
|
| CPU | Intel Core i7-10700 @ 2.90 GHz |
|
||||||
|
| RAM | 16 GB |
|
||||||
|
| SSD | SK hynix BC711 HFM512GD3JX013N (~477 GB) |
|
||||||
|
| GPU | Intel UHD Graphics 630 (128 MB) |
|
||||||
|
|
||||||
|
## Доступ
|
||||||
|
|
||||||
|
| Параметр | Значение |
|
||||||
|
|----------|----------|
|
||||||
|
| SSH | `ssh claude@100.70.178.190` (ключ `~/.ssh/id_ed25519`, root в `administrators_authorized_keys`) |
|
||||||
|
| Учётка | `claude / Kl@udeD1ag!2026` (Администраторы) |
|
||||||
|
| Локальный юзер | `Максим Мауль` (DESKTOP-IC5A0K2\\Максим Мауль) |
|
||||||
|
| WinRM | `5985/tcp` Basic/HTTP, `LocalAccountTokenFilterPolicy=1` |
|
||||||
|
| RDP | сервис `TermService` не запущен, `fDenyTSConnections=0` (порт закрыт; включится после `Start-Service TermService`) |
|
||||||
|
| Firewall (Claude-Diag) | Inbound SSH/5985/5986/3389 allow только из `100.70.0.0/16` |
|
||||||
|
|
||||||
|
## Установка доступа
|
||||||
|
|
||||||
|
Развёрнуто 2026-05-28 через [[../../snippets/netbird-claude-install.ps1]] (запустил сам Максим в PowerShell от админа):
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
iwr -useb https://git.dttb.ru/oleg/knowledge-base/raw/branch/main/snippets/netbird-claude-install.ps1 | iex
|
||||||
|
```
|
||||||
|
|
||||||
|
Скрипт пропустил шаг `netbird up --setup-key` (хост уже был зарегистрирован в NIIKN-группе ещё до 2026-02), не переехал в Claude-Diag.
|
||||||
|
|
||||||
|
## RustDesk
|
||||||
|
|
||||||
|
| Параметр | Значение |
|
||||||
|
|----------|----------|
|
||||||
|
| ID | `439312650` |
|
||||||
|
| Permanent password | `6DX2Acm8Px` |
|
||||||
|
| Server | `remot.dttb.ru:21116` (`[[rustdesk\|lejianwen-pro LXC 116]]`) |
|
||||||
|
| Relay / API | `remot.dttb.ru` / `https://remot.dttb.ru` |
|
||||||
|
| Key | `R0lA4r77hAGw6YRL1qG3JioVqQ0Q0fJfzkwlAGqR6jU=` |
|
||||||
|
| Auth mode | `use-permanent-password` / `approve-mode = password` |
|
||||||
|
| Creds на хосте | `C:\Users\Public\rustdesk-credentials.txt` |
|
||||||
|
|
||||||
|
Сервис `rustdesk` Running/Automatic. Конфиг в `C:\Users\Максим Мауль\AppData\Roaming\RustDesk\config\RustDesk2.toml`.
|
||||||
|
|
||||||
|
**До 2026-05-28** был прописан `10.0.0.244:21116` — недоступный из НИИКН-LAN/NetBird адрес. Перевели на `remot.dttb.ru:21116` (доступно через WAN/NetBird). Permanent password установлен через Scheduled Task с `LogonType Interactive` в сессии Максима (см. [[../../snippets/clients/|метод]] из [[../dttb/rustdesk-runbook]]).
|
||||||
|
|
||||||
|
⚠️ **`MUST_LOGIN=Y` на сервере** — для входящих connections peer `439312650` должен быть привязан в `https://remot.dttb.ru/_admin/` (admin / 1qaz!QAZ) → Devices → к юзеру/группе. Без этого подключение отбросится.
|
||||||
|
|
||||||
|
## Что установлено
|
||||||
|
|
||||||
|
- Adobe Acrobat Pro 2024.005.20399 RePack by KpoJIuK (на скрине открыт installer)
|
||||||
|
- Yandex Browser (никн.com открыт во вкладках)
|
||||||
|
- Sber-AST электронная торговая площадка (рабочая активность Максима)
|
||||||
|
- OpenSSH Server (после онбординга)
|
||||||
|
- RustDesk 1.4.x (сервис + UI в сессии Максима)
|
||||||
|
|
||||||
|
## Заметки
|
||||||
|
|
||||||
|
- 2026-05-28 — первичный онбординг Claude. Скрипт прошёл идемпотентно: NetBird перерегистрацию пропустил, локальный `claude` создан, OpenSSH + WinRM подняты, Mac-ключ залит в `administrators_authorized_keys`. Проверено: `ssh claude@100.70.178.190` заходит без пароля.
|
||||||
|
- 2026-05-28 — настроен RustDesk: сервер `10.0.0.244` → `remot.dttb.ru`, добавлены `api-server` + `approve-mode = password`, установлен permanent password `6DX2Acm8Px` через Scheduled Task в сессии Максима. ID `439312650`.
|
||||||
|
- В LAN `192.168.1.89` — не путать с [[office-pc.md|PC]] (`192.168.1.146`), это отдельный хост.
|
||||||
|
- RDP включён в реестре, но `TermService` не стартанул при онбординге. При необходимости поднять — `Start-Service TermService` через SSH.
|
||||||
@@ -25,10 +25,20 @@ Hairpin NAT: NPM(80,443), TURN(3478→133), Talk TURN(3479→200), RustDesk(2111
|
|||||||
## Маршруты для обхода блокировок (podkop)
|
## Маршруты для обхода блокировок (podkop)
|
||||||
|
|
||||||
```
|
```
|
||||||
/ip route add dst-address=198.18.0.0/15 gateway=192.168.1.50 comment=podkop-fakeip
|
/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) — ОТКАЧЕНО
|
## WG-туннель к LionART (NSPD bypass) — ОТКАЧЕНО
|
||||||
|
|
||||||
|
|||||||
@@ -109,9 +109,24 @@ config settings 'settings'
|
|||||||
config section 'main'
|
config section 'main'
|
||||||
option connection_type 'vpn'
|
option connection_type 'vpn'
|
||||||
option interface 'awg0'
|
option interface 'awg0'
|
||||||
list community_lists 'russia_inside'
|
|
||||||
list community_lists 'telegram'
|
|
||||||
list community_lists 'meta'
|
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
|
||||||
```
|
```
|
||||||
|
|
||||||
### Что обходится
|
### Что обходится
|
||||||
|
|||||||
@@ -48,9 +48,15 @@ if (-not (Test-Path $NETBIRD_EXE)) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# ===== 3. Регистрация =====
|
# ===== 3. Регистрация =====
|
||||||
Write-Host "[3/7] Регистрация в tenant с Claude-Diag ключом..."
|
# Если уже подключён к tenant (например, через свой setup-key в другой группе) — не перерегистрировать
|
||||||
& $NETBIRD_EXE up --setup-key $SETUP_KEY 2>&1 | Out-Host
|
$nbStatus = & $NETBIRD_EXE status 2>$null | Out-String
|
||||||
Start-Sleep 3
|
if ($nbStatus -match "Management:\s*Connected" -or $nbStatus -match "Signal:\s*Connected") {
|
||||||
|
Write-Host "[3/7] Netbird уже подключён, перерегистрацию пропускаем"
|
||||||
|
} else {
|
||||||
|
Write-Host "[3/7] Регистрация в tenant с Claude-Diag ключом..."
|
||||||
|
& $NETBIRD_EXE up --setup-key $SETUP_KEY 2>&1 | Out-Host
|
||||||
|
Start-Sleep 3
|
||||||
|
}
|
||||||
|
|
||||||
# ===== 4. Пользователь claude =====
|
# ===== 4. Пользователь claude =====
|
||||||
Write-Host "[4/7] Создаю/обновляю пользователя $CLAUDE_USER..."
|
Write-Host "[4/7] Создаю/обновляю пользователя $CLAUDE_USER..."
|
||||||
@@ -119,6 +125,23 @@ try {
|
|||||||
-Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -Force | Out-Null
|
-Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -Force | Out-Null
|
||||||
} catch {}
|
} catch {}
|
||||||
|
|
||||||
|
# Mac-ключ Олега в administrators_authorized_keys (для админов sshd читает только этот файл)
|
||||||
|
$macKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPonNRAAJRK5wISltjR65MmeP7fQjf5HmYdQD9mlZ07F ai@mac-20260112"
|
||||||
|
$authKeys = "C:\ProgramData\ssh\administrators_authorized_keys"
|
||||||
|
try {
|
||||||
|
if (-not (Test-Path "C:\ProgramData\ssh")) {
|
||||||
|
New-Item -ItemType Directory -Path "C:\ProgramData\ssh" -Force | Out-Null
|
||||||
|
}
|
||||||
|
$current = if (Test-Path $authKeys) { Get-Content $authKeys -Raw -ErrorAction SilentlyContinue } else { "" }
|
||||||
|
if ($current -notmatch [regex]::Escape($macKey)) {
|
||||||
|
Add-Content -Path $authKeys -Value $macKey -Encoding ASCII
|
||||||
|
}
|
||||||
|
# Жёсткие права: только SYSTEM и Administrators (требование sshd для admin-ключей)
|
||||||
|
icacls $authKeys /inheritance:r /grant "SYSTEM:F" /grant "BUILTIN\Administrators:F" 2>&1 | Out-Null
|
||||||
|
} catch {
|
||||||
|
Write-Host " Не удалось установить Mac-ключ в administrators_authorized_keys" -ForegroundColor Yellow
|
||||||
|
}
|
||||||
|
|
||||||
# ===== 7. Firewall rules — только для NetBird CIDR =====
|
# ===== 7. Firewall rules — только для NetBird CIDR =====
|
||||||
Write-Host "[7/7] Firewall rules для $NETBIRD_CIDR..."
|
Write-Host "[7/7] Firewall rules для $NETBIRD_CIDR..."
|
||||||
$rules = @(
|
$rules = @(
|
||||||
|
|||||||
Reference in New Issue
Block a user