{"id":15018364,"url":"https://github.com/magicdawn/clash-config-manager","last_synced_at":"2025-04-05T07:04:28.864Z","repository":{"id":43923601,"uuid":"287908704","full_name":"magicdawn/clash-config-manager","owner":"magicdawn","description":"macOS ClashX 配置生成器","archived":false,"fork":false,"pushed_at":"2025-03-13T08:08:08.000Z","size":12102,"stargazers_count":108,"open_issues_count":1,"forks_count":10,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-29T06:05:17.181Z","etag":null,"topics":["clash","clashx","v2ray"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/magicdawn.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"license","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-16T09:01:27.000Z","updated_at":"2025-03-13T08:08:12.000Z","dependencies_parsed_at":"2023-12-17T16:30:39.480Z","dependency_job_id":"e9112538-a61e-4187-90ca-1df44ee02068","html_url":"https://github.com/magicdawn/clash-config-manager","commit_stats":{"total_commits":440,"total_committers":2,"mean_commits":220.0,"dds":"0.018181818181818188","last_synced_commit":"28a717dd53d6aaca928545f9dbfd0e5d30b3338e"},"previous_names":[],"tags_count":48,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magicdawn%2Fclash-config-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magicdawn%2Fclash-config-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magicdawn%2Fclash-config-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magicdawn%2Fclash-config-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/magicdawn","download_url":"https://codeload.github.com/magicdawn/clash-config-manager/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247299831,"owners_count":20916190,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clash","clashx","v2ray"],"created_at":"2024-09-24T19:51:53.108Z","updated_at":"2025-04-05T07:04:28.842Z","avatar_url":"https://github.com/magicdawn.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# clash-config-manager\n\n\u003e 适用于 macOS ClashX / ClashX.Meta 的 GUI 配置合并工具\n\n## 下载\n\n[**下载 .dmg 文件**](https://github.com/magicdawn/clash-config-manager/releases/latest)\n\n## 类似软件\n\n- https://github.com/crazyhl/PullAndMergeConfig\n- https://github.com/surgioproject/surgio\n\n## 功能\n\n- [x] 支持从订阅中摘取 proxies\n- [x] 支持远程规则\n- [x] 支持快捷新建规则, 支持从 Chrome 当前 Tab 或 剪贴板 读取 url, 支持根据 url 解析成 DOMAIN-KEYWORD / DOMAIN-SUFFIX 规则\n- [x] 支持在 vscode/Atom 中编辑规则\n- [x] 支持导入导出数据, webdav 备份数据, 支持合并数据, 支持导出部分数据用于分享\n- [x] 内置基础配置, 导入内置基础配置 + 添加一个 subscribe 即可开始使用.\n- [x] 支持类似 vscode 的 command palette 快速操作\n- [x] 支持解析 `subscription-userinfo` header\n- [x] 支持使用多个订阅, 参见多个订阅\n\n## 预览\n\n![image](https://user-images.githubusercontent.com/4067115/199737198-68e0e3b1-3b48-4b0d-bcbe-50a0257c08d5.png)\n\n![image](https://user-images.githubusercontent.com/4067115/188063804-07b4bf95-f8f8-4917-b1a0-47cbd07cc24c.png)\n\n![image](https://user-images.githubusercontent.com/4067115/188063975-50d08893-d350-405a-baf8-dcc6bbaf1fc2.png)\n\n![image](https://user-images.githubusercontent.com/4067115/188064097-ecb5867f-d4b1-4e6b-97b2-f768f9271d26.png)\n\n![image](https://user-images.githubusercontent.com/4067115/188064169-3d07ed86-03d1-4d9d-befb-e97684383825.png)\n\n![image](https://user-images.githubusercontent.com/4067115/188064365-9dbf9152-9875-4a6c-b0d6-69a6238fb529.png)\n\n![image](https://user-images.githubusercontent.com/4067115/188064431-ce4d3639-aebc-45f1-b837-b6e117a3aced.png)\n\n## 概念解释\n\n- 订阅管理: 服务器图标, 管理订阅. 原理是从 clash config 摘取 `proxies` 字段,\n- 配置源(Partial Config): clash 完整配置的一部分. 配置分为本地和远程配置, 有一些订阅会返回 clash 完整的配置文件, 即是远程配置.\n- 配置组装(Config Builder): 通过拖拽订阅和配置源(Partial Config) 组成一份完整的 clash 配置. 其中订阅会填充最后配置的 Proxy 部分, 可多选.\n\n## 开始使用\n\n1. 导入基础设置\n2. 添加订阅\n3. 生成配置, 在 clashX 中选择的 clash-config-manager\n4. :rocket:\n\n### 带规则的订阅每次更新导致编辑的自定义规则丢失的问题\n\n1. 添加一个远程规则, 地址填订阅地址\n2. 添加一个本地自定义规则, 内容填写 `rules: ...blabla`\n3. 在当前配置页使用这两个配置源, 生成配置. 在 clashX 里选择 `clash-config-mananger` 即可.\n4. 这种可以使用, 但是 2 中的 rules 如果想使用 proxy, 需要知道 1 里面的 proxy-group 中的名称. 不是很灵活, 建议使用纯服务器订阅 / 规则分开处理.\n\n比如, rules 里写了 \"proxy-group: XXX-Provider\"\n2 中添加的规则需要使用这个名字, 比如 `- DOMAIN-KEYWORD,google,XXX-Provider`, 或者使用 `Proxy`, 本软件中 `Proxy` 总是存在\n\n## 功能\n\n### command palette\n\n- 使用 cmd + shift + p 打开 command palette\n\n### `forceUpdate`\n\n订阅 \u0026 远程配置默认会使用缓存, 当天有效, 如果不想使用缓存:\n\n- 可以使用主页按钮 \"更新订阅,并重新生成配置文件\"\n- 或者 command palette 里的 `强制更新`\n\n### 多个订阅\n\n- 可以使用多个订阅\n- 每个订阅会生成 `\u003c订阅\u003e` / `\u003c订阅\u003e-最快` / `\u003c订阅\u003e-可用` / `\u003c订阅\u003e-手选` 分组, 分别对应 `url-test` / `fallback` / `select` 类型的分组\n- 会生成额外 proxy-group, `所有节点` / `所有节点-最快` / `所有节点-可用` / `所有节点-手选`\n\n例如有订阅 sub1 \u0026 sub2, 会自动生成:\n\n- `Proxy` =\u003e 选择(所有节点, 所有节点-最快, 所有节点-可用, 所有节点-手选, sub1, sub1-最快, sub1-可用, sub1-手选, sub2, sub2-最快, sub2-可用, sub2-手选)\n- `所有节点` =\u003e 选择(所有节点-最快, 所有节点-可用, 所有节点-手选)\n- `所有节点-最快` =\u003e url-test(sub1 \u0026 sub2 所有节点)\n- `所有节点-可用` =\u003e fallback(sub1 \u0026 sub2 所有节点)\n- `所有节点-手选` =\u003e select(sub1 \u0026 sub2 所有节点)\n- `sub1` =\u003e 选择(sub1-最快, sub1-可用, sub1-手选)\n- `sub1-最快` =\u003e url-test(sub1 所有节点)\n- `sub1-可用` =\u003e fsub1back(sub1 所有节点)\n- `sub1-手选` =\u003e select(sub1 所有节点)\n- `sub2` =\u003e 选择(sub2-最快, sub2-可用, sub2-手选)\n- `sub2-最快` =\u003e url-test(sub2 所有节点)\n- `sub2-可用` =\u003e fallback(sub2 所有节点)\n- `sub2-手选` =\u003e select(sub2 所有节点)\n\n### proxy-group filter\n\n```yml\nproxy-groups:\n  - { name: 🇯🇵JPN, type: select, proxies: [], filter: JPN }\n  - { name: 🇭🇰HKG, type: select, proxies: [], filter: HKG }\n```\n\n支持通过名称筛选 proxies, 组成新的 proxy-group\n\n### 配置类型\n\n- `本地 config`: 存储在本机中, 可以是 partial config\n- `远程 config`: url 返回一个配置, 可以是 partial config, 例如只包含 `rules: []`\n\n### 规则 TARGET\n\n```yml\nrules:\n  - DOMAIN-SUFFIX,youtube.com,\u003cTARGET\u003e\n  #                             ⏫\n```\n\n规则的 `TARGET` 可以是\n\n- clash 内置的 `DIRECT` / `REJECT` / `no-resolve`\n- `Proxy` 本项目固定使用的 proxy-group 名称\n- 自动生成的分组名 (例如 ALL, sub1, sub2 ....)\n- 自定义名称\n\n#### 自定义名称作为 TARGET\n\n例如 `DOMAIN-SUFFIX,youtube.com,youtube.com` 这样的话 clash-config-manager 会自动生成名为 `youtube.com` proxy-group\n可以从 GUI 中选择 `DIRECT` / `Proxy` / `根据订阅生成的组名` / `REJECT`\n\n## 更新日志\n\n[CHANGELOG.md](CHANGELOG.md)\n\n## License\n\nthe MIT License http://magicdawn.mit-license.org\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmagicdawn%2Fclash-config-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmagicdawn%2Fclash-config-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmagicdawn%2Fclash-config-manager/lists"}