用 Clash 规则路由 OpenAI 与 Anthropic 服务
kafm

在基于 clash 的科学上网工具中,可以使用以下全局脚本添加自定义的路由分组

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
function main(config, profileName) {

// const myProxy = {
// name: "自定义节点A",
// type: "vless",
// server: "example.com",
// port: PORT,
// uuid: "UUID",
// network: "tcp",
// tls: true,
// udp: true
// };

// // 在当前订阅中追加节点
// config.proxies.push(myProxy);

// // 新建一个独立代理组
// config["proxy-groups"].push({
// name: "自定义节点",
// type: "select",
// proxies: ["自定义节点A"]
// });

// // 或找到你想加入的代理组,把节点插进去
// config["proxy-groups"].forEach(group => {
// if (group.name === "🔰 选择节点") { // 改成你订阅里实际的组名
// group.proxies.unshift("自定义节点A");
// }
// });

// 避免重复创建
if (!config["proxy-groups"].some(g => g.name === "Claude分组")) {
config["proxy-groups"].push({
name: "Claude分组",
type: "select",
proxies: [
"DIRECT",
...config.proxies.map(p => p.name)
]
});
}

if (!config["proxy-groups"].some(g => g.name === "GPT分组")) {
config["proxy-groups"].push({
name: "GPT分组",
type: "select",
proxies: [
"DIRECT",
...config.proxies.map(p => p.name)
]
});
}

// unshift 添加到订阅规则前
config.rules.unshift(
// 核心域名(DOMAIN-SUFFIX 已覆盖所有 *.anthropic.com 子域名)
"DOMAIN-SUFFIX,anthropic.com,Claude分组",
"DOMAIN-SUFFIX,claude.ai,Claude分组",
"DOMAIN-SUFFIX,claude.com,Claude分组",
"DOMAIN-SUFFIX,clau.de,Claude分组",
"DOMAIN-SUFFIX,claudemcpclient.com,Claude分组",
"DOMAIN-SUFFIX,claudemcpcontent.com,Claude分组",
"DOMAIN-SUFFIX,claudeusercontent.com,Claude分组",

// CDN 和静态资源
"DOMAIN,servd-anthropic-website.b-cdn.net,Claude分组",
"DOMAIN,anthropic.com.cdn.cloudflare.net,Claude分组",

// 认证 / 内容
"DOMAIN,anthropic.auth0.com,Claude分组",
"DOMAIN,anthropic-com.ghost.io,Claude分组",

// 监控和遥测
"DOMAIN-SUFFIX,sentry.io,Claude分组",
"DOMAIN-SUFFIX,statsigapi.net,Claude分组",
"DOMAIN,browser-intake-us5-datadoghq.com,Claude分组",
"DOMAIN-KEYWORD,datadog,Claude分组",
"DOMAIN-KEYWORD,sift,Claude分组",

// 客服 / 第三方 widget
"DOMAIN-SUFFIX,intercom.io,Claude分组",
"DOMAIN-SUFFIX,intercomcdn.com,Claude分组",
"DOMAIN,cdn.usefathom.com,Claude分组",

// IP 段 / ASN 兜底
"IP-CIDR,160.79.104.0/21,Claude分组,no-resolve",
"IP-CIDR6,2607:6bc0::/32,Claude分组,no-resolve",
"IP-ASN,399358,Claude分组,no-resolve",



// OpenAI
"DOMAIN-SUFFIX,auth.openai.com,GPT分组",
"DOMAIN-SUFFIX,chatgpt.com,GPT分组",
"DOMAIN-SUFFIX,ct.sendgrid.net,GPT分组",
"DOMAIN-SUFFIX,featuregates.org,GPT分组",
"DOMAIN-SUFFIX,intercom.io,GPT分组",
"DOMAIN-SUFFIX,intercomcdn.com,GPT分组",
"DOMAIN-SUFFIX,oaistatic.com,GPT分组",
"DOMAIN-SUFFIX,oaiusercontent.com,GPT分组",
"DOMAIN-SUFFIX,openai.com,GPT分组",
"DOMAIN-SUFFIX,statsig.com,GPT分组",
"DOMAIN,android.chat.openai.com,GPT分组",
"DOMAIN,auth0.openai.com,GPT分组",
"DOMAIN,cdn.openaimerge.com,GPT分组",
"DOMAIN,cdn.workos.com,GPT分组",
"DOMAIN,challenges.cloudflare.com,GPT分组",
"DOMAIN,chat.openai.com,GPT分组",
"DOMAIN,desktop.chat.openai.com,GPT分组",
"DOMAIN,events.statsigapi.net,GPT分组",
"DOMAIN,featureassets.org,GPT分组",
"DOMAIN,forwarder.workos.com,GPT分组",
"DOMAIN,humb.apple.com,GPT分组",
"DOMAIN,images.workoscdn.com,GPT分组",
"DOMAIN,ios.chat.openai.com,GPT分组",
"DOMAIN,js.intercomcdn.com,GPT分组",
"DOMAIN,js.stripe.com,GPT分组",
"DOMAIN,o207216.ingest.sentry.io,GPT分组",
"DOMAIN,o33249.ingest.sentry.io,GPT分组",
"DOMAIN,prodregistryv2.org,GPT分组",
"DOMAIN,rum.browser-intake-datadoghq.com,GPT分组",
"DOMAIN,setup.auth.openai.com,GPT分组",
"DOMAIN,setup.workos.com,GPT分组",
"DOMAIN,statsigapi.net,GPT分组",
"DOMAIN,tcr9i.chat.openai.com,GPT分组",
"DOMAIN,workos.imgix.net,GPT分组"
);

return config;
}

打开 Claude 看到 App Unavailable 页面,以为风控加强了,规则模式被ban,全局模式ok,遂建了两个路由分组,结果规则模式还是被ban,最后发现打开 IPv6 就好了。或者用更纯净的节点。

参考

Claude Code 域名分流规则大全
OpenAI 服务地址