beef
(Beef)
2024 年9 月 23 日 07:10
1
开发调优 Clash #订阅 机场
背景
机场订阅的默认分流规则通常都并不试用,比如某些特定网站我走大陆线路,部分网站我走新加坡线路,一部分我走美国线路。因此我会有需要更改订阅规则的需求。
本人使用的设备是 windows,mac 和 安卓。
问题
我目前的解决方式有两种
订阅 url 后,手动修改配置文件,添加自定义的规则。但问题就是刷新订阅源就会需要重新手动修改配置文件,不刷新订阅节点又会逐渐失效。
使用 clash for windows 的 parsers 功能,可以预定义配置,每次刷新都会走 parsers 的规则添加自定义的规则。这个使用方式非常棒,非常优雅,但遗憾的是 clash for windows 这个软件被公司的杀毒软件封杀了无法使用,而其他的 clash 软件又不支持 parsers 功能。
使用 surge mac,这个软件能提供类似 parsers 的功能,且更易于配置。但他的问题是只支持 mac 设备,我的其他设备又需要一套独立的配置,不够方便。
订阅转换。但订阅转换和第1点类似,不发自动跟随订阅源刷新节点。
请问有什么方式能解决我的需求痛点呢。
6 个赞
icutool
(查德)
2024 年9 月 23 日 07:12
2
我现在的办法是,自己写了个订阅规则转换平台
简单实现一些增删改查
配置好机场url账号密码
这样获取的订阅就是自己想要的了
恕我直言,是你不会用clash。
clash 支持从HTTP加载订阅,也支持从HTTP加载规则文件。
你需要:手写一份配置文件,添加自建节点/机场订阅,以及自定义规则。
如何实现?详细阅读:
https://clash.wiki
4 个赞
beef
(Beef)
2024 年9 月 23 日 07:29
8
哈哈哈哈,我有点标题党了,谢谢你的解决方案,这个方式非常棒
Brantfang
(Brantfang)
2024 年9 月 23 日 08:01
10
proxy-providers 这个可以提供代理节点 ,然后自己写规则,然后在proxy-groups的proxies指定代理节点就行啊。
1 个赞
但是我用的v2rayN,所有分流规则和订阅都是分开的,随你什么节点,过来就得按照我的规则,不过确实没有分流,不过感觉后续可能会有吧
node.js做订阅的统一处理就行了
除了有点门槛,其他全是好处
一次配置,所有端都不用动
灵活性也高
/**
* 转换配置方法的入口 机场content -> 我的ClashConfig
* 获取机场proxy配置,填充入full模板
* steps: 1.清洗full中非GroupNames策略(proxy)并填充机场代理
* 2.处理full group中旧的代理
* @param content 机场订阅文本
* @param subParam 客户端参数
* */
export function myTrans(content: string, subParam: ClashSubParam): string {
let airConfig = YAML.parse(content) as ClashConfig;
// 自己修改规则和配置
return YAML.stringify(airConfig);
}
Dr.X
2024 年9 月 23 日 08:12
13
你这需求太简单了,看文档就能自己随便撸了。完全是内核支持直接配置的需求。
https://wiki.metacubex.one/config/
我这里有一个还没写完的文档,你也可以简单参考一下
Clash Guide - Clash 从入门到精通
还没写分流规则组
1 个赞
clash for windows,clash verge 都支持预规则的吧
dodoco
(嘟嘟可)
2024 年9 月 23 日 08:42
16
恕我直言,你这样发问,很多人知道怎么解决,也不会教你