Clash Verge Rev 中的 Profile Enhancement (配置文件增强) 是一个复杂的系统,它允许用户在标准配置文件提供的基本设置之外,修改、扩展和自定义其代理配置。该系统通过合并配置、应用 JavaScript 转换和 TUN 模式等特殊增强来实现高级自定义。
Profile Enhancement 的工作原理是接收一个基础配置文件,并应用一系列转换来生成 Mihomo (Clash) 核心使用的最终配置。这些转换遵循特定的顺序,可以修改配置的任何方面。
来源: src-tauri/src/enhance/mod.rs12-286
Clash Verge Rev 支持多种配置文件增强类型,每种类型在配置自定义过程中都起到特定作用。
合并增强允许合并多个配置文件或将特定设置添加到基础配置中。这对于将通用设置应用到多个配置文件非常有用。
脚本增强使用 JavaScript 以编程方式修改配置。这提供了最大的灵活性,允许根据条件进行复杂的转换和动态调整。
规则增强专门针对配置的 rules 部分,允许用户添加、删除或修改代理路由规则。
代理增强侧重于修改 proxies 部分,使用户能够添加或自定义代理服务器。
组增强修改 proxy-groups 部分,允许用户将代理组织成具有特定选择策略的组。
来源: src-tauri/src/config/prfitem.rs11-56 src-tauri/src/config/prfitem.rs72-107
增强过程遵循特定的顺序,以确保所有修改都得到正确应用。
clash_config 的默认设置合并。来源: src-tauri/src/enhance/mod.rs17-285
增强过程的主入口是 enhance 模块中的 enhance() 函数。此函数
enhance() -> (Mapping, Vec<String>, HashMap<String, ResultLog>)
来源: src-tauri/src/enhance/mod.rs17-285
Profile 增强以“链项目”的形式表示,具有不同的类型。
ChainType::Merge - 用于合并增强ChainType::Script - 用于脚本增强ChainType::Rules - 用于规则增强ChainType::Proxies - 用于代理增强ChainType::Groups - 用于组增强来源: src-tauri/src/enhance/mod.rs8-9 src-tauri/src/enhance/chain.rs (推断)
TUN 模式由于其对系统网络的影响,需要特殊处理。 tun 模块中的 use_tun 函数处理此配置。
来源: src-tauri/src/enhance/tun.rs21-80
当启用 TUN 模式时,增强功能会
来源: src-tauri/src/enhance/tun.rs21-80
创建配置文件时,系统会自动创建相关的增强项目。
来源: src-tauri/src/config/prfitem.rs135-226 src-tauri/src/config/prfitem.rs230-426
对于本地和远程配置文件,系统会
option 字段将增强项目链接到配置文件。来源: src-tauri/src/config/prfitem.rs176-203 src-tauri/src/config/prfitem.rs376-402
每种增强类型都有特定的模板和函数用于创建和应用增强。
| 增强类型 | 创建函数 | 模板常量 | 增强应用 |
|---|---|---|---|
| 合并 | from_merge() | ITEM_MERGE 或 ITEM_MERGE_EMPTY | use_merge() |
| 脚本 | from_script() | ITEM_SCRIPT | use_script() |
| 规则 | from_rules() | ITEM_RULES | use_seq() 配合 "rules" |
| 代理 | from_proxies() | ITEM_PROXIES | use_seq() 配合 "proxies" |
| 分组任务 | from_groups() | ITEM_GROUPS | use_seq() 配合 "proxy-groups" |
来源: src-tauri/src/config/prfitem.rs430-541 src-tauri/src/enhance/mod.rs144-195
Profile Viewer 组件提供了创建和编辑配置文件的界面,包括设置增强选项。
来源: src/components/profile/profile-viewer.tsx1-344
TUN 模式设置有一个专用的 UI 组件,允许配置:
更改 TUN 设置后,将触发配置文件增强过程以应用更改。
来源: src/components/setting/mods/tun-viewer.tsx1-231
配置文件增强系统与配置系统紧密集成。
option 字段引用这些增强。来源: src-tauri/src/config/profiles.rs1-489 src-tauri/src/enhance/mod.rs17-285
Clash Verge Rev 中的 Profile Enhancement 系统提供了一种强大而灵活的方式来定制代理配置。通过支持多种增强类型和结构化的增强流程,用户可以在保持组织性和清晰性的同时创建复杂的配置。
该系统是 Clash Verge Rev 有别于其他 Clash GUI 客户端的关键特性之一,它使高级用户能够根据特定需求微调其代理设置,同时为经验较少льзова 提供合理的默认设置。
刷新此 Wiki
最后索引时间2025 年 4 月 18 日(f6ea01)