Clash Verge ,是基于 tauri 框架开发的开源跨平台 clash 客户端,目前仅良好支持 Windows 和 macos ( Linux 没测过)。部分 ui 和交互设计参考了 cfw ,clashX ,clash-dashboard 等。目前的完成程度已经基本满足自用了,所以分享给大家,希望可以收获一点建议或意见。如果感兴趣的话,欢迎 issue 、PR 或 star 呀!
项目地址: https://github.com/zzzgydi/clash-verge
如果有想尝试使用的话,可以在 https://github.com/zzzgydi/clash-verge/releases 下载最新的安装包。
clash 核心提供了较为完备的接口,让人看了难免有一种,做个套壳 GUI 我上我也行的错觉。正好那会儿闲着没事,想写一写 Rust 练一练手,于是就找了一个 Rust 的 GUI 框架开始干。
由于还没研究透这个 clash 的玩法和配置,所以目前在功能上相较于其他客户端来说可能会缺失,这个需要时间慢慢补。下面简单罗列一些特性和不足吧。
其实不足的地方还是有挺多的,还有一些诸如多语言支持、pac 支持等 features 也躺在 todo list 里很久了。如果有做设计或交互的朋友觉得哪里不好,也可以指点一二的,毕竟琢磨 ui 还是挺头疼的。
感谢大家,如果有感兴趣的话,欢迎下载使用或 PR 呀!
![]() | 1 tcpdump 2022-03-04 22:53:52 +08:00 占个楼,楼主和我一样优秀 ------------ 开玩笑,谢谢分享 |
![]() | 2 ponypony 2022-03-04 23:07:29 +08:00 哇哦,下载下来试试,谢谢分享 |
![]() | 3 KMpAn8Obw1QhPoEP 2022-03-04 23:10:07 +08:00 via Android 好家伙 |
4 NLL 2022-03-04 23:17:35 +08:00 没有绿色版么? |
![]() | 5 gydi OP @zhijiansha #4 啥叫绿色版呀 |
![]() | 7 chotow 2022-03-05 00:00:01 +08:00 via iPhone ![]() 好家伙,近视了的小猫咪 |
8 Cielsky 2022-03-05 00:08:16 +08:00 via Android ![]() 可以加个订阅转换,比如 v2ray 的格式转成 clash 的,省的再打开网页转了 |
11 Cavolo 2022-03-05 00:32:02 +08:00 via iPhone win7 不支持吗?安装直接报错 |
![]() | 12 cielpy 2022-03-05 00:41:13 +08:00 关于 TUN 模式在 macOS 开启的权限问题,之前用这个方法解决的,写个脚本,大致如下 ``` cd "$(dirname "${BASH_SOURCE[0]}")" sudo mkdir -p "/Library/Application Support/clash-verge/" sudo cp clash "/Library/Application Support/clash-verge/" sudo chown root:admin "/Library/Application Support/clash-verge/clash" sudo chmod +sx "/Library/Application Support/clash-verge/clash" echo done ``` 然后用 AppScript 执行 ``` let scriptCOntent= "do shell script \"/bin/bash \(p)\" with administrator privileges" DDLogInfo(scriptContent) let script = NSAppleScript(source: scriptContent) do { var d: NSDictionary? _ = script!.executeAndReturnError(&d) if let _ = d { DDLogError("installation failure") } else { DDLogInfo("installation success") } } ``` app 不能开启沙盒模式 |
![]() | 15 ZeoKarl 2022-03-05 01:24:36 +08:00 via iPhone 打包的时候把 webview2 的 runtime 带上。文档里面有相关的说明 |
![]() | 17 gzlock 2022-03-05 02:31:59 +08:00 @ljsh093 #16 我跑过 tauri 的 demo ,打开了支持 win10 / win11 的模糊效果就会这样 tauri 的体验问题还包括改变窗口大小时内容会延迟一小会才会跟着变动,这段时间会有看到黑色的背景颜色(没打开透明背景的设置时) |
18 hei1000 2022-03-05 04:59:48 +08:00 linux 版本有计划 |
![]() | 19 kyor0 2022-03-05 05:24:57 +08:00 ui 比原版漂亮不少 |
20 superhack 2022-03-05 08:51:08 +08:00 请教一下,你这个用到 network extension 了吗?现在发行的 dmg 没有做 notarization ? |
21 me221 2022-03-05 08:54:05 +08:00 好漂亮! |
![]() | 22 root01 2022-03-05 09:01:36 +08:00 没中文 差评 |
![]() | 23 jiyan5 2022-03-05 09:11:36 +08:00 via Android 谢谢,下载用用 |
![]() | 24 jiyan5 2022-03-05 09:13:29 +08:00 via Android 希望能保持轻巧,能有简单的功能就行,cfw 就有点臃肿了, |
![]() | 25 takashiki 2022-03-05 09:21:08 +08:00 ![]() clash 我一直有个痛点,机场的一键订阅都是直接下载一个配置文件,然后我自己又会定义一套规则,我想在自己定义的规则里引用机场配置文件的 proxy ,这样就能既保持机场 proxy 配置自动更新,又能符合自己的需求。 但是 clash 好像用不了多个配置文件,也就不能在一个配置文件里引用另一个配置文件的 proxy 了,不知道有没有解决方案。 |
26 Innovatino 2022-03-05 09:24:12 +08:00 集成一下 subconverter 就更好了 不过不知道 subconverter 的协议是什么 |
![]() | 27 iamv2er 2022-03-05 09:35:39 +08:00 via iPhone 支持! |
![]() | 29 Eiden 2022-03-05 10:03:53 +08:00 支持 |
![]() | 30 woshinide300yuan 2022-03-05 10:04:24 +08:00 没中文版,差评。DOGE |
![]() | 31 gydi OP ![]() @nieyujiang #15 不会考虑带上 webview2 的,我觉得自己装 webview2 ,只需要安装一次就 ok 了,这样我这个 app 或者其他所有依赖于 webview2 的 app ,都可以共享这个 runtime 。这样不仅安装包体积小,而且 webview2 更新时,所有 app 都能享受最新的 webview2 的特性或者修复,其实这样会更好的。 |
![]() | 33 gydi OP @gzlock #17 这个延迟和黑色背景确实是个问题,在 mac 上也有,我一度以为是页面的背景色,其实不是。不过这个问题开启了窗口透明的话,可以缓解一下的,因为看不到黑色的背景了,你可以试试 |
![]() | 34 gydi OP @hei1000 #18 这个暂时没有计划,主要是我没装 linux ,框架方面肯定是支持的,只是实现逻辑里还有些细枝末节需要适配 linux 但没做,可以期待一下有没有大佬抽空 PR 适配一下 |
35 darer 2022-03-05 10:16:39 +08:00 @gydi 说实话 有的时候是不想给系统上太多环境的 甚至想每个应用彼此隔离 打包就能带走 所以还是建议带个 webview2 或者 提供带 webview2 和不带 webview2 两个版本 |
![]() | 36 gydi OP @superhack #20 network extension 这个不太清楚,不过肯定是需要修改网络配置的。开源软件,暂时还没想着搞 notarization 啥的 |
![]() | 37 gydi OP ![]() @takashiki #25 这个问题,应该可以用 clash 配置本身的 provider 功能实现,或者如果你用过 cfw 的话,它里面也提供几个方法去处理,有仅通过配置的还有写 js 的,扩展性还是不错的。我这个 app 的话,也会支持相关功能,现在还在 coding 中。 |
![]() | 38 gydi OP @Innovatino #26 有看到一个开源的 subconverter 仓库,之后有空可以支持一下,楼上就有提到类似的,todo 加 1 吧 |
40 g531956119 2022-03-05 11:07:57 +08:00 ![]() @takashiki 可以使用 proxy-providers 来整合多个机场,但首先需要把订阅文件转换为 provider 格式 https://proxy-provider-converter.vercel.app/ 随后就可以用下图类似方法添加多个机场的节点 ![]() |
![]() | 41 A01514035 2022-03-05 11:09:07 +08:00 ![]() |
![]() | 42 iPhoneilike 2022-03-05 11:16:22 +08:00 via iPhone 我一直有个疑问,为啥开了 clash 或者圈 x 这些工具,延迟会上升。不开延迟是 10ms ,开了延迟在 50 多 ms |
![]() | 43 ww940521 2022-03-05 11:27:18 +08:00 赞赞赞 |
![]() | 44 gydi OP @iPhoneilike #42 毕竟流量多经过了一次软件的处理,所以延迟增加一点也是正常的 |
45 HandSonic 2022-03-05 12:15:16 +08:00 via iPhone ![]() 上一个这么公开开源 clash gui 客户端的作者已经被请去喝茶然后删库跑路了,op 注意安全 |
46 darer 2022-03-05 12:47:06 +08:00 退了之后 系统代理还是修改 mixed-port 之前的(没有被关闭 不知道是“修改 mixed-port 之后 proxy guard 还会给改回之前的” 还是修改 “mixed-port 之后 保存的原来的系统代理会被覆盖” |
47 ilolita 2022-03-05 12:57:26 +08:00 via iPhone 支持下开发者,不过,可以不用 web 技术做前端吗? |
50 8686886 2022-03-05 13:26:48 +08:00 via Android 不清楚 |
52 V9NN 2022-03-05 13:53:04 +08:00 感谢楼主。 既然选择了提供这样一个工具,就做好自我保护,别泄漏真实身份,别引来牢狱之灾。 |
![]() | 55 Immortal 2022-03-05 15:29:20 +08:00 tauri 开发体验如何 |
57 kunkunzhang 2022-03-05 16:04:34 +08:00 我也在写 tauri ,交流一下 |
![]() | 58 cat9life 2022-03-05 16:43:19 +08:00 可以支持局域网作为网关吗?这个需求不小 |
![]() | 59 imsuxp 2022-03-05 16:54:03 +08:00 试用了一下,可惜目前机场的配置文件好像不支持(节点显示不出来),CFW 能正常使用。 |
![]() | 60 ccoming077 2022-03-05 17:11:19 +08:00 via iPhone ![]() @HandSonic 别造谣 NET 作者不想做了而已 |
![]() | 62 gydi OP @kunkunzhang #57 交流交流 |
63 sephiroth945 2022-03-05 17:29:11 +08:00 同求绿色版 |
64 ungrown 2022-03-05 18:11:23 +08:00 this keng is a little big |
65 ymcj001 2022-03-05 22:33:21 +08:00 小白有个问题想问,clash 有类似 ssr 里面 pac 的机制吗,我感觉一开就经常是全局了 |
67 Echoleung 2022-03-05 22:51:47 +08:00 via iPhone mac 要求 11 ,装不起 |
![]() | 69 Mr54 2022-03-07 07:55:27 +08:00 via Android 能否增加快捷键操作,一键开关、切换模式等等 |
70 nishikinor 2022-03-07 08:00:55 +08:00 via Android 先 star 了,有空交 pr~ |
71 WestXu 2022-03-07 09:13:06 +08:00 最近出了个 Rust 的 Dioxus 框架,感觉也挺不错的 |
![]() | 72 madlifer 2022-03-07 09:27:15 +08:00 有没有 flunetUI 的 clash win 客户端。 如果有的话感觉会相当不错。 |
![]() | 73 LoveMyself546 2022-03-07 10:04:48 +08:00 @takashiki CFW 本身有个配置覆盖的功能可以尝试一下。我的方法是使用订阅转换,转换的时候可以指定加载远程的配置文件,然后在 GitHub 上面建一个仓库托管。这样就算不同的机场只要转换一下订阅指定加载我的远程配置就可以了,不影响机场的节点。 |
![]() | 74 huage2580 2022-03-07 10:28:14 +08:00 |
75 allenchengji 2022-03-07 10:31:51 +08:00 via Android 老大有没有支持 xtls 的 mac 客户端呀 |
![]() | 80 cat9life 2022-03-07 14:15:57 +08:00 @gydi #79 “透明网关”这个词不准确。就是说局域网其它的电脑,只需要把自身的网关和 DNS 指向运行 Clash 的电脑,就可以直接出墙,不需要修改代理. |
![]() | 83 DivineRapierH 2022-03-07 16:28:36 +08:00 This keng is a little big... |
85 Thiece 2022-03-07 17:00:10 +08:00 ![]() @gydi Clash 有一个痛点没有解决,就是负载均衡和可用性灾难恢复,每次都是出现问题了才知道这个节点挂了,手动的换节点; |
![]() | 86 284716337 2022-03-07 17:17:36 +08:00 同求绿色版 |
![]() | 89 zhihaofans 2022-03-08 09:46:48 +08:00 via iPhone 这个图标挺可爱的,自己画的吗 |
![]() | 90 gydi OP @zhihaofans #89 猫咪不是原创的,是原 clash 的 logo ,我只是在原来的基础上加个眼镜 |
![]() | 91 Yooe 膜拜下,刚学 rust , |
![]() | 92 Meiyun 2022-03-08 22:42:43 +08:00 via Android 求个中文版 |
![]() | 94 shikkoku 2022-03-09 15:24:18 +08:00 希望能优化一下托盘图标式样以适应 Windows 和 MacOS 。 |
![]() | 95 gydi OP @shikkoku #94 适应 Windows 和 macOS 是指怎么适应呢,macOS 上确实有点问题,图标太大了,除此之外还有其他问题吗 |
98 ileeoyo 2022-03-10 14:00:45 +08:00 ![]() 已经下载试用了,支持一下,也提了一些 issue ,希望越来越完善。作为日常使用的托盘小工具,这样还是越轻量越好的,目前 cdn 客户端停更,仅剩 cfw ,但是 cfw 太大太重了,一直没去用。另外楼主也看下#45 和#52 ,平时注意下保护隐私。 |
![]() | 99 saigo 2022-03-11 08:53:17 +08:00 开机启动后有个 cmd 弹窗,需要手动关闭,这个只有我碰到了吗 |