https://github.com/ryan961/clashset
clashset: 根据订阅链接以及预先设置的规则模版和配置生成 clash 配置文件。
https://github.com/ryan961/clashset
clash clashx-pro config proxy-groups proxy-providers rule
Last synced: 3 months ago
JSON representation
clashset: 根据订阅链接以及预先设置的规则模版和配置生成 clash 配置文件。
- Host: GitHub
- URL: https://github.com/ryan961/clashset
- Owner: ryan961
- License: mit
- Created: 2023-05-12T04:28:54.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2025-03-01T07:19:56.000Z (over 1 year ago)
- Last Synced: 2025-03-01T08:20:39.388Z (over 1 year ago)
- Topics: clash, clashx-pro, config, proxy-groups, proxy-providers, rule
- Language: Go
- Homepage:
- Size: 1.81 MB
- Stars: 7
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# clashset
## 执行参数说明
```bash
✗ ./clashset -h
Usage of ./clashset:
-dir string
配置文件地址 📁 , 默认配置文件 template.yaml & proxy-filters.yaml 文件夹 (default "./")
-file string
导出配置文件名称 📃 (default "config.yaml")
-interval uint
proxy-providers 配置刷新间隔时长(s) (default 86400)
-out string
导出文件夹 📁 (default "out/")
-proxy string
http proxy ✈️
-urls string
订阅链接地址 🔗 (多个订阅链接之间 "," 分隔)
```
## template.yaml 自定义配置模版
预先定义用户配置文件模版(除 `proxy-providers` 和 `proxy-groups`
的其他配置),脚本会根据订阅地址和规则生成填充 `proxy-providers`和 `proxy-groups` 配置。`rule-provider`、`rules`...相关配置自行在
template.yaml 中配置。
## configuration.yaml 脚本配置
* `filters`: `proxy-providers` 中根据 `filter` 生成的节点分组,机场间单独分开(例如:`name: jp-airport1`
),后面会填充到对应的 `use_filters` 中,
对于 `filter` 正则匹配不存在节点的分组则会自动跳过。
```yaml
filters:
- { name: "hk", filter: '香港' }
- { name: "tw", filter: '台湾' }
- { name: "jp", filter: '日本' }
```
* `groups`: `group` 为 `GroupCommonOption`
的相关配置(详见:https://github.com/Dreamacro/clash/blob/7f1b50f4a70fe353b8ea5d31ecfd4c751b3f2eb0/adapter/outboundgroup/parser.go#L23,
), `use_filters` 为所使用的 `filters` 中分组名称,`rm_airports` 表示是否移除 `proxies` 中的机场节点(默认会添加所有机场分组)。
```yaml
groups:
- { group: { name: "Apple", type: select, proxies: [ "DIRECT", "Proxy" ] }, use_filters: [ "us","jp" ] }
- { group: { name: "Amazon", type: select, proxies: [ "Proxy" ] }, use_filters: [ "us","sg","hk" ] }
- { group: { name: "YouTube", type: url-test, proxies: [ "Proxy" ], url: 'http://www.gstatic.com/generate_204', interval: 300 }, rm_airports: true }
```