起因
我喜欢放假时日常和朋友用 discord 打语音,这就需要我一直开着代理。
开了代理访问必应会直接不给访问,这本来没什么影响,反正可以用谷歌,但有一次我捣鼓站点收录推送时,只要碰上微软的服务就进不去,所以我希望必应走直连或者完全走外网。
还有一个原因是,steam 下载游戏也会跑 Clash 流量,而我的流量是有限的,所以希望能写一个规则让下载走直连,但其他 steam 服务(如社区)走代理。
Xbox 也是连接不上去,感觉只要是微软的东西就会出这个问题。所以也需要给 Xbox 配置一个直连规则
查询资料
首先看到的是这篇文章:https://zhuanlan.zhihu.com/p/594275714
第一次了解到 Parser 这个东西。Parser ,解析器,经过上网查询之后了解到这个应该就是和规则配置有关的东西。
,后来看了羽翼城大佬的博客后,是因为登录IP不在国内,导致下载区无法使用国内 CDN 下载。所以我们需要把登录相关的域名和 IP 用 Clash 分流改为直连。
最后的效果是登录和下载的 API 地址都走的直连,下载会跑满带宽,其他像 steam 商店、社区等官方的服务可以正常走节点使用。
实践
在 Clash 的 Setting >> Profiles >> Parsers 中加入以下文本:
注意:
url 换成自己的订阅连接
DOMAIN-SUFFIX,bing.com 等后面的策略组换成你的机场的策略组
parsers:
- url: https://www.example.com
code: |
module.exports.parse = async (raw, { axios, yaml, notify, console }, { name, url, interval, selected }) => {
const obj = yaml.parse(raw)
obj.proxies.forEach( v => {
if (v.network === 'ws' && !v['ws-opts']) {
const opts = {}
opts.path = v['ws-path']
opts.headers = v['ws-headers']
v['ws-opts'] = opts
}
})
return yaml.stringify(obj)
}
yaml:
prepend-rules:
# bing
- DOMAIN-SUFFIX,bing.com,直接连接
- DOMAIN-SUFFIX,bingapis.com,直接连接
- DOMAIN-SUFFIX,msftconnecttest.com,直接连接
# dogfight
- DOMAIN-SUFFIX,dogfight360.com,直接连接
# steam
- DOMAIN-SUFFIX,steamcontent.com,直接连接 # 更新于2025.2.7,收到一位网友的评论说少了这个
- DOMAIN-SUFFIX,steamcommunity.com,香港负载组
- DOMAIN-SUFFIX,api.steampowered.com,直接连接
- DOMAIN-SUFFIX,*.cm.steampowered.com,直接连接
- DOMAIN-SUFFIX,*.steamserver.net,直接连接
- IP-CIDR,103.10.124.0/24,直接连接
- IP-CIDR,103.10.125.0/24,直接连接
- IP-CIDR,102.10.125.0/24,直接连接
- IP-CIDR,103.28.54.0/23,直接连接
- IP-CIDR,103.28.54.0/24,直接连接
- IP-CIDR,146.66.152.0/23,直接连接
- IP-CIDR,146.66.155.0/23,直接连接
- IP-CIDR,153.254.86.0/23,直接连接
- IP-CIDR,155.133.224.0/22,直接连接
- IP-CIDR,155.133.226.0/23,直接连接
- IP-CIDR,155.133.227.0/23,直接连接
- IP-CIDR,155.133.230.0/23,直接连接
- IP-CIDR,155.133.232.0/23,直接连接
- IP-CIDR,155.133.233.0/23,直接连接
- IP-CIDR,155.133.234.0/23,直接连接
- IP-CIDR,155.133.236.0/22,直接连接
- IP-CIDR,155.133.238.0/23,直接连接
- IP-CIDR,155.133.239.0/23,直接连接
- IP-CIDR,155.133.240.0/22,直接连接
- IP-CIDR,155.133.245.0/23,直接连接
- IP-CIDR,155.133.246.0/23,直接连接
- IP-CIDR,155.133.248.0/23,直接连接
- IP-CIDR,155.133.249.0/23,直接连接
- IP-CIDR,155.133.250.0/23,直接连接
- IP-CIDR,155.133.251.0/23,直接连接
- IP-CIDR,155.133.252.0/23,直接连接
- IP-CIDR,155.133.253.0/23,直接连接
- IP-CIDR,155.133.254.0/23,直接连接
- IP-CIDR,155.133.255.0/23,直接连接
- IP-CIDR,162.254.192.0/23,直接连接
- IP-CIDR,162.254.193.0/23,直接连接
- IP-CIDR,162.254.194.0/22,直接连接
- IP-CIDR,162.254.195.0/23,直接连接
- IP-CIDR,162.254.196.0/23,直接连接
- IP-CIDR,162.254.197.0/23,直接连接
- IP-CIDR,162.254.198.0/23,直接连接
- IP-CIDR,162.254.199.0/23,直接连接
- IP-CIDR,185.25.182.0/23,直接连接
- IP-CIDR,185.25.183.0/23,直接连接
- IP-CIDR,190.217.33.0/23,直接连接
- IP-CIDR,192.69.96.0/21,直接连接
- IP-CIDR,205.185.194.0/23,直接连接
- IP-CIDR,205.196.6.0/23,直接连接
- IP-CIDR,208.64.200.0/23,直接连接
- IP-CIDR,208.64.201.0/23,直接连接
- IP-CIDR,208.64.202.0/23,直接连接
- IP-CIDR,208.64.203.0/23,直接连接
- IP-CIDR,208.78.164.0/22,直接连接
# xbox
- DOMAIN-SUFFIX,xbox.com,直接连接
- DOMAIN-SUFFIX,xboxab.com,直接连接
- DOMAIN-SUFFIX,xboxab.net,直接连接
- DOMAIN-SUFFIX,xboxlive.com,直接连接
- DOMAIN-SUFFIX,xboxservice.com,直接连接
- DOMAIN-SUFFIX,xboxservices.com,直接连接
- DOMAIN-SUFFIX,gamepass.com,直接连接
后来又找到了一个专用于配置规则的 Github 项目:https://github.com/ACL4SSR/ACL4SSR/tree/master/Clash
若有其他需要可以参考这个项目。
结果
最终 steam 识别出地区在 CN,可是下载游戏还是会走代理。Bing 能正常进入。Xbox 无法进入
然后再上网找了各种办法,无果。目前只解决了一个 Bing 的问题。
各位可以试试上述的方案(如果可以的话那可能是我这边的问题),如果不行的话建议把 steam 那段删除,经过测试下载仍然走的代理,而云存档同步没走代理。。无法同步
2025.2.7更新
由于收到一位网友的评论说少了一行steamcontent.com,于是加了一行DOMAIN-SUFFIX,steamcontent.com,直接连接