Re-structure

This commit is contained in:
Yaojia Wang
2026-03-21 11:31:31 +01:00
parent e61baf7e4e
commit cdba2497a7
30 changed files with 299 additions and 251 deletions

View File

@@ -1,7 +1,7 @@
---
created: "2026-03-08 21:30"
type: resource
tags: [claude-code, AI-tools, development-workflow, reference]
tags: [resource, claude-code, AI-tools, development-workflow, reference]
source: "https://github.com/affaan-m/everything-claude-code"
---
@@ -253,11 +253,19 @@ ECC_DISABLED_HOOKS="pre:bash:tmux-reminder,post:edit:typecheck"
## Related
### Resources
- [[Everything Claude Code 方法论与最佳实践]]
- [[Everything Claude Code 用法速查]]
- [[Claude Code Memory 日常最佳实践]]
### Zettelkasten
- [[Everything Claude Code 最佳实践]]
- [[Everything Claude Code Agent 编排模式]]
- [[Everything Claude Code Token 优化]]
- [[Everything Claude Code 多服务编排详解]]
- [[Claude Code Memory 日常最佳实践]]
- [[Hook驱动优于提示词驱动]]
- [[MCP数量与上下文窗口的反比关系]]
- [[本能学习系统的演化路径]]
## Source

View File

@@ -1,7 +1,7 @@
---
created: "2026-03-19 12:00"
type: resource
tags: [claude-code, AI-tools, methodology, best-practices, agent-orchestration]
tags: [resource, claude-code, AI-tools, methodology, best-practices, agent-orchestration]
source: "https://github.com/affaan-m/everything-claude-code"
---
@@ -925,6 +925,18 @@ ECC 自动检测项目使用的包管理器,遵循 6 级优先级:
## Related
### Resources
- [[Everything Claude Code 完整指南]]
- [[Everything Claude Code 用法速查]]
- [[GSD 方法论与最佳实践]]
### Zettelkasten
- [[Everything Claude Code 最佳实践]]
- [[Everything Claude Code Agent 编排模式]]
- [[Everything Claude Code Token 优化]]
- [[Everything Claude Code 多服务编排详解]]
- [[Claude Code Memory 日常最佳实践]]
- [[Hook驱动优于提示词驱动]]
- [[MCP数量与上下文窗口的反比关系]]
- [[本能学习系统的演化路径]]
- [[上下文腐烂与全新窗口隔离]]

View File

@@ -1,7 +1,7 @@
---
created: "2026-03-08 22:10"
type: resource
tags: [claude-code, AI-tools, development-workflow, cheatsheet]
tags: [resource, claude-code, AI-tools, development-workflow, cheatsheet]
source: "https://github.com/affaan-m/everything-claude-code"
---
@@ -172,12 +172,16 @@ source: "https://github.com/affaan-m/everything-claude-code"
## Related
### Resources
- [[Everything Claude Code 完整指南]]
- [[Everything Claude Code 多服务编排详解]]
- [[Claude Code Memory 日常最佳实践]]
- [[Everything Claude Code 方法论与最佳实践]]
### Zettelkasten
- [[Everything Claude Code 最佳实践]]
- [[Everything Claude Code Agent 编排模式]]
- [[Everything Claude Code Token 优化]]
- [[Everything Claude Code 多服务编排详解]]
- [[Claude Code Memory 日常最佳实践]]
## Source

View File

@@ -1,7 +1,7 @@
---
created: "2026-03-20 10:00"
type: resource
tags: [claude-code, AI-tools, methodology, best-practices, project-management, gsd]
tags: [resource, claude-code, AI-tools, methodology, best-practices, project-management, gsd]
source: "https://github.com/gsd-build/get-shit-done"
---
@@ -901,6 +901,12 @@ fix(1-C): apply auth middleware to admin routes
## Related
### Resources
- [[Everything Claude Code 完整指南]]
- [[Everything Claude Code 用法速查]]
- [[Everything Claude Code 方法论与最佳实践]]
### Zettelkasten
- [[上下文腐烂与全新窗口隔离]]
- [[目标回溯验证vs正向任务检查]]
- [[Plans as Prompts设计模式]]

View File

@@ -1,7 +1,7 @@
---
created: "2026-03-17"
type: resource
tags: [engineering, workflow, azure-devops, jira, slack, billo]
tags: [resource, engineering, workflow, azure-devops, jira, slack, billo]
source: "C:/Users/yaoji/git/Billo/release-workflow/SKILL.md"
---

View File

@@ -1,7 +1,7 @@
---
created: "2026-03-10"
type: resource
tags: [infrastructure, homelab, kubernetes, ci-cd, gitops]
tags: [resource, infrastructure, homelab, kubernetes, ci-cd, gitops]
source: "HomeLab 部署实践"
---

View File

@@ -1,7 +1,7 @@
---
created: "2026-03-09"
type: resource
tags: [kubernetes, infrastructure, devops, drone-ci, argocd, docker-registry]
tags: [resource, kubernetes, infrastructure, devops, drone-ci, argocd, docker-registry, homelab]
source: "openbb-invest-api 项目部署实践"
---

View File

