Open EXHades opened 7 months ago
不止 DNS 无法设置, 设置系统代理
也不行。
日志里没有告警也没有报错,看了下源码,似乎没输出 set_system_proxy 相关的日志
看样子也是通过 networksetup
,手动执行命令发现都是权限问题
也许需要一个类似 ClashX Proxy Helper 去负责设置网络配置?
这可能得依赖我们计划在 1.6.x 中引入的跨平台服务模式。 https://github.com/LibNyanpasu/clash-nyanpasu-service/issues/4
目前跨平台的最小化提权服务已经实现。
现在的问题是修改 DNS 需要主动探测用户活跃的网卡。 以 Windows 为例,用户侧可能使用了 WiFi 连接,又存在 Ethernet 连接,同时还安装一对加速器服务,比如说 UU;亦使用了虚拟机,例如 Hyper-V,他们都创建了网络设备,而且都有可能 Up(在线)。 我们需要找到一个策略来探测出默认的出站设备,然后给他应用 DNS。 此外,假设用户使用拨号连接,可能情况又会有所不同。
因为没有确切的思路,因此 1.6.0 不会包含此功能。
如果有思路的话,欢迎交流
复现步骤 / Step to reproduce
macOS14.4 下仅连接 Wi-Fi
配置:
预期行为 / Expected behaviour
GUI 启用 Tun 模式时应自动寻找当前出口网卡为其设置 DNS (198.18.0.2),使 fake-ip 正常生效
实际行为 / Actual Behaviour
启动后网卡 DNS 未修改
应用日志 / App logs
备注 / Addition details
clash-verge-rev
也没有自动设置 DNS 成功试着手动执行 networksetup, 14.3+ 开始似乎需要 sudo 才能修改 DNS 了?
Clash Nyapasu 版本号 / Clash Nyapasu
1.5.1-alpha+1afa4c4_x64
Clash 核心及其版本号 / Clash core and version
V1.18.1 Meta
是否为 Pre-release / Is pre-release version
1afa4c4
操作系统及版本 / OS version
macOS 14.4
自查步骤 / Verify steps