clash 如何自动切换节点?

213 天前
 kyonn

需求是回家后将到家里私有域名的连接直接走 DIRECT, 人在外面时走相应 proxy 规则.

测试过使用 url-test 测试内网域名, 比较奇怪的是即使设备不在内网, 测出来的内网域名的 DIRECT 也是有正常延时数据的(未提示 timeout). 使用的软件是 CFW.

另外, CFW 刚启动时部分节点的 url-test 结果似乎也不对(显示 timeout),手动刷一下才会出来.

接入家里的局域网不一定是 wifi, 所以通过 SSID 的办法不可行.

实现自动切换节点需求的来源想归一化 clash 配置, 到家后不用手动切换配置. 虽然在家也走 proxy 似乎也是连通的, 但应该会去 proxy device 那边绕一圈?

2523 次点击
所在节点    问与答
13 条回复
Muniesa
213 天前
我的做法是,用 Windows 自带的任务计划运行一个脚本,在 clash 运行后触发,用 clash 的 API 来切换节点
Muniesa
213 天前
@Muniesa 因为脚本可以获取连接的 WiFi 名称,所以可以判断是不是在自家的局域网
Muniesa
213 天前
@Muniesa 如果家里局域网不一定是 WiFi 的话,用固定 IP 应该也可以判断吧
kyonn
213 天前
@Muniesa 感谢提供思路. 这是个办法, 就是比较麻烦, 要单独维护个脚本, 每个会移动的设备都要配置, 如果 clash 原生某个机制就更好了.
SenLief
213 天前
接入家里的局域网不一定是 wifi, 所以通过 SSID 的办法不可行.
SenLief
213 天前
上边的没打完,那个局域网不是 wifi 的如何理解的? 5g 也能组网嘛
kenvix
213 天前
Windows 是有”Network Profile“的概念的,你可以根据 Network Profile 判断是不是在家,但是 clash 没这功能
kinist
213 天前
家里的 DNS 服务把域名解析到内网就可以走 direct 了啊
kyonn
213 天前
@SenLief rj45 有线接入局域网.
kyonn
213 天前
@kinist clash 配的是根据域名分流的, 即使人在外面, 走 clahs 的 proxy, 最终远端 dns 解析应该也是局域网 ip. 靠这个应该无法区分局域网和外网.
私有的域名在公网上是解析不到的.
SenLief
212 天前
@kyonn 有线接入?用网口设备就可以分流吧。
kyonn
212 天前
@SenLief 不想为不同的设备写不同的 clash 配置, 想复用一份.
kinist
209 天前
@kyonn 家里单独搞个 dns 即可

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

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

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

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

© 2021 V2EX