@@ -0,0 +1,149 @@
---
tags:
- resource
- openclash
- vless-reality
- security-audit
- networking
- router
- homelab
---
# OpenClash 配置 Review (2026-03-19)
> 审计范围源配置、运行配置、UCI 设置、custom 文件
> 审计日期2026-03-19
> 状态:**全部修复完成**P3 备用节点除外)
---
## 1. 安全问题 (CRITICAL)
### 1.1 敏感信息在 Git 仓库中明文暴露
以下敏感值出现在 Knowledge vault 的笔记中:
| 类型 | 值 | 出处 |
|------|-----|------|
| VLESS UUID | `04a7cfe3-...` | vless-reality.yaml |
| REALITY public-key | `RTO_UOk5...` | vless-reality.yaml |
| Dashboard Secret | `Dc7jZkmO` | Router-iStoreOS.md |
| Proxy Auth | `Clash:O6IlMO6L` | 运行配置 |
**结论**:仓库 remote 为自建 Gitea (`git@git.colacoder.com`),非公开,风险可接受。
### 1.2 Dashboard 绑定 0.0.0.0
```yaml
external-controller: 0.0.0.0:9090
```
LuCI 覆写硬编码为 `0.0.0.0`,无法通过源配置修改。
**结论**WAN zone 默认 INPUT=REJECT9090 端口从外网不可达,仅 LAN 可访问,风险可接受。
### 1.3 mixed-port 绑定 0.0.0.0
`allow-lan: true` + `bind-address: "*"` 意味着代理端口对全网段开放。
**结论**同上WAN 防火墙已阻止外网访问。
---
## 2. 源配置与运行配置不一致 — 已修复
源配置已清理,去掉了陈旧的 DNS 段(`redir-host``192.168.68.111``nsniffer`DNS 全部交给 LuCI 覆写管理。
当前源配置只保留proxies、proxy-groups、rules、hosts。其余由 LuCI 覆写生成。
---
## 3. 规则问题 — 已修复
### 3.1 规则精简为仅视频/音乐
之前配置了 60+ 条国内域名 + `GEOSITE,cn` + `GEOIP,CN`,导致所有国内流量走代理。
**已修复**:移除电商、社交、搜索、银行、`GEOSITE,cn``GEOIP,CN`,只保留:
- 国内视频B站、爱奇艺、优酷、芒果TV、搜狐、腾讯视频、抖音、西瓜、小红书
- 国内音乐网易云、酷狗、酷我、QQ音乐
- 其余 `MATCH,DIRECT`
### 3.2 代理服务器 IP 直连规则 — 已修复
已添加 `IP-CIDR,8.138.1.192/32,DIRECT` 防止环路。
### 3.3 腾讯视频规则细化
之前用 `DOMAIN-SUFFIX,qq.com` 会把 QQ 邮箱、QQ 空间等全部代理。
**已修复**:改为 `v.qq.com` / `video.qq.com` 只匹配腾讯视频QQ 音乐用 `y.qq.com`
---
## 4. Fake-IP Filter — 已修复
### 4.1 去重完成
删除所有 `*.xxx.com` 重复项,只保留 `+.xxx.com`(已是超集)。
### 4.2 amazonaws 范围缩小
移除 `+.amazonaws.com`(全量 AWS只保留 `+.ecr.aws`
当前 fake-ip-filter 列表16 条):
```
+.colacoder.com, +.k8s.home — 内网域名
*.lan, *.local, *.localdomain, *.home.arpa — 本地域名
+.quay.io, +.ghcr.io, +.docker.io,
+.docker.com, +.gcr.io, +.k8s.io,
+.registry.k8s.io — 容器仓库
+.ecr.aws — AWS ECR
+.billo.life — 公司 VPN
+.finance.yahoo.com — Yahoo Finance API
```
---
## 5. Sniffer 配置 — 已修复
清空了 `force-domain` 列表(之前包含 Netflix/Disney+/amazonaws无实际意义
保留 `skip-domain`Mijia Cloud、向日葵、蒲公英、Apple Push。
---
## 6. 其他注意事项
| 项目 | 当前值 | 说明 |
|------|--------|------|
| `bypass_gateway_compatible` | `0`(关闭) | 网络正常,无需开启 |
| `disable_udp_quic` | `1`(禁用) | 强制走 TCP可能降低部分网站速度 |
| NTP `write-to-system` | `true` | 路由器上正常 |
| 单代理节点 | 只有 CN-Proxy | 无备用,服务器挂了断国内 |
| `china_ip_route` | overwrite 开启 | 国内 IP 绕过 TUN 直连 |
---
## 7. 修复记录
| 优先级 | 项目 | 状态 |
|--------|------|------|
| P0 | Dashboard 绑定 | 无需修复 — WAN REJECT外网不可达 |
| P0 | Knowledge 仓库隐私 | 已确认 — 自建 Gitea非公开 |
| P1 | 代理服务器 IP 加 DIRECT 规则 | 已修复 (2026-03-19) |
| P1 | 清理源配置(去掉陈旧 DNS 设置) | 已修复 (2026-03-19) |
| P2 | 精简规则(只保留视频/音乐) | 已修复 (2026-03-19) |
| P2 | fake-ip-filter 去重 | 已修复 (2026-03-19) |
| P2 | 缩小 amazonaws 范围 | 已修复 (2026-03-19) |
| P3 | 清理 sniffer force-domain | 已修复 (2026-03-19) |
| P3 | 添加备用代理节点 | 可选 — 用户自行决定 |
---
## 相关文档
- [[VLESS-REALITY-Router-iStoreOS]] -- 主配置文档
- [[家庭网络基础设施]] -- 网络拓扑总览
- [[VLESS-Reality 翻墙回国]] -- 项目概览

View File

@@ -0,0 +1,259 @@
---
tags:
- resource
- openclash
- vless-reality
- clash-config
- networking
- router
- dns
- homelab
---
# OpenClash 配置备份
> 路由器:`192.168.68.63` (iStoreOS, EasePi Pro)
> 最后更新2026-03-19
> 用途:仅国内视频/音乐走代理回国,其余全部直连
---
## 1. 源配置
路径:`/etc/openclash/config/vless-reality.yaml`
> DNS 段只写了最小声明,其余由 LuCI 覆写生成。
```yaml
# ============================================================
# VLESS + XTLS-Vision + REALITY翻墙回国 - 旁路由)
# 用途:仅国内视频/音乐走代理,其余全部直连
# 更新2026-03-19 精简规则 + 安全加固 + sniffer 清理
# ============================================================
mixed-port: 7890
redir-port: 7892
tproxy-port: 7895
allow-lan: true
bind-address: "*"
mode: rule
log-level: warning
unified-delay: true
external-controller: 192.168.68.63:9090
dns:
enable: true
listen: 0.0.0.0:7874
proxies:
- name: "CN-Proxy"
type: vless
server: 8.138.1.192
port: 443
uuid: 04a7cfe3-10f6-4e38-8319-22a604e24018
network: tcp
udp: true
tls: true
flow: xtls-rprx-vision
servername: www.microsoft.com
reality-opts:
public-key: RTO_UOk5ncr3DAAYR08g08L0fo5ax9pmGFj8c8lXWgk
short-id: ""
client-fingerprint: chrome
proxy-groups:
- name: "Proxy"
type: select
proxies:
- CN-Proxy
- DIRECT
rules:
# K8s 节点直连(绕过 OpenClash
- SRC-IP-CIDR,192.168.68.11/32,DIRECT
- SRC-IP-CIDR,192.168.68.21/32,DIRECT
- SRC-IP-CIDR,192.168.68.22/32,DIRECT
# 代理服务器本身必须直连(防环路)
- IP-CIDR,8.138.1.192/32,DIRECT
# 广告拦截
- GEOSITE,category-ads-all,REJECT
# 私有网络直连
- IP-CIDR,127.0.0.0/8,DIRECT
- IP-CIDR,10.0.0.0/8,DIRECT
- IP-CIDR,172.16.0.0/12,DIRECT
- IP-CIDR,192.168.0.0/16,DIRECT
# === 国内视频/流媒体(走代理回国) ===
# Bilibili
- DOMAIN-SUFFIX,bilibili.com,Proxy
- DOMAIN-SUFFIX,bilivideo.com,Proxy
- DOMAIN-SUFFIX,bilivideo.cn,Proxy
- DOMAIN-SUFFIX,biliapi.net,Proxy
- DOMAIN-SUFFIX,hdslb.com,Proxy
- DOMAIN-SUFFIX,acgvideo.com,Proxy
# 爱奇艺
- DOMAIN-SUFFIX,iqiyi.com,Proxy
- DOMAIN-SUFFIX,iqiyipic.com,Proxy
# 优酷
- DOMAIN-SUFFIX,youku.com,Proxy
# 芒果TV
- DOMAIN-SUFFIX,mgtv.com,Proxy
# 搜狐视频
- DOMAIN-SUFFIX,sohu.com,Proxy
# 腾讯视频
- DOMAIN-SUFFIX,v.qq.com,Proxy
- DOMAIN-SUFFIX,video.qq.com,Proxy
- DOMAIN-SUFFIX,livep.l.qq.com,Proxy
- DOMAIN-SUFFIX,vd.l.qq.com,Proxy
# 抖音/西瓜/字节
- DOMAIN-SUFFIX,douyin.com,Proxy
- DOMAIN-SUFFIX,douyinpic.com,Proxy
- DOMAIN-SUFFIX,douyincdn.com,Proxy
- DOMAIN-SUFFIX,douyinstatic.com,Proxy
- DOMAIN-SUFFIX,snssdk.com,Proxy
- DOMAIN-SUFFIX,amemv.com,Proxy
- DOMAIN-SUFFIX,ixigua.com,Proxy
- DOMAIN-SUFFIX,pstatp.com,Proxy
- DOMAIN-SUFFIX,bytedance.com,Proxy
- DOMAIN-SUFFIX,byteimg.com,Proxy
# 小红书
- DOMAIN-SUFFIX,xiaohongshu.com,Proxy
- DOMAIN-SUFFIX,xhscdn.com,Proxy
- DOMAIN-SUFFIX,xhslink.com,Proxy
# === 国内音乐(走代理回国) ===
# 网易云音乐
- DOMAIN-SUFFIX,music.163.com,Proxy
- DOMAIN-SUFFIX,163yun.com,Proxy
- DOMAIN-SUFFIX,126.net,Proxy
- DOMAIN-SUFFIX,netease.com,Proxy
# 酷狗
- DOMAIN-SUFFIX,kugou.com,Proxy
# 酷我
- DOMAIN-SUFFIX,kuwo.cn,Proxy
# QQ音乐
- DOMAIN-SUFFIX,y.qq.com,Proxy
- DOMAIN-SUFFIX,c.y.qq.com,Proxy
- DOMAIN-SUFFIX,streamoc.music.tc.qq.com,Proxy
# === 其他全部直连 ===
- MATCH,DIRECT
hosts:
"nas.colacoder.com": 192.168.68.70
"pve.colacoder.com": 192.168.68.70
"npm.colacoder.com": 192.168.68.70
"router.colacoder.com": 192.168.68.63
"adguard.colacoder.com": 192.168.68.63
"claw.colacoder.com": 192.168.68.70
"openvas.colacoder.com": 192.168.68.70
"invest-api.k8s.home": 192.168.68.240
"argocd.k8s.home": 192.168.68.240
"drone.k8s.home": 192.168.68.240
```
---
## 2. 自定义文件
### 2.1 Fake-IP 排除列表
路径:`/etc/openclash/custom/openclash_custom_fake_filter.list`
```
+.colacoder.com
+.k8s.home
*.lan
*.local
*.localdomain
*.home.arpa
+.quay.io
+.ghcr.io
+.docker.io
+.docker.com
+.gcr.io
+.k8s.io
+.registry.k8s.io
+.ecr.aws
+.billo.life
+.finance.yahoo.com
```
### 2.2 自定义 Hosts
路径:`/etc/openclash/custom/openclash_custom_hosts.list`
```yaml
nas.colacoder.com: 192.168.68.70
pve.colacoder.com: 192.168.68.70
npm.colacoder.com: 192.168.68.70
router.colacoder.com: 192.168.68.63
adguard.colacoder.com: 192.168.68.63
claw.colacoder.com: 192.168.68.70
openvas.colacoder.com: 192.168.68.70
invest-api.k8s.home: 192.168.68.240
argocd.k8s.home: 192.168.68.240
drone.k8s.home: 192.168.68.240
```
### 2.3 自定义 Sniffer
路径:`/etc/openclash/custom/openclash_custom_sniffer.yaml`
```yaml
sniffer:
force-dns-mapping: true
parse-pure-ip: true
override-destination: true
sniff:
QUIC:
ports: [443]
TLS:
ports: [443, 8443]
HTTP:
ports: [80, 8080-8880]
override-destination: true
force-domain: []
skip-domain:
- Mijia Cloud
- dlg.io.mi.com
- +.oray.com
- +.sunlogin.net
- +.push.apple.com
```
---
## 3. LuCI 覆写设置
以下设置通过 LuCI 后台配置,会覆盖源配置中的对应字段:
| 设置 | 值 |
|------|-----|
| 运行模式 | Fake-IP (TUN) |
| 代理模式 | Rule 策略代理 |
| 区域绕过 | 停用 |
| 域名嗅探 | 启用 |
| Default-NameServer | `8.8.8.8`, `1.1.1.1` |
| NameServer | `8.8.8.8`, `1.1.1.1` |
| Fallback | `dns.google`, `cloudflare-dns.com` (DoH) |
| store-fake-ip | 启用 |
| respect-rules | 启用 |
| custom-fakeip-filter | 启用 (blacklist 模式) |
| custom-host | 启用 |
| custom-fallback-filter | 启用 |
| china_ip_route | 启用 |
| tcp-concurrent | 启用 |
| IPv6 | 关闭 |
| QUIC | 禁用 |
---
## 相关文档
- [[VLESS-REALITY-Router-iStoreOS]] -- 主网关配置文档
- [[OpenClash-Config-Review-2026-03-19]] -- 配置审计报告
- [[家庭网络基础设施]] -- 网络拓扑总览

View File

@@ -0,0 +1,313 @@
---
tags:
- resource
- openclash
- vless-reality
- proxy
- networking
- macOS
- homelab
---
# VLESS + REALITY macOS 客户端连接指南(翻墙回国)
> 服务器:`8.138.1.192`(阿里云国内) | 部署日期2026-03-14
> 用途从海外通过国内代理访问国内资源B站、抖音、淘宝等
---
## 0. 两种使用方式
| 方式 | 说明 | 适合场景 |
|------|------|---------|
| **方式 A旁路由代理推荐** | Mac 网关指向旁路由,无需装客户端 | 在家,旁路由运行中 |
| **方式 BClashX Meta 客户端** | Mac 上独立运行代理 | 外出,不在家 |
### 方式 A旁路由代理
系统设置 → Wi-Fi → 详细信息 → TCP/IP → 手动:
- IP 地址:保持当前
- 子网掩码:`255.255.252.0`
- 路由器:`192.168.68.63`
- DNS 标签页:`192.168.68.63`
设置后无需装任何客户端,旁路由的 OpenClash 自动处理代理。详见 [旁路由文档](./VLESS-REALITY-Router-iStoreOS.md)。
### 方式 BClashX Meta 客户端(以下章节)
---
## 1. 客户端选择
ClashX Pro **不支持** VLESS + REALITY需使用基于 mihomo 内核的客户端:
| 客户端 | 说明 | 下载 |
|--------|------|------|
| **ClashX.Meta**(推荐) | 界面与 ClashX Pro 一致,切换无感 | https://github.com/MetaCubeX/ClashX.Meta/releases |
| Clash Verge Rev | 跨平台,功能更丰富 | https://github.com/clash-verge-rev/clash-verge-rev/releases |
### 安装 ClashX.Meta
1. 从 Releases 页面下载最新的 `.dmg` 文件
2. 拖入 Applications
3. 首次打开:右键 → 打开(绕过 Gatekeeper
4. 可卸载 ClashX Pro两者不冲突但不要同时运行
---
## 2. 配置文件
配置文件路径:`~/.config/clash.meta/config.yaml`(已自动写入)
**手动修改方法:** 菜单栏点击 ClashX.Meta 图标 → Config → Open config folder → 编辑 `config.yaml`
```yaml
# ============================================================
# VLESS + XTLS-Vision + REALITY翻墙回国
# 服务器: 8.138.1.192(阿里云国内)
# 用途: 海外访问国内资源
# 生成日期: 2026-03-14
# ============================================================
mixed-port: 7890
allow-lan: false
mode: rule
log-level: warning
unified-delay: true
dns:
enable: true
listen: 0.0.0.0:53
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
fake-ip-filter:
- "*.lan"
- "*.local"
- "time.*.com"
- "ntp.*.com"
default-nameserver:
- 8.8.8.8
- 1.1.1.1
nameserver:
- https://dns.google/dns-query
- https://cloudflare-dns.com/dns-query
fallback:
- https://dns.alidns.com/dns-query
- https://doh.pub/dns-query
fallback-filter:
geoip: true
geoip-code: CN
proxies:
- name: "CN-Proxy"
type: vless
server: 8.138.1.192
port: 443
uuid: 04a7cfe3-10f6-4e38-8319-22a604e24018
network: tcp
udp: true
tls: true
flow: xtls-rprx-vision
servername: www.microsoft.com
reality-opts:
public-key: RTO_UOk5ncr3DAAYR08g08L0fo5ax9pmGFj8c8lXWgk
short-id: ""
client-fingerprint: chrome
proxy-groups:
- name: "Proxy"
type: select
proxies:
- CN-Proxy
- DIRECT
rules:
# 私有网络直连
- IP-CIDR,127.0.0.0/8,DIRECT
- IP-CIDR,10.0.0.0/8,DIRECT
- IP-CIDR,172.16.0.0/12,DIRECT
- IP-CIDR,192.168.0.0/16,DIRECT
# 国内视频/流媒体 → 走代理回国
- DOMAIN-SUFFIX,bilibili.com,Proxy
- DOMAIN-SUFFIX,bilivideo.com,Proxy
- DOMAIN-SUFFIX,bilivideo.cn,Proxy
- DOMAIN-SUFFIX,biliapi.net,Proxy
- DOMAIN-SUFFIX,hdslb.com,Proxy
- DOMAIN-SUFFIX,acgvideo.com,Proxy
- DOMAIN-SUFFIX,iqiyi.com,Proxy
- DOMAIN-SUFFIX,iqiyipic.com,Proxy
- DOMAIN-SUFFIX,youku.com,Proxy
- DOMAIN-SUFFIX,mgtv.com,Proxy
- DOMAIN-SUFFIX,sohu.com,Proxy
- DOMAIN-SUFFIX,qq.com,Proxy
- DOMAIN-SUFFIX,gtimg.cn,Proxy
- DOMAIN-SUFFIX,music.163.com,Proxy
- DOMAIN-SUFFIX,163yun.com,Proxy
- DOMAIN-SUFFIX,126.net,Proxy
- DOMAIN-SUFFIX,netease.com,Proxy
- DOMAIN-SUFFIX,kugou.com,Proxy
- DOMAIN-SUFFIX,kuwo.cn,Proxy
- DOMAIN-SUFFIX,douyin.com,Proxy
- DOMAIN-SUFFIX,douyinpic.com,Proxy
- DOMAIN-SUFFIX,douyincdn.com,Proxy
- DOMAIN-SUFFIX,douyinstatic.com,Proxy
- DOMAIN-SUFFIX,snssdk.com,Proxy
- DOMAIN-SUFFIX,amemv.com,Proxy
- DOMAIN-SUFFIX,ixigua.com,Proxy
- DOMAIN-SUFFIX,pstatp.com,Proxy
- DOMAIN-SUFFIX,bytedance.com,Proxy
- DOMAIN-SUFFIX,byteimg.com,Proxy
- DOMAIN-SUFFIX,xiaohongshu.com,Proxy
- DOMAIN-SUFFIX,xhscdn.com,Proxy
- DOMAIN-SUFFIX,xhslink.com,Proxy
# 国内常用服务 → 走代理回国
- DOMAIN-SUFFIX,taobao.com,Proxy
- DOMAIN-SUFFIX,tmall.com,Proxy
- DOMAIN-SUFFIX,alicdn.com,Proxy
- DOMAIN-SUFFIX,alipay.com,Proxy
- DOMAIN-SUFFIX,alipayobjects.com,Proxy
- DOMAIN-SUFFIX,alibaba.com,Proxy
- DOMAIN-SUFFIX,1688.com,Proxy
- DOMAIN-SUFFIX,jd.com,Proxy
- DOMAIN-SUFFIX,360buyimg.com,Proxy
- DOMAIN-SUFFIX,pinduoduo.com,Proxy
- DOMAIN-SUFFIX,yangkeduo.com,Proxy
- DOMAIN-SUFFIX,weibo.com,Proxy
- DOMAIN-SUFFIX,weibo.cn,Proxy
- DOMAIN-SUFFIX,sinaimg.cn,Proxy
- DOMAIN-SUFFIX,zhihu.com,Proxy
- DOMAIN-SUFFIX,zhimg.com,Proxy
- DOMAIN-SUFFIX,baidu.com,Proxy
- DOMAIN-SUFFIX,bdstatic.com,Proxy
- DOMAIN-SUFFIX,bdimg.com,Proxy
- DOMAIN-SUFFIX,douban.com,Proxy
- DOMAIN-SUFFIX,doubanio.com,Proxy
- DOMAIN-SUFFIX,wechat.com,Proxy
- DOMAIN-SUFFIX,weixin.qq.com,Proxy
- DOMAIN-SUFFIX,meituan.com,Proxy
- DOMAIN-SUFFIX,dianping.com,Proxy
- DOMAIN-SUFFIX,ctrip.com,Proxy
- DOMAIN-SUFFIX,eleme.cn,Proxy
# 国内银行/支付 → 走代理回国
- DOMAIN-SUFFIX,icbc.com.cn,Proxy
- DOMAIN-SUFFIX,ccb.com,Proxy
- DOMAIN-SUFFIX,boc.cn,Proxy
- DOMAIN-SUFFIX,abchina.com,Proxy
- DOMAIN-SUFFIX,cmbchina.com,Proxy
- DOMAIN-SUFFIX,unionpay.com,Proxy
# 国内 GeoIP → 走代理回国
- GEOSITE,cn,Proxy
- GEOIP,CN,Proxy
# 其他流量直连(海外网站本地直接访问)
- MATCH,DIRECT
```
---
## 3. 使用步骤
### 3.1 导入配置
1. 点击菜单栏 ClashX.Meta 图标
2. **Config****Open config folder**
3. 将上面的 `config.yaml` 复制到打开的目录中
4. 回到菜单 → **Config** → 选择刚才的配置文件
5. 点击 **Set as system proxy** 开启系统代理
### 3.2 验证连接
打开终端,运行:
```bash
# 测试代理是否回国ClashX Meta 实际端口为 7891
curl -x http://127.0.0.1:7891 http://cip.cc
```
预期输出 IP 为 `8.138.1.192`(阿里云广州),说明国内流量在走代理。
也可以直接打开浏览器访问 https://v.qq.com 或 https://bilibili.com 验证。
> **注意:** 如果网站显示地区限制,用无痕窗口(`Command + Shift + N`)重试,清除缓存。
### 3.3 切换模式
菜单栏点击 ClashX.Meta 图标,可切换:
| 模式 | 说明 |
|------|------|
| **Rule** | 按规则分流(推荐日常使用) |
| **Global** | 所有流量走代理 |
| **Direct** | 所有流量直连(关闭代理) |
---
## 4. 分流规则说明
当前配置采用**翻墙回国**策略(国内走代理、海外直连):
| 流量类型 | 走向 | 说明 |
|----------|------|------|
| B站/抖音/爱奇艺/优酷/腾讯视频 | Proxy回国 | 解除海外地区限制 |
| 网易云音乐/QQ音乐/酷狗 | Proxy回国 | 解除版权地区限制 |
| 淘宝/京东/拼多多/美团 | Proxy回国 | 正常访问国内电商 |
| 微博/知乎/百度/豆瓣/小红书 | Proxy回国 | 正常访问国内社交平台 |
| 支付宝/微信/国内银行 | Proxy回国 | 正常使用支付和银行 |
| 所有 GEOIP:CN 的 IP | Proxy回国 | 兜底匹配国内流量 |
| Google/YouTube 等海外网站 | DIRECT直连 | 本地直接访问,无需代理 |
如需修改,编辑 `~/.config/clash.meta/config.yaml``rules` 部分。
---
## 5. 常见问题
### Q: 连不上代理?
1. 确认 ClashX.Meta 已开启(菜单栏有图标)
2. 确认选择了正确的配置文件
3. 确认 "Set as system proxy" 已勾选
4. 检查 Dashboard菜单 → Dashboard中节点是否显示延迟
### Q: 网速慢?
- 菜单 → Dashboard → 点击节点测速
- 如果延迟 >300ms可能是服务器线路问题
### Q: 海外网站变慢了?
- 确认使用 **Rule** 模式(不要用 Global
- Rule 模式下海外流量直连,不受代理影响
### Q: 如何与 ClashX Pro 切换?
- 两个 App 可以共存,但**不要同时运行**
- 退出一个再打开另一个即可
### Q: macOS Gatekeeper 提示无法验证?
```bash
sudo xattr -rd com.apple.quarantine "/Applications/ClashX Meta.app"
```
---
## 6. 连接参数速查
| 参数 | 值 |
|------|-----|
| 协议 | VLESS |
| 地址 | `8.138.1.192` |
| 端口 | `443` |
| UUID | `04a7cfe3-10f6-4e38-8319-22a604e24018` |
| Flow | `xtls-rprx-vision` |
| 安全 | reality |
| SNI | `www.microsoft.com` |
| Public Key | `RTO_UOk5ncr3DAAYR08g08L0fo5ax9pmGFj8c8lXWgk` |
| ShortId | 留空 |
| Fingerprint | `chrome` |
| 本地代理端口 | `7890`HTTP/SOCKS5 混合) |

View File

@@ -0,0 +1,308 @@
---
tags:
- resource
- openclash
- vless-reality
- networking
- iStoreOS
- router
- dns
- homelab
---
# iStoreOS 主网关配置文档
> 主网关:`192.168.68.63` (iStoreOS 24.10.2, aarch64, EasePi Pro)
> WiFiDeco BE65AP 模式)
> 服务器:`8.138.1.192`(阿里云广州)
> 用途:国内视频/音乐翻墙回国 + 广告拦截 + 内网 DNS
> 状态:**已完成,正常工作** (2026-03-19 规则精简)
---
## 1. 网络拓扑
```
光猫 (拨号, Dynamic IP)
▼ WAN (eth0, DHCP)
iStoreOS (192.168.68.63) ← 主网关
├── dnsmasq (:53) → 内网 DNS + 转发到 OpenClash
├── OpenClash / mihomo (:7874) → fake-ip + TUN → 翻墙回国 + 广告拦截
├── 端口映射 (2200, 443, 51888)
├── DHCP (网关=.63, DNS=.63)
▼ LAN (eth1/eth2/eth3)
├── Deco BE65 (AP) → WiFi → 手机/平板/笔记本
└── 交换机 (2楼) → PVE + NAS
```
### DNS 解析链路
```
设备 → dnsmasq (:53)
├─ 内网域名 (*.colacoder.com, *.k8s.home) → 直接返回真实 IP
└─ 外部域名 → OpenClash (:7874, fake-ip)
├─ fake-ip-filter 匹配 → 返回真实 IP
├─ 广告域名 → REJECT
├─ 国内视频/音乐域名 → fake-ip → VLESS 代理回国
└─ 其余所有域名 → fake-ip → 直连
```
---
## 2. OpenClash 配置
### LuCI 后台设置
| 设置 | 值 |
|------|-----|
| 运行模式 | Fake-IP (TUN) |
| 代理模式 | Rule 策略代理 |
| 区域绕过 | **停用** |
| 域名嗅探 | 启用 |
| DNS 代理 | 停用 |
| 本地 DNS 劫持 | 使用 Dnsmasq 转发 |
### 覆写设置 → DNS
| 设置 | 值 |
|------|-----|
| Default-NameServer | `8.8.8.8`, `1.1.1.1` |
| NameServer | `8.8.8.8`, `1.1.1.1` |
| Fallback | `dns.google`, `cloudflare-dns.com` |
> **重要:** NameServer 必须用海外 DNS不能用国内 DNS114、119、223 等),
> 否则会产生 DNS 环路(国内 DNS IP 匹配 GEOIP,CN → 走代理 → 代理需要 DNS → 死循环)。
### 分流规则2026-03-19 精简)
只有国内视频和音乐走代理回国,其余全部直连:
```yaml
rules:
# K8s 节点直连
- SRC-IP-CIDR,192.168.68.11/32,DIRECT # k8s-cp1
- SRC-IP-CIDR,192.168.68.21/32,DIRECT # k8s-w1
- SRC-IP-CIDR,192.168.68.22/32,DIRECT # k8s-w2
# 代理服务器本身直连(防环路)
- IP-CIDR,8.138.1.192/32,DIRECT
# 广告拦截
- GEOSITE,category-ads-all,REJECT
# 私有网络直连
- IP-CIDR,192.168.0.0/16,DIRECT
# 国内视频B站/爱奇艺/优酷/芒果TV/搜狐/腾讯视频/抖音/西瓜/小红书)→ Proxy
# 国内音乐(网易云/酷狗/酷我/QQ音乐→ Proxy
# 其余全部直连
- MATCH,DIRECT
```
> 之前配置了 GEOSITE,cn + GEOIP,CN 导致所有国内流量走代理,
> 2026-03-19 精简为只代理视频和音乐。
K8s 节点 DNS 也改为 `8.8.8.8`(不经过 OpenClash详见 [[家庭网络基础设施#K8s 节点绕过 OpenClash]]
### 配置文件
- 源配置:`/etc/openclash/config/vless-reality.yaml`
- 运行配置:`/etc/openclash/vless-reality.yaml`(自动生成,勿手动改)
- API Secret`Dc7jZkmO`
- Dashboardhttp://192.168.68.63:9090
### 自定义文件(持久化,不被覆盖)
| 文件 | 用途 |
|------|------|
| `/etc/openclash/custom/openclash_custom_hosts.list` | 内网 DNS 映射 |
| `/etc/openclash/custom/openclash_custom_fake_filter.list` | fake-ip 排除域名 |
---
## 3. 内网 DNS
双重保障dnsmasq 和 OpenClash hosts 都配了内网记录。
### dnsmasq 配置
文件:`/etc/dnsmasq.d/internal-dns.conf`
```
address=/k8s.home/192.168.68.70
address=/nas.colacoder.com/192.168.68.70
address=/pve.colacoder.com/192.168.68.70
address=/npm.colacoder.com/192.168.68.70
address=/router.colacoder.com/192.168.68.63
address=/adguard.colacoder.com/192.168.68.63
address=/claw.colacoder.com/192.168.68.70
address=/openvas.colacoder.com/192.168.68.70
address=/invest-api.k8s.home/192.168.68.240
```
### OpenClash 自定义 hosts
文件:`/etc/openclash/custom/openclash_custom_hosts.list`
```yaml
nas.colacoder.com: 192.168.68.70
pve.colacoder.com: 192.168.68.70
npm.colacoder.com: 192.168.68.70
router.colacoder.com: 192.168.68.63
adguard.colacoder.com: 192.168.68.63
claw.colacoder.com: 192.168.68.70
openvas.colacoder.com: 192.168.68.70
invest-api.k8s.home: 192.168.68.240
argocd.k8s.home: 192.168.68.240
drone.k8s.home: 192.168.68.240
```
### fake-ip 排除列表
文件:`/etc/openclash/custom/openclash_custom_fake_filter.list`
```
*.colacoder.com
+.colacoder.com
*.k8s.home
+.k8s.home
*.lan
*.local
*.localdomain
*.home.arpa
```
---
## 4. 端口映射
| 规则名 | 外部端口 | 目标 |
|--------|---------|------|
| NAS-SSH-2200 | 2200 | 192.168.68.70:2200 |
| NAS-HTTPS-443 | 443 | 192.168.68.70:443 |
| Device-51888 | 51888 | 192.168.68.107:51888 |
---
## 5. DHCP 静态绑定22 台设备)
DHCP 范围:`.100` ~ `.229`start=100, limit=130避开 MetalLB `.240-.242`
详细分段和完整列表见 [[家庭网络基础设施#DHCP 静态绑定22 台设备)]]
### 摘要
| 名称 | IP | MAC |
|------|-----|-----|
| pve-docker | 192.168.68.102 | BC:24:11:3B:9C:8A |
| wireguard | 192.168.68.107 | BC:24:11:00:4D:D2 |
| Yaojia-ipad | 192.168.68.77 | 64:0B:D7:F0:D0:4C |
| Yaojias-iPhone | 192.168.68.73 | 68:EF:DC:B7:36:40 |
| Yiukai | 192.168.68.89 | 10:FF:E0:CC:1D:00 |
| Yiukai-Asus-wifi | 192.168.68.79 | 08:3A:88:59:1F:A6 |
| Yiukai-Asus-lan | 192.168.68.60 | 44:E5:17:DD:26:01 |
| yiukai-ubuntu | 192.168.68.108 | 1C:79:2D:5C:2C:C4 |
| YIUKAINAS | 192.168.68.70 | 24:5E:BE:5F:ED:38 |
| Yiukais-MBP | 192.168.68.87 | 5C:E9:1E:B2:56:79 |
| android-8fbbfff | 192.168.68.111 | 6C:2D:24:F8:F3:0C |
| easepi | 192.168.68.63 | EE:61:98:11:AD:C4 |
| homeassistant | 192.168.68.97 | BC:24:11:63:40:1E |
| kai-desktop-jetson | 192.168.68.104 | 3C:6D:66:1E:D7:62 |
| kuangxideiPhone | 192.168.68.88 | C4:C1:7D:7B:76:CC |
| lingke | 192.168.68.69 | 84:47:09:20:70:DA |
| network-scanner | 192.168.68.84 | BC:24:11:09:F1:9E |
| pc | 192.168.68.176 | 12:D0:5B:A3:8B:4F |
| adguard-vm | 192.168.68.112 | BC:24:11:C9:58:CB |
---
## 6. 踩坑记录
### DNS 环路(最关键)
OpenClash 的 nameserver 不能用国内 DNS114.114.114.114、119.29.29.29 等),
因为这些 IP 匹配 GEOIP,CN 规则 → 走代理 → 代理需要 DNS → 死循环。
**必须用海外 DNS8.8.8.8、1.1.1.1)。**
### OpenClash 配置覆盖
OpenClash 每次重启都会从源配置重新生成运行配置。
自定义 hosts 和 fake-ip-filter 必须放在 `/etc/openclash/custom/` 目录下的专用文件里。
直接改 yaml 文件会被覆盖。
DNS 相关设置必须在 LuCI 覆写设置里改,不能改 yaml。
### 区域绕过必须停用
翻墙回国场景下,"大陆"和"海外"绕过都不合适,必须选"停用"
让配置文件里的分流规则来决定。
### Redir-Host 模式不可用(已测试)
测试过从 fake-ip 切换到 redir-host (TUN) 模式,结果:
- Google、Bilibili 正常 ✅
- **v.qq.com 超时** ❌(国内 CDN 域名无法正确代理)
- billo.life VPN 域名正常 ✅
原因redir-host 模式下流量分流依赖 sniffer 从 TLS SNI 提取域名,
部分国内 CDN 的 SNI 无法正确匹配规则,导致连接失败。
**翻墙回国场景必须用 fake-ip 模式。**
### Fake-IP Filter 维护
VPN、容器仓库等需要真实 IP 的域名,手动加到 fake-ip-filter
`/etc/openclash/custom/openclash_custom_fake_filter.list`
当前已加入2026-03-19 去重精简,只用 `+.` 格式):
- `+.colacoder.com` / `+.k8s.home` — 内网域名
- `+.quay.io` / `+.ghcr.io` / `+.docker.io` / `+.docker.com` / `+.gcr.io` / `+.k8s.io` / `+.registry.k8s.io` — 容器仓库
- `+.ecr.aws` — AWS ECR不再用 `*.amazonaws.com` 全量排除)
- `+.billo.life` — 公司 VPN 域名
- `+.finance.yahoo.com` — Yahoo Finance API
---
## 7. 安全加固
已实施的安全措施,详见 [[家庭网络基础设施#安全加固2026-03-15 审计)]]
- DNS 只监听 LAN (`listen_address`)
- SSH 关闭密码认证,只绑 LAN (`PasswordAuth=off, Interface=lan`)
- ttyd 只绑 LAN (`interface=@lan`)
- uhttpd 只绑 LAN (`listen_http/https=192.168.68.63`)
- IPv6 关闭
- WAN ping 关闭
- OpenVPN 1194 规则已删除
---
## 8. 紧急恢复
```bash
SSH_AUTH_SOCK="$HOME/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock" ssh root@192.168.68.63
# 停止 OpenClash恢复直连上网
/etc/init.d/openclash stop
# 如果 DNS 也断了,临时用 8.8.8.8
echo "nameserver 8.8.8.8" > /etc/resolv.conf
```
---
## 9. 更新维护
```bash
# 更新 mihomo 内核
cd /tmp
curl -L -o mihomo.gz "https://github.com/MetaCubeX/mihomo/releases/latest/download/mihomo-linux-arm64.gz"
gunzip -f mihomo.gz && chmod +x mihomo
mv mihomo /etc/openclash/core/clash_meta
/etc/init.d/openclash restart
# 更新 OpenClash 插件
opkg install /tmp/luci-app-openclash_*.ipk
```
---
## 10. 配置审计
- [[OpenClash-Config-Review-2026-03-19]] -- 全面配置 review含安全、规则、DNS 问题及修复优先级

View File

@@ -0,0 +1,214 @@
---
tags:
- resource
- openclash
- vless-reality
- proxy
- networking
- setup-guide
- homelab
---
# VLESS + XTLS-Vision + REALITY 搭建文档
> 基于 Xray-core 官方仓库,当前最推荐的代理方案。
> 无需域名、无需 TLS 证书,流量伪装为正常 HTTPS 访问。
**部署状态:已完成** | 初始部署2026-03-14 | Xray 版本v26.2.6
**用途:翻墙回国** — 从瑞典通过国内代理访问国内资源
---
## 当前状态总览
### 已完成
- [x] 阿里云服务器 Xray-core 部署
- [x] iStoreOS 从旁路由升级为主网关
- [x] Deco BE65 切换为 AP 模式
- [x] DHCP 静态绑定19 台设备)
- [x] 端口映射迁移3 条规则)
- [x] OpenClash + mihomo 安装配置
- [x] 内网 DNSdnsmasq + OpenClash hosts
- [x] 广告拦截OpenClash GEOSITE 规则)
- [x] 翻墙回国验证v.qq.com 正常播放)
- [x] AdGuard Home 移除(由 OpenClash 接管广告拦截和 DNS
### 最终方案
不使用 AdGuard Home全部由 OpenClash + dnsmasq 处理:
- dnsmasq(:53) 负责内网 DNS + 转发到 OpenClash
- OpenClash(:7874) 负责 fake-ip 分流 + 广告拦截 + 翻墙回国
- NameServer 必须用海外 DNS8.8.8.8),不能用国内 DNS避免环路
---
## 服务器信息
| 项目 | 值 |
|------|-----|
| 服务器 | `8.138.1.192` (Ubuntu 24.04 LTS, 阿里云广州) |
| 端口 | `443` |
| UUID | `04a7cfe3-10f6-4e38-8319-22a604e24018` |
| Private Key | `mLQp0G0_yYYBNeviVJ674UmaYLimx9vbixVQhlESTWU` |
| Public Key | `RTO_UOk5ncr3DAAYR08g08L0fo5ax9pmGFj8c8lXWgk` |
| 伪装目标 | `www.microsoft.com` |
### 分享链接
```
vless://04a7cfe3-10f6-4e38-8319-22a604e24018@8.138.1.192:443?encryption=none&flow=xtls-rprx-vision&security=reality&sni=www.microsoft.com&fp=chrome&pbk=RTO_UOk5ncr3DAAYR08g08L0fo5ax9pmGFj8c8lXWgk&type=tcp#VLESS-Reality
```
---
## 网络拓扑
### 当前状态
```
光猫 (拨号, 瑞典 ISP)
▼ WAN (eth0, DHCP, 公网 IP)
iStoreOS / EasePi (192.168.68.63) ← 主网关
├── DHCP 服务器 (网关=.63, DNS=.63)
├── AdGuard Home Docker (:53) ← 临时,待迁出
├── OpenClash (已安装,未启用,与 AGH 冲突)
├── 端口映射 (2200, 443, 51888)
▼ LAN (eth1/eth2/eth3)
├── Deco BE65 (AP 模式) → mesh WiFi → 手机/平板/笔记本
└── 交换机 (2楼) → PVE + NAS + 其他有线设备
```
### 目标架构
```
光猫 → iStoreOS (192.168.68.63, 主网关)
├── DHCP (网关=.63, DNS=AGH的IP)
├── OpenClash (:7874, fake-ip + DNS劫持)
├── 端口映射
├── Deco BE65 (AP) → WiFi 设备
└── 交换机 (2楼)
├── PVE (192.168.68.69) → VM 跑 AdGuard Home
└── NAS (192.168.68.70)
DNS 链路:
设备 → AdGuard Home (PVE VM:53, 广告过滤+内网重写)
└→ 上游: OpenClash (192.168.68.63:7874, fake-ip)
├→ 国内域名 → VLESS 代理回国
└→ 海外域名 → 直连
```
---
## 物理布局
```
1楼: 光猫 → iStoreOS (EasePi) → Deco BE65 主机
2楼: 交换机 ← 网线连接 Deco → PVE 服务器 + NAS
```
注意2楼设备通过 Deco AP 桥接到 iStoreOS不是直连。
---
## 相关文档
| 文档 | 说明 |
|------|------|
| [主网关配置](./VLESS-REALITY-Router-iStoreOS.md) | iStoreOS 网络/DHCP/端口映射/OpenClash 配置 |
| [macOS 客户端](./VLESS-REALITY-Client-macOS.md) | ClashX Meta 客户端配置(外出时使用) |
| [AdGuard Home 备份](./adguardhome-backup-20260315.tar.gz) | 完整备份(配置+数据89MB |
---
## PVE 虚拟机列表
| VMID | 名称 | IP | 状态 | 说明 |
|------|------|-----|------|------|
| 100 | HA (Home Assistant) | - | running | 智能家居 |
| 101 | k8s-cp1 | - | running | K8s 控制面 |
| 102 | Wireguard | 192.168.68.107 | running | VPN |
| 103 | k8s-w1 | - | running | K8s 工作节点 |
| 104 | k8s-w2 | - | running | K8s 工作节点 |
| 105 | pg-01 | - | running | PostgreSQL |
| 106 | network-scanner | 192.168.68.84 | running | 网络扫描 |
| 110 | adguard-home (LXC) | 192.168.68.110 | running | AdGuard Home网络不稳定待修复 |
---
## 踩坑记录
### 1. OpenClash + AdGuard Home 53 端口冲突
OpenClash fake-ip 模式需要 DNS 劫持(占 53 端口),与 AdGuard Home 冲突。
尝试的方案:
- 关闭 DNS 劫持 → fake-ip 不生效,无法代理
- 开启防火墙转发 → dnsmasq 不运行DNS 全断
- AdGuard Home 上游指向 OpenClash → 其他设备(旁路由模式下)拿到 fake-ip 断网
**结论:必须分开部署在不同机器上。**
### 2. Deco BE65 不支持自定义 DHCP 网关/DNS
Deco 系列路由器的 DHCP 设置完全封闭,无法自定义下发网关和 DNS。
**解决方案:** Deco 切 AP 模式iStoreOS 接管 DHCP。
### 3. PVE LXC 容器网络延迟不稳定
Ubuntu 25.04 LXC 容器 eth0 不能自动启动,需要手动 `ip link set eth0 up`
即使手动配置后ping 延迟在 9ms~200ms 之间波动。
PVE 主机和 NAS 延迟正常3-7ms说明是 LXC 网络栈的问题。
**待解决:改用完整 VM 或修复 LXC 网络。**
### 4. 旁路由模式 bypass_gateway_compatible
OpenClash 旁路由模式下必须开启 `bypass_gateway_compatible=1`,否则转发流量不通。
同时必须关闭 `enable_redirect_dns=0`,否则会劫持所有设备 DNS 导致断网。
### 5. 1Password SSH Agent
SSH 到新 IP 时需要在 `~/.ssh/config` 中添加 `IdentityAgent` 配置指向 1Password socket。
不能用 `IdentitiesOnly=yes`,否则会阻止 1Password agent。
---
## 服务器管理
### 阿里云服务器 (8.138.1.192)
```bash
ssh admin@8.138.1.192
# Xray 管理
systemctl status xray
systemctl restart xray
journalctl -u xray -f
# 更新
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install
```
### iStoreOS 主网关 (192.168.68.63)
```bash
SSH_AUTH_SOCK="$HOME/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock" ssh root@192.168.68.63
# 紧急恢复(如果 OpenClash 搞坏了网络)
/etc/init.d/openclash stop
nft -a list chain inet fw4 dstnat | grep 'DNS Hijack' | grep -o 'handle [0-9]*' | while read h; do nft delete rule inet fw4 dstnat $h; done
nft -a list chain inet fw4 nat_output | grep 'DNS Hijack' | grep -o 'handle [0-9]*' | while read h; do nft delete rule inet fw4 nat_output $h; done
```
### PVE (192.168.68.69)
```bash
SSH_AUTH_SOCK="$HOME/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock" ssh root@192.168.68.69
# LXC 管理
pct list
pct start/stop/restart 110
pct exec 110 -- bash
```

View File

@@ -0,0 +1,65 @@
---
created: "2026-03-15"
type: resource
tags:
- resource
- openclash
- vless-reality
- proxy
- networking
- homelab
---
# VLESS-Reality 翻墙回国
## 目标
从瑞典通过阿里云国内服务器代理访问国内地区限制内容B站、腾讯视频、抖音、小红书等
## 架构
```
光猫(拨号) → iStoreOS(192.168.68.63, 主网关) → Deco BE65(AP) → 所有设备
├── dnsmasq(:53) → 内网DNS + 转发到 OpenClash
├── OpenClash(:7874) → fake-ip + TUN → 翻墙回国 + 广告拦截
└── 端口映射 (2200, 443, 51888)
```
## 关键组件
| 组件 | 位置 | 版本 |
|------|------|------|
| Xray-core | `8.138.1.192` (阿里云广州) | v26.2.6 |
| OpenClash | iStoreOS `192.168.68.63` | v0.47.071 |
| mihomo | iStoreOS | v1.19.21 |
| dnsmasq | iStoreOS | 内置 |
## 详细文档
- [[VLESS-REALITY-Setup-Guide|总览文档]]
- [[VLESS-REALITY-Router-iStoreOS|主网关配置]]
- [[VLESS-REALITY-Client-macOS|macOS 客户端(外出用)]]
## 核心踩坑
1. **DNS 环路**OpenClash nameserver 不能用国内 DNS否则匹配 GEOIP,CN → 走代理 → 代理需要 DNS → 死循环
2. **OpenClash + AdGuard Home 冲突**fake-ip 模式的 DNS 劫持与 AGH 抢 53 端口,最终去掉 AGH由 OpenClash + dnsmasq 接管
3. **OpenClash 配置覆盖**:自定义 hosts/fake-ip-filter 必须放在 `/etc/openclash/custom/` 专用文件里,直接改 yaml 会被覆盖
4. **区域绕过必须停用**:翻墙回国场景下 "大陆" 和 "海外" 都不对,选 "停用"
5. **Deco BE65 限制**:不支持自定义 DHCP 网关/DNS必须切 AP 模式让 iStoreOS 接管
## 服务器连接信息
| 参数 | 值 |
|------|-----|
| 协议 | VLESS |
| 地址 | `8.138.1.192` |
| 端口 | `443` |
| UUID | `04a7cfe3-10f6-4e38-8319-22a604e24018` |
| Public Key | `RTO_UOk5ncr3DAAYR08g08L0fo5ax9pmGFj8c8lXWgk` |
| 伪装目标 | `www.microsoft.com` |
| Flow | `xtls-rprx-vision` |
## 相关
- [[PVE Security Scanner]]

View File

@@ -0,0 +1,96 @@
---
created: "2026-03-19 17:00"
type: resource
tags: [resource, openclaw, ai-agent, discord, multi-agent, homelab]
source: "ssh yiukai@192.168.68.108 ~/.openclaw/openclaw.json"
---
# OpenClaw Agent 配置详情
## 多 Agent 协作架构
```
┌─────────────┐
│ 你 (Owner) │
│ 964122...286 │
└──────┬──────┘
┌────────────┼────────────┐
v v v
┌────────────┐ ┌────────────┐ ┌──────────────┐
│ 主 Guild │ │ Stock Guild │ │ Telegram │
│ ds-* agents │ │ invest-* │ │ (pairing) │
└────────────┘ └────────────┘ └──────────────┘
```
## 主 Guild Agent 协作
5 个 ds-* agent 在同一 Discord guild 中协作:
```
ds-commander (大统领) ──────┐
│ │
├── ds-strategist (智库) │ agent-to-agent
├── ds-builder (牛马) │ 通信已启用
├── ds-creator (作家) │
└── ds-guardian (大法官) ─┘
```
### 交互方式
- 所有 agent 在主 guild 的同一频道工作
- 通过 `@mention` 触发特定 agent (`requireMention: true`)
- 支持的 mention 模式:
- Discord mention: `<@!botId>``<@botId>`
- 中文名称: 大统领、智库、牛马、作家、大法官
- 纯 ID: bot user ID
### 各 Agent 定位
| Agent | 角色定位 | 适用场景 |
|-------|---------|---------|
| 大统领 | 总指挥,任务分配 | 复杂任务协调、决策 |
| 智库 | 战略分析师 | 策略规划、数据分析、方案比较 |
| 牛马 | 执行者/开发者 | 编码实现、脚本编写、自动化 |
| 作家 | 内容创作者 | 文档编写、报告生成、创意输出 |
| 大法官 | 审核者/守护者 | 代码审查、质量把控、合规检查 |
## 投资分析师 (独立)
- **Guild**: Stock (`1479926167141355560`)
- **频道**: general (`1479926167736942774`)
- **触发**: 不需要 mention (`requireMention: false`)
- **定时**: 工作日 08:00 自动生成投资简报
- **技能**: invest-api
## 模型配置
所有 agent 统一使用 `kimi-coding/k2p5`:
- 别名: Kimi Code
- 提供商: kimi-coding
备选模型: `google-antigravity/claude-opus-4-6-thinking`
- 通过 Google Antigravity OAuth 认证
## Bindings (路由绑定)
```json
agentId: "ds-commander" channel: "discord", accountId: "commander"
agentId: "ds-strategist" channel: "discord", accountId: "strategist"
agentId: "ds-builder" channel: "discord", accountId: "builder"
agentId: "ds-creator" channel: "discord", accountId: "creator"
agentId: "ds-guardian" channel: "discord", accountId: "guardian"
agentId: "invest-analyst" channel: "discord", accountId: "invest-analyst"
```
每个 agent 绑定一个独立的 Discord bot 账户,实现一对一映射。
## Session 配置
- **可见性**: all (所有 session 对工具可见)
- **压缩模式**: safeguard
## Related
- [[OpenClaw 部署配置分析]]
- [[OpenClaw-Skill-Reference]]

View File

@@ -0,0 +1,167 @@
---
created: "2026-03-19 17:00"
type: resource
tags: [resource, openclaw, ai-gateway, discord, homelab, deployment]
source: "ssh yiukai@192.168.68.108 ~/.openclaw/"
---
# OpenClaw 部署配置分析
## 服务器信息
| 项目 | 值 |
|------|-----|
| 主机 | `192.168.68.108` (yiukai-ubuntu) |
| 用户 | `yiukai` |
| OpenClaw 版本 | 2026.2.13 |
| 最新可用版本 | 2026.3.13 |
| Node.js 版本 | v18.19.1 (推荐 v22.16+ 或 v24) |
| 运行方式 | systemd user service (`openclaw-gateway.service`) |
| 运行时长 | 自 2026-03-15 起 |
| 内存占用 | ~633 MB |
| Gateway 端口 | 18789 |
| 绑定模式 | LAN |
| 认证方式 | Token |
| 配置文件 | `~/.openclaw/openclaw.json` |
## Agent 架构
### 默认配置
- **主模型**: `kimi-coding/k2p5` (Kimi Code)
- **备选模型**: `google-antigravity/claude-opus-4-6-thinking`
- **压缩模式**: safeguard
- **Agent 间通信**: 已启用 (ds-* 系列)
### Agent 列表
| ID | 名称 | 角色 | Discord 账户 | Workspace |
|----|------|------|-------------|-----------|
| `main` | (默认) | 通用 agent | - | `~/.openclaw/workspace` |
| `ds-commander` | 大统领 | 领导/协调 | commander | `workspace-ds-commander` |
| `ds-strategist` | 智库 | 策略/分析 | strategist | `workspace-ds-strategist` |
| `ds-builder` | 牛马 | 实施/构建 | builder | `workspace-ds-builder` |
| `ds-creator` | 作家 | 内容创作 | creator | `workspace-ds-creator` |
| `ds-guardian` | 大法官 | 监督/审查 | guardian | `workspace-ds-guardian` |
| `invest-analyst` | 投资分析师 | 投资分析 | invest-analyst | `workspace-invest-analyst` |
### Agent 间通信规则
`agentToAgent` 允许列表: ds-commander, ds-strategist, ds-builder, ds-creator, ds-guardian
invest-analyst 不在 agent-to-agent 通信列表中,独立运作。
## 渠道配置
### Discord
6 个 bot 账户,每个绑定一个 agent:
**主 Guild** (`1475225167423602841`):
- 5 个 ds-* bot全部 `requireMention: true`
- 所有 bot 共享同一频道 `1475225168635887776`
- 用户白名单: 你的账号 + 6 个 bot 互相可见
- streaming: off
**Stock Guild** (`1479926167141355560`):
- invest-analyst bot`requireMention: false`
- 频道 `1479926167736942774` (general)
- streaming: off
### Telegram
- 已启用
- DM 策略: pairing
- 群组策略: allowlist
- streaming: partial
## 定时任务 (Cron)
| 任务 | 调度 | Agent | 投递方式 |
|------|------|-------|----------|
| daily-invest-briefing | 工作日 08:00 (Stockholm) | invest-analyst | Discord channel:1479926167736942774 |
**任务内容**: 生成每日投资简报 -- 检查投资组合、分析宏观经济、汇总持仓新闻情绪、标记财报日期、给出买卖建议。
## Hooks
内部 hooks 已启用:
- `boot-md` -- 启动时加载 markdown
- `bootstrap-extra-files` -- 额外启动文件
- `command-logger` -- 命令日志
- `session-memory` -- 会话记忆
## Skills
| 技能 | 路径 |
|------|------|
| invest-api | `~/.openclaw/skills/invest-api` |
| openclaw-operator | `~/.openclaw/skills/openclaw-operator` |
## Plugins
| 插件 | 状态 |
|------|------|
| telegram | 已启用 |
| discord | 已启用 |
| google-antigravity-auth | 已启用 |
## Gateway 配置
- **控制 UI 允许来源**: localhost:18789, 127.0.0.1:18789, claw.colacoder.com
- **信任代理**: 192.168.68.70
- **Tailscale**: 关闭
- **禁用移动节点命令**: camera.snap, camera.clip, screen.record, calendar.add, contacts.add, reminders.add
## 已知问题
### 1. 版本过旧
- 当前: 2026.2.13
- 最新: 2026.3.13
- 建议: `openclaw update``npm install -g openclaw@latest`
### 2. Node.js 版本过低
- 当前: v18.19.1
- 推荐: v22.16+ LTS 或 v24
- 风险: 可能缺少新功能支持
### 3. Cron 投递失败
- `lastDeliveryStatus: "not-delivered"`
- Agent 执行成功 (`lastRunStatus: "ok"`),但消息未投递到 Discord
- 需要排查 Discord 频道权限或 bot 连接状态
### 4. invest-analyst 健康问题
- Health monitor 检测到 stuck 并自动重启
- 日志: `health-monitor: restarting (reason: stuck)`
- 可能原因: 模型响应超时、Discord 连接不稳定
### 5. 密钥管理
- Discord bot tokens 明文存储在 `openclaw.json`
- Kimi API key 在 `env` 字段中明文存储
- `.env` 文件存在但未完全迁移
- 建议: 将所有密钥迁移到环境变量
### 6. 遗留 Workspace
存在不再使用的 workspace 目录:
- `workspace-ds-lingce`
- `workspace-ds-linggong`
- `workspace-ds-linghe`
- `workspace-ds-lingwen`
- `workspace-ds-lingzong`
这些 agent 已不在配置中workspace 可以清理。
## 待办
- [ ] 升级 OpenClaw 到 2026.3.13
- [ ] 升级 Node.js 到 v22 LTS
- [ ] 排查 cron 投递失败问题
- [ ] 调查 invest-analyst stuck 原因
- [ ] 将密钥迁移到环境变量
- [ ] 清理遗留 workspace 目录
## Related
- [[OpenClaw-Skill-Reference]]
- [[OpenClaw Agent 配置详情]]
- [[家庭网络基础设施]]

View File

@@ -1,7 +1,7 @@
---
created: "2026-03-10"
type: resource
tags: [openclaw, ai-gateway, claude-code, skill]
tags: [resource, openclaw, ai-gateway, claude-code, skill, homelab]
source: "https://docs.openclaw.ai/"
---

View File

@@ -2,6 +2,7 @@
created: "2026-03-08"
type: resource
tags:
- resource
- security
- openvas
- vulnerability-scanning

View File

@@ -0,0 +1,302 @@
---
created: "2026-03-08"
type: resource
tags:
- resource
- homelab
- security
- proxmox
- networking
- vulnerability-scanning
---
# PVE Security Scanner
## Goal
在 Proxmox VE 上搭建一台专用的内网安全扫描 VM用于定期进行网络安全评估、漏洞扫描和合规检查。
## Architecture
```
+------------------+
| PVE Host |
| +--------------+| PVE Firewall (Layer 1)
| | Scanner VM || - IN: only admin IPs -> SSH/9392
| | Ubuntu 24.04 || - OUT: internal nets + update_targets IPSET
| | 4C / 8G / 80G||
| +--------------+|
| | |
+--------|--------+
| vmbr0 (bridge)
|
======|==================== Internal Network (192.168.68.0/24)
| | | |
[Host] [Host] [Host] [Switch/Router]
```
## VM Specs
| Resource | Value |
|----------|-------|
| Hostname | network-scanner |
| IP | 192.168.68.84 |
| OS | Ubuntu 24.04 (cloud-init) |
| Kernel | 6.8.0-101-generic |
| CPU | 4 cores (host type) |
| RAM | 8 GB |
| Disk | 80 GB |
| Network | vmbr0 bridge, 192.168.68.0/24 |
| SSH User | kai (1Password managed key) |
| Admin User | scanner-admin |
## Security Architecture (Defense in Depth)
### Layer 1: PVE Firewall (Hypervisor)
在 Proxmox 层面限制 VM 网络访问,即使 VM 被攻陷也无法绕过。
| Direction | Rule | Purpose |
|-----------|------|---------|
| IN | Admin IPs -> TCP 22 | SSH 管理 |
| IN | Admin IPs -> TCP 443, 9392 | OpenVAS Web UI |
| IN | Internal nets -> ICMP | Ping |
| OUT | -> Internal nets (all) | 扫描内网 |
| OUT | -> update_targets IPSET TCP 80/443 | 漏洞库更新、包管理 |
| OUT | -> UDP 53/123 | DNS / NTP |
| Default | DROP | 其他全部拒绝 |
Config: `/etc/pve/firewall/200.fw`
Admin IPs 默认 `192.168.68.0/24`(整个内网段),可通过 `SCANNER_ADMIN_IPS` 环境变量覆盖。
### Layer 2: nftables (VM Internal)
VM 内部使用 nftables 做第二层防护,包含动态封禁功能。
**Key features:**
- `blocked_ips` set: 动态 IP 封禁(带超时自动解封)
- `ssh_bruteforce` set: SSH 暴力破解自动检测3次/分钟触发15分钟封禁
- Output policy DROP: 出站默认拒绝,仅白名单放行
- 所有 DROP 事件记录日志
- Docker 接口使用 `iifname "docker*"` / `iifname "br-*"` 通配(不要求接口预先存在)
**管理命令:**
```bash
# 查看规则
nft list ruleset
# 手动封禁 IP1小时
nft add element inet firewall blocked_ips { 1.2.3.4 timeout 1h }
# 查看被封禁的 IP
nft list set inet firewall blocked_ips
# 重载规则
systemctl restart nftables
```
Config: `/etc/nftables.conf`
### Layer 3: SSH Hardening
| Setting | Value |
|---------|-------|
| Authentication | Public key only (1Password) |
| Root login | Disabled |
| Max auth tries | 10 |
| Ciphers | chacha20-poly1305, aes256-gcm |
| KEX | sntrup761x25519, curve25519 |
| Fail2ban | 3 failures -> 1h ban (nftables backend) |
| AllowUsers | `scanner-admin kai` |
| Forwarding | DisableForwarding yes |
| Banner | /etc/issue.net |
Config: `/etc/ssh/sshd_config.d/99-scanner-hardening.conf`
### Layer 4: System Hardening
**Kernel (sysctl):**
- IP forwarding disabled
- ICMP redirects ignored
- SYN flood protection (syncookies)
- Reverse path filtering (anti-spoofing)
- Martian packet logging
- ASLR enabled, ptrace restricted
**Auditing:**
- `auditd`: 监控 /etc, auth, sudo, network, cron, scanner config 变更
- `AIDE`: 文件完整性检查 (daily 3am)
- `Lynis`: 安全审计 (weekly Sunday 2am)
- Core dumps disabled
Config: `/etc/sysctl.d/99-security-scanner.conf`, `/etc/audit/rules.d/scanner-audit.rules`
## Installed Tools
| Tool | Purpose | Usage |
|------|---------|-------|
| **OpenVAS/Greenbone** | 全面漏洞管理平台 | Web UI `https://192.168.68.84` (nginx -> gsad) |
| **Nmap** | 网络发现、端口扫描 | `nmap -sV --script=safe <target>` |
| **Nuclei** | 快速漏洞扫描 (模板驱动, SHA256 校验) | `nuclei -u <url>` |
| **httpx** | HTTP 探测、服务识别 (SHA256 校验) | `httpx -l hosts.txt` |
| **Nikto** | Web 服务器扫描 | `nikto -h <url>` |
| **testssl.sh** | TLS/SSL 安全检测 | `testssl <host:port>` |
| **NetExec** | SMB/RDP/WinRM 评估 | `netexec smb <target>` |
## Scanning Workflow
### Quick Scan (Automated)
```bash
/opt/scans/scripts/quick-scan.sh 192.168.68.0/24
```
Steps:
1. Host discovery (`nmap -sn`)
2. Port scan top 1000 (`nmap -sV --script=safe`)
3. HTTP service detection (`httpx`)
4. Vulnerability scan (`nuclei` medium/high/critical)
Results saved to `/opt/scans/results/<timestamp>/`
### Full Scan (OpenVAS)
1. Start containers: `cd /opt/greenbone && docker compose up -d`
2. Wait for feed sync (first time: 30-60 min)
3. Access Web UI: `https://192.168.68.84` (self-signed cert, accept warning)
4. Create Target -> Create Task -> Run Scan
5. Export report (PDF/CSV)
### Targeted Scans
```bash
# TLS/SSL audit
testssl 192.168.68.10:443
# Web server scan
nikto -h https://192.168.68.10
# SMB assessment
netexec smb 192.168.68.0/24
# Full port scan single host
nmap -sV --script=safe -p- -T4 192.168.68.10
```
## Monitoring
| Check | Schedule | Tool |
|-------|----------|------|
| Disk usage | Every 6h | `/opt/scans/scripts/check-disk.sh` |
| OpenVAS health | Every 30min | `/opt/scans/scripts/check-openvas.sh` |
| File integrity | Daily 3am | AIDE |
| Security audit | Weekly Sun 2am | Lynis |
| Old results cleanup | Weekly Sun 4am | find (maxdepth 1, >90 days, logged) |
| Nuclei templates | Weekly Mon 5am | `nuclei -update-templates` |
| Daily summary | Daily | Logwatch |
Logs: `/var/log/scanner/`
## Deployment
### Method: Cloud-Init Template Clone
1. PVE Web UI -> 选中 Cloud-Init 模板 -> 右键 Clone (Full Clone)
2. Cloud-Init 标签设置: user `kai`, SSH key (1Password), IP `192.168.68.84/24`
3. Hardware: 4C / 8G / 80G disk
### Copy Scripts to VM
```bash
scp -r C:/Users/yaoji/git/pve-security-scanner/vm kai@192.168.68.84:/tmp/scanner-setup
```
### Execute (in order)
```bash
# 设置环境变量
export SCANNER_ADMIN_IPS='192.168.68.0/24'
export SCANNER_DNS_SERVERS='192.168.68.1'
# 一键执行(或逐个执行)
sudo -E bash /tmp/scanner-setup/setup.sh
# 或逐个:
sudo -E bash /tmp/scanner-setup/01-system-harden.sh
sudo -E bash /tmp/scanner-setup/02-firewall.sh
sudo -E bash /tmp/scanner-setup/04-install-tools.sh # Docker 先装
sudo usermod -aG docker scanner-admin # 补加 docker 组
sudo -E bash /tmp/scanner-setup/03-ssh-harden.sh # 再跑 SSH
sudo -E bash /tmp/scanner-setup/05-monitoring.sh
sudo -E bash /tmp/scanner-setup/06-docker-autostart.sh
# OpenVAS 密码
cd /opt/greenbone && docker compose up -d
docker compose exec -u gvmd gvmd gvmd --user=admin --new-password=<PASSWORD>
# 重启
sudo shutdown -r now
```
### Post-Deployment Checklist
- [x] VM created from cloud-init template
- [x] SSH key configured (1Password, ed25519)
- [x] System hardening (01) applied
- [x] nftables firewall (02) applied - ADMIN_IPS = 192.168.68.0/24
- [x] Docker installed (Ubuntu source fix applied)
- [x] SSH hardening (03) applied - AllowUsers scanner-admin kai, MaxAuthTries 10
- [x] Security tools (04) installed
- [x] Monitoring (05) configured
- [x] Docker autostart (06) enabled - systemd greenbone-openvas.service
- [x] OpenVAS Web UI accessible - `https://192.168.68.84` (nginx port 443+9392)
- [ ] Feed sync complete (in progress, ~30-60 min)
- [ ] First quick scan completed
- [ ] `lynis audit system` score verified
## Deployment Notes
### Issues Encountered
1. **Docker source wrong distro**: 脚本原写 Debian 源,实际系统是 Ubuntu 24.04 (noble)。已修复为自动检测 `${ID}` (debian/ubuntu)
2. **nftables rate limit 不能用 define**: `define SSH_RATE_LIMIT = 5/minute` 语法错误nftables 不支持 define 变量做 rate limit改为内联值
3. **`iif "docker0"` 要求接口已存在**: Docker 未安装时 docker0 不存在导致报错,改为 `iifname "docker*"` 通配
4. **03-ssh-harden.sh docker 组不存在**: 需先运行 04 安装 Docker再运行 03 创建用户
5. **SSH `sshd.service` not found**: Ubuntu 用 `ssh.service`,已修复为 `ssh 2>/dev/null || sshd`
6. **AllowUsers 只有 scanner-admin**: cloud-init 用户 `kai` 被拒绝登录,已加入 AllowUsers
7. **MaxAuthTries 3 太小**: 1Password 管理多个 key 逐个尝试会超限,改为 10
8. **ADMIN_IPS 设成 VM 自身 IP**: 导致工作站无法 SSH改为整网段 `192.168.68.0/24`
9. **Greenbone 镜像名变更**: `greenbone/xxx` 已迁移到 `registry.community.greenbone.net/community/xxx`,架构改为 nginx + gsad + gsa 分离
10. **nginx 9392 端口重定向到 443**: 需同时暴露 443 端口docker-compose 已加 `0.0.0.0:443:443`
### Recommended Execution Order (revised)
01 -> 02 -> 04 (Docker) -> 03 (SSH, needs docker group) -> 05 -> 06
## Scripts Location
Repo: https://git.colacoder.com/kai/pve-security-scanner
```
pve-security-scanner/
├── pve/
│ ├── create-vm.sh # VM creation (idempotent)
│ └── firewall.sh # PVE-level firewall (env var guard)
├── vm/
│ ├── setup.sh # One-click ordered execution
│ ├── 01-system-harden.sh # OS hardening
│ ├── 02-firewall.sh # nftables rules
│ ├── 03-ssh-harden.sh # SSH + fail2ban
│ ├── 04-install-tools.sh # Security tools (auto-detect distro)
│ ├── 05-monitoring.sh # Logging + cron
│ └── 06-docker-autostart.sh # OpenVAS systemd service
└── README.md
```
## Related
- [[Proxmox VE]]
- [[Home Network]]
- [[Security Best Practices]]