From 57a026ed45419b24e9c690851c16e12f7fd5b47c Mon Sep 17 00:00:00 2001 From: code-server Date: Sun, 17 May 2026 06:05:01 +0000 Subject: [PATCH] code-server auto-sync 2026-05-17T06:05:01+00:00 --- audit/2026-05-17-creds-drift.md | 47 +++++++ audit/2026-05-17-dns-drift.md | 75 +++++++++++ audit/2026-05-17-drift.md | 73 +++++++++++ audit/2026-05-17-health.md | 202 ++++++++++++++++++++++++++++++ audit/2026-05-17-npm-drift.md | 62 +++++++++ audit/2026-05-17-objects-audit.md | 37 ++++++ audit/2026-05-17-proposed.md | 185 +++++++++++++++++++++++++++ audit/health-latest.json | 4 +- projects/_index.md | 4 +- 9 files changed, 685 insertions(+), 4 deletions(-) create mode 100644 audit/2026-05-17-creds-drift.md create mode 100644 audit/2026-05-17-dns-drift.md create mode 100644 audit/2026-05-17-drift.md create mode 100644 audit/2026-05-17-health.md create mode 100644 audit/2026-05-17-npm-drift.md create mode 100644 audit/2026-05-17-objects-audit.md create mode 100644 audit/2026-05-17-proposed.md diff --git a/audit/2026-05-17-creds-drift.md b/audit/2026-05-17-creds-drift.md new file mode 100644 index 0000000..4818d25 --- /dev/null +++ b/audit/2026-05-17-creds-drift.md @@ -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`.* \ No newline at end of file diff --git a/audit/2026-05-17-dns-drift.md b/audit/2026-05-17-dns-drift.md new file mode 100644 index 0000000..15e334d --- /dev/null +++ b/audit/2026-05-17-dns-drift.md @@ -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`.* \ No newline at end of file diff --git a/audit/2026-05-17-drift.md b/audit/2026-05-17-drift.md new file mode 100644 index 0000000..8801a26 --- /dev/null +++ b/audit/2026-05-17-drift.md @@ -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`. Применять правки — вручную после ревью.* \ No newline at end of file diff --git a/audit/2026-05-17-health.md b/audit/2026-05-17-health.md new file mode 100644 index 0000000..af4b6b8 --- /dev/null +++ b/audit/2026-05-17-health.md @@ -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.* \ No newline at end of file diff --git a/audit/2026-05-17-npm-drift.md b/audit/2026-05-17-npm-drift.md new file mode 100644 index 0000000..85df292 --- /dev/null +++ b/audit/2026-05-17-npm-drift.md @@ -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`.* \ No newline at end of file diff --git a/audit/2026-05-17-objects-audit.md b/audit/2026-05-17-objects-audit.md new file mode 100644 index 0000000..acb7e16 --- /dev/null +++ b/audit/2026-05-17-objects-audit.md @@ -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//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-ссылки + +✅ битых ссылок не найдено diff --git a/audit/2026-05-17-proposed.md b/audit/2026-05-17-proposed.md new file mode 100644 index 0000000..f00521c --- /dev/null +++ b/audit/2026-05-17-proposed.md @@ -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`. diff --git a/audit/health-latest.json b/audit/health-latest.json index 1ad6711..781da6f 100644 --- a/audit/health-latest.json +++ b/audit/health-latest.json @@ -1,5 +1,5 @@ { - "date": "2026-05-10", + "date": "2026-05-17", "score": 785, "counts": { "broken_wikilinks": 4, @@ -17,5 +17,5 @@ "undated_todos": 1, "duplicate_basenames": 5 }, - "files_scanned": 848 + "files_scanned": 855 } \ No newline at end of file diff --git a/projects/_index.md b/projects/_index.md index ef040ac..200b080 100644 --- a/projects/_index.md +++ b/projects/_index.md @@ -1,5 +1,5 @@ --- -date: 2026-05-10 +date: 2026-05-17 type: index source: scripts/kb-objects-map.py tags: [index, registry, objects, netbird] @@ -7,7 +7,7 @@ tags: [index, registry, objects, netbird] # Реестр объектов и netbird-пиров -Авто-сгенерировано `2026-05-10T06:00` из [[dttb/netbird-inventory]] + frontmatter в `projects/`. +Авто-сгенерировано `2026-05-17T06:01` из [[dttb/netbird-inventory]] + frontmatter в `projects/`. **Не править вручную** — перепишется. Источник правды — frontmatter в каждом README. - Проектов: **21**, из них с netbird-привязкой: **9**