Clash 能否设置规则,如果检测到能直连 Google 则切换直连模式(不走任何代理),否则规则模式

105 天前
 liyafe1997

如题,经常在墙外网和墙内网之间来回横跳,每次都要去改下 Clash 模式,在想能不能把这个流程做成自动的。

3101 次点击
所在节点    宽带症候群
39 条回复
TrackBack
105 天前
clash 也支持 url-test, 加一个代理加一个 direct 进去就行
liyafe1997
105 天前
@fskemp233 你也没理解我的需求...我都说因为连上了墙外的网络(非中国大陆的网络),所以希望直连,哪还来的墙 QOS
liyafe1997
105 天前
@yulon 对的,这也是个很好的思路,如果检测到当前的 IP 是非中国大陆的就直连,但是 Clash 规则能否做到这一点?
liyafe1997
105 天前
@yulon 感觉尝试直连 Google 应该不会被标记吧,这不就是典型的撞墙行为吗
lnbiuc
105 天前
@liyafe1997 #14 自己写脚本检测,通过 api 切换模式,你是 iphone 的话,快捷指令都能做到
MacsedProtoss
105 天前
surge 可以支持你的需求
支持识别 ssid ,也支持识别运营商信息。这个运营商信息很有用,基本可以理解为就算你是漫游的也能区分出来你在哪里。
MacsedProtoss
105 天前
@MacsedProtoss
具体而言
ersion 4.7.0 (Apr 21, 2021)
Rules
New rule type: SUBNET, which can match SSID/BSSID/router IP address with a wildcard pattern.
New rule type: CELLULAR-CARRIER, which can match the MCC-MNC code.
New rule type: CELLULAR-RADIO, which can match the radio access technology of the cellular network.

CELLULAR-CARRIER 这里的 MCC-MNC 是看你实际接入的运营商,例如 cmhk 在 hk 和在 cn 漫游到中国移动是不同的
liyafe1997
105 天前
@MacsedProtoss 1. 我不一定是 WIFI ,不一定是手机(当然手机也有这个需求),有可能是电脑,有可能是以太网。2. 感觉通过识别当前 IP 是否为国内 IP 是最稳妥的做法。比“识别能否直连 Google”更靠谱。3. 我既不用 Mac 也不用 iPhone ,与 surge 无缘
liyafe1997
105 天前
@lnbiuc 这也不是不行,但是这样得,比如背后跑一个 python 持续检测然后去 call Clash 的 RESTful API 吗...
最好能靠 clash 自身就能完成
totoro625
104 天前
@jesky #6
@Ipsum #8
这两位的方法比较好,使用 fallback ,当前节点超时时,则会按代理顺序选择第一个可用节点

注意:绝大部分代理软件会自动修改 204 网络监测链接,请在设置内关闭修改,或设置为境内不可用的 204 链接
如果有被墙的 IP 是最好的,被墙域名效果不好,例如 https://www.v2ex.com/generate_204 会因为 DNS 缓存导致墙内可用
最好能买一个 IP 被墙的机器,在它上面搭建 204 服务

proxy-groups:
- name: "能直连时自动切换直连模式"
type: fallback
proxies:
- direct
- 指定 proxy 组
url: 'http://www.google.com/generate_204'
interval: 300
#lazy: true

参考: https://wiki.metacubex.one/config/proxy-groups/fallback
anto17
104 天前
我理解你的需求,把直连、proxy 都作为 proxy-groups 中的一个 item , 然后整个 proxy-groups 用 fallback 模式。测速链接用 google 的,这样如果 direct 通的话,不会 fallback 到 proxy ;否则自动 fallback 到 proxy
momo65535
104 天前
@tangyujing99 #7 你不提深港两地跑,我还没意识到楼主的问题。
SenLief
104 天前
来回横跳已什么方式?
yulon
104 天前
> @liyafe1997 感觉尝试直连 Google 应该不会被标记吧,这不就是典型的撞墙行为吗

是撞墙,但是你觉得有一个人,每隔几分钟就撞一次墙,一连撞几天很正常吗😂
假设他是普通人的话,就是有一个人一直在看白屏,然后很容易就抓到同时有一条私人外网服务器的大流量连接。
甚至都不用测延迟,很多人太多次查询 DNS 都会被标记。
yaoyaomoe
104 天前
一个思路 检测 1.1.1.1 urltest 容差设置小点 内地访问 1.1.1.1 的速度比香港高所以到了香港就会自动切换到最快的那个
leefor2020
104 天前
@yulon ,而且是每次直连失败后,都会立即有加密数据到另外一个固定的境外 IP ,更可疑了
383394544
104 天前
用 clash 的脚本功能可以做到,检测到当前 ip 是 cn 就用代理模式,不是 cn 就切成直连模式。不需要直接检测 google.com 连通性
383394544
104 天前
@liyafe1997 https://clash.wiki/premium/script.html
lnbiuc
104 天前
@liyafe1997 #29 如果你愿意的话,可以自己改下 mihomo 内核,加一个定时执行,轮询检测,然后调用方法切换模式,估计不到 20 行代码吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1144316

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX