一个强大易用的 Clash 配置文件生成工具,支持多种订阅格式,可自动解析和合并多个节点来源,提供直观的GUI界面。
- 🔄 多订阅合并:支持从多个订阅源、直连节点和文件中加载节点并合并
- 🔌 多协议支持:兼容 Vmess、Shadowsocks、ShadowsocksR、Trojan、Hysteria、Hysteria2 等协议
- 🌐 Clash配置文件生成:生成符合 Clash Verge 标准的配置文件
- 🔧 端口映射:使用标准 listeners 配置为特定节点创建 HTTP/SOCKS 监听器
- 📊 可视化界面:直观的 Streamlit 界面,方便操作和配置
- 📂 配置预设:保存和加载常用配置,提高使用效率
- 🔍 节点分组:按订阅源分组显示节点,支持批量操作
- 🌈 中文名称支持:正确解析包含中文和Emoji的节点名称
- Python 3.7 或更高版本
- 适用于 Windows、macOS 和 Linux
- 克隆仓库
git clone https://github.com/XGCoder/Config_Merge_Shunt.git
cd Config_Merge_Shunt
- 安装依赖
pip install -r requirements.txt
- 启动程序
streamlit run gui.py
启动程序后,您将看到一个直观的Web界面,分为以下几个部分:
- 侧边栏:包含全局配置选项和配置预设管理
- 主界面:包含多个选项卡,用于管理不同类型的节点来源和生成配置
在"订阅链接"选项卡中:
- 输入一个或多个订阅URL,每行一个
- 点击"保存订阅链接"按钮保存输入的链接
- 在配置生成选项卡中点击"加载节点"获取这些订阅的节点
在"直连节点"选项卡中:
- 输入单个节点链接或上传包含节点的文件
- 支持 vmess://、ss://、trojan:// 等多种格式的链接
- 点击"保存直连节点"按钮保存输入的节点
在"配置生成"选项卡中:
- 点击"加载节点"按钮加载所有订阅和直连节点
- 节点将按来源分组显示,可进行选择操作
- 设置端口映射(可选)
- 点击"生成配置"按钮生成最终配置文件
- 点击"下载配置"按钮下载生成的配置文件
通过端口映射功能,可以为特定节点分配专用端口:
- 启用侧边栏中的"启用端口映射"选项
- 点击"加载节点"加载所有节点
- 在端口映射配置表中选择要映射的节点
- 可选择调整端口号(默认从设定的起始端口开始递增)
- 点击"保存端口映射配置"保存设置
每个映射节点将创建一个mixed类型监听器,同时支持HTTP和SOCKS5协议访问。程序会自动为每个映射端口生成相应的分流规则(DST-PORT规则),确保通过该端口的流量直接使用对应的节点,无需通过规则选择器选择。
使用方法示例:
- 如果节点"HK-01"映射到端口42001,则可以通过设置代理为"127.0.0.1:42001"直接使用该节点
- 该端口同时支持HTTP和SOCKS5代理协议
配置预设功能可以保存常用的配置组合,方便下次快速加载:
- 在侧边栏的"配置管理"部分设置所有参数
- 输入预设名称(或留空使用默认日期格式)
- 点击"保存当前配置为预设"
- 下次使用时,只需从下拉列表选择预设并点击"加载选中的预设"
- Clash 配置文件(YAML格式)
- V2Ray 订阅(Base64编码)
- 普通文本节点列表
- JSON格式的节点列表
- Vmess
- Shadowsocks
- ShadowsocksR
- Trojan
- Hysteria
- Hysteria2
本工具专门为 Clash Verge 设计,生成的配置文件完全兼容 Clash Verge:
- 支持生成标准的 proxies, proxy-groups 和 rules 配置
- 使用标准的 listeners 配置替代不被支持的 mixed 类型代理
- 正确处理 HTTP 和 SOCKS 协议的端口映射
- 支持解析包含中文和 Emoji 的节点名称
Q: 配置文件导入 Clash Verge 报错?
A: 确保使用最新版本的 Clash Config Generator,检查订阅源是否可访问,确认使用的节点格式是 Clash Verge 支持的类型。
Q: 部分节点无法正常使用?
A: 检查节点配置是否完整,确认使用的协议是否受支持,验证节点服务器是否在线。
Q: 端口映射不起作用?
A: 确保为节点启用了端口映射功能,检查映射的端口是否被其他程序占用,验证配置文件中是否正确生成了 listeners 部分。
Q: 如何添加自定义规则?
A: 目前版本使用内置的规则模板,未来版本将支持自定义规则导入功能。
Config_Merge_Shunt/
├── clash_config_generator/ # 核心代码包
│ ├── __init__.py # 包初始化
│ ├── config_generator.py # 配置生成核心逻辑
│ ├── subscription.py # 订阅处理和解析
│ ├── node_parser.py # 各协议节点解析器
│ ├── templates.py # 规则和代理组模板
│ ├── utils.py # 工具函数
│ └── default_rules.yaml # 默认规则配置
├── gui.py # GUI界面(Streamlit)
├── cli.py # 命令行接口
├── local_configs/ # 本地配置预设存储目录
├── README.md # 项目说明
├── LICENSE # 许可证文件
├── .gitignore # Git忽略配置
└── requirements.txt # 依赖列表
- 0.1.0 - 初始版本发布
- 支持多种订阅源和节点格式
- 提供基本的配置生成功能
- 实现端口映射功能
- 添加配置预设管理
欢迎贡献代码或提交问题报告!如果您想参与项目开发,请:
- Fork 本仓库
- 创建您的特性分支 (
git checkout -b feature/amazing-feature
) - 提交您的更改 (
git commit -m 'Add some amazing feature'
) - 推送到分支 (
git push origin feature/amazing-feature
) - 打开一个 Pull Request
本项目采用 MIT 许可证 - 详细信息请查看 LICENSE 文件
- Streamlit - 提供强大的Web界面
- Clash - 优秀的代理工具
- Clash Verge - 优秀的Clash客户端