Removed
zzzgydi / clash-verge Goto Github PK
View Code? Open in Web Editor NEWA Clash GUI based on tauri. Supports Windows, macOS and Linux.
A Clash GUI based on tauri. Supports Windows, macOS and Linux.
Removed
手动增加了wintun.ddl,并且管理员启动,tun模式正常能用。但是tun模式下,域名规则无法命中,全命中了IP规则或者命中最后的“漏网之鱼”。已知开启了fake-ip和dns-hijack。用其他GUI或者clash core直接启动,是能够正常域名命中的。部分配置如下
# 混合代理端口
mixed-port: 1080
# 允许局域网的连接
allow-lan: true
# 绑定局域网ip
bind-address: "*"
# Clash 的 RESTful API
external-controller: "127.0.0.1:9090"
# RESTful API 的口令
secret: ""
# 规则模式:Rule(规则) / Global(全局代理)/ Direct(全局直连)
mode: Rule
# 设置日志输出级别 (默认级别:silent,即不输出任何内容,以避免因日志内容过大而导致程序内存溢出)。
# 5 个级别:silent / info / warning / error / debug。级别越高日志输出量越大,越倾向于调试,若需要请自行开启。
log-level: info
ipv6: true
# 您可以将静态网页资源(如 clash-dashboard)放置在一个目录中,clash 将会服务于 `${API}/ui`
# external-ui: folder
dns:
enable: true
# or redir-host
enhanced-mode: fake-ip
# fake ip 池
fake-ip-range: 198.18.0.1/16
use-hosts: true # lookup hosts and return IP record
# fake ip 白名单
fake-ip-filter:
- "*.lan"
- localhost
- "gitee.com"
- "github.com"
# 用于解析nameserver中的域名
default-nameserver:
- 114.114.114.114
- 8.8.8.8
nameserver:
- 119.29.29.29
- 223.5.5.5
# 与 nameserver 内的服务器列表同时发起请求,当规则符合 GEOIP 在 CN 以外时,fallback 列表内的域名服务器生效。F
fallback:
- tls://dot.pub:853
- https://doh.pub/dns-query
fallback-filter:
geoip: true # 默认
ipcidr: # 在这个网段内的 IP 地址会被考虑为被污染的 IP
- 240.0.0.0/4
tun:
enable: true
stack: system # gvisor
dns-hijack:
- 198.18.0.2:53
auto-route: true
auto-detect-interface: true
...
# 规则
rules:
# 网易云音乐APP
- PROCESS-NAME,cloudmusic.exe,🎵网易云
# 代理服务器
- DOMAIN-SUFFIX,ilee.gq,DIRECT
- DOMAIN-SUFFIX,ilee.ga,DIRECT
- PROCESS-NAME,Clash.exe,DIRECT
- PROCESS-NAME,xray.exe,DIRECT
- PROCESS-NAME,wv2ray.exe,DIRECT
- PROCESS-NAME,v2ray.exe,DIRECT
- RULE-SET,Unbreak,🍪国内服务
- RULE-SET,CustomDirect,DIRECT
- RULE-SET,CustomGlobal,🔰国际服务
- RULE-SET,Speedtest,💤测速
- RULE-SET,China,🍪国内服务
- RULE-SET,Streaming,🎥国际媒体
- RULE-SET,StreamingSE,🎥国际媒体
- RULE-SET,Global,🔰国际服务
- RULE-SET,Global2,🔰国际服务
############## IP规则 ##################
# 家庭局域网
- IP-CIDR,192.168.2.0/24,🏠回家
# Local Area Network
- RULE-SET,LocalAreaIP,DIRECT
# 使用来自 ipipdotnet 的 ChinaIP 以解决数据不准确的问题,使用 ChinaIP.yaml 时可禁用下列直至(包括)「GEOIP,CN」规则
- RULE-SET,ChinaIP,🍪国内服务
# GeoIP China
# - GEOIP,CN,DIRECT
- MATCH,🐟默认
如果需要更多细节,请指出。
打开 TUN 模式
和 开机自启
后,Clash Verge 开机自启时无法拿到管理员权限,TUN 模式不生效。相关报错如下:
ERROR Start Tun interface error: error creating interface: Access is denied.
参考 Clash For Windows,将 Clash Verge 注册为服务。
谢谢!
建议软件本身检测是否有配置文件的 path,没有则创建 %USERPROFILE%\.config\clash
0..0.25版本TUN模式流量不走分流规则,系统代理模式流量走分流规则但是UWP应用无网络。已在系统设置加密DNS。
使用的规则来自https://github.com/ACL4SSR/ACL4SSR/tree/master 配置文件和两种模式的log已经上传。
r9NAuUd6HWhE.yaml.txt
2022-03-22-194009.log
2022-03-22-194249.log
目前 linux 开机会显示界面,希望加个类似 silent start 的功能。
这个应该关闭吧
由于没有提供啥文档,暂时用issue介绍其中一些功能。
本项目依赖于 Dreamacro/clash 提供的clash core二进制。本项目只是对clash的部分配置提供方便易用的GUI操作,仅此而已。如果你发现某些clash config在本项目中存在问题,欢迎在issue里指出。
注意:当前版本对于clash的providers
的支持还只是能看不能用的状态,如果目前你有这个需求,可以考虑社区里其他更全面更完备的项目。
如果你希望使用非Premium版本的clash core,可以在应用的安装目录里直接替换clash.exe
即可(不同系统扩展名有差异)。需要注意的是,应用更新时可能会替换该程序,需要注意一下。
目前支持4种类型的配置文件,分别是Remote、Local、Script、Merge。其中,Remote和Local类型为 主配置文件,Script和Merge类型为 增强配置文件,用于修改主配置文件的。点New
可以创建这些配置文件(如下图),对于Remote类型的,也可以直接输入url import即可。 (备注:该模式主要参考了CFW的实现)
目前仅支持clash格式的配置链接,即响应体数据是符合clash配置格式的(utf8编码)。如果响应头中存在Subscription-Userinfo
字段,则其对应的流量信息会展示出来。远程配置可以点击右上角的更新按键自动更新。
新建本地配置之后,右键 - File
即可打开对应的本地配置文件(默认会用VScode打开,如果找不到执行程序则用open
打开)。在编写完本地配置之后右键 - select
即可刷新该配置。
该配置类型用于对主配置进行字段增加的操作,文件格式是yaml。该idea源于 CFW 配置预处理中的简便方法。目前仅支持6种操作类型。启用方法:右键 - enable
,在修改了文件之后,右键 - Refresh
触发刷新配置。
clash rules
配置一致,内容合并到rules 前clash rules
配置一致,内容合并到rules 后clash proxies
配置一致,内容合并到proxies 前clash proxies
配置一致,内容合并到proxies 后clash proxy-groups
配置一致,内容合并到proxy-groups 前clash proxy-groups
配置一致,内容合并到proxy-groups 后^0.0.26
新增rules
, proxies
, proxy-groups
, proxy-providers
, rule-providers
。类型为string[]
,可选值为tun
, dns
, hosts
, script
, profile
, payload
, interface-name
, routing-mark
use
可选值里提及的字段,直接设置这些字段将直接覆盖profile对应字段的内容。如果不是5个默认的字段,则需要在 use
里声明。该配置类型提供编写JS脚本修改配置的能力,JS运行时为browserjs而非nodejs。该idea源于 CFW 配置预处理中的Mixin方法。启用方法:右键 - enable
,在修改了文件之后,右键 - Refresh
触发刷新配置。
脚本中需要声明一个main函数,函数签名为main(params: object): object;
,也支持异步函数async main(params: object): object;
。函数入参为序列化为js object的clash配置,务必返回处理后的js object。
如果脚本中存在异常未处理,处理程序将跳过该脚本所做的操作,并且对应的profile项将变红和报错提示。
实现原理是利用Webview2里的JS引擎执行用户脚本,所以不能执行任何系统api的操作,即nodejs那些是不支持的。仅采用new Function
和严格模式执行用户脚本。
脚本安全性的考虑:应该不存在脚本突破Webview2的沙盒产生威胁。可能存在脚本通过tauri注入的对象操作系统api产生威胁。由于tauri官方有安全方面的审计,所以如果本项目存在这些安全问题,可能是因为 tauri 相关feature没用到但是没关闭,或者是我也不懂的东西请指教。总而言之,不要随便运行别人的脚本。
首先选择一个主配置文件,如果没有就是默认的空配置。其次如果存在Script和Merge这些增强配置,且已经enable启用了,则会按顺序进行链式处理。即前一个处理的结果作为下一个处理的输入。
程序会先用主配置进行clash启动,增强配置的更新是一个异步的过程,所以一定会存在更新延迟。
todo
最新的release,linux上没有标题栏,没有那些最大化最小化关闭的按钮,在KDE上和Gnome上都没有
2022-03-09 09:25:58 - [clash]: panic: The specified module could not be found.
2022-03-09 09:25:58 - [clash]:
2022-03-09 09:25:58 - [clash]: goroutine 1 [running]:
2022-03-09 09:25:58 - [clash]: golang.org/x/sys/windows.(*LazyProc).mustFind(...)
2022-03-09 09:25:58 - [clash]: golang.org/x/[email protected]/windows/dll_windows.go:325
2022-03-09 09:25:58 - [clash]: golang.org/x/sys/windows.(*LazyProc).Addr(...)
2022-03-09 09:25:58 - [clash]: golang.org/x/[email protected]/windows/dll_windows.go:333
2022-03-09 09:25:58 - [clash]: github.com/Dreamacro/clash/listener/device/wintun.CreateAdapter({0xb42737, 0x5}, {0xb42737, 0x5}, 0x126dfec0)
2022-03-09 09:25:58 - [clash]: github.com/Dreamacro/clash/listener/device/wintun/wintun_windows.go:69 +0x1f5
2022-03-09 09:25:58 - [clash]: github.com/Dreamacro/clash/listener/device.CreateTUNWithRequestedGUID({0xb42737, 0x5}, 0x126dfec0, 0x2328)
2022-03-09 09:25:58 - [clash]: github.com/Dreamacro/clash/listener/device/tun_windows.go:104 +0x49
2022-03-09 09:25:58 - [clash]: github.com/Dreamacro/clash/listener/device.CreateTUN({0xb42737, 0x5}, 0x2328)
2022-03-09 09:25:58 - [clash]: github.com/Dreamacro/clash/listener/device/tun_windows.go:96 +0x126
2022-03-09 09:25:58 - [clash]: github.com/Dreamacro/clash/listener/tun.New(0x12433080, 0x124330c0, 0x12433780, {0x126f0860, 0x2, 0x2})
2022-03-09 09:25:58 - [clash]: github.com/Dreamacro/clash/listener/tun/adapter.go:287 +0xd8
2022-03-09 09:25:58 - [clash]: github.com/Dreamacro/clash/listener.ReCreateTun.func2()
2022-03-09 09:25:58 - [clash]: github.com/Dreamacro/clash/listener/listener.go:256 +0x31f
2022-03-09 09:25:58 - [clash]: github.com/Dreamacro/clash/listener.ReCreateTun(0x12433080, 0x124330c0, {0x1, {{{0x0, 0xffffc6120001}, 0x12404100}, 0x10}, {0x126dfd00, 0x6}, 0x1, ...})
2022-03-09 09:25:58 - [clash]: github.com/Dreamacro/clash/listener/listener.go:264 +0x542
2022-03-09 09:25:58 - [clash]: github.com/Dreamacro/clash/hub/executor.updateTun(0x124336c0)
2022-03-09 09:25:58 - [clash]: github.com/Dreamacro/clash/hub/executor/executor.go:138 +0x102
2022-03-09 09:25:58 - [clash]: github.com/Dreamacro/clash/hub/executor.ApplyConfig(0x124336c0, 0x1)
2022-03-09 09:25:58 - [clash]: github.com/Dreamacro/clash/hub/executor/executor.go:80 +0x130
2022-03-09 09:25:58 - [clash]: github.com/Dreamacro/clash/hub.Parse({0x0, 0x0, 0x0})
2022-03-09 09:25:58 - [clash]: github.com/Dreamacro/clash/hub/hub.go:48 +0x17c
2022-03-09 09:25:58 - [clash]: main.main()
2022-03-09 09:25:58 - [clash]: github.com/Dreamacro/clash/main.go:99 +0x89d
2022-03-09 09:26:00 - profile enhanced status ok
以上是log,看起来是缺了文件。
想修改DNS配置,保存后启动界面空白,Clash Core不显示版本号。
能否增加便携版包, 解压即用
系统环境 Windows 11 21H2 22000.556 64位
软件版本 Clash.Verge_0.0.25_x64_green.zip
win11上emoji显示的是字母,linux版本就显示国旗
为啥Mac全屏的过程感觉很卡,Tauri 的问题吗?
如题 clash=1这种就行 还有订阅转换了的都可以
Some airport's subscription API needs User-Agent to identify client type and return profile, could you add User-Agent support for this? Thanks.
我一开始导入了个有proxy-providers的配置,然后软件就卡死了,重启也是一直卡死的状态,我把C盘.config的里的Clash Verge的全删了后又导入了个没有proxy-providers的配置可以正常使用,然后在用着这个配置的情况下去导入那个有proxy-providers的配置,切换过去还是会卡死。
如题
如题。打开后闪退。
直接打开应用里面的clash-verge,显示如下信息:
/Applications/clash-verge.app/Contents/MacOS/clash-verge ; exit;
thread 'main' panicked at 'called Result::unwrap()
on an Err
value: Os { code: 2, kind: NotFound, message: "No such file or directory" }', src/utils/init.rs:72:30
note: run with RUST_BACKTRACE=1
environment variable to display a backtrace
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
Deleting expired sessions...none found.
感谢~~
希望增加
1.无节点延时排序,使得很难找到低延时节点
2.不能自行自定义背景和主题
需求如题
如题
实在不好意思,找不到可以留言的地方,只能在Issues里给您发个消息
我看您的项目中有更新配置
"updater": {
"active": true,
"endpoints": [
"https://github.com/zzzgydi/clash-verge/releases/download/updater/update.json"
],
"dialog": false
}
我试尝试下载了 v0.0.12 版本,但打开软件后并没有触发更新提醒,想问下这个更新机制能正常使用吗?
之所以问这个问题,是因为我在学习使用Tauri开发小工具,在尝试使用更新配置时,可以看到更新提醒弹层,但没有真正的更新,看到您的项目中也有更新配置,所以特来向你请教一下。
本来是想自己去学习怎么去制作一个 Clash 的客户端,自己的需求是跨平台。在 github 闲逛的时候,发现了大大的开源库,因为之前自己都是用 idea 之类的,没接触过大大使用的这种方案,然后我自己平时也是做设计的,也想为开源库提供一点自己的贡献,所以想请教下大大是用什么编译的。
原因:safari 15.4的bug导致 material ui Grow 组件 transition flickers
修复方法:
Hi, this client is amazing, consumes little resources and is great
Please support the following features:
Thanks to the developers of this project
I build up an Darwin-arm64 bundle dmg and it works well
Clash Verge_0.0.22_aarch64.dmg
https://drive.google.com/file/d/1vIrURJGk9CR_OHYi6J_Ld7rbEvSYOf6I/view?usp=sharing
Thanks. Cool project.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.