1
0
Files
homelab-public-context/runtime/latest.json
T
2026-09-08 07:36:39 +00:00

39 lines
74 KiB
JSON

{
"schema_version": 1,
"channel": "homelab-runtime",
"command_id": "NEWFI-260908-A-STAGINGEDGE-FRONTEND-FORENSIC3",
"status": "OK",
"rc": 0,
"host": "pve01",
"mode": "read-only",
"component": "newfi-staging-upstream-tls-frontend-forensic-readonly",
"started_at_utc": "2026-09-08T07:36:02Z",
"finished_at_utc": "2026-09-08T07:36:39Z",
"reference_register_checked": true,
"reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66",
"error_register_checked": true,
"error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0",
"command_sha256": "45b9f9814c0bff698962bcdd4c06d06953e5ec76ec01c8f56e680c51218c4047",
"duplicate_failed_command_blocked": false,
"block_reason": null,
"execution_started": true,
"change_declared": false,
"result_contract_valid": true,
"result_contract_status": null,
"result_contract_error": null,
"command_rc": 0,
"changes_made": false,
"rollback_started": false,
"rollback_restored": null,
"mutation_outcome": "NO_MUTATION",
"sanitized": true,
"secrets_included": false,
"private_addresses_included": false,
"raw_evidence_retained_locally": true,
"raw_evidence_sha256": "1997b836a531166d14298c77a514de124631aa8c239a2ef9b74202fb2bf9a4ff",
"sanitized_output_sha256": "24bb5f3b58f9b3919ef16ca69845f204063a88ea8ab583d4e12ed0445d64f801",
"output_truncated_in_json": false,
"full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
"output": "FORENSIC3_BEGIN=true\nCOMMAND_ID=NEWFI-260908-A-STAGINGEDGE-FRONTEND-FORENSIC3\nMODE=read-only\nMUTATIONS_PERFORMED=NO\nERROR_REGISTER_CHECK=OK\nERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0\nREFERENCE_CHECK=OK\nREFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66\nAUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED\nPRIOR_FORENSIC2_GATE=PASS\nPRIOR_FORENSIC2_HISTORY_SHA256=ca4539996dc20a97e98687e1c0721f53b03e9c9e0c9e68fc62d4686081053271\nPUBLIC_DNS_PTR={\"PTR\":{\"err\":\"\",\"rc\":0,\"values\":[]},\"chat.gram1.ru\":{\"A\":[\"185.225.35.6\"],\"err\":\"\",\"rc\":0},\"git.gram1.ru\":{\"A\":[\"185.225.35.6\"],\"err\":\"\",\"rc\":0},\"groups.chat.gram1.ru\":{\"A\":[\"chat.gram1.ru.\",\"185.225.35.6\"],\"err\":\"\",\"rc\":0},\"newfi-staging.gram1.ru\":{\"A\":[],\"err\":\"\",\"rc\":0},\"share.chat.gram1.ru\":{\"A\":[\"chat.gram1.ru.\",\"185.225.35.6\"],\"err\":\"\",\"rc\":0}}\nPUBLIC_CERT_GIT_GRAM1_RU={\"err\":\"\",\"out\":\"subject=CN=git.gram1.ru\\nissuer=C=US, O=Let's Encrypt, CN=YE1\\nserial=0668B385C8D6C5BBB0435761F84FADD0DB23\\nnotBefore=Aug 17 02:03:29 2026 GMT\\nnotAfter=Nov 15 02:03:28 2026 GMT\\nX509v3 Subject Alternative Name: \\n DNS:git-read.gram1.ru, DNS:git.gram1.ru\",\"rc\":0}\nPUBLIC_CURL_GIT_GRAM1_RU={\"err\":\"\",\"headers\":[\"Server: nginx/1.28.3 (Ubuntu)\"],\"http\":\"200\",\"rc\":0}\nPUBLIC_CERT_CHAT_GRAM1_RU={\"err\":\"\",\"out\":\"subject=CN=chat.gram1.ru\\nissuer=C=US, O=Let's Encrypt, CN=YE2\\nserial=05CCB33370771F433AE4E9AD47F2DB574672\\nnotBefore=Aug 17 02:54:43 2026 GMT\\nnotAfter=Nov 15 02:54:42 2026 GMT\\nX509v3 Subject Alternative Name: \\n DNS:chat.gram1.ru, DNS:groups.chat.gram1.ru, DNS:share.chat.gram1.ru\",\"rc\":0}\nPUBLIC_CURL_CHAT_GRAM1_RU={\"err\":\"\",\"headers\":[\"Server: nginx/1.28.3 (Ubuntu)\",\"location: /login\"],\"http\":\"302\",\"rc\":0}\nPUBLIC_CERT_NEWFI_STAGING_GRAM1_RU={\"err\":\"\",\"out\":\"subject=CN=chat.gram1.ru\\nissuer=C=US, O=Let's Encrypt, CN=YE2\\nserial=05CCB33370771F433AE4E9AD47F2DB574672\\nnotBefore=Aug 17 02:54:43 2026 GMT\\nnotAfter=Nov 15 02:54:42 2026 GMT\\nX509v3 Subject Alternative Name: \\n DNS:chat.gram1.ru, DNS:groups.chat.gram1.ru, DNS:share.chat.gram1.ru\",\"rc\":0}\nPUBLIC_CURL_NEWFI_STAGING_GRAM1_RU={\"err\":\"curl: (60) SSL: no alternative certificate subject name matches target hostname 'newfi-staging.gram1.ru'\\nMore details here: https://curl.se/docs/sslcerts.html\\n\\ncurl failed to verify the legitimacy of the server and therefore could not\\nestablish a secure connection to it. To learn more about this situation and\\nhow to fix it, please visit the webpage mentioned above.\\n\",\"headers\":[],\"http\":\"000\",\"rc\":60}\nCLUSTER_VM_CT_INVENTORY={\"err\":\"\",\"rc\":0,\"rows\":[{\"name\":\"dns1\",\"node\":\"pve01\",\"status\":\"running\",\"template\":0,\"type\":\"lxc\",\"vmid\":110},{\"name\":\"dns2\",\"node\":\"pve02\",\"status\":\"running\",\"template\":0,\"type\":\"lxc\",\"vmid\":111},{\"name\":\"unbound1\",\"node\":\"pve01\",\"status\":\"running\",\"template\":0,\"type\":\"lxc\",\"vmid\":112},{\"name\":\"unbound2\",\"node\":\"pve02\",\"status\":\"running\",\"template\":0,\"type\":\"lxc\",\"vmid\":113},{\"name\":\"edge-vm\",\"node\":\"pve03\",\"status\":\"running\",\"template\":0,\"type\":\"qemu\",\"vmid\":130},{\"name\":\"snikket\",\"node\":\"pve01\",\"status\":\"running\",\"template\":0,\"type\":\"qemu\",\"vmid\":150},{\"name\":\"forum-prod\",\"node\":\"pve02\",\"status\":\"running\",\"template\":0,\"type\":\"qemu\",\"vmid\":160},{\"name\":\"core-apps\",\"node\":\"pve01\",\"status\":\"running\",\"template\":0,\"type\":\"qemu\",\"vmid\":170},{\"name\":\"monitoring\",\"node\":\"pve01\",\"status\":\"running\",\"template\":0,\"type\":\"qemu\",\"vmid\":171},{\"name\":\"homelab-ops-worker\",\"node\":\"pve03\",\"status\":\"running\",\"template\":0,\"type\":\"qemu\",\"vmid\":190},{\"name\":\"newfi-prod\",\"node\":\"pve01\",\"status\":\"running\",\"template\":0,\"type\":\"qemu\",\"vmid\":210},{\"name\":\"newfi-staging\",\"node\":\"pve03\",\"status\":\"running\",\"template\":0,\"type\":\"qemu\",\"vmid\":211},{\"name\":\"edge-cold-standby\",\"node\":\"pve02\",\"status\":\"stopped\",\"template\":0,\"type\":\"qemu\",\"vmid\":9130}]}\nPVE01_DEFAULT_ROUTE={\"err\":\"\",\"gateway\":\"[PRIVATE_IP]\",\"line\":\"default via [PRIVATE_IP] dev vmbr0 proto kernel onlink\",\"rc\":0}\nPVE01_GATEWAY_NEIGHBOR={\"err\":\"\",\"out\":\"[PRIVATE_IP] dev vmbr0 lladdr d6:9c:53:00:2c:c3 REACHABLE\",\"rc\":0}\nGATEWAY_BASIC_PORTS={\"22\":{\"open\":false,\"rc\":124},\"443\":{\"open\":false,\"rc\":124},\"80\":{\"open\":false,\"rc\":124},\"8443\":{\"open\":false,\"rc\":124}}\nGATEWAY_SSH_KEYSCAN={\"err\":\"\",\"out\":\"\",\"rc\":1}\nGATEWAY_HTTP_HEAD={\"err\":\"curl: (28) Connection timed out after 5002 milliseconds\\n\",\"out\":\"\",\"rc\":28}\nGATEWAY_HTTPS_HEAD={\"err\":\"curl: (28) Connection timed out after 5001 milliseconds\\n\",\"out\":\"\",\"rc\":28}\nEDGE_PRIVATE_IP_DISCOVERY={\"ips\":[\"[PRIVATE_IP]\",\"[PRIVATE_IP]\",\"[PRIVATE_IP]\",\"[PRIVATE_IP]\",\"[PRIVATE_IP]\",\"[PRIVATE_IP]\",\"[PRIVATE_IP]\",\"[PRIVATE_IP]\",\"[PRIVATE_IP]\",\"[PRIVATE_IP]\",\"[PRIVATE_IP]\"],\"rc\":0,\"selected\":null}\nEDGE_WEB_LISTENER_OWNERSHIP={\"err\":\"\",\"out\":\"--- SS_WEB ---\\nState Recv-Q Send-Q Local Address:Port Peer Address:PortProcess \\nLISTEN 0 511 0.0.0.0:443 0.0.0.0:* users:((\\\"nginx\\\",pid=2180110,fd=16),(\\\"nginx\\\",pid=2180089,fd=16),(\\\"nginx\\\",pid=2180083,fd=16),(\\\"nginx\\\",pid=2180082,fd=16),(\\\"nginx\\\",pid=3096,fd=16))\\nLISTEN 0 511 0.0.0.0:443 0.0.0.0:* users:((\\\"nginx\\\",pid=2180110,fd=15),(\\\"nginx\\\",pid=2180089,fd=15),(\\\"nginx\\\",pid=2180083,fd=15),(\\\"nginx\\\",pid=2180082,fd=15),(\\\"nginx\\\",pid=3096,fd=15))\\nLISTEN 0 511 0.0.0.0:443 0.0.0.0:* users:((\\\"nginx\\\",pid=2180110,fd=14),(\\\"nginx\\\",pid=2180089,fd=14),(\\\"nginx\\\",pid=2180083,fd=14),(\\\"nginx\\\",pid=2180082,fd=14),(\\\"nginx\\\",pid=3096,fd=14))\\nLISTEN 0 511 0.0.0.0:443 0.0.0.0:* users:((\\\"nginx\\\",pid=2180110,fd=7),(\\\"nginx\\\",pid=2180089,fd=7),(\\\"nginx\\\",pid=2180083,fd=7),(\\\"nginx\\\",pid=2180082,fd=7),(\\\"nginx\\\",pid=3096,fd=7)) \\nLISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:((\\\"nginx\\\",pid=2180110,fd=13),(\\\"nginx\\\",pid=2180089,fd=13),(\\\"nginx\\\",pid=2180083,fd=13),(\\\"nginx\\\",pid=2180082,fd=13),(\\\"nginx\\\",pid=3096,fd=13))\\nLISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:((\\\"nginx\\\",pid=2180110,fd=12),(\\\"nginx\\\",pid=2180089,fd=12),(\\\"nginx\\\",pid=2180083,fd=12),(\\\"nginx\\\",pid=2180082,fd=12),(\\\"nginx\\\",pid=3096,fd=12))\\nLISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:((\\\"nginx\\\",pid=2180110,fd=11),(\\\"nginx\\\",pid=2180089,fd=11),(\\\"nginx\\\",pid=2180083,fd=11),(\\\"nginx\\\",pid=2180082,fd=11),(\\\"nginx\\\",pid=3096,fd=11))\\nLISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:((\\\"nginx\\\",pid=2180110,fd=6),(\\\"nginx\\\",pid=2180089,fd=6),(\\\"nginx\\\",pid=2180083,fd=6),(\\\"nginx\\\",pid=2180082,fd=6),(\\\"nginx\\\",pid=3096,fd=6)) \\nLISTEN 0 511 127.0.0.1:81 0.0.0.0:* users:((\\\"nginx\\\",pid=2180110,fd=19),(\\\"nginx\\\",pid=2180089,fd=19),(\\\"nginx\\\",pid=2180083,fd=19),(\\\"nginx\\\",pid=2180082,fd=19),(\\\"nginx\\\",pid=3096,fd=19))\\nLISTEN 0 511 127.0.0.1:81 0.0.0.0:* users:((\\\"nginx\\\",pid=2180110,fd=18),(\\\"nginx\\\",pid=2180089,fd=18),(\\\"nginx\\\",pid=2180083,fd=18),(\\\"nginx\\\",pid=2180082,fd=18),(\\\"nginx\\\",pid=3096,fd=18))\\nLISTEN 0 511 127.0.0.1:81 0.0.0.0:* users:((\\\"nginx\\\",pid=2180110,fd=17),(\\\"nginx\\\",pid=2180089,fd=17),(\\\"nginx\\\",pid=2180083,fd=17),(\\\"nginx\\\",pid=2180082,fd=17),(\\\"nginx\\\",pid=3096,fd=17))\\nLISTEN 0 511 127.0.0.1:81 0.0.0.0:* users:((\\\"nginx\\\",pid=2180110,fd=8),(\\\"nginx\\\",pid=2180089,fd=8),(\\\"nginx\\\",pid=2180083,fd=8),(\\\"nginx\\\",pid=2180082,fd=8),(\\\"nginx\\\",pid=3096,fd=8)) \\nLISTEN 0 511 [::]:443 [::]:* users:((\\\"nginx\\\",pid=2180110,fd=10),(\\\"nginx\\\",pid=2180089,fd=10),(\\\"nginx\\\",pid=2180083,fd=10),(\\\"nginx\\\",pid=2180082,fd=10),(\\\"nginx\\\",pid=3096,fd=10))\\nLISTEN 0 511 [::]:80 [::]:* users:((\\\"nginx\\\",pid=2180110,fd=9),(\\\"nginx\\\",pid=2180089,fd=9),(\\\"nginx\\\",pid=2180083,fd=9),(\\\"nginx\\\",pid=2180082,fd=9),(\\\"nginx\\\",pid=3096,fd=9)) \\n--- PROCESS_TREE_NGINX ---\\n 1920 1674 root haproxy /usr/sbin/haproxy -f /run/haproxy/haproxy.cfg -W -db\\n 2031 888 root docker-proxy /usr/bin/docker-proxy -proto tcp -host-ip 127.0.0.1 -host-port 2375 -container-ip [PRIVATE_IP] -container-port 2375 -use-listen-fd\\n 2107 888 root docker-proxy /usr/bin/docker-proxy -proto tcp -host-ip 127.0.0.1 -host-port 8081 -container-ip [PRIVATE_IP] -container-port 8080 -use-listen-fd\\n 2160 888 root docker-proxy /usr/bin/docker-proxy -proto tcp -host-ip 127.0.0.1 -host-port 7422 -container-ip [PRIVATE_IP] -container-port 7422 -use-listen-fd\\n 2180 888 root docker-proxy /usr/bin/docker-proxy -proto tcp -host-ip 127.0.0.1 -host-port 8088 -container-ip [PRIVATE_IP] -container-port 8080 -use-listen-fd\\n 2201 888 root docker-proxy /usr/bin/docker-proxy -proto tcp -host-ip 127.0.0.1 -host-port 12345 -container-ip [PRIVATE_IP] -container-port 12345 -use-listen-fd\\n 2213 1920 root haproxy /usr/sbin/haproxy -f /run/haproxy/haproxy.cfg -W -db\\n 2223 888 root docker-proxy /usr/bin/docker-proxy -proto tcp -host-ip 127.0.0.1 -host-port 3100 -container-ip [PRIVATE_IP] -container-port 3100 -use-listen-fd\\n 2332 888 root docker-proxy /usr/bin/docker-proxy -proto tcp -host-ip 127.0.0.1 -host-port 9999 -container-ip [PRIVATE_IP] -container-port 8080 -use-listen-fd\\n 3096 3095 root nginx nginx: master process nginx -e stderr\\n1948449 3096 root nginx nginx: worker process is shutting down\\n2180082 3096 root nginx nginx: worker process\\n2180083 3096 root nginx nginx: worker process\\n2180089 3096 root nginx nginx: worker process\\n2180110 3096 root nginx nginx: worker process\\n2183049 722 root bash /bin/bash -lc echo '--- SS_WEB ---' ss -ltnp | awk 'NR==1 || $4 ~ /:(80|81|443)$/' echo '--- PROCESS_TREE_NGINX ---' ps -eo pid,ppid,user,comm,args | grep -E '[n]ginx|[d]ocker-proxy|[h]aproxy|[c]addy|[t]raefik' echo '--- NPMPLUS_MODE ---' docker inspect npmplus --format '{{.HostConfig.NetworkMode}}' echo '--- NPMPLUS_IMAGE ---' docker inspect npmplus --format '{{.Config.Image}} {{.Image}}' echo '--- NPMPLUS_NGINX_VERSION ---' docker exec npmplus /usr/local/nginx/sbin/nginx -v 2>&1 \\n2631782 1 root sudo sudo bash -lc set -euo pipefail; IDS=\\\"30 32 33 34 35 36 37 38 39 40 43 44 47 54 55 56 57 58 59\\\"; B=\\\"/opt/npmplus/manual-backups/stale-proxy-host-retirement-$(date -u +%Y%m%dT%H%M%SZ)\\\"; install -d -m 700 \\\"$B\\\"; python3 -c \\\"import sqlite3; s=sqlite3.connect(\\\\\\\"file:/opt/npmplus/npmplus/database.sqlite?mode=ro\\\\\\\",uri=True); d=sqlite3.connect(\\\\\\\"$B/database.sqlite.before\\\\\\\"); s.backup(d); d.close(); s.close()\\\"; chmod 600 \\\"$B/database.sqlite.before\\\"; for id in $IDS; do [ ! -e \\\"/opt/npmplus/nginx/proxy_host/$id.conf\\\" ] || cp -a \\\"/opt/npmplus/nginx/proxy_host/$id.conf\\\" \\\"$B/$id.conf.before\\\"; done; docker exec npmplus grep -q \\\"is_deleted: 1\\\" /app/internal/proxy-host.js; docker exec npmplus grep -q \\\"Delete Nginx Config\\\" /app/internal/proxy-host.js; docker exec npmplus grep -q \\\"internalNginx.reload\\\" /app/internal/proxy-host.js; C=\\\"/data${B#/opt/npmplus}\\\"; printf \\\"%s\\\\n\\\" \\\"import internalProxyHost from \\\\\\\"/app/internal/proxy-host.js\\\\\\\";\\\" \\\"const ids=[30,32,33,34,35,36,37,38,39,40,43,44,47,54,55,56,57,58,59];\\\" \\\"const access={can:async()=>({permission_visibility:\\\\\\\"all\\\\\\\"}),token=<redacted>;\\\" \\\"for (const id of ids) { const ok=await internalProxyHost.delete(access,{id}); console.log(\\\\\\\"DELETED=\\\\\\\"+id+\\\\\\\":\\\\\\\"+ok); }\\\" > \\\"$B/delete-stale.mjs\\\"; chmod 644 \\\"$B/delete-stale.mjs\\\"; docker exec -u 0 npmplus node --check \\\"$C/delete-stale.mjs\\\"; echo \\\"BACKUP=$B\\\"; docker exec -u 0 npmplus node \\\"$C/delete-stale.mjs\\\"; docker exec npmplus nginx -t; echo NPMPLUS_STALE_PROXY_HOST_DELETE=PASS\\n2631784 2631782 root bash bash -lc set -euo pipefail; IDS=\\\"30 32 33 34 35 36 37 38 39 40 43 44 47 54 55 56 57 58 59\\\"; B=\\\"/opt/npmplus/manual-backups/stale-proxy-host-retirement-$(date -u +%Y%m%dT%H%M%SZ)\\\"; install -d -m 700 \\\"$B\\\"; python3 -c \\\"import sqlite3; s=sqlite3.connect(\\\\\\\"file:/opt/npmplus/npmplus/database.sqlite?mode=ro\\\\\\\",uri=True); d=sqlite3.connect(\\\\\\\"$B/database.sqlite.before\\\\\\\"); s.backup(d); d.close(); s.close()\\\"; chmod 600 \\\"$B/database.sqlite.before\\\"; for id in $IDS; do [ ! -e \\\"/opt/npmplus/nginx/proxy_host/$id.conf\\\" ] || cp -a \\\"/opt/npmplus/nginx/proxy_host/$id.conf\\\" \\\"$B/$id.conf.before\\\"; done; docker exec npmplus grep -q \\\"is_deleted: 1\\\" /app/internal/proxy-host.js; docker exec npmplus grep -q \\\"Delete Nginx Config\\\" /app/internal/proxy-host.js; docker exec npmplus grep -q \\\"internalNginx.reload\\\" /app/internal/proxy-host.js; C=\\\"/data${B#/opt/npmplus}\\\"; printf \\\"%s\\\\n\\\" \\\"import internalProxyHost from \\\\\\\"/app/internal/proxy-host.js\\\\\\\";\\\" \\\"const ids=[30,32,33,34,35,36,37,38,39,40,43,44,47,54,55,56,57,58,59];\\\" \\\"const access={can:async()=>({permission_visibility:\\\\\\\"all\\\\\\\"}),token=<redacted>;\\\" \\\"for (const id of ids) { const ok=await internalProxyHost.delete(access,{id}); console.log(\\\\\\\"DELETED=\\\\\\\"+id+\\\\\\\":\\\\\\\"+ok); }\\\" > \\\"$B/delete-stale.mjs\\\"; chmod 644 \\\"$B/delete-stale.mjs\\\"; docker exec -u 0 npmplus node --check \\\"$C/delete-stale.mjs\\\"; echo \\\"BACKUP=$B\\\"; docker exec -u 0 npmplus node \\\"$C/delete-stale.mjs\\\"; docker exec npmplus nginx -t; echo NPMPLUS_STALE_PROXY_HOST_DELETE=PASS\\n--- NPMPLUS_MODE ---\\nhost\\n--- NPMPLUS_IMAGE ---\\ndocker.io/zoeyvid/npmplus:2026-06-17-b1 sha256:058637924fae1dbf161d1d78c84b738d86804e9a0ddad66cf7c87cbe33337834\\n--- NPMPLUS_NGINX_VERSION ---\\nnginx version: nginx/1.31.2 (NPMplus)\",\"rc\":0}\nFOCUSED_FRONTEND_REFERENCES={\"err\":\"\",\"out\":\"[{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_HISTORICAL_2026-07-09.md\\\",\\\"line\\\":951,\\\"text\\\":\\\"URL=https://git.gram1.ru\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_HISTORICAL_2026-07-09.md\\\",\\\"line\\\":1967,\\\"text\\\":\\\"4. The only remaining access convenience item is optional: expose the cluster-admin panel via a VPN-only/internal reverse proxy route such as `cluster-admin.vpn.gram1.ru`.\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_HISTORICAL_2026-07-09.md\\\",\\\"line\\\":2418,\\\"text\\\":\\\"from=\\\\\\\"[PRIVATE_IP]\\\\\\\",command=\\\\\\\"...\\\\\\\",no-agent-forwarding,no-X11-forwarding,no-port-forwarding,no-pty\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_HISTORICAL_2026-07-09.md\\\",\\\"line\\\":2454,\\\"text\\\":\\\"- Optional ports 80/443 on VM150/170/171 are not hard failures because services may live behind reverse proxy or not expose direct ports.\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_HISTORICAL_2026-07-09.md\\\",\\\"line\\\":2803,\\\"text\\\":\\\"Configure operator-friendly VPN reverse proxy route: cluster-admin.vpn.gram1.ru -> [PRIVATE_IP]:8080\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_HISTORICAL_2026-07-09.md\\\",\\\"line\\\":2832,\\\"text\\\":\\\"8. `http://[PRIVATE_IP]:8080/` is not reachable from a normal browser outside LAN/VPN. Use VPN, SSH tunnel, or internal reverse proxy.\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_HISTORICAL_2026-07-09.md\\\",\\\"line\\\":4810,\\\"text\\\":\\\"- likely frontend/cache;\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_HISTORICAL_2026-07-09.md\\\",\\\"line\\\":5436,\\\"text\\\":\\\"- \\\\u043a\\\\u0442\\\\u043e \\\\u043e\\\\u0442\\\\u0432\\\\u0435\\\\u0447\\\\u0430\\\\u0435\\\\u0442 \\\\u0437\\\\u0430 reverse proxy;\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_HISTORICAL_2026-07-09.md\\\",\\\"line\\\":6683,\\\"text\\\":\\\"| Core | Gitea | https://git.gram1.ru | public | Git |\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_HISTORICAL_2026-07-09.md\\\",\\\"line\\\":7096,\\\"text\\\":\\\"- line 304: `## FORUM_PROD_BULK_IMPORT_PHP85_EMPTY_FRONTEND_20260701`\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_HISTORICAL_2026-07-09.md\\\",\\\"line\\\":7161,\\\"text\\\":\\\"| 257 | `### NAT / port forwarding` |\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_HISTORICAL_2026-07-09.md\\\",\\\"line\\\":7455,\\\"text\\\":\\\"| 304 | `## FORUM_PROD_BULK_IMPORT_PHP85_EMPTY_FRONTEND_20260701` |\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_HISTORICAL_2026-07-09.md\\\",\\\"line\\\":7540,\\\"text\\\":\\\"- `https://git.gram1.ru`\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_HISTORICAL_2026-07-09.md\\\",\\\"line\\\":8263,\\\"text\\\":\\\"### NAT / port forwarding\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_HISTORICAL_2026-07-09.md\\\",\\\"line\\\":8552,\\\"text\\\":\\\"- Role: edge application host / reverse proxy / monitoring / backup automation host.\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_HISTORICAL_2026-07-09.md\\\",\\\"line\\\":8620,\\\"text\\\":\\\"- git.gram1.ru -> [PRIVATE_IP].\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_HISTORICAL_2026-07-09.md\\\",\\\"line\\\":8631,\\\"text\\\":\\\"- Public WAN router forwards TCP/80 and TCP/443 to NPMplus on edge-vm, [PRIVATE_IP].\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_HISTORICAL_2026-07-09.md\\\",\\\"line\\\":8653,\\\"text\\\":\\\"- git.gram1.ru -> http://127.0.0.1:3002, cert=29, ssl_forced=1, enabled=1.\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_HISTORICAL_2026-07-09.md\\\",\\\"line\\\":8702,\\\"text\\\":\\\"- cert=29: git.gram1.ru, expires 2026-09-13 17:36:55.\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_HISTORICAL_2026-07-09.md\\\",\\\"line\\\":9006,\\\"text\\\":\\\" - https://git.gram1.ru\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_HISTORICAL_2026-07-09.md\\\",\\\"line\\\":9062,\\\"text\\\":\\\"- external canary checks include nc.gram1.ru, git.gram1.ru, auth.gram1.ru, backup.gram1.ru.\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_HISTORICAL_2026-07-09.md\\\",\\\"line\\\":9305,\\\"text\\\":\\\"- Reverse proxy: NPMplus on edge-vm, container npmplus, host networking, admin bound to 127.0.0.1:81.\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_HISTORICAL_2026-07-09.md\\\",\\\"line\\\":9319,\\\"text\\\":\\\"| git.gram1.ru | http://127.0.0.1:3002 | edge-vm / gitea | gitea backup/offhost/restore |\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_HISTORICAL_2026-07-09.md\\\",\\\"line\\\":9870,\\\"text\\\":\\\"- Discovery proof records DNS, HTTPS/TLS headers, reverse-proxy candidates, compose files, domain references and homepage config candidates without printing secrets.\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_HISTORICAL_2026-07-09.md\\\",\\\"line\\\":10101,\\\"text\\\":\\\"- Bulk import of five forums reached DB/files/nginx/php-fpm ready state, but frontend body stayed empty under PHP 8.5.7.\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_HISTORICAL_2026-07-09.md\\\",\\\"line\\\":10113,\\\"text\\\":\\\"- Final result: all five frontend/admin HTTP 200, www redirects 301, internal_data 403, no new XenForo errors.\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_HISTORICAL_2026-07-09.md\\\",\\\"line\\\":10629,\\\"text\\\":\\\"- A portal card is openable only when DNS, reverse-proxy host mapping, and target content are all valid.\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_HISTORICAL_2026-07-09.md\\\",\\\"line\\\":10722,\\\"text\\\":\\\"## FORUM_PROD_BULK_IMPORT_PHP85_EMPTY_FRONTEND_20260701\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_HISTORICAL_2026-07-09.md\\\",\\\"line\\\":11033,\\\"text\\\":\\\"\\\\u0410 \\\\u0441\\\\u0430\\\\u043c\\\\u0430\\\\u044f \\\\u043a\\\\u0440\\\\u0438\\\\u0442\\\\u0438\\\\u0447\\\\u043d\\\\u0430\\\\u044f VM130 edge-vm \\\\u043d\\\\u0430\\\\u0445\\\\u043e\\\\u0434\\\\u0438\\\\u0442\\\\u0441\\\\u044f \\\\u043d\\\\u0430 pve03 \\\\u0438 \\\\u0434\\\\u0435\\\\u0440\\\\u0436\\\\u0438\\\\u0442 reverse proxy, monitoring, backup automation \\\\u0438 Docker application host. \\\\u041f\\\\u0440\\\\u0438 \\\\u044d\\\\u0442\\\\u043e\\\\u043c pve03 \\\\u2014 \\\\u0441\\\\u0430\\\\u043c\\\\u044b\\\\u0439 \\\\u043e\\\\u0433\\\\u0440\\\\u0430\\\\u043d\\\\u0438\\\\u0447\\\\u0435\\\\u043d\\\\u043d\\\\u044b\\\\u0439 \\\\u043f\\\\u043e \\\\u0434\\\\u0438\\\\u0441\\\\u043a\\\\u0443: local-lvm \\\\u0443\\\\u0436\\\\u0435 \\\\u0431\\\\u044b\\\\u043b \\\\u0441\\\\u0430\\\\u043c\\\\u044b\\\\u043c constrained, \\\\u043f\\\\u043e\\\\u0442\\\\u043e\\\\u043c\\\\u0443 \\\\u0447\\\\u0442\\\\u043e VM130 \\\\u0438\\\\u043c\\\\u0435\\\\u0435\\\\u0442 96G OS + 150G media/data, \\\\u0430 pve03 staging \\\\u0434\\\\u043e\\\\u0445\\\\u043e\\\\u0434\\\\u0438\\\\u043b \\\\u0434\\\\u043e 77% \\\\u043f\\\\u0440\\\\u0438 WARN 80%. \\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_HISTORICAL_2026-07-09.md\\\",\\\"line\\\":11044,\\\"text\\\":\\\"4. \\\\u0415\\\\u0441\\\\u043b\\\\u0438 \\\\u043d\\\\u0435 \\\\u043f\\\\u0435\\\\u0440\\\\u0435\\\\u043d\\\\u043e\\\\u0441\\\\u0438\\\\u0442\\\\u044c \\\\u0441\\\\u0435\\\\u0439\\\\u0447\\\\u0430\\\\u0441, \\\\u0442\\\\u043e \\\\u043c\\\\u0438\\\\u043d\\\\u0438\\\\u043c\\\\u0443\\\\u043c \\\\u0441\\\\u0434\\\\u0435\\\\u043b\\\\u0430\\\\u0442\\\\u044c **cold standby edge-vm** \\\\u043d\\\\u0430 pve01 \\\\u0438\\\\u043b\\\\u0438 pve02: \\\\u0432\\\\u043e\\\\u0441\\\\u0441\\\\u0442\\\\u0430\\\\u043d\\\\u043e\\\\u0432\\\\u043b\\\\u0435\\\\u043d\\\\u043d\\\\u0430\\\\u044f \\\\u0438\\\\u0437 \\\\u043f\\\\u043e\\\\u0441\\\\u043b\\\\u0435\\\\u0434\\\\u043d\\\\u0435\\\\u0433\\\\u043e backup, \\\\u0432\\\\u044b\\\\u043a\\\\u043b\\\\u044e\\\\u0447\\\\u0435\\\\u043d\\\\u043d\\\\u0430\\\\u044f, \\\\u0441 \\\\u043f\\\\u043e\\\\u043d\\\\u044f\\\\u0442\\\\u043d\\\\u044b\\\\u043c runbook \\\\u043f\\\\u0435\\\\u0440\\\\u0435\\\\u043a\\\\u043b\\\\u044e\\\\u0447\\\\u0435\\\\u043d\\\\u0438\\\\u044f IP/NPMplus/router port forward.\\\"},{\\\"path\\\":\\\"/etc/pve/HOMEPAGE_BACKUP_COVERAGE_MATRIX.md\\\",\\\"line\\\":22,\\\"text\\\":\\\"| Gitea | https://git.gram1.ru | 185 | 89 | 105 | EVIDENCE_FOUND_REVIEW |\\\"},{\\\"path\\\":\\\"/etc/pve/31_HOMELAB_REFERENCE.md\\\",\\\"line\\\":315,\\\"text\\\":\\\"### NAT / port forwarding\\\"},{\\\"path\\\":\\\"/etc/pve/31_HOMELAB_REFERENCE.md\\\",\\\"line\\\":604,\\\"text\\\":\\\"- Role: edge application host / reverse proxy / monitoring / backup automation host.\\\"},{\\\"path\\\":\\\"/etc/pve/31_HOMELAB_REFERENCE.md\\\",\\\"line\\\":672,\\\"text\\\":\\\"- git.gram1.ru -> [PRIVATE_IP].\\\"},{\\\"path\\\":\\\"/etc/pve/31_HOMELAB_REFERENCE.md\\\",\\\"line\\\":683,\\\"text\\\":\\\"- Public WAN router forwards TCP/80 and TCP/443 to NPMplus on edge-vm, [PRIVATE_IP].\\\"},{\\\"path\\\":\\\"/etc/pve/31_HOMELAB_REFERENCE.md\\\",\\\"line\\\":705,\\\"text\\\":\\\"- git.gram1.ru -> http://127.0.0.1:3002, cert=29, ssl_forced=1, enabled=1.\\\"},{\\\"path\\\":\\\"/etc/pve/31_HOMELAB_REFERENCE.md\\\",\\\"line\\\":754,\\\"text\\\":\\\"- cert=29: git.gram1.ru, expires 2026-09-13 17:36:55.\\\"},{\\\"path\\\":\\\"/etc/pve/31_HOMELAB_REFERENCE.md\\\",\\\"line\\\":1058,\\\"text\\\":\\\" - https://git.gram1.ru\\\"},{\\\"path\\\":\\\"/etc/pve/31_HOMELAB_REFERENCE.md\\\",\\\"line\\\":1114,\\\"text\\\":\\\"- external canary checks include nc.gram1.ru, git.gram1.ru, auth.gram1.ru, backup.gram1.ru.\\\"},{\\\"path\\\":\\\"/etc/pve/31_HOMELAB_REFERENCE.md\\\",\\\"line\\\":1357,\\\"text\\\":\\\"- Reverse proxy: NPMplus on edge-vm, container npmplus, host networking, admin bound to 127.0.0.1:81.\\\"},{\\\"path\\\":\\\"/etc/pve/31_HOMELAB_REFERENCE.md\\\",\\\"line\\\":1371,\\\"text\\\":\\\"| git.gram1.ru | http://127.0.0.1:3002 | edge-vm / gitea | gitea backup/offhost/restore |\\\"},{\\\"path\\\":\\\"/etc/pve/31_HOMELAB_REFERENCE.md\\\",\\\"line\\\":1922,\\\"text\\\":\\\"- Discovery proof records DNS, HTTPS/TLS headers, reverse-proxy candidates, compose files, domain references and homepage config candidates without printing secrets.\\\"},{\\\"path\\\":\\\"/etc/pve/31_HOMELAB_REFERENCE.md\\\",\\\"line\\\":2153,\\\"text\\\":\\\"- Bulk import of five forums reached DB/files/nginx/php-fpm ready state, but frontend body stayed empty under PHP 8.5.7.\\\"},{\\\"path\\\":\\\"/etc/pve/31_HOMELAB_REFERENCE.md\\\",\\\"line\\\":2165,\\\"text\\\":\\\"- Final result: all five frontend/admin HTTP 200, www redirects 301, internal_data 403, no new XenForo errors.\\\"},{\\\"path\\\":\\\"/etc/pve/31_HOMELAB_REFERENCE.md\\\",\\\"line\\\":2515,\\\"text\\\":\\\"- Recommended future path: establish VPN/NetBird/WireGuard or reverse-proxy/private management endpoint first; then issue DNS-01 certificate on a trusted node and deploy cert/key to the router only over that private path.\\\"},{\\\"path\\\":\\\"/etc/pve/31_HOMELAB_REFERENCE.md\\\",\\\"line\\\":2561,\\\"text\\\":\\\"- TLS terminates on edge using certbot DNS-01 cert router-taftauto.ru.\\\"},{\\\"path\\\":\\\"/etc/pve/31_HOMELAB_REFERENCE.md\\\",\\\"line\\\":2872,\\\"text\\\":\\\"- Primary domain: chat.gram1.ru.\\\"},{\\\"path\\\":\\\"/etc/pve/31_HOMELAB_REFERENCE.md\\\",\\\"line\\\":2873,\\\"text\\\":\\\"- groups.chat.gram1.ru and share.chat.gram1.ru are Snikket service domains.\\\"},{\\\"path\\\":\\\"/etc/pve/31_HOMELAB_REFERENCE.md\\\",\\\"line\\\":2902,\\\"text\\\":\\\"- chat.gram1.ru public A is 185.225.35.6; groups.chat.gram1.ru and share.chat.gram1.ru continue through chat.gram1.ru.\\\"},{\\\"path\\\":\\\"/etc/pve/31_HOMELAB_REFERENCE.md\\\",\\\"line\\\":2905,\\\"text\\\":\\\"- VM150 Internet default path is via [PRIVATE_IP] and verified public egress is 185.225.35.6.\\\"},{\\\"path\\\":\\\"/etc/pve/31_HOMELAB_REFERENCE.md\\\",\\\"line\\\":2906,\\\"text\\\":\\\"- Effective coturn external address uses 185.225.35.6 and no longer advertises 95.84.154.183.\\\"},{\\\"path\\\":\\\"/etc/pve/31_HOMELAB_REFERENCE.md\\\",\\\"line\\\":2912,\\\"text\\\":\\\"- Public DNS observed at release: 185.225.35.6; DNS was not changed during forum cutover.\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_CURRENT.md\\\",\\\"line\\\":1831,\\\"text\\\":\\\"URL=https://git.gram1.ru\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_CURRENT.md\\\",\\\"line\\\":2847,\\\"text\\\":\\\"4. The only remaining access convenience item is optional: expose the cluster-admin panel via a VPN-only/internal reverse proxy route such as `cluster-admin.vpn.gram1.ru`.\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_CURRENT.md\\\",\\\"line\\\":3298,\\\"text\\\":\\\"from=\\\\\\\"[PRIVATE_IP]\\\\\\\",command=\\\\\\\"...\\\\\\\",no-agent-forwarding,no-X11-forwarding,no-port-forwarding,no-pty\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_CURRENT.md\\\",\\\"line\\\":3334,\\\"text\\\":\\\"- Optional ports 80/443 on VM150/170/171 are not hard failures because services may live behind reverse proxy or not expose direct ports.\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_CURRENT.md\\\",\\\"line\\\":3683,\\\"text\\\":\\\"Configure operator-friendly VPN reverse proxy route: cluster-admin.vpn.gram1.ru -> [PRIVATE_IP]:8080\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_CURRENT.md\\\",\\\"line\\\":3712,\\\"text\\\":\\\"8. `http://[PRIVATE_IP]:8080/` is not reachable from a normal browser outside LAN/VPN. Use VPN, SSH tunnel, or internal reverse proxy.\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_CURRENT.md\\\",\\\"line\\\":5690,\\\"text\\\":\\\"- likely frontend/cache;\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_CURRENT.md\\\",\\\"line\\\":6316,\\\"text\\\":\\\"- \\\\u043a\\\\u0442\\\\u043e \\\\u043e\\\\u0442\\\\u0432\\\\u0435\\\\u0447\\\\u0430\\\\u0435\\\\u0442 \\\\u0437\\\\u0430 reverse proxy;\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_CURRENT.md\\\",\\\"line\\\":7563,\\\"text\\\":\\\"| Core | Gitea | https://git.gram1.ru | public | Git |\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_CURRENT.md\\\",\\\"line\\\":7976,\\\"text\\\":\\\"- line 304: `## FORUM_PROD_BULK_IMPORT_PHP85_EMPTY_FRONTEND_20260701`\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_CURRENT.md\\\",\\\"line\\\":8041,\\\"text\\\":\\\"| 257 | `### NAT / port forwarding` |\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_CURRENT.md\\\",\\\"line\\\":8335,\\\"text\\\":\\\"| 304 | `## FORUM_PROD_BULK_IMPORT_PHP85_EMPTY_FRONTEND_20260701` |\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_CURRENT.md\\\",\\\"line\\\":8420,\\\"text\\\":\\\"- `https://git.gram1.ru`\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_CURRENT.md\\\",\\\"line\\\":9143,\\\"text\\\":\\\"### NAT / port forwarding\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_CURRENT.md\\\",\\\"line\\\":9432,\\\"text\\\":\\\"- Role: edge application host / reverse proxy / monitoring / backup automation host.\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_CURRENT.md\\\",\\\"line\\\":9500,\\\"text\\\":\\\"- git.gram1.ru -> [PRIVATE_IP].\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_CURRENT.md\\\",\\\"line\\\":9511,\\\"text\\\":\\\"- Public WAN router forwards TCP/80 and TCP/443 to NPMplus on edge-vm, [PRIVATE_IP].\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_CURRENT.md\\\",\\\"line\\\":9533,\\\"text\\\":\\\"- git.gram1.ru -> http://127.0.0.1:3002, cert=29, ssl_forced=1, enabled=1.\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_CURRENT.md\\\",\\\"line\\\":9582,\\\"text\\\":\\\"- cert=29: git.gram1.ru, expires 2026-09-13 17:36:55.\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_CURRENT.md\\\",\\\"line\\\":9886,\\\"text\\\":\\\" - https://git.gram1.ru\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_CURRENT.md\\\",\\\"line\\\":9942,\\\"text\\\":\\\"- external canary checks include nc.gram1.ru, git.gram1.ru, auth.gram1.ru, backup.gram1.ru.\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_CURRENT.md\\\",\\\"line\\\":10185,\\\"text\\\":\\\"- Reverse proxy: NPMplus on edge-vm, container npmplus, host networking, admin bound to 127.0.0.1:81.\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_CURRENT.md\\\",\\\"line\\\":10199,\\\"text\\\":\\\"| git.gram1.ru | http://127.0.0.1:3002 | edge-vm / gitea | gitea backup/offhost/restore |\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_CURRENT.md\\\",\\\"line\\\":10750,\\\"text\\\":\\\"- Discovery proof records DNS, HTTPS/TLS headers, reverse-proxy candidates, compose files, domain references and homepage config candidates without printing secrets.\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_CURRENT.md\\\",\\\"line\\\":10981,\\\"text\\\":\\\"- Bulk import of five forums reached DB/files/nginx/php-fpm ready state, but frontend body stayed empty under PHP 8.5.7.\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_CURRENT.md\\\",\\\"line\\\":10993,\\\"text\\\":\\\"- Final result: all five frontend/admin HTTP 200, www redirects 301, internal_data 403, no new XenForo errors.\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_CURRENT.md\\\",\\\"line\\\":11509,\\\"text\\\":\\\"- A portal card is openable only when DNS, reverse-proxy host mapping, and target content are all valid.\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_CURRENT.md\\\",\\\"line\\\":11602,\\\"text\\\":\\\"## FORUM_PROD_BULK_IMPORT_PHP85_EMPTY_FRONTEND_20260701\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_CURRENT.md\\\",\\\"line\\\":11913,\\\"text\\\":\\\"\\\\u0410 \\\\u0441\\\\u0430\\\\u043c\\\\u0430\\\\u044f \\\\u043a\\\\u0440\\\\u0438\\\\u0442\\\\u0438\\\\u0447\\\\u043d\\\\u0430\\\\u044f VM130 edge-vm \\\\u043d\\\\u0430\\\\u0445\\\\u043e\\\\u0434\\\\u0438\\\\u0442\\\\u0441\\\\u044f \\\\u043d\\\\u0430 pve03 \\\\u0438 \\\\u0434\\\\u0435\\\\u0440\\\\u0436\\\\u0438\\\\u0442 reverse proxy, monitoring, backup automation \\\\u0438 Docker application host. \\\\u041f\\\\u0440\\\\u0438 \\\\u044d\\\\u0442\\\\u043e\\\\u043c pve03 \\\\u2014 \\\\u0441\\\\u0430\\\\u043c\\\\u044b\\\\u0439 \\\\u043e\\\\u0433\\\\u0440\\\\u0430\\\\u043d\\\\u0438\\\\u0447\\\\u0435\\\\u043d\\\\u043d\\\\u044b\\\\u0439 \\\\u043f\\\\u043e \\\\u0434\\\\u0438\\\\u0441\\\\u043a\\\\u0443: local-lvm \\\\u0443\\\\u0436\\\\u0435 \\\\u0431\\\\u044b\\\\u043b \\\\u0441\\\\u0430\\\\u043c\\\\u044b\\\\u043c constrained, \\\\u043f\\\\u043e\\\\u0442\\\\u043e\\\\u043c\\\\u0443 \\\\u0447\\\\u0442\\\\u043e VM130 \\\\u0438\\\\u043c\\\\u0435\\\\u0435\\\\u0442 96G OS + 150G media/data, \\\\u0430 pve03 staging \\\\u0434\\\\u043e\\\\u0445\\\\u043e\\\\u0434\\\\u0438\\\\u043b \\\\u0434\\\\u043e 77% \\\\u043f\\\\u0440\\\\u0438 WARN 80%. \\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_FULL_HANDOFF_CURRENT.md\\\",\\\"line\\\":11924,\\\"text\\\":\\\"4. \\\\u0415\\\\u0441\\\\u043b\\\\u0438 \\\\u043d\\\\u0435 \\\\u043f\\\\u0435\\\\u0440\\\\u0435\\\\u043d\\\\u043e\\\\u0441\\\\u0438\\\\u0442\\\\u044c \\\\u0441\\\\u0435\\\\u0439\\\\u0447\\\\u0430\\\\u0441, \\\\u0442\\\\u043e \\\\u043c\\\\u0438\\\\u043d\\\\u0438\\\\u043c\\\\u0443\\\\u043c \\\\u0441\\\\u0434\\\\u0435\\\\u043b\\\\u0430\\\\u0442\\\\u044c **cold standby edge-vm** \\\\u043d\\\\u0430 pve01 \\\\u0438\\\\u043b\\\\u0438 pve02: \\\\u0432\\\\u043e\\\\u0441\\\\u0441\\\\u0442\\\\u0430\\\\u043d\\\\u043e\\\\u0432\\\\u043b\\\\u0435\\\\u043d\\\\u043d\\\\u0430\\\\u044f \\\\u0438\\\\u0437 \\\\u043f\\\\u043e\\\\u0441\\\\u043b\\\\u0435\\\\u0434\\\\u043d\\\\u0435\\\\u0433\\\\u043e backup, \\\\u0432\\\\u044b\\\\u043a\\\\u043b\\\\u044e\\\\u0447\\\\u0435\\\\u043d\\\\u043d\\\\u0430\\\\u044f, \\\\u0441 \\\\u043f\\\\u043e\\\\u043d\\\\u044f\\\\u0442\\\\u043d\\\\u044b\\\\u043c runbook \\\\u043f\\\\u0435\\\\u0440\\\\u0435\\\\u043a\\\\u043b\\\\u044e\\\\u0447\\\\u0435\\\\u043d\\\\u0438\\\\u044f IP/NPMplus/router port forward.\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_ASSISTANT_ERROR_REGISTER.md\\\",\\\"line\\\":211,\\\"text\\\":\\\"- A portal card is openable only when DNS, reverse-proxy host mapping, and target content are all valid.\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_ASSISTANT_ERROR_REGISTER.md\\\",\\\"line\\\":304,\\\"text\\\":\\\"## FORUM_PROD_BULK_IMPORT_PHP85_EMPTY_FRONTEND_20260701\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_ASSISTANT_ERROR_REGISTER.md\\\",\\\"line\\\":1730,\\\"text\\\":\\\"- public_dns_root: 185.225.35.6\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_ASSISTANT_ERROR_REGISTER.md\\\",\\\"line\\\":1731,\\\"text\\\":\\\"- public_dns_www: 185.225.35.6\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_ASSISTANT_ERROR_REGISTER.md\\\",\\\"line\\\":2603,\\\"text\\\":\\\"2026-09-03 KOW_EXTERNAL_PUBLIC_FRONT_SERVER_VERSION_DISCLOSURE OPEN public_response_Server_nginx_1_28_3_Ubuntu direct_NPMplus_Server_absent identify_external_reverse_proxy_before_mutation\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_ASSISTANT_ERROR_REGISTER.md\\\",\\\"line\\\":3035,\\\"text\\\":\\\"CERT38_NARROW_MIGRATION_20260904 | CLOSED_COMMITTED_PASS | Cert38 meta/runtime credential migrated to verified narrow gram1 token; stock npm-38 renewal dry-run succeeded for chat.gram1.ru, groups.chat.gram1.ru and share.chat.gram1.ru.\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_ASSISTANT_ERROR_REGISTER.md\\\",\\\"line\\\":3100,\\\"text\\\":\\\"EDGE01_SSH_HOSTKEY_UNKNOWN_20260904 | OPEN | Strict SSH to 185.225.35.6 stopped before authentication because no pinned ED25519 host key exists for the IP; no remote state changed and no unverified key was accepted.\\\"},{\\\"path\\\":\\\"/etc/pve/HOMELAB_ASSISTANT_ERROR_REGISTER.md\\\",\\\"line\\\":3112,\\\"text\\\":\\\"PUBLIC_SERVER_VERSION_HARDENING_RUNTIME_MISMATCH_20260904 | CLOSED_PARTIAL_BLOCKED_EXTERNAL_INGRESS | VM130 NPMplus now has server_tokens off on all 13 public manual vhosts and direct-edge responses expose no Server header; public nginx/1.28.3 (Ubuntu) is emitted by EDGE01 185.225.35.6. kingofwolk.ru proves EDGE01 supports per-vhost server_tokens off, but external mutation is blocked until an authorized EDGE01 management credential is restored.\\\"},{\\\"path\\\":\\\"/root/finish_skladchik_cr_2026_0010_v2.sh\\\",\\\"line\\\":20,\\\"text\\\":\\\"API=https://git.gram1.ru/api/v1/repos/homelab-admin/homelab-ops\\\"},{\\\"path\\\":\\\"/root/774c_dockge_agent_capability_inspect.sh\\\",\\\"line\\\":70,\\\"text\\\":\\\" for f in /app/package.json /app/backend/package.json /app/frontend/package.json; do\\\"},{\\\"path\\\":\\\"/root/771h_crowdsec_capi_register_correct_sequence.sh\\\",\\\"line\\\":453,\\\"text\\\":\\\" for h in auth.gram1.ru photos.gram1.ru git.gram1.ru n8n.vpn.gram1.ru mealie.vpn.gram1.ru karakeep.vpn.gram1.ru dozzle.gram1.ru npmplus.vpn.gram1.ru; do\\\"},{\\\"path\\\":\\\"/root/771d_crowdsec_capi_via_privoxy_tor.sh\\\",\\\"line\\\":64,\\\"text\\\":\\\"export DEBIAN_FRONTEND=noninteractive\\\"},{\\\"path\\\":\\\"/root/771d_crowdsec_capi_via_privoxy_tor.sh\\\",\\\"line\\\":314,\\\"text\\\":\\\" for h in auth.gram1.ru photos.gram1.ru git.gram1.ru n8n.vpn.gram1.ru mealie.vpn.gram1.ru karakeep.vpn.gram1.ru dozzle.gram1.ru npmplus.vpn.gram1.ru; do\\\"},{\\\"path\\\":\\\"/root/771w_pve01_netbird_ssh_egress_crowdsec_capi.sh\\\",\\\"line\\\":586,\\\"text\\\":\\\" for h in auth.gram1.ru photos.gram1.ru git.gram1.ru n8n.vpn.gram1.ru mealie.vpn.gram1.ru karakeep.vpn.gram1.ru dozzle.gram1.ru npmplus.vpn.gram1.ru; do\\\"},{\\\"path\\\":\\\"/root/HOMELAB_READONLY_SERVICE_CENSUS_20260816T065015Z.txt\\\",\\\"line\\\":4306,\\\"text\\\":\\\" \\\\\\\"out-data\\\\\\\" : \\\\\\\"GUEST_BEGIN|host=forum-prod|utc=2026-08-16T06:50:56Z\\\\\\\\nPRETTY_NAME=\\\\\\\\\\\\\\\"Debian GNU/Linux 12 (bookworm)\\\\\\\\\\\\\\\"\\\\\\\\nVERSION_ID=\\\\\\\\\\\\\\\"12\\\\\\\\\\\\\\\"\\\\\\\\nID=debian\\\\\\\\n\\\\\\\\n--- GUEST_DF ---\\\\\\\\nFilesystem Type Size Used Avail Use% Mounted on\\\\\\\\nudev devtmpfs 3.9G 0 3.9G 0% /dev\\\\\\\\ntmpfs tmpfs 796M 512K 795M 1% /run\\\\\\\\n/dev/sda1 ext4 197G 15G 175G 8% /\\\\\\\\ntmpfs tmpfs 3.9G 0 3.9G 0% /dev/shm\\\\\\\\ntmpfs tmpfs 5.0M 0 5.0M 0% /run/lock\\\\\\\\n/dev/sda15 vfat 124M 12M 112M 10% /boot/efi\\\\\\\\n\\\\\\\\n--- GUEST_FAILED_UNITS ---\\\\\\\\nUNIT LOAD ACTIVE SUB DESCRIPTION\\\\\\\\n0 loaded units listed.\\\\\\\\n\\\\\\\\n--- GUEST_RUNNING_SERVICES ---\\\\\\\\nUNIT LOAD ACTIVE SUB DESCRIPTION\\\\\\\\nchrony.service loaded active running chrony, an NTP client/server\\\\\\\\ncron.service loaded active running Regular background program processing daemon\\\\\\\\ndbus.service loaded active running D-Bus System Message Bus\\\\\\\\ngetty@tty1.service loaded active running Getty on tty1\\\\\\\\nmariadb.service loaded active running MariaDB 10.11.18 database server\\\\\\\\nnginx.service loaded active running A high \\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v3_20260623T195206Z.txt\\\",\\\"line\\\":1665,\\\"text\\\":\\\"DOMAIN = git.gram1.ru\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v3_20260623T195206Z.txt\\\",\\\"line\\\":1668,\\\"text\\\":\\\"ROOT_URL = https://git.gram1.ru/\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v3_20260623T195206Z.txt\\\",\\\"line\\\":1705,\\\"text\\\":\\\"REVERSE_PROXY_LIMIT = 1\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v3_20260623T195206Z.txt\\\",\\\"line\\\":1706,\\\"text\\\":\\\"REVERSE_PROXY_TRUSTED_PROXIES = *\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v3_20260623T195206Z.txt\\\",\\\"line\\\":1902,\\\"text\\\":\\\"# Load frontend themes from the themes folder\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v3_20260623T195206Z.txt\\\",\\\"line\\\":1903,\\\"text\\\":\\\"frontend:\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v3_20260623T195206Z.txt\\\",\\\"line\\\":2955,\\\"text\\\":\\\"9 [\\\\\\\"git.gram1.ru\\\\\\\"] 1 custom 0 none 0 0 SAMEORIGIN 1 \\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v3_20260623T195206Z.txt\\\",\\\"line\\\":3524,\\\"text\\\":\\\"# git.gram1.ru\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v3_20260623T195206Z.txt\\\",\\\"line\\\":3536,\\\"text\\\":\\\" server_name git.gram1.ru;\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v3_20260623T195206Z.txt\\\",\\\"line\\\":10159,\\\"text\\\":\\\"dns_server=[PRIVATE_IP] domain=git.gram1.ru A=[PRIVATE_IP] \\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v3_20260623T195206Z.txt\\\",\\\"line\\\":10165,\\\"text\\\":\\\"dns_server=[PRIVATE_IP] domain=git.gram1.ru A=[PRIVATE_IP] \\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v3_20260623T195206Z.txt\\\",\\\"line\\\":23215,\\\"text\\\":\\\"git.gram1.ru,[PRIVATE_IP],optional-empty,http://127.0.0.1:3002,LAN-only,cloudflare-dns-challenge\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v3_20260623T195206Z.txt\\\",\\\"line\\\":23264,\\\"text\\\":\\\"| Gitea | 127.0.0.1:3002 | https://git.gram1.ru |\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v3_20260623T195206Z.txt\\\",\\\"line\\\":23304,\\\"text\\\":\\\"Homelab gram1.ru \\\\u043f\\\\u043e\\\\u0441\\\\u0442\\\\u0440\\\\u043e\\\\u0435\\\\u043d \\\\u0432\\\\u043e\\\\u043a\\\\u0440\\\\u0443\\\\u0433 Proxmox-\\\\u043a\\\\u043b\\\\u0430\\\\u0441\\\\u0442\\\\u0435\\\\u0440\\\\u0430, \\\\u0432\\\\u043d\\\\u0443\\\\u0442\\\\u0440\\\\u0435\\\\u043d\\\\u043d\\\\u0435\\\\u0433\\\\u043e DNS, NPMplus reverse proxy, \\\\u043c\\\\u043e\\\\u043d\\\\u0438\\\\u0442\\\\u043e\\\\u0440\\\\u0438\\\\u043d\\\\u0433\\\\u0430, backup \\\\u0438 \\\\u043d\\\\u0430\\\\u0431\\\\u043e\\\\u0440\\\\u0430 self-hosted \\\\u0441\\\\u0435\\\\u0440\\\\u0432\\\\u0438\\\\u0441\\\\u043e\\\\u0432.\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v3_20260623T195206Z.txt\\\",\\\"line\\\":23647,\\\"text\\\":\\\"- edge-vm hosting reverse proxy and most application containers.\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v3_20260623T195206Z.txt\\\",\\\"line\\\":23719,\\\"text\\\":\\\"- Purpose: reverse proxy and TLS termination.\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v3_20260623T195206Z.txt\\\",\\\"line\\\":23782,\\\"text\\\":\\\"- Domain: https://git.gram1.ru\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v3_20260623T195206Z.txt\\\",\\\"line\\\":24054,\\\"text\\\":\\\"- Remote: https://git.gram1.ru/homelab-admin/homelab-configs\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v3_20260623T195206Z.txt\\\",\\\"line\\\":24193,\\\"text\\\":\\\"- https://git.gram1.ru\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v3_20260623T195206Z.txt\\\",\\\"line\\\":24406,\\\"text\\\":\\\"| git.gram1.ru | http://127.0.0.1:3002 | yes | LAN only | git.gram1.ru | enabled |\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v3_20260623T195206Z.txt\\\",\\\"line\\\":24438,\\\"text\\\":\\\"| git.gram1.ru | letsencrypt | 2026-09-13 17:36:55 |\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v3_20260623T195206Z.txt\\\",\\\"line\\\":24465,\\\"text\\\":\\\"| `git.gram1.ru` | `http://127.0.0.1:3002` | cert id 29 | yes | Gitea |\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v3_20260623T195206Z.txt\\\",\\\"line\\\":24708,\\\"text\\\":\\\"5. Recover reverse proxy/Kuma/Auth/Gitea/Vaultwarden and service configs.\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v3_20260623T195206Z.txt\\\",\\\"line\\\":24721,\\\"text\\\":\\\"git clone https://git.gram1.ru/homelab-admin/homelab-configs.git\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v3_20260623T195206Z.txt\\\",\\\"line\\\":25074,\\\"text\\\":\\\"git clone https://git.gram1.ru/homelab-admin/homelab-configs.git\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v3_20260623T195206Z.txt\\\",\\\"line\\\":25411,\\\"text\\\":\\\"- reverse proxy upstream;\\\"},{\\\"path\\\":\\\"/root/771_crowdsec_capi_ipv4_restore_or_fallback.sh\\\",\\\"line\\\":326,\\\"text\\\":\\\" for h in auth.gram1.ru photos.gram1.ru git.gram1.ru n8n.vpn.gram1.ru mealie.vpn.gram1.ru karakeep.vpn.gram1.ru dozzle.gram1.ru npmplus.vpn.gram1.ru; do\\\"},{\\\"path\\\":\\\"/root/HOMELAB_ASSISTANT_ERROR_REGISTER.md\\\",\\\"line\\\":211,\\\"text\\\":\\\"- A portal card is openable only when DNS, reverse-proxy host mapping, and target content are all valid.\\\"},{\\\"path\\\":\\\"/root/HOMELAB_ASSISTANT_ERROR_REGISTER.md\\\",\\\"line\\\":304,\\\"text\\\":\\\"## FORUM_PROD_BULK_IMPORT_PHP85_EMPTY_FRONTEND_20260701\\\"},{\\\"path\\\":\\\"/root/772b_homepage_russian_normalize_apply.sh\\\",\\\"line\\\":89,\\\"text\\\":\\\" \\\\\\\"NPMplus\\\\\\\": \\\\\\\"\\\\u0410\\\\u0434\\\\u043c\\\\u0438\\\\u043d\\\\u0438\\\\u0441\\\\u0442\\\\u0440\\\\u0438\\\\u0440\\\\u043e\\\\u0432\\\\u0430\\\\u043d\\\\u0438\\\\u0435 reverse proxy.\\\\\\\",\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":1316,\\\"text\\\":\\\"IP_ROUTE|185.225.35.6 via [PRIVATE_IP] dev eth0 src [PRIVATE_IP] \\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2390,\\\"text\\\":\\\"NPM_ROW|proxy_host|{\\\\\\\"domain_names\\\\\\\":\\\\\\\"[\\\\\\\\\\\\\\\"git.gram1.ru\\\\\\\\\\\\\\\"]\\\\\\\",\\\\\\\"enabled\\\\\\\":1,\\\\\\\"forward_host\\\\\\\":\\\\\\\"127.0.0.1\\\\\\\",\\\\\\\"forward_port\\\\\\\":3002,\\\\\\\"forward_scheme\\\\\\\":\\\\\\\"http\\\\\\\",\\\\\\\"id\\\\\\\":9}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2433,\\\"text\\\":\\\"NPM_ROW|proxy_host|{\\\\\\\"domain_names\\\\\\\":\\\\\\\"[\\\\\\\\\\\\\\\"chat.gram1.ru\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"groups.chat.gram1.ru\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"share.chat.gram1.ru\\\\\\\\\\\\\\\"]\\\\\\\",\\\\\\\"enabled\\\\\\\":1,\\\\\\\"forward_host\\\\\\\":\\\\\\\"[PRIVATE_IP]\\\\\\\",\\\\\\\"forward_port\\\\\\\":443,\\\\\\\"forward_scheme\\\\\\\":\\\\\\\"https\\\\\\\",\\\\\\\"id\\\\\\\":61}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2440,\\\"text\\\":\\\"NPM_ROW|certificate|{\\\\\\\"domain_names\\\\\\\":\\\\\\\"[\\\\\\\\\\\\\\\"git.gram1.ru\\\\\\\\\\\\\\\"]\\\\\\\",\\\\\\\"id\\\\\\\":29,\\\\\\\"nice_name\\\\\\\":\\\\\\\"git.gram1.ru\\\\\\\",\\\\\\\"provider\\\\\\\":\\\\\\\"letsencrypt\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2445,\\\"text\\\":\\\"NPM_ROW|certificate|{\\\\\\\"domain_names\\\\\\\":\\\\\\\"[\\\\\\\\\\\\\\\"chat.gram1.ru\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"groups.chat.gram1.ru\\\\\\\\\\\\\\\",\\\\\\\\\\\\\\\"share.chat.gram1.ru\\\\\\\\\\\\\\\"]\\\\\\\",\\\\\\\"id\\\\\\\":38,\\\\\\\"nice_name\\\\\\\":\\\\\\\"chat.gram1.ru, groups.chat.gram1.ru, share.chat.gram1.ru\\\\\\\",\\\\\\\"provider\\\\\\\":\\\\\\\"letsencrypt\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2456,\\\"text\\\":\\\"DOMAIN|chat.gram1.ru\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2464,\\\"text\\\":\\\"DOMAIN|git.gram1.ru\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2468,\\\"text\\\":\\\"DOMAIN|groups.chat.gram1.ru\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2495,\\\"text\\\":\\\"DOMAIN|share.chat.gram1.ru\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2607,\\\"text\\\":\\\"DOMAIN_STATE|{\\\\\\\"A\\\\\\\":[\\\\\\\"[PRIVATE_IP]\\\\\\\"],\\\\\\\"AAAA\\\\\\\":[],\\\\\\\"MX\\\\\\\":[\\\\\\\";;\\\\\\\",\\\\\\\"communications\\\\\\\",\\\\\\\"error\\\\\\\",\\\\\\\"to\\\\\\\",\\\\\\\"100.100.131.41#53:\\\\\\\",\\\\\\\"timed\\\\\\\",\\\\\\\"out\\\\\\\",\\\\\\\";;\\\\\\\",\\\\\\\"no\\\\\\\",\\\\\\\"servers\\\\\\\",\\\\\\\"could\\\\\\\",\\\\\\\"be\\\\\\\",\\\\\\\"reached\\\\\\\"],\\\\\\\"domain\\\\\\\":\\\\\\\"chat.gram1.ru\\\\\\\",\\\\\\\"https\\\\\\\":\\\\\\\"302|[PRIVATE_IP]|https://chat.gram1.ru/login\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2610,\\\"text\\\":\\\"DOMAIN_STATE|{\\\\\\\"A\\\\\\\":[\\\\\\\"185.225.35.6\\\\\\\"],\\\\\\\"AAAA\\\\\\\":[],\\\\\\\"MX\\\\\\\":[],\\\\\\\"domain\\\\\\\":\\\\\\\"codevipe.ru\\\\\\\",\\\\\\\"https\\\\\\\":\\\\\\\"200|185.225.35.6|\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2615,\\\"text\\\":\\\"DOMAIN_STATE|{\\\\\\\"A\\\\\\\":[\\\\\\\"185.225.35.6\\\\\\\"],\\\\\\\"AAAA\\\\\\\":[\\\\\\\";;\\\\\\\",\\\\\\\"communications\\\\\\\",\\\\\\\"error\\\\\\\",\\\\\\\"to\\\\\\\",\\\\\\\"100.100.131.41#53:\\\\\\\",\\\\\\\"timed\\\\\\\",\\\\\\\"out\\\\\\\",\\\\\\\";;\\\\\\\",\\\\\\\"no\\\\\\\",\\\\\\\"servers\\\\\\\",\\\\\\\"could\\\\\\\",\\\\\\\"be\\\\\\\",\\\\\\\"reached\\\\\\\"],\\\\\\\"MX\\\\\\\":[],\\\\\\\"domain\\\\\\\":\\\\\\\"dsmods.ru\\\\\\\",\\\\\\\"https\\\\\\\":\\\\\\\"200|185.225.35.6|\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2617,\\\"text\\\":\\\"DOMAIN_STATE|{\\\\\\\"A\\\\\\\":[\\\\\\\"185.225.35.6\\\\\\\"],\\\\\\\"AAAA\\\\\\\":[],\\\\\\\"MX\\\\\\\":[],\\\\\\\"domain\\\\\\\":\\\\\\\"gamevipe.ru\\\\\\\",\\\\\\\"https\\\\\\\":\\\\\\\"200|185.225.35.6|\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2618,\\\"text\\\":\\\"DOMAIN_STATE|{\\\\\\\"A\\\\\\\":[\\\\\\\"185.225.35.6\\\\\\\"],\\\\\\\"AAAA\\\\\\\":[],\\\\\\\"MX\\\\\\\":[],\\\\\\\"domain\\\\\\\":\\\\\\\"git-read.gram1.ru\\\\\\\",\\\\\\\"https\\\\\\\":\\\\\\\"200|185.225.35.6|\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2619,\\\"text\\\":\\\"DOMAIN_STATE|{\\\\\\\"A\\\\\\\":[\\\\\\\";;\\\\\\\",\\\\\\\"communications\\\\\\\",\\\\\\\"error\\\\\\\",\\\\\\\"to\\\\\\\",\\\\\\\"100.100.131.41#53:\\\\\\\",\\\\\\\"timed\\\\\\\",\\\\\\\"out\\\\\\\",\\\\\\\";;\\\\\\\",\\\\\\\"no\\\\\\\",\\\\\\\"servers\\\\\\\",\\\\\\\"could\\\\\\\",\\\\\\\"be\\\\\\\",\\\\\\\"reached\\\\\\\"],\\\\\\\"AAAA\\\\\\\":[],\\\\\\\"MX\\\\\\\":[],\\\\\\\"domain\\\\\\\":\\\\\\\"git.gram1.ru\\\\\\\",\\\\\\\"https\\\\\\\":\\\\\\\"200|[PRIVATE_IP]|\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2623,\\\"text\\\":\\\"DOMAIN_STATE|{\\\\\\\"A\\\\\\\":[\\\\\\\"185.225.35.6\\\\\\\"],\\\\\\\"AAAA\\\\\\\":[],\\\\\\\"MX\\\\\\\":[],\\\\\\\"domain\\\\\\\":\\\\\\\"gram1.ru\\\\\\\",\\\\\\\"https\\\\\\\":\\\\\\\"303|185.225.35.6|https://gram1.ru/login\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2624,\\\"text\\\":\\\"DOMAIN_STATE|{\\\\\\\"A\\\\\\\":[\\\\\\\"[PRIVATE_IP]\\\\\\\"],\\\\\\\"AAAA\\\\\\\":[\\\\\\\";;\\\\\\\",\\\\\\\"communications\\\\\\\",\\\\\\\"error\\\\\\\",\\\\\\\"to\\\\\\\",\\\\\\\"100.100.131.41#53:\\\\\\\",\\\\\\\"timed\\\\\\\",\\\\\\\"out\\\\\\\",\\\\\\\";;\\\\\\\",\\\\\\\"no\\\\\\\",\\\\\\\"servers\\\\\\\",\\\\\\\"could\\\\\\\",\\\\\\\"be\\\\\\\",\\\\\\\"reached\\\\\\\"],\\\\\\\"MX\\\\\\\":[],\\\\\\\"domain\\\\\\\":\\\\\\\"groups.chat.gram1.ru\\\\\\\",\\\\\\\"https\\\\\\\":\\\\\\\"301|[PRIVATE_IP]|https://chat.gram1.ru/\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2625,\\\"text\\\":\\\"DOMAIN_STATE|{\\\\\\\"A\\\\\\\":[\\\\\\\"185.225.35.6\\\\\\\"],\\\\\\\"AAAA\\\\\\\":[],\\\\\\\"MX\\\\\\\":[],\\\\\\\"domain\\\\\\\":\\\\\\\"hapusya.ru\\\\\\\",\\\\\\\"https\\\\\\\":\\\\\\\"200|185.225.35.6|\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2626,\\\"text\\\":\\\"DOMAIN_STATE|{\\\\\\\"A\\\\\\\":[\\\\\\\"185.225.35.6\\\\\\\"],\\\\\\\"AAAA\\\\\\\":[],\\\\\\\"MX\\\\\\\":[],\\\\\\\"domain\\\\\\\":\\\\\\\"hbarhub.ru\\\\\\\",\\\\\\\"https\\\\\\\":\\\\\\\"200|185.225.35.6|\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2627,\\\"text\\\":\\\"DOMAIN_STATE|{\\\\\\\"A\\\\\\\":[\\\\\\\"185.225.35.6\\\\\\\"],\\\\\\\"AAAA\\\\\\\":[],\\\\\\\"MX\\\\\\\":[],\\\\\\\"domain\\\\\\\":\\\\\\\"hkmods.ru\\\\\\\",\\\\\\\"https\\\\\\\":\\\\\\\"200|185.225.35.6|\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2635,\\\"text\\\":\\\"DOMAIN_STATE|{\\\\\\\"A\\\\\\\":[\\\\\\\"185.225.35.6\\\\\\\"],\\\\\\\"AAAA\\\\\\\":[],\\\\\\\"MX\\\\\\\":[],\\\\\\\"domain\\\\\\\":\\\\\\\"kingofwolk.ru\\\\\\\",\\\\\\\"https\\\\\\\":\\\\\\\"200|185.225.35.6|\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2645,\\\"text\\\":\\\"DOMAIN_STATE|{\\\\\\\"A\\\\\\\":[\\\\\\\"185.225.35.6\\\\\\\"],\\\\\\\"AAAA\\\\\\\":[],\\\\\\\"MX\\\\\\\":[],\\\\\\\"domain\\\\\\\":\\\\\\\"newfi.ru\\\\\\\",\\\\\\\"https\\\\\\\":\\\\\\\"200|185.225.35.6|\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2646,\\\"text\\\":\\\"DOMAIN_STATE|{\\\\\\\"A\\\\\\\":[\\\\\\\"185.225.35.6\\\\\\\"],\\\\\\\"AAAA\\\\\\\":[],\\\\\\\"MX\\\\\\\":[],\\\\\\\"domain\\\\\\\":\\\\\\\"newfilya.ru\\\\\\\",\\\\\\\"https\\\\\\\":\\\\\\\"200|185.225.35.6|\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2656,\\\"text\\\":\\\"DOMAIN_STATE|{\\\\\\\"A\\\\\\\":[\\\\\\\"185.225.35.6\\\\\\\"],\\\\\\\"AAAA\\\\\\\":[],\\\\\\\"MX\\\\\\\":[\\\\\\\"10\\\\\\\",\\\\\\\"mail.pvepro.ru.\\\\\\\"],\\\\\\\"domain\\\\\\\":\\\\\\\"pvepro.ru\\\\\\\",\\\\\\\"https\\\\\\\":\\\\\\\"303|185.225.35.6|https://pvepro.ru/login\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2659,\\\"text\\\":\\\"DOMAIN_STATE|{\\\\\\\"A\\\\\\\":[\\\\\\\"[PRIVATE_IP]\\\\\\\"],\\\\\\\"AAAA\\\\\\\":[],\\\\\\\"MX\\\\\\\":[],\\\\\\\"domain\\\\\\\":\\\\\\\"share.chat.gram1.ru\\\\\\\",\\\\\\\"https\\\\\\\":\\\\\\\"301|[PRIVATE_IP]|https://chat.gram1.ru/\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2661,\\\"text\\\":\\\"DOMAIN_STATE|{\\\\\\\"A\\\\\\\":[\\\\\\\"185.225.35.6\\\\\\\"],\\\\\\\"AAAA\\\\\\\":[],\\\\\\\"MX\\\\\\\":[],\\\\\\\"domain\\\\\\\":\\\\\\\"taftauto.ru\\\\\\\",\\\\\\\"https\\\\\\\":\\\\\\\"200|185.225.35.6|\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2666,\\\"text\\\":\\\"DOMAIN_STATE|{\\\\\\\"A\\\\\\\":[\\\\\\\"185.225.35.6\\\\\\\"],\\\\\\\"AAAA\\\\\\\":[],\\\\\\\"MX\\\\\\\":[],\\\\\\\"domain\\\\\\\":\\\\\\\"www.codevipe.ru\\\\\\\",\\\\\\\"https\\\\\\\":\\\\\\\"301|185.225.35.6|https://codevipe.ru/\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2667,\\\"text\\\":\\\"DOMAIN_STATE|{\\\\\\\"A\\\\\\\":[\\\\\\\"185.225.35.6\\\\\\\"],\\\\\\\"AAAA\\\\\\\":[],\\\\\\\"MX\\\\\\\":[],\\\\\\\"domain\\\\\\\":\\\\\\\"www.dsmods.ru\\\\\\\",\\\\\\\"https\\\\\\\":\\\\\\\"301|185.225.35.6|https://dsmods.ru/\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2668,\\\"text\\\":\\\"DOMAIN_STATE|{\\\\\\\"A\\\\\\\":[\\\\\\\"185.225.35.6\\\\\\\"],\\\\\\\"AAAA\\\\\\\":[],\\\\\\\"MX\\\\\\\":[],\\\\\\\"domain\\\\\\\":\\\\\\\"www.gamevipe.ru\\\\\\\",\\\\\\\"https\\\\\\\":\\\\\\\"301|185.225.35.6|https://gamevipe.ru/\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2669,\\\"text\\\":\\\"DOMAIN_STATE|{\\\\\\\"A\\\\\\\":[\\\\\\\"185.225.35.6\\\\\\\"],\\\\\\\"AAAA\\\\\\\":[],\\\\\\\"MX\\\\\\\":[\\\\\\\";;\\\\\\\",\\\\\\\"communications\\\\\\\",\\\\\\\"error\\\\\\\",\\\\\\\"to\\\\\\\",\\\\\\\"100.100.131.41#53:\\\\\\\",\\\\\\\"timed\\\\\\\",\\\\\\\"out\\\\\\\",\\\\\\\";;\\\\\\\",\\\\\\\"no\\\\\\\",\\\\\\\"servers\\\\\\\",\\\\\\\"could\\\\\\\",\\\\\\\"be\\\\\\\",\\\\\\\"reached\\\\\\\"],\\\\\\\"domain\\\\\\\":\\\\\\\"www.gram1.ru\\\\\\\",\\\\\\\"https\\\\\\\":\\\\\\\"303|185.225.35.6|https://www.gram1.ru/login\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2670,\\\"text\\\":\\\"DOMAIN_STATE|{\\\\\\\"A\\\\\\\":[\\\\\\\"185.225.35.6\\\\\\\"],\\\\\\\"AAAA\\\\\\\":[],\\\\\\\"MX\\\\\\\":[],\\\\\\\"domain\\\\\\\":\\\\\\\"www.hapusya.ru\\\\\\\",\\\\\\\"https\\\\\\\":\\\\\\\"200|185.225.35.6|\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2671,\\\"text\\\":\\\"DOMAIN_STATE|{\\\\\\\"A\\\\\\\":[\\\\\\\"185.225.35.6\\\\\\\"],\\\\\\\"AAAA\\\\\\\":[],\\\\\\\"MX\\\\\\\":[],\\\\\\\"domain\\\\\\\":\\\\\\\"www.hbarhub.ru\\\\\\\",\\\\\\\"https\\\\\\\":\\\\\\\"200|185.225.35.6|\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2672,\\\"text\\\":\\\"DOMAIN_STATE|{\\\\\\\"A\\\\\\\":[\\\\\\\"185.225.35.6\\\\\\\"],\\\\\\\"AAAA\\\\\\\":[],\\\\\\\"MX\\\\\\\":[],\\\\\\\"domain\\\\\\\":\\\\\\\"www.hkmods.ru\\\\\\\",\\\\\\\"https\\\\\\\":\\\\\\\"301|185.225.35.6|https://hkmods.ru/\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2673,\\\"text\\\":\\\"DOMAIN_STATE|{\\\\\\\"A\\\\\\\":[\\\\\\\"185.225.35.6\\\\\\\"],\\\\\\\"AAAA\\\\\\\":[],\\\\\\\"MX\\\\\\\":[],\\\\\\\"domain\\\\\\\":\\\\\\\"www.kingofwolk.ru\\\\\\\",\\\\\\\"https\\\\\\\":\\\\\\\"200|185.225.35.6|\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2674,\\\"text\\\":\\\"DOMAIN_STATE|{\\\\\\\"A\\\\\\\":[\\\\\\\"185.225.35.6\\\\\\\"],\\\\\\\"AAAA\\\\\\\":[],\\\\\\\"MX\\\\\\\":[],\\\\\\\"domain\\\\\\\":\\\\\\\"www.newfi.ru\\\\\\\",\\\\\\\"https\\\\\\\":\\\\\\\"200|185.225.35.6|\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2675,\\\"text\\\":\\\"DOMAIN_STATE|{\\\\\\\"A\\\\\\\":[\\\\\\\"185.225.35.6\\\\\\\"],\\\\\\\"AAAA\\\\\\\":[],\\\\\\\"MX\\\\\\\":[],\\\\\\\"domain\\\\\\\":\\\\\\\"www.newfilya.ru\\\\\\\",\\\\\\\"https\\\\\\\":\\\\\\\"200|185.225.35.6|\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2676,\\\"text\\\":\\\"DOMAIN_STATE|{\\\\\\\"A\\\\\\\":[\\\\\\\"185.225.35.6\\\\\\\"],\\\\\\\"AAAA\\\\\\\":[],\\\\\\\"MX\\\\\\\":[],\\\\\\\"domain\\\\\\\":\\\\\\\"www.pvepro.ru\\\\\\\",\\\\\\\"https\\\\\\\":\\\\\\\"303|185.225.35.6|https://www.pvepro.ru/login\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2677,\\\"text\\\":\\\"DOMAIN_STATE|{\\\\\\\"A\\\\\\\":[\\\\\\\"185.225.35.6\\\\\\\"],\\\\\\\"AAAA\\\\\\\":[],\\\\\\\"MX\\\\\\\":[],\\\\\\\"domain\\\\\\\":\\\\\\\"www.taftauto.ru\\\\\\\",\\\\\\\"https\\\\\\\":\\\\\\\"200|185.225.35.6|\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2678,\\\"text\\\":\\\"DOMAIN_STATE|{\\\\\\\"A\\\\\\\":[\\\\\\\"185.225.35.6\\\\\\\"],\\\\\\\"AAAA\\\\\\\":[],\\\\\\\"MX\\\\\\\":[],\\\\\\\"domain\\\\\\\":\\\\\\\"www.zakrutim.ru\\\\\\\",\\\\\\\"https\\\\\\\":\\\\\\\"301|185.225.35.6|https://zakrutim.ru/\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/CLUSTER_V3_CENSUS_20260817T181842Z.txt\\\",\\\"line\\\":2679,\\\"text\\\":\\\"DOMAIN_STATE|{\\\\\\\"A\\\\\\\":[\\\\\\\"185.225.35.6\\\\\\\"],\\\\\\\"AAAA\\\\\\\":[],\\\\\\\"MX\\\\\\\":[],\\\\\\\"domain\\\\\\\":\\\\\\\"zakrutim.ru\\\\\\\",\\\\\\\"https\\\\\\\":\\\\\\\"200|185.225.35.6|\\\\\\\"}\\\"},{\\\"path\\\":\\\"/root/diag-pve03-dns2-20260615T091114Z.txt\\\",\\\"line\\\":261,\\\"text\\\":\\\"debug1: Remote: [SENSITIVE_PATH] key options: agent-forwarding port-forwarding pty user-rc x11-forwarding\\\"},{\\\"path\\\":\\\"/root/diag-pve03-dns2-20260615T091114Z.txt\\\",\\\"line\\\":263,\\\"text\\\":\\\"debug1: Remote: [SENSITIVE_PATH] key options: agent-forwarding port-forwarding pty user-rc x11-forwarding\\\"},{\\\"path\\\":\\\"/root/771x_crowdsec_capi_mtu_hardfix.sh\\\",\\\"line\\\":542,\\\"text\\\":\\\" for h in auth.gram1.ru photos.gram1.ru git.gram1.ru n8n.vpn.gram1.ru mealie.vpn.gram1.ru karakeep.vpn.gram1.ru dozzle.gram1.ru npmplus.vpn.gram1.ru; do\\\"},{\\\"path\\\":\\\"/root/771f_crowdsec_capi_godebug_mss_fix.sh\\\",\\\"line\\\":344,\\\"text\\\":\\\" for h in auth.gram1.ru photos.gram1.ru git.gram1.ru n8n.vpn.gram1.ru mealie.vpn.gram1.ru karakeep.vpn.gram1.ru dozzle.gram1.ru npmplus.vpn.gram1.ru; do\\\"},{\\\"path\\\":\\\"/root/771l_crowdsec_capi_netbird_vps_egress.sh\\\",\\\"line\\\":695,\\\"text\\\":\\\" for h in auth.gram1.ru photos.gram1.ru git.gram1.ru n8n.vpn.gram1.ru mealie.vpn.gram1.ru karakeep.vpn.gram1.ru dozzle.gram1.ru npmplus.vpn.gram1.ru; do\\\"},{\\\"path\\\":\\\"/root/homelab_network_equipment_audit_20260623T170441Z.txt\\\",\\\"line\\\":154,\\\"text\\\":\\\"--- git.gram1.ru ---\\\"},{\\\"path\\\":\\\"/root/homelab_network_equipment_audit_20260623T170441Z.txt\\\",\\\"line\\\":155,\\\"text\\\":\\\"[PRIVATE_IP] STREAM git.gram1.ru\\\"},{\\\"path\\\":\\\"/root/767_deep_tail_and_regression_audit.sh\\\",\\\"line\\\":40,\\\"text\\\":\\\" echo \\\\\\\"1 reverse_proxy_upstream_and_headers\\\\\\\"\\\"},{\\\"path\\\":\\\"/root/767_deep_tail_and_regression_audit.sh\\\",\\\"line\\\":70,\\\"text\\\":\\\" auth.gram1.ru photos.gram1.ru homeassistant.vpn.gram1.ru vault.gram1.ru git.gram1.ru paper.gram1.ru \\\\\\\\\\\"},{\\\"path\\\":\\\"/root/Workers2_AUDIT0_collect_2026-08-23.sh\\\",\\\"line\\\":15,\\\"text\\\":\\\"GITEA_HOST=\\\\\\\"${AUDIT_GITEA_HOST:-git.gram1.ru}\\\\\\\"\\\"},{\\\"path\\\":\\\"/root/Workers2_AUDIT0_collect_2026-08-23.sh\\\",\\\"line\\\":16,\\\"text\\\":\\\"GITEA_REPO=\\\\\\\"${AUDIT_GITEA_REPO:-https://git.gram1.ru/homelab-admin/homelab-ops.git}\\\\\\\"\\\"},{\\\"path\\\":\\\"/root/homelab-clean-machine-bootstrap-rehearsal-v1.sh\\\",\\\"line\\\":92,\\\"text\\\":\\\"export DEBIAN_FRONTEND=noninteractive\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v2_20260623T193322Z.txt\\\",\\\"line\\\":101,\\\"text\\\":\\\"--- git.gram1.ru ---\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v2_20260623T193322Z.txt\\\",\\\"line\\\":102,\\\"text\\\":\\\"[PRIVATE_IP] STREAM git.gram1.ru\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v2_20260623T193322Z.txt\\\",\\\"line\\\":1479,\\\"text\\\":\\\" - domain: git.gram1.ru\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v2_20260623T193322Z.txt\\\",\\\"line\\\":1545,\\\"text\\\":\\\"### resolve git.gram1.ru\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v2_20260623T193322Z.txt\\\",\\\"line\\\":1546,\\\"text\\\":\\\"95.84.154.183 STREAM git.gram1.ru\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v2_20260623T193322Z.txt\\\",\\\"line\\\":1739,\\\"text\\\":\\\"### resolve git.gram1.ru\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v2_20260623T193322Z.txt\\\",\\\"line\\\":1740,\\\"text\\\":\\\"95.84.154.183 STREAM git.gram1.ru\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v2_20260623T193322Z.txt\\\",\\\"line\\\":2028,\\\"text\\\":\\\" - domain: git.gram1.ru\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v2_20260623T193322Z.txt\\\",\\\"line\\\":2091,\\\"text\\\":\\\"### resolve git.gram1.ru\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v2_20260623T193322Z.txt\\\",\\\"line\\\":2092,\\\"text\\\":\\\"95.84.154.183 STREAM git.gram1.ru\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v2_20260623T193322Z.txt\\\",\\\"line\\\":2265,\\\"text\\\":\\\"### resolve git.gram1.ru\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v2_20260623T193322Z.txt\\\",\\\"line\\\":2266,\\\"text\\\":\\\"95.84.154.183 STREAM git.gram1.ru\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v2_20260623T193322Z.txt\\\",\\\"line\\\":3358,\\\"text\\\":\\\" GITEA__server__DOMAIN: git.gram1.ru\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v2_20260623T193322Z.txt\\\",\\\"line\\\":3359,\\\"text\\\":\\\" GITEA__server__ROOT_URL: https://git.gram1.ru/\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v2_20260623T193322Z.txt\\\",\\\"line\\\":3668,\\\"text\\\":\\\"9 [\\\\\\\"git.gram1.ru\\\\\\\"] http 127.0.0.1 3002 29 1 0 0 1 1 0 0 1 \\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v2_20260623T193322Z.txt\\\",\\\"line\\\":3718,\\\"text\\\":\\\"29 git.gram1.ru [\\\\\\\"git.gram1.ru\\\\\\\"] letsencrypt 2026-09-13 17:36:55\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v2_20260623T193322Z.txt\\\",\\\"line\\\":3855,\\\"text\\\":\\\" href: https://git.gram1.ru\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v2_20260623T193322Z.txt\\\",\\\"line\\\":3910,\\\"text\\\":\\\" description: Reverse proxy admin\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v2_20260623T193322Z.txt\\\",\\\"line\\\":5196,\\\"text\\\":\\\"### DNS git.gram1.ru\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v2_20260623T193322Z.txt\\\",\\\"line\\\":5197,\\\"text\\\":\\\"[PRIVATE_IP] STREAM git.gram1.ru\\\"},{\\\"path\\\":\\\"/root/homelab_cluster_audit_supplement_v2_20260623T193322Z.txt\\\",\\\"line\\\":5322,\\\"text\\\":\\\"https://git.gram1.ru/ => 200\\\"},{\\\"path\\\":\\\"/root/CR0085_IMPLEMENTATION_INPUT_20260819.txt\\\",\\\"line\\\":1358,\\\"text\\\":\\\" \\\\\\\"out-data\\\\\\\" : \\\\\\\"UNIT_BEGIN\\\\\\\\n# /etc/systemd/system/homelab-git-read.service\\\\\\\\n[Unit]\\\\\\\\nDescription=Read-only Gitea facade for ChatGPT\\\\\\\\nAfter=network-online.target\\\\\\\\nWants=network-online.target\\\\\\\\n\\\\\\\\n[Service]\\\\\\\\nType=simple\\\\\\\\nUser=gitread\\\\\\\\nGroup=gitread\\\\\\\\nExecStart=/usr/bin/python3 /usr/local/libexec/homelab-git-read\\\\\\\\nRestart=on-failure\\\\\\\\nRestartSec=2\\\\\\\\nNoNewPrivileges=true\\\\\\\\nPrivateTmp=true\\\\\\\\nPrivateDevices=true\\\\\\\\nProtectSystem=strict\\\\\\\\nProtectHome=true\\\\\\\\nProtectKernelTunables=true\\\\\\\\nProtectKernelModules=true\\\\\\\\nProtectControlGroups=true\\\\\\\\nRestrictAddressFamilies=AF_INET AF_INET6\\\\\\\\nLockPersonality=true\\\\\\\\nMemoryDenyWriteExecute=true\\\\\\\\n\\\\\\\\n[Install]\\\\\\\\nWantedBy=multi-user.target\\\\\\\\nUNIT_END\\\\\\\\nSOURCE_BEGIN\\\\\\\\nd6110a75f789e56231196c314046263785a795ce3d220de9272777a718bca382 /usr/local/libexec/homelab-git-read\\\\\\\\n#!/usr/bin/env python3\\\\\\\\nfrom __future__ import annotations\\\\\\\\nimport base64, json, os, re\\\\\\\\nfrom http.server import BaseHTTPRequestHandler, ThreadingHTTPServer\\\\\\\\nfrom urllib.parse import parse_qs, quote, urlparse\\\\\\\\nfrom urllib.request import Request, urlopen\\\\\\\\nfrom urllib.error import HTTPError, URLError\\\\\\\\n\\\\\\\\nHOST=\\\\\\\\\\\\\\\"0.0.0.0\\\\\\\\\\\\\\\"\\\\\\\\nPORT=8787\\\\\\\\nAPI=\\\\\\\\\\\\\\\"https://git.gram1.ru/api/v1/repos/homelab-admin/homelab-ops\\\\\\\\\\\\\\\"\\\\\\\\nTOKEN_FILE=\\\\\\\\\\\"},{\\\"path\\\":\\\"/root/771j_crowdsec_capi_via_cloudflare_warp_proxy.sh\\\",\\\"line\\\":228,\\\"text\\\":\\\" export DEBIAN_FRONTEND=noninteractive\\\"},{\\\"path\\\":\\\"/root/771j_crowdsec_capi_via_cloudflare_warp_proxy.sh\\\",\\\"line\\\":567,\\\"text\\\":\\\" for h in auth.gram1.ru photos.gram1.ru git.gram1.ru n8n.vpn.gram1.ru mealie.vpn.gram1.ru karakeep.vpn.gram1.ru dozzle.gram1.ru npmplus.vpn.gram1.ru; do\\\"},{\\\"path\\\":\\\"/root/771k_fix_warp_register_or_clean.sh\\\",\\\"line\\\":569,\\\"text\\\":\\\" for h in auth.gram1.ru photos.gram1.ru git.gram1.ru n8n.vpn.gram1.ru mealie.vpn.gram1.ru karakeep.vpn.gram1.ru dozzle.gram1.ru npmplus.vpn.gram1.ru; do\\\"},{\\\"path\\\":\\\"/root/Workers2_AUDIT1_deep_collect_20260823_v1.py\\\",\\\"line\\\":24,\\\"text\\\":\\\"GITEA_REPO = \\\\\\\"https://git.gram1.ru/homelab-admin/homelab-ops.git\\\\\\\"\\\"},{\\\"path\\\":\\\"/root/Workers2_AUDIT1_deep_collect_20260823_v1.py\\\",\\\"line\\\":25,\\\"text\\\":\\\"GITEA_HOST = \\\\\\\"git.gram1.ru\\\\\\\"\\\"},{\\\"path\\\":\\\"/root/31_HOMELAB_REFERENCE.before-cr0079-20260817T052826Z.md\\\",\\\"line\\\":257,\\\"text\\\":\\\"### NAT / port forwarding\\\"},{\\\"path\\\":\\\"/root/31_HOMELAB_REFERENCE.before-cr0079-20260817T052826Z.md\\\",\\\"line\\\":546,\\\"text\\\":\\\"- Role: edge application host / reverse proxy / monitoring / backup automation host.\\\"},{\\\"path\\\":\\\"/root/31_HOMELAB_REFERENCE.before-cr0079-20260817T052826Z.md\\\",\\\"line\\\":614,\\\"text\\\":\\\"- git.gram1.ru -> [PRIVATE_IP].\\\"},{\\\"path\\\":\\\"/root/31_HOMELAB_REFERENCE.before-cr0079-20260817T052826Z.md\\\",\\\"line\\\":625,\\\"text\\\":\\\"- Public WAN router forwards TCP/80 and TCP/443 to NPMplus on edge-vm, [PRIVATE_IP].\\\"},{\\\"path\\\":\\\"/root/31_HOMELAB_REFERENCE.before-cr0079-20260817T052826Z.md\\\",\\\"line\\\":647,\\\"text\\\":\\\"- git.gram1.ru -> http://127.0.0.1:3002, cert=29, ssl_forced=1, enabled=1.\\\"},{\\\"path\\\":\\\"/root/31_HOMELAB_REFERENCE.before-cr0079-20260817T052826Z.md\\\",\\\"line\\\":696,\\\"text\\\":\\\"- cert=29: git.gram1.ru, expires 2026-09-13 17:36:55.\\\"},{\\\"path\\\":\\\"/root/31_HOMELAB_REFERENCE.before-cr0079-20260817T052826Z.md\\\",\\\"line\\\":1000,\\\"text\\\":\\\" - https://git.gram1.ru\\\"},{\\\"path\\\":\\\"/root/31_HOMELAB_REFERENCE.before-cr0079-20260817T052826Z.md\\\",\\\"line\\\":1056,\\\"text\\\":\\\"- external canary checks include nc.gram1.ru, git.gram1.ru, auth.gram1.ru, backup.gram1.ru.\\\"},{\\\"path\\\":\\\"/root/31_HOMELAB_REFERENCE.before-cr0079-20260817T052826Z.md\\\",\\\"line\\\":1299,\\\"text\\\":\\\"- Reverse proxy: NPMplus on edge-vm, container npmplus, host networking, admin bound to 127.0.0.1:81.\\\"},{\\\"path\\\":\\\"/root/31_HOMELAB_REFERENCE.before-cr0079-20260817T052826Z.md\\\",\\\"line\\\":1313,\\\"text\\\":\\\"| git.gram1.ru | http://127.0.0.1:3002 | edge-vm / gitea | gitea backup/offhost/restore |\\\"},{\\\"path\\\":\\\"/root/31_HOMELAB_REFERENCE.before-cr0079-20260817T052826Z.md\\\",\\\"line\\\":1864,\\\"text\\\":\\\"- Discovery proof records DNS, HTTPS/TLS headers, reverse-proxy candidates, compose files, domain references and homepage config candidates without printing secrets.\\\"},{\\\"path\\\":\\\"/root/31_HOMELAB_REFERENCE.before-cr0079-20260817T052826Z.md\\\",\\\"line\\\":2095,\\\"text\\\":\\\"- Bulk import of five forums reached DB/files/nginx/php-fpm ready state, but frontend body stayed empty under PHP 8.5.7.\\\"},{\\\"path\\\":\\\"/root/31_HOMELAB_REFERENCE.before-cr0079-20260817T052826Z.md\\\",\\\"line\\\":2107,\\\"text\\\":\\\"- Final result: all five frontend/admin HTTP 200, www redirects 301, internal_data 403, no new XenForo errors.\\\"},{\\\"path\\\":\\\"/root/31_HOMELAB_REFERENCE.before-cr0079-20260817T052826Z.md\\\",\\\"line\\\":2457,\\\"text\\\":\\\"- Recommended future path: establish VPN/NetBird/WireGuard or reverse-proxy/private management endpoint first; then issue DNS-01 certificate on a trusted node and deploy cert/key to the router only over that private path.\\\"},{\\\"path\\\":\\\"/root/31_HOMELAB_REFERENCE.before-cr0079-20260817T052826Z.md\\\",\\\"line\\\":2503,\\\"text\\\":\\\"- TLS terminates on edge using certbot DNS-01 cert router-taftauto.ru.\\\"},{\\\"path\\\":\\\"/root/31_HOMELAB_REFERENCE.before-cr0079-20260817T052826Z.md\\\",\\\"line\\\":2814,\\\"text\\\":\\\"- Primary domain: chat.gram1.ru.\\\"},{\\\"path\\\":\\\"/root/31_HOMELAB_REFERENCE.before-cr0079-20260817T052826Z.md\\\",\\\"line\\\":2815,\\\"text\\\":\\\"- groups.chat.gram1.ru and share.chat.gram1.ru are Snikket service domains.\\\"},{\\\"path\\\":\\\"/root/hread-06.py\\\",\\\"line\\\":108,\\\"text\\\":\\\" if (u.scheme != 'https' or u.netloc != 'git.gram1.ru' or\\\"},{\\\"path\\\":\\\"/root/771e_abort_cleanup_verify_stable.sh\\\",\\\"line\\\":100,\\\"text\\\":\\\" for h in auth.gram1.ru photos.gram1.ru git.gram1.ru n8n.vpn.gram1.ru mealie.vpn.gram1.ru karakeep.vpn.gram1.ru dozzle.gram1.ru npmplus.vpn.gram1.ru; do\\\"},{\\\"path\\\":\\\"/root/hread-04.py\\\",\\\"line\\\":104,\\\"text\\\":\\\" if (u.scheme != 'https' or u.netloc != 'git.gram1.ru' or\\\"},{\\\"path\\\":\\\"/root/771s_vps_identity_repair_netbird_capi.sh\\\",\\\"line\\\":704,\\\"text\\\":\\\" for h in auth.gram1.ru photos.gram1.ru git.gram1.ru n8n.vpn.gram1.ru mealie.vpn.gram1.ru karakeep.vpn.gram1.ru dozzle.gram1.ru npmplus.vpn.gram1.ru; do\\\"},{\\\"path\\\":\\\"/root/771q_netbird_public_vps_repair_then_capi.sh\\\",\\\"line\\\":594,\\\"text\\\":\\\" for h in auth.gram1.ru photos.gram1.ru git.gram1.ru n8n.vpn.gram1.ru mealie.vpn.gram1.ru karakeep.vpn.gram1.ru dozzle.gram1.ru npmplus.vpn.gram1.ru; do\\\"},{\\\"path\\\":\\\"/root/build_full_8020_demonov_handoff.sh\\\",\\\"line\\\":351,\\\"text\\\":\\\"https://git.gram1.ru/homelab-admin/8020-demonov-shadow-bot.git\\\"},{\\\"path\\\":\\\"/root/771ae_crowdsec_capi_soak_final.sh\\\",\\\"line\\\":105,\\\"text\\\":\\\" for h in auth.gram1.ru photos.gram1.ru git.gram1.ru n8n.vpn.gram1.r...<truncated>\nSSH_CONFIG_REFERENCES=[{\"line\":\"# users, and the values can be changed in per-user configuration files\",\"path\":\"/etc/ssh/ssh_config\"},{\"line\":\"Host *\",\"path\":\"/etc/ssh/ssh_config\"},{\"line\":\"# ProxyCommand ssh -q -W %h:%p gateway.example.com\",\"path\":\"/etc/ssh/ssh_config\"}]\nFINAL_DECISION=FRONTEND_FORENSIC3_COMPLETE_NO_MUTATION\nFORENSIC3_END=true\n"
}