From e4382d01bb76d0c7551cbbf6775e994581caccec Mon Sep 17 00:00:00 2001 From: Yaojia Wang Date: Thu, 19 Mar 2026 17:09:45 +0100 Subject: [PATCH] Openclash --- .../OpenClash-Config-Review-2026-03-19.md | 147 ++++++++++ .../VLESS-Reality/OpenClash-Configuration.md | 257 ++++++++++++++++++ .../VLESS-REALITY-Client-macOS.md | 9 + .../VLESS-REALITY-Router-iStoreOS.md | 58 +++- .../VLESS-REALITY-Setup-Guide.md | 9 + .../VLESS-Reality/VLESS-Reality 翻墙回国.md | 5 + 6 files changed, 472 insertions(+), 13 deletions(-) create mode 100644 2 - Projects/VLESS-Reality/OpenClash-Config-Review-2026-03-19.md create mode 100644 2 - Projects/VLESS-Reality/OpenClash-Configuration.md diff --git a/2 - Projects/VLESS-Reality/OpenClash-Config-Review-2026-03-19.md b/2 - Projects/VLESS-Reality/OpenClash-Config-Review-2026-03-19.md new file mode 100644 index 0000000..5c5ed81 --- /dev/null +++ b/2 - Projects/VLESS-Reality/OpenClash-Config-Review-2026-03-19.md @@ -0,0 +1,147 @@ +--- +tags: + - openclash + - vless-reality + - security-audit + - 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=REJECT,9090 端口从外网不可达,仅 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 翻墙回国]] -- 项目概览 diff --git a/2 - Projects/VLESS-Reality/OpenClash-Configuration.md b/2 - Projects/VLESS-Reality/OpenClash-Configuration.md new file mode 100644 index 0000000..38b1d01 --- /dev/null +++ b/2 - Projects/VLESS-Reality/OpenClash-Configuration.md @@ -0,0 +1,257 @@ +--- +tags: + - openclash + - vless-reality + - clash-config + - 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]] -- 配置审计报告 +- [[家庭网络基础设施]] -- 网络拓扑总览 diff --git a/2 - Projects/VLESS-Reality/VLESS-REALITY-Client-macOS.md b/2 - Projects/VLESS-Reality/VLESS-REALITY-Client-macOS.md index b6e7b87..420f4d1 100644 --- a/2 - Projects/VLESS-Reality/VLESS-REALITY-Client-macOS.md +++ b/2 - Projects/VLESS-Reality/VLESS-REALITY-Client-macOS.md @@ -1,3 +1,12 @@ +--- +tags: + - openclash + - vless-reality + - proxy + - macOS + - homelab +--- + # VLESS + REALITY macOS 客户端连接指南(翻墙回国) > 服务器:`8.138.1.192`(阿里云国内) | 部署日期:2026-03-14 diff --git a/2 - Projects/VLESS-Reality/VLESS-REALITY-Router-iStoreOS.md b/2 - Projects/VLESS-Reality/VLESS-REALITY-Router-iStoreOS.md index b2ded56..f3d1497 100644 --- a/2 - Projects/VLESS-Reality/VLESS-REALITY-Router-iStoreOS.md +++ b/2 - Projects/VLESS-Reality/VLESS-REALITY-Router-iStoreOS.md @@ -1,10 +1,20 @@ +--- +tags: + - openclash + - vless-reality + - iStoreOS + - router + - dns + - homelab +--- + # iStoreOS 主网关配置文档 > 主网关:`192.168.68.63` (iStoreOS 24.10.2, aarch64, EasePi Pro) > WiFi:Deco BE65(AP 模式) > 服务器:`8.138.1.192`(阿里云广州) -> 用途:翻墙回国 + 全家广告拦截 + 内网 DNS -> 状态:**已完成,正常工作** (2026-03-15) +> 用途:国内视频/音乐翻墙回国 + 广告拦截 + 内网 DNS +> 状态:**已完成,正常工作** (2026-03-19 规则精简) --- @@ -33,8 +43,8 @@ iStoreOS (192.168.68.63) ← 主网关 └─ 外部域名 → OpenClash (:7874, fake-ip) ├─ fake-ip-filter 匹配 → 返回真实 IP ├─ 广告域名 → REJECT - ├─ 国内域名 → fake-ip → VLESS 代理回国 - └─ 海外域名 → fake-ip → 直连 + ├─ 国内视频/音乐域名 → fake-ip → VLESS 代理回国 + └─ 其余所有域名 → fake-ip → 直连 ``` --- @@ -63,18 +73,31 @@ iStoreOS (192.168.68.63) ← 主网关 > **重要:** NameServer 必须用海外 DNS,不能用国内 DNS(114、119、223 等), > 否则会产生 DNS 环路(国内 DNS IP 匹配 GEOIP,CN → 走代理 → 代理需要 DNS → 死循环)。 -### 流量绕过(K8s 节点直连) +### 分流规则(2026-03-19 精简) -配置文件 rules 中添加了 K8s 节点直连规则,避免 fake-ip 干扰容器镜像拉取: +只有国内视频和音乐走代理回国,其余全部直连: ```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]] ### 配置文件 @@ -126,6 +149,8 @@ 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 排除列表 @@ -223,11 +248,12 @@ DNS 相关设置必须在 LuCI 覆写设置里改,不能改 yaml。 VPN、容器仓库等需要真实 IP 的域名,手动加到 fake-ip-filter: `/etc/openclash/custom/openclash_custom_fake_filter.list` -当前已加入: -- `*.colacoder.com` / `*.k8s.home` — 内网域名 -- `*.quay.io` / `*.ghcr.io` / `*.docker.io` / `*.gcr.io` / `*.k8s.io` — 容器仓库 -- `*.amazonaws.com` / `*.ecr.aws` — AWS -- `*.billo.life` — 公司 VPN 域名 +当前已加入(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 --- @@ -259,7 +285,7 @@ echo "nameserver 8.8.8.8" > /etc/resolv.conf --- -## 8. 更新维护 +## 9. 更新维护 ```bash # 更新 mihomo 内核 @@ -272,3 +298,9 @@ mv mihomo /etc/openclash/core/clash_meta # 更新 OpenClash 插件 opkg install /tmp/luci-app-openclash_*.ipk ``` + +--- + +## 10. 配置审计 + +- [[OpenClash-Config-Review-2026-03-19]] -- 全面配置 review,含安全、规则、DNS 问题及修复优先级 diff --git a/2 - Projects/VLESS-Reality/VLESS-REALITY-Setup-Guide.md b/2 - Projects/VLESS-Reality/VLESS-REALITY-Setup-Guide.md index 615bba6..cd6e846 100644 --- a/2 - Projects/VLESS-Reality/VLESS-REALITY-Setup-Guide.md +++ b/2 - Projects/VLESS-Reality/VLESS-REALITY-Setup-Guide.md @@ -1,3 +1,12 @@ +--- +tags: + - openclash + - vless-reality + - proxy + - setup-guide + - homelab +--- + # VLESS + XTLS-Vision + REALITY 搭建文档 > 基于 Xray-core 官方仓库,当前最推荐的代理方案。 diff --git a/2 - Projects/VLESS-Reality/VLESS-Reality 翻墙回国.md b/2 - Projects/VLESS-Reality/VLESS-Reality 翻墙回国.md index dc41fae..247e3b6 100644 --- a/2 - Projects/VLESS-Reality/VLESS-Reality 翻墙回国.md +++ b/2 - Projects/VLESS-Reality/VLESS-Reality 翻墙回国.md @@ -3,6 +3,11 @@ created: "2026-03-15" type: project status: active deadline: "" +tags: + - openclash + - vless-reality + - proxy + - homelab --- # VLESS-Reality 翻墙回国