Skip to content

Commit 7f4fd88

Browse files
committed
docs: 新增跨境电商方案说明文档
1 parent 076a2aa commit 7f4fd88

1 file changed

Lines changed: 192 additions & 0 deletions

File tree

templates/README.md

Lines changed: 192 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,192 @@
1+
# 跨境电商 OpenClash 防泄漏 / 防关联 配置方案
2+
3+
一套面向 **跨境电商 / 多平台多账号运营** 的 OpenClash 完整方案。核心解决两件事:
4+
5+
1. **防泄漏** —— 杜绝 DNS、IPv6、WebRTC 三大泄漏渠道,保证出口 IP 与归属地不被真实网络暴露。
6+
2. **防关联** —— 各社媒 / 电商 / AI 平台独立分组,可为每个账号钉死固定节点,避免多账号因共用 IP / 指纹被平台风控判定为“关联账号”。
7+
8+
配套两个规则仓库:
9+
10+
| 仓库 | 作用 |
11+
|------|------|
12+
| [abxian/Custom_OpenClash_Rules](https://github.com/abxian/Custom_OpenClash_Rules) | 订阅转换模板(`.ini`)与专线订阅规则,基于 Aethersailor 全分组防泄漏模板魔改 |
13+
| [abxian/stash-override](https://github.com/abxian/stash-override) | 各平台分流规则清单 `rule/*.list`(Facebook / TikTok / Amazon / OpenAI 等),blackmatrix7 格式 |
14+
15+
---
16+
17+
## 一、文件清单
18+
19+
| 文件 | 说明 |
20+
|------|------|
21+
| `config.yaml` | 可直接导入 OpenClash 的完整配置:含节点、全部策略组、防泄漏 DNS、Sniffer、平台分流规则 |
22+
| `templates/Custom_Ecommerce.ini` | **订阅转换模板**:把任意机场/专线订阅,一键转换成本方案的“防泄漏 + 平台分组”结构,规则引用 `stash-override` |
23+
| `config.yaml.bak.*` | 修改前的原始配置备份 |
24+
25+
> 两种用法二选一:
26+
> - **A. 直接用 `config.yaml`** —— 节点写死在文件里,适合节点固定、要求最高可控性的场景。
27+
> - **B. 用 `Custom_Ecommerce.ini` 模板** —— 只填订阅链接,节点由订阅自动更新,适合专线/机场订阅会变的场景。
28+
> 两者的分组结构与防泄漏原理完全一致。
29+
30+
---
31+
32+
## 二、防泄漏原理(重点)
33+
34+
“翻墙能上网”不代表“没泄漏”。跨境电商真正致命的是**归属地/真实 IP 被平台探测到**。泄漏有三条主要通道,本方案逐一封堵:
35+
36+
### 1. DNS 泄漏 —— 用 Fake-IP + 加密上游解决
37+
38+
**问题**:如果域名在本地用运营商 DNS 解析,ISP 就知道你在访问 facebook.com;解析结果也可能被污染或返回国内 CDN,暴露“人在中国”。
39+
40+
**方案**(见 `config.yaml``dns:` 段):
41+
```yaml
42+
dns:
43+
enable: true
44+
enhanced-mode: fake-ip # 关键:代理域名不在本地做真实解析
45+
fake-ip-range: 198.18.0.1/16
46+
nameserver: [https://223.5.5.5/dns-query, https://doh.pub/dns-query] # 国内域名走国内加密 DNS
47+
fallback: [https://1.1.1.1/dns-query, https://8.8.8.8/dns-query] # 国外域名走境外加密 DNS
48+
fallback-filter: { geoip: true, geoip-code: CN } # 非 CN 结果一律用 fallback
49+
```
50+
- **Fake-IP**:访问 `facebook.com` 时,Clash 直接返回一个假 IP(198.18.x.x),**本地根本不发真实 DNS 查询**;真实解析在你连上代理服务器后,由**服务器端远程完成**。ISP 全程只看到一堆加密的代理流量 → DNS 无从泄漏。
51+
- **加密上游(DoH/DoT)**:即便是需要本地解析的域名,也走 `https://` / `tls://` 加密通道,ISP 无法看到/篡改。
52+
- **fallback-filter geoip CN**:海外域名强制采用境外 DNS 结果,避免被 CDN 定位回国内。
53+
54+
### 2. IPv6 泄漏 —— 直接全局关闭
55+
56+
**问题**:很多代理只代理 IPv4,系统却优先用 IPv6 直连出去,于是 IPv6 请求**绕过代理**,暴露真实 IPv6 地址(能精确定位到宽带账号)。
57+
58+
**方案**:
59+
```yaml
60+
ipv6: false # 全局关闭
61+
dns:
62+
ipv6: false # DNS 不返回 AAAA 记录,从源头断掉 IPv6
63+
```
64+
> 若在路由器上跑 OpenClash,还需在 **OpenClash → 覆写设置 → 常规 → 禁用 IPv6** 一并关闭,并在浏览器 `about:config` / 系统里确认无 IPv6 出口。
65+
66+
### 3. WebRTC 泄漏 —— 拦截 STUN
67+
68+
**问题**:浏览器的 WebRTC 会通过 **STUN 服务器**直接探测本机公网 IP,**完全绕过代理**——这是跨境电商最常被忽视、也最致命的泄漏点。
69+
70+
**方案**:新增 `🎥 WebRTC` 策略组(默认 **REJECT**),并把 STUN 流量导入其中:
71+
```yaml
72+
- DOMAIN-KEYWORD,stun,🎥 WebRTC
73+
- DOMAIN-SUFFIX,stun.l.google.com,🎥 WebRTC
74+
```
75+
> Clash 只能拦截 STUN 信令。**浏览器层面仍强烈建议**安装 “WebRTC Control / WebRTC Leak Prevent” 插件,或 Firefox 里设 `media.peerconnection.enabled=false`,双保险。
76+
77+
### 4. IP 直连绕过 —— Sniffer 兜底
78+
79+
**问题**:部分 App 不做 DNS 解析,直接用硬编码 IP 连接,导致基于域名的分流规则失效,可能真实 IP 直连或走错节点。
80+
81+
**方案**:开启域名嗅探,从 TLS SNI / HTTP Host / QUIC 中**还原域名**,让规则重新生效:
82+
```yaml
83+
sniffer:
84+
enable: true
85+
force-dns-mapping: true
86+
parse-pure-ip: true
87+
```
88+
89+
### 5. FINAL 走代理,不走直连
90+
91+
模板与配置的最后一条都是 `MATCH → 🐟 漏网之鱼`,而漏网之鱼**指向代理**而非 DIRECT。
92+
> 原因:任何没被规则命中的“漏网”境外流量若直连,就会在 DNS 泄漏检测中暴露。宁可多走代理,绝不漏网直连。
93+
94+
---
95+
96+
## 三、防关联原理(跨境电商核心)
97+
98+
平台判定“关联账号”的两大维度:**出口 IP** 和 **浏览器指纹**。本方案负责**出口 IP 侧**:
99+
100+
- 每个平台都是独立的 `select` 策略组:`📘 Facebook`、`📷 Instagram`、`🐦 Twitter`、`🎵 TikTok`、`🛒 国际电商`、`🤖 AI服务`……
101+
- `profile.store-selected: true` —— **记住每个组手动选定的节点,重启不丢**。
102+
- 组内优先列出**固定 IP 的直连节点**(如 `美国01直连`、`阿曼01直连`),这类节点 IP 稳定,最适合“一账号一 IP”。
103+
104+
**实操建议**:
105+
1. 一个账号 = 一个固定出口节点,长期不变(切 IP 本身就是风控信号)。
106+
2. 不要给电商/社媒账号用 `♻️ 自动选择`(会自动切换 IP → 触发关联/风控)。
107+
3. 多账号请扩充节点池,做到 IP 互不重叠;配合独立浏览器指纹环境(如多开浏览器/指纹浏览器)效果最佳。
108+
4. 广告/追踪域名保持 `REJECT`(已内置),切断第三方指纹回传。
109+
110+
---
111+
112+
## 四、OpenClash 一般设置步骤
113+
114+
> 以 OpenWrt / iStoreOS 上的 OpenClash 为例。
115+
116+
1. **导入配置**
117+
- 方式 A:`配置管理 → 上传` 直接上传 `config.yaml`。
118+
- 方式 B:`配置订阅 → 添加` 填入“订阅转换”生成的链接(见第五节),选用本项目模板。
119+
2. **运行模式**:`覆写设置 → 常规 → 运行模式 = Fake-IP(增强模式)`。**这是防 DNS 泄漏的前提**,务必启用。
120+
3. **DNS 设置**:
121+
- 勾选 `启用自定义上游 DNS 服务器`,让 `config.yaml` 里的 `dns:` 段生效;
122+
- 若开启了 OpenClash 自带的“DNS 劫持/重定向”,确保不与自定义 DNS 冲突(推荐:DNS 劫持开,上游用自定义)。
123+
4. **关闭 IPv6**:`覆写设置 → 常规 → 禁用 IPv6`。
124+
5. **绑定网卡/接口**:按需绑定 LAN,确保内网设备全部经 OpenClash。
125+
6. **General → 其他**:开启 `TCP 并发`、`统一延迟`(配置里已含 `tcp-concurrent / unified-delay`)。
126+
7. 启动后到 **面板(Dashboard)** 里,进入各平台策略组,为每个账号手动指定固定节点。
127+
128+
---
129+
130+
## 五、订阅转换模板用法(`Custom_Ecommerce.ini`)
131+
132+
模板用于把**你的专线/机场订阅**自动转换成本方案结构,无需手写节点。
133+
134+
**在线/自建 subconverter 拼接格式**:
135+
```
136+
https://<你的subconverter后端>/sub?target=clash
137+
&url=<URL编码后的机场订阅链接>
138+
&config=https://testingcf.jsdelivr.net/gh/abxian/Custom_OpenClash_Rules@main/templates/Custom_Ecommerce.ini
139+
&emoji=true&list=false&udp=true&scv=true&sort=false
140+
```
141+
> - `url=` 填你的专线订阅(记得 URL 编码)。
142+
> - `config=` 指向本模板(把它推到你的 `Custom_OpenClash_Rules` 仓库 `templates/` 后即可用 jsdelivr 引用)。
143+
> - 生成的链接填进 OpenClash 的“配置订阅”。
144+
145+
**模板做了什么**(`templates/Custom_Ecommerce.ini`):
146+
- 规则全部引用 `stash-override/rule/*.list`(Facebook / TikTok / Amazon / OpenAI / Claude / Gemini / PayPal / Stripe …),随仓库更新自动生效。
147+
- 生成与 `config.yaml` 一致的分组:社媒独立组、`🛒 国际电商`、`🤖 AI服务`、`🎥 流媒体`、`🎥 WebRTC(默认REJECT)`、地区自动测速组、`🔒 专线中转`。
148+
- 规则顺序:直连兜底 → 广告拦截 → WebRTC拦截 → 各平台 → 境外兜底(GFW) → 国内兜底(ChinaMax/GEOSITE:cn) → `FINAL 走代理`。
149+
150+
---
151+
152+
## 六、策略组一览
153+
154+
| 组名 | 类型 | 用途 |
155+
|------|------|------|
156+
| 🚀 手动选择 / 节点选择 | select | 总入口,聚合全部节点与地区组 |
157+
| ♻️ 自动选择 | url-test | 自动选延迟最低(**不建议给电商账号用**) |
158+
| 🔒 专线中转 / 专线中转 | select/url-test | 专线/中转节点 |
159+
| 📘 Facebook / 📷 Instagram / 🐦 Twitter / 🎵 TikTok / 📲 Telegram | select | 社媒各自独立,账号级固定 IP |
160+
| 🤖 AI服务 | select | ChatGPT / Claude / Gemini / Copilot 等 |
161+
| 🛒 国际电商 | select | Amazon / eBay / Shopify / PayPal / Stripe … 固定节点 |
162+
| 🎥 流媒体 | select | YouTube / Netflix / Disney / Spotify |
163+
| 🎥 WebRTC | select | 默认 **REJECT**,防真实 IP 探测 |
164+
| 🎯 全球直连 / 🛑 全球拦截 / 🐟 漏网之鱼 | select | 直连 / 广告拦截 / 兜底(走代理) |
165+
166+
---
167+
168+
## 七、验证是否泄漏
169+
170+
部署后依次自测:
171+
172+
1. **DNS 泄漏**:<https://dnsleaktest.com>(Extended Test)→ 结果里**不应出现中国的 DNS 服务器**。
173+
2. **IPv6**:<https://test-ipv6.com> → 应显示无 IPv6,或 IPv6 与代理出口一致。
174+
3. **WebRTC**:<https://browserleaks.com/webrtc> → **Public IP 不应显示你的真实公网 IP**。
175+
4. **出口 IP / 归属地**:<https://whoer.net> 或 <https://ipinfo.io> → 应为所选节点的国家,`whoer` 匿名度尽量高。
176+
5. **时区/语言**:浏览器时区、系统语言要与出口国匹配(这属于指纹侧,需自行调整)。
177+
178+
---
179+
180+
## 八、可继续完善的方向
181+
182+
- **规则更全**:`config.yaml` 目前用域名清单,可改用 GEOSITE 规则集(`category-social-media-!cn`、`category-ecommerce`、`category-ai-!cn`)覆盖更全,需开启 OpenClash 的 GeoData/Meta 内核。模板 `.ini` 已用 GEOSITE 兜底。
183+
- **按国家站点细分**:如 `amazon.com` / `amazon.co.uk` / `amazon.de` 各自钉不同国家节点,进一步贴合站点归属。
184+
- **流媒体解锁分组**:Netflix / Disney 拆出独立解锁组,选支持对应区解锁的节点。
185+
- **每账号独立出口**:节点数量不足时,多账号会共享 IP,存在关联风险;建议扩充节点或采购住宅 IP。
186+
187+
---
188+
189+
## 九、致谢
190+
191+
- 防泄漏模板思路:[Aethersailor/Custom_OpenClash_Rules](https://github.com/Aethersailor/Custom_OpenClash_Rules)
192+
- 分流规则来源:[blackmatrix7/ios_rule_script](https://github.com/blackmatrix7/ios_rule_script) 及本项目 `stash-override`

0 commit comments

Comments
 (0)