撸了一个 Clash 的 GUI, 自带规则开箱即用

2022-05-15 09:49:35 +08:00
 wenjie0032

一直使用 ClashX 连接机场, 但是配置文件的维护上很不方便

一是需要手动维护, 二是订阅多个机场时 proxy 的规则无法复用, 需要来回复制

所以就撸了一个小工具, 自带规则, 维护相关配置, 使用时只需要填写机场的订阅链接即可

默认的规则已经基本够用了, 包括: 广告屏蔽, 本地走 REJECT, GFW 走 proxy 等

技术栈: 使用 wails : go + webview 来构建程序

github 直达: https://github.com/daodao97/EasyClash

欢迎下载使用

13125 次点击
所在节点    程序员
105 条回复
wenjie0032
2022-05-17 08:32:32 +08:00
@xiaoke #77 这个还没配合前端的 ui 联动支持, 后续得空添加吧
ysc3839
2022-05-17 10:56:27 +08:00
关于“app 已损坏”那个提示,前段时间我跟一个朋友研究了下,似乎只需要用 codesign 自签名 (adhoc),打开时就会提示“来自未知开发者”,两次右键打开即可运行。
nyxsonsleep
2022-05-17 11:12:35 +08:00
@Macolor21 可以用订阅转换吧
ysc3839
2022-05-17 11:18:43 +08:00
@Buges 关于 DNS 问题,我曾经想过一个方案,需要一个无污染、且对于国内 CDN 域名会返回国内 IP(无论地区是否正确)的 DNS 服务,称其为 DNS A ,本地运营商的 DNS 称其为 DNS B 。具体工作流程是,首先请求 DNS A ,返回的结果如果不是国内 IP 则直接使用,如果是国内 IP ,则再请求 DNS B ,然后使用 DNS B 返回的结果。
这个方案是否使用代理都适用,好处是避免手动维护黑白名单(不过有可能 DNS A 背后有人维护黑白名单,这个得看 DNA A 的质量如何了),且国内 CDN 可以正常工作,坏处是 DNA A 必须是可信的。
这个方案我一直没有实施,因为我希望自建一个 DNS A ,但似乎没找到比较简单的方案,当然也有可能是我没仔细找。
如果信得过第三方的话,那符合 DNS A 条件的 DNS 还是挺多的。
Honekoneke
2022-05-17 12:21:41 +08:00
所以就是说,clash 混合配置这一栏有无推荐或即开即用的写法,这种规则类对普通用户研究门槛有点高…
AoEiuV020CN
2022-05-17 12:24:53 +08:00
@Buges #22 如果完全没有请求国内 dns 服务器,却有正常上网的流量,上面会不会觉得你心虚,在什么见不得光的事,于是针对你?
TcDhl
2022-05-17 13:28:45 +08:00
@studyingss #80
好嘞, 谢谢
Buges
2022-05-17 14:00:38 +08:00
@ysc3839 你说的这种方案,用 ecs 可以近似达成。DNS A 设为 8888/9999 等支持 ecs 的 doh/dot 解析器,并指定 ecs 的 ip 为 china ip list 中随便选一个确保属于大陆 IP 的段。DNS B 设为 1111 的 doh/dot 解析器(没有 ecs )。DNS C 为普通国内 DNS 服务器。DNS A 和 B 都是全部走代理的,DNS C 直连。
解析一个域名走以下流程:
1. 并发向 DNS A 和 DNS B 发出解析请求。
2. 判断 DNS A 的返回结果是否为大陆 IP ,如果是忽视结果并向 DNS C 再次请求并将结果加入 ipset/nft set 中。如果不是则返回 DNS B 的结果。

这套方案有以下好处:
1. 所有非在大陆无 CDN 的域名全部通过境外 dot/doh 解析,防止暴露给任何大陆实体,甚至不会暴露给代理服务提供商(如果代理提供商没有进行 tls sniffing 或启用 ech 的话)。
2. 所有正常支持 esc 的大陆域名( dnspod 等)都可以智能直连。
3. DNS A 和 DNS B 并发请求,耗时接近。DNS C 直连速度很快,虽然请求三次但总体对网络响应时间影响较小。
Buges
2022-05-17 14:02:13 +08:00
@AoEiuV020CN 国内直连的网站都请求国内 dns 服务器啊,没有任何访问境外网站的记录。上面看来绝对是妥妥的良民(当然仔细查肯定还是能发现使用代理)。
xiaoke
2022-05-17 15:52:38 +08:00
@wenjie0032 star+1
ysc3839
2022-05-17 16:20:12 +08:00
@Buges 我就是试过 EDNS Client Subnet 对于某些国内 CDN 不可行才提出这个方案的。当时遇到几个网站在改用 OpenDNS+dnscrypt 后异常缓慢,试过几个公共 DNS 都是这样,最后直接去请求那几个域名的权威 DNS 才发现根本不理会 ECS 。
因为当时在学校,接下来就改用一些高校公开提供的 DNS 了(只能教育网访问,不保证非本校的可用性)。然后发现那些高校 DNS 虽然对于国内 CDN 能保证返回的是国内 IP ,但是区域是错的,于是就提出了前面那个方案。
Buges
2022-05-17 16:29:51 +08:00
@ysc3839 这个方案还同时配合 china ip + geosite:cn 双白名单,凡是解析出 cn ip 的直连,凡是在 cn 域名列表的,直连解析。
既支持全球 CDN 又不支持 ecs 的网站不多吧,有少数的可以手动加白。
ysc3839
2022-05-17 16:35:13 +08:00
@Buges 就是不想手动维护黑白名单,就算要手动维护,有的时候知道是哪个域名都很麻烦,比如使用 app 的情况。
而且还得考虑有没有现成的工具能实现这种逻辑,不然自己写代码挺麻烦的。我之前调查过,用 overture 这个软件就可以实现,好像只需要改代码的一个地方,把 if 逻辑反过来。
Buges
2022-05-17 16:51:23 +08:00
@ysc3839 这样的特例很少见,大部分用社区的白名单就都覆盖了,而且偶尔出错就错吧,流量大再加白。
软件实现用 coredns 写个插件还是挺方便的。
wwqgtxx
2022-05-17 18:43:16 +08:00
@Buges @ysc3839 @studyingss @yanyumihuang
话说你们可以试试 https://github.com/MetaCubeX/Clash.Meta/tree/Alpha#dns-configuration 这个版本的核心,可以支持远程 DNS 解析的
ColinZeb
2022-05-17 23:20:17 +08:00
@wwqgtxx 这个是基于 clash premium 吗,我印象 premium 不是没开源吗,怎么做到的
wwqgtxx
2022-05-18 07:18:59 +08:00
@ColinZeb 只不过是重新实现了一遍 clash premium 的部分功能,并没有用 clash premium 的源码
hanbing135
2022-05-18 20:56:08 +08:00
@275761919 可以支持 win11 arm 版本吗
275761919
2022-05-19 09:12:28 +08:00
@hanbing135 应该可以,找个机会
ericgui
2022-05-23 15:18:03 +08:00
这么快就被喝茶了?

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

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

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

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

© 2021 V2EX