FirstCommit
This commit is contained in:
20
requirements.md
Normal file
20
requirements.md
Normal file
@@ -0,0 +1,20 @@
|
||||
## Clash 节点订阅合并处理脚本
|
||||
|
||||
### 1. 整体概述
|
||||
|
||||
使用python 实现一个处理Clash 订阅信息的脚本, 该脚本通过读取`subscribe.json` 文件来获取所有订阅组信息,然后使用订阅组中的URL 来获取Clash 订阅,获取到的是Base64编码之后的文本,请解析出原始文本(标准的 Clash YAML 格式)并将其暂存在temp\\[group_name].yaml 文件中(注意:原始文本中包含中文和特殊字符,解析的时候充分考虑编码问题),然后将所有获取到的订阅信息整合并依据temp.yaml 为模板,生成新的merge.yaml 文件。
|
||||
|
||||
### 2. 订阅信息整合逻辑
|
||||
|
||||
1. 将temp\\[group_name].yaml中 所有proxies 节点信息中 剔除name 包含 [剩余流量,距离下次重置剩余, 套餐到期 ] 的节点,整合到merge.yaml 的proxies 中
|
||||
2. 将temp\\[group_name].yaml 中的 proxy-groups 第一组通常包含该订阅站点的所有节点,去除掉该组中 头部包含 ['Auto', '剩余流量', '距离下次重置剩余, 套餐到期, ] 等节点后将该 proxy-groups 添加到 merge.yaml 文件的 proxy-groups 中
|
||||
3. 梳理temp\\[group_name].yaml 文件 proxies 节点中的 香港、新加坡、USA 并添加在merge.yaml 文件Auto-香港、Auto-新加坡、Auto-USA 分组中。
|
||||
4. 香港节点name 中可能包含 HKG、🇭🇰、HongKong ; 新加坡节点name中可能包含 Singapore, 🇸🇬, SGP; 美国节点name 中可能包含:USA、🇺🇸;
|
||||
5. 不同temp\\[group_name].yaml 中 proxies 节点的name 可能存在冲突,如果发现name 冲突则修改后添加的name,修改规则为 oldName_Num
|
||||
|
||||
|
||||
|
||||
### 3. 代码规范
|
||||
|
||||
1. 使用uv 工具来管理python 第三方包
|
||||
2. 代码规范,结构清晰
|
||||
Reference in New Issue
Block a user