爱意满满的作品展示区。
gydi

分享一个新的 clash 客户端

  gydi ·
zzzgydi · Mar 4, 2022 · 67302 views
This topic created in 1705 days ago, the information mentioned may be changed or developed.

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 的玩法和配置,所以目前在功能上相较于其他客户端来说可能会缺失,这个需要时间慢慢补。下面简单罗列一些特性和不足吧。

Features

  • 安装包体积小,更安全( tauri 相较于 electron 的优点)
  • 系统代理守卫:就是隔一段时间去重设系统代理,避免被修改
  • 支持暗黑模式(好像大家都有),Windows 里有模糊背景效果(后续会增加自定义主题色)
  • 增强 Profiles 功能:类似 cfw 中对配置文件的简单处理和 mixin 处理(这个功能还在开发中,预计这周能搞定)

不足的地方

  • tun 模式支持不够好,因为需要管理员权限执行程序才能开启,cfw 好像是通过服务启动的(有待研究)
  • providers 的查看界面还没设计
  • Connections 页面还没有做
  • macos 的系统托盘缺少 clashX 那种实时流量展示

部分截图

截图 1

截图 2


其实不足的地方还是有挺多的,还有一些诸如多语言支持、pac 支持等 features 也躺在 todo list 里很久了。如果有做设计或交互的朋友觉得哪里不好,也可以指点一二的,毕竟琢磨 ui 还是挺头疼的。

感谢大家,如果有感兴趣的话,欢迎下载使用或 PR 呀!

162 replies  •  2023-12-23 22:41:00 +08:00
1  2  
❮ ❯
tcpdump
tcpdump
Mar 4, 2022
1
占个楼,楼主和我一样优秀

------------

开玩笑,谢谢分享
ponypony
ponypony
Mar 4, 2022
2
哇哦,下载下来试试,谢谢分享
KMpAn8Obw1QhPoEP
KMpAn8Obw1QhPoEP
Mar 4, 2022 via Android
3
好家伙
NLL
NLL
Mar 4, 2022
4
没有绿色版么?
gydi
gydi
OP
Mar 4, 2022
5
@zhijiansha #4 啥叫绿色版呀
Cielsky
Cielsky
Mar 4, 2022 via Android
6
@gydi 就是不安装,数据目录默认在可执行文件的文件夹下
chotow
chotow
Mar 5, 2022 via iPhone❤️8
7
好家伙,近视了的小猫咪 🐶
Cielsky
Cielsky
Mar 5, 2022 via Android❤️1
8
可以加个订阅转换,比如 v2ray 的格式转成 clash 的,省的再打开网页转了
gydi
gydi
OP
Mar 5, 2022
9
@Cielsky #6 这个需要研究一下怎么打包成一个解压文件,这样应该就可以了
gydi
gydi
OP
Mar 5, 2022
10
@Cielsky #8 这个可以考虑考虑的
Cavolo
Cavolo
Mar 5, 2022 via iPhone
11
win7 不支持吗?安装直接报错
cielpy
cielpy
Mar 5, 2022
12
关于 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 不能开启沙盒模式
gydi
gydi
OP
Mar 5, 2022
13
@Cavolo #11 这个兼容性还没测过的,手上只有 win10 设备,你看看你可以源码编译不咯,编译应该会是正常的
gydi
gydi
OP
Mar 5, 2022
14
@cielpy #12 感谢感谢,学习一下
ZeoKarl
ZeoKarl
Mar 5, 2022 via iPhone
15
打包的时候把 webview2 的 runtime 带上。文档里面有相关的说明
ljsh093
ljsh093
Mar 5, 2022
16
@gydi 就是不需要 msi 安装的那种
报个错误 win11 下拖动窗口有很严重的延迟
gzlock
gzlock
Mar 5, 2022
17
@ljsh093 #16 我跑过 tauri 的 demo ,打开了支持 win10 / win11 的模糊效果就会这样
tauri 的体验问题还包括改变窗口大小时内容会延迟一小会才会跟着变动,这段时间会有看到黑色的背景颜色(没打开透明背景的设置时)
hei1000
hei1000
Mar 5, 2022
18
linux 版本有计划
kyor0
kyor0
Mar 5, 2022
19
ui 比原版漂亮不少
superhack
superhack
Mar 5, 2022
20
请教一下,你这个用到 network extension 了吗?现在发行的 dmg 没有做 notarization ?
me221
me221
Mar 5, 2022
21
好漂亮!
root01
root01
Mar 5, 2022
22
没中文 差评
jiyan5
jiyan5
Mar 5, 2022 via Android
23
谢谢,下载用用
jiyan5
jiyan5
Mar 5, 2022 via Android
24
希望能保持轻巧,能有简单的功能就行,cfw 就有点臃肿了,
Dowding
Dowding
Mar 5, 2022❤️4
25
clash 我一直有个痛点,机场的一键订阅都是直接下载一个配置文件,然后我自己又会定义一套规则,我想在自己定义的规则里引用机场配置文件的 proxy ,这样就能既保持机场 proxy 配置自动更新,又能符合自己的需求。
但是 clash 好像用不了多个配置文件,也就不能在一个配置文件里引用另一个配置文件的 proxy 了,不知道有没有解决方案。
Innovatino
Innovatino
Mar 5, 2022
26
集成一下 subconverter 就更好了
不过不知道 subconverter 的协议是什么
iamv2er
iamv2er
Mar 5, 2022 via iPhone
27
支持!
aircjm
aircjm
Mar 5, 2022 via Android❤️2
28
@takashiki 有 subconverter
Eiden
Eiden
Mar 5, 2022
29
支持
woshinide300yuan
woshinide300yuan
Mar 5, 2022
30
没中文版,差评。DOGE
gydi
gydi
OP
Mar 5, 2022❤️1
31
@nieyujiang #15 不会考虑带上 webview2 的,我觉得自己装 webview2 ,只需要安装一次就 ok 了,这样我这个 app 或者其他所有依赖于 webview2 的 app ,都可以共享这个 runtime 。这样不仅安装包体积小,而且 webview2 更新时,所有 app 都能享受最新的 webview2 的特性或者修复,其实这样会更好的。
gydi
gydi
OP
Mar 5, 2022
32
@ljsh093 #16 了解了解,win11 这个问题我会及时跟进 tauri 插件那边的更新
gydi
gydi
OP
Mar 5, 2022
33
@gzlock #17 这个延迟和黑色背景确实是个问题,在 mac 上也有,我一度以为是页面的背景色,其实不是。不过这个问题开启了窗口透明的话,可以缓解一下的,因为看不到黑色的背景了,你可以试试
gydi
gydi
OP
Mar 5, 2022
34
@hei1000 #18 这个暂时没有计划,主要是我没装 linux ,框架方面肯定是支持的,只是实现逻辑里还有些细枝末节需要适配 linux 但没做,可以期待一下有没有大佬抽空 PR 适配一下
darer
darer
Mar 5, 2022
35
@gydi 说实话 有的时候是不想给系统上太多环境的 甚至想每个应用彼此隔离 打包就能带走
所以还是建议带个 webview2 或者 提供带 webview2 和不带 webview2 两个版本
gydi
gydi
OP
Mar 5, 2022
36
@superhack #20 network extension 这个不太清楚,不过肯定是需要修改网络配置的。开源软件,暂时还没想着搞 notarization 啥的
gydi
gydi
OP
Mar 5, 2022❤️1
37
@takashiki #25 这个问题,应该可以用 clash 配置本身的 provider 功能实现,或者如果你用过 cfw 的话,它里面也提供几个方法去处理,有仅通过配置的还有写 js 的,扩展性还是不错的。我这个 app 的话,也会支持相关功能,现在还在 coding 中。
gydi
gydi
OP
Mar 5, 2022
38
@Innovatino #26 有看到一个开源的 subconverter 仓库,之后有空可以支持一下,楼上就有提到类似的,todo 加 1 吧
gydi
gydi
OP
Mar 5, 2022
39
@darer #35 这个确实也有道理,之后的发布可以多打包一个带 runtime 的
g531956119
g531956119
Mar 5, 2022❤️1
40
@takashiki 可以使用 proxy-providers 来整合多个机场,但首先需要把订阅文件转换为 provider 格式
https://proxy-provider-converter.vercel.app/
随后就可以用下图类似方法添加多个机场的节点
A01514035
A01514035
Mar 5, 2022❤️4
41
@takashiki #25 https://blog.hifool.cn/posts/f42b65b0/
可以通过 proxy-providers 来解决。
写了篇文章,不知道讲的清不清楚。
iPhoneilike
iPhoneilike
Mar 5, 2022 via iPhone
42
我一直有个疑问,为啥开了 clash 或者圈 x 这些工具,延迟会上升。不开延迟是 10ms ,开了延迟在 50 多 ms
ww940521
ww940521
Mar 5, 2022
43
赞赞赞
gydi
gydi
OP
Mar 5, 2022
44
@iPhoneilike #42 毕竟流量多经过了一次软件的处理,所以延迟增加一点也是正常的
HandSonic
HandSonic
Mar 5, 2022 via iPhone❤️1
45
上一个这么公开开源 clash gui 客户端的作者已经被请去喝茶然后删库跑路了,op 注意安全
darer
darer
Mar 5, 2022
46
退了之后 系统代理还是修改 mixed-port 之前的(没有被关闭
不知道是“修改 mixed-port 之后 proxy guard 还会给改回之前的”
还是修改 “mixed-port 之后 保存的原来的系统代理会被覆盖”
ilolita
ilolita
Mar 5, 2022 via iPhone
47
支持下开发者,不过,可以不用 web 技术做前端吗?🤣
gydi
gydi
OP
Mar 5, 2022
48
@HandSonic #45 啊这
gydi
gydi
OP
Mar 5, 2022
49
@darer #46 没太理解。。
8686886
8686886
Mar 5, 2022 via Android
50
不清楚
gydi
gydi
OP
Mar 5, 2022
51
@ilolita #47 web 技术方便。。
V9NN
V9NN
Mar 5, 2022
52
感谢楼主。

既然选择了提供这样一个工具,就做好自我保护,别泄漏真实身份,别引来牢狱之灾。
quericy
quericy
Mar 5, 2022 via iPhone❤️1
53
@takashiki #25 subConverter 或者 Surgio
Buges
Buges
Mar 5, 2022 via Android
54
@HandSonic 闭源的没事反而开源的被喝茶?
Immortal
Immortal
Mar 5, 2022
55
tauri 开发体验如何
gydi
gydi
OP
Mar 5, 2022
56
@Immortal #55 Windows 上还行,macos 会时不时异常
kunkunzhang
kunkunzhang
Mar 5, 2022
57
我也在写 tauri ,交流一下
cat9life
cat9life
Mar 5, 2022
58
可以支持局域网作为网关吗?这个需求不小
imsuxp
imsuxp
Mar 5, 2022
59
试用了一下,可惜目前机场的配置文件好像不支持(节点显示不出来),CFW 能正常使用。
ccoming077
ccoming077
Mar 5, 2022 via iPhone❤️1
60
@HandSonic 别造谣 NET 作者不想做了而已
gydi
gydi
OP
Mar 5, 2022
61
@cat9life #58 clash 就可以,不需要我这个的
gydi
gydi
OP
Mar 5, 2022
62
@kunkunzhang #57 交流交流
sephiroth945
sephiroth945
Mar 5, 2022
63
同求绿色版
ungrown
ungrown
Mar 5, 2022
64
this keng is a little big
ymcj001
ymcj001
Mar 5, 2022
65
小白有个问题想问,clash 有类似 ssr 里面 pac 的机制吗,我感觉一开就经常是全局了
darer
darer
Mar 5, 2022
66
@ymcj001 Rule 模式 不就是吗
Echoleung
Echoleung
Mar 5, 2022 via iPhone
67
mac 要求 11 ,装不起😂
gydi
gydi
OP
Mar 5, 2022
68
@ymcj001 #65 pac 的话,cfw 支持的
Mr54
Mr54
Mar 7, 2022 via Android
69
能否增加快捷键操作,一键开关、切换模式等等
nishikinor
nishikinor
Mar 7, 2022 via Android
70
先 star 了,有空交 pr~
WestXu
WestXu
Mar 7, 2022
71
最近出了个 Rust 的 Dioxus 框架,感觉也挺不错的
madlifer
madlifer
Mar 7, 2022
72
有没有 flunetUI 的 clash win 客户端。 如果有的话感觉会相当不错。
LoveMyself546
LoveMyself546
Mar 7, 2022
73
@takashiki CFW 本身有个配置覆盖的功能可以尝试一下。我的方法是使用订阅转换,转换的时候可以指定加载远程的配置文件,然后在 GitHub 上面建一个仓库托管。这样就算不同的机场只要转换一下订阅指定加载我的远程配置就可以了,不影响机场的节点。
huage2580
huage2580
Mar 7, 2022
74
可以提供 logo 切换的 feature 吗
我不喜欢圆的眼镜,来个方的,墨镜,滑雪镜,还有贝吉塔那个探测器
allenchengji
allenchengji
Mar 7, 2022 via Android
75
老大有没有支持 xtls 的 mac 客户端呀
gydi
gydi
OP
Mar 7, 2022
76
@huage2580 #74 项目里直接替换图片再编译一下就 ok 了,想要啥五彩斑斓的黑都没问题的
cat9life
cat9life
Mar 7, 2022
77
@gydi 61# clash 不行啊,局域网设置代理可以。作为透明网关不行
cat9life
cat9life
Mar 7, 2022
78
@cat9life 哦我说的是在 Windows 平台
gydi
gydi
OP
Mar 7, 2022
79
@cat9life #77 这个透明网关是指 tun 模式吗
cat9life
cat9life
Mar 7, 2022
80
@gydi #79 “透明网关”这个词不准确。就是说局域网其它的电脑,只需要把自身的网关和 DNS 指向运行 Clash 的电脑,就可以直接出墙,不需要修改代理.
gydi
gydi
OP
Mar 7, 2022
81
@cat9life #80 开启 allow-lan 就可以了
cat9life
cat9life
Mar 7, 2022
82
@gydi 不行的,allow-wan 开启后,局域网其他机器指定代理才可以;直接指定网关为 clash 是不行的。
DivineRapierH
DivineRapierH
Mar 7, 2022
83
This keng is a little big...
gydi
gydi
OP
Mar 7, 2022
84
@cat9life #82 大概懂你说的,我不是很了解这个
Thiece
Thiece
Mar 7, 2022❤️1
85
@gydi
Clash 有一个痛点没有解决,就是负载均衡和可用性灾难恢复,每次都是出现问题了才知道这个节点挂了,手动的换节点;
sunnywx
sunnywx
Mar 7, 2022
86
同求绿色版
gydi
gydi
OP
Mar 7, 2022
87
@Thiece #85 Urltest 这个类型应该可以吧
xmai
xmai
Mar 8, 2022
88
@chotow “好家伙,近视了的小猫咪 🐶” ---- 真的把我看乐了哈哈哈哈哈
zhihaofans
zhihaofans
Mar 8, 2022 via iPhone
89
这个图标挺可爱的,自己画的吗
gydi
gydi
OP
Mar 8, 2022
90
@zhihaofans #89 猫咪不是原创的,是原 clash 的 logo ,我只是在原来的基础上加个眼镜
Yooe
Yooe
Mar 8, 2022
91
膜拜下,刚学 rust ,
Meiyun
Meiyun
Mar 8, 2022 via Android
92
求个中文版
gydi
gydi
OP
Mar 9, 2022
93
@Meiyun #92 在做了在做了(进度 0 )
shikkoku
shikkoku
Mar 9, 2022
94
希望能优化一下托盘图标式样以适应 Windows 和 MacOS 。
gydi
gydi
OP
Mar 9, 2022
95
@shikkoku #94 适应 Windows 和 macOS 是指怎么适应呢,macOS 上确实有点问题,图标太大了,除此之外还有其他问题吗
shikkoku
shikkoku
Mar 9, 2022
96
@gydi #95 任务栏暗色的情况下对比度不行……
gydi
gydi
OP
Mar 9, 2022
97
@shikkoku #96 有道理
ileeoyo
ileeoyo
Mar 10, 2022❤️1
98
已经下载试用了,支持一下,也提了一些 issue ,希望越来越完善。作为日常使用的托盘小工具,这样还是越轻量越好的,目前 cdn 客户端停更,仅剩 cfw ,但是 cfw 太大太重了,一直没去用。另外楼主也看下#45 和#52 ,平时注意下保护隐私。
saigo
saigo
Mar 11, 2022
99
开机启动后有个 cmd 弹窗,需要手动关闭,这个只有我碰到了吗
gydi
gydi
OP
Mar 11, 2022
100
@saigo #99 可以提个 issue 补充更多细节,后续看看
1  2  
❮ ❯
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2962 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 277ms · UTC 11:20 · PVG 19:20 · LAX 03:20 · JFK 06:20
♥ Do have faith in what you're doing.