本文档提供了 Clash Verge Rev 设置和配置 UI 的技术概述。它涵盖了设置界面的结构、组件和功能,包括用户偏好如何被管理、持久化和应用于系统。
有关代理管理的信息,请参阅 代理管理系统。有关代理管理的信息,请参阅 代理管理。
Clash Verge Rev 中的设置 UI 分为两个主要部分:系统设置和 Clash 设置。每个部分包含一组可配置选项,用于控制应用程序行为的不同方面。
来源:src/components/setting/setting-system.tsx src/components/setting/setting-clash.tsx
设置 UI 使用 React 组件和 Material-UI 构建。设置被组织成管理应用程序配置不同方面的可重用组件。
来源:src/components/setting/setting-system.tsx src/components/setting/setting-clash.tsx src/components/setting/mods/setting-comp.tsx
系统设置部分控制 Clash Verge Rev 与操作系统交互的方式。
TUN 模式可在系统级别拦截数据包,提供一种通过 Clash 捕获和重定向所有流量的方法。这对于不尊重系统代理设置的应用程序特别有用。
TUN 模式的可用性取决于运行模式
来源:src/components/setting/setting-system.tsx103-154 src/components/shared/ProxyControlSwitches.tsx182-203
系统代理设置控制 Clash Verge Rev 是否应配置操作系统的代理设置。
启用时,应用程序会根据端口配置自动设置系统代理。禁用时,系统代理设置将被恢复。
来源:src/components/setting/setting-system.tsx155-191 src/components/shared/ProxyControlSwitches.tsx108-179
自动启动允许 Clash Verge Rev 在系统启动时自动启动。
此功能在管理员模式下不可用,如警告工具提示所示。
来源:src/components/setting/setting-system.tsx193-235 src/components/home/system-info-card.tsx107-115
静默启动决定应用程序是在启动时最小化到系统托盘,还是显示主窗口。
此设置会影响应用程序的启动行为,但不需要系统权限。
来源:src/components/setting/setting-system.tsx237-253 src/components/home/system-info-card.tsx107-115
Clash 设置部分控制 Clash 核心的行为,包括网络配置、日志记录和端口设置。
允许局域网使本地网络上的其他设备能够使用 Clash Verge Rev 作为代理服务器。
启用时,Clash 将监听所有网络接口,而不仅仅是 localhost,从而允许外部连接。
来源:src/components/setting/setting-clash.tsx120-143
DNS 覆盖允许 Clash Verge Rev 为 Clash 核心配置 DNS 设置。
启用时,Clash 会使用配置文件中指定的 DNS 设置,这些设置可以通过 DNS 查看器对话框进行编辑。
来源:src/components/setting/setting-clash.tsx145-159
IPv6 设置控制 Clash 是否处理 IPv6 流量。
启用时,Clash 除了 IPv4 连接外,还会处理 IPv6 连接。
来源:src/components/setting/setting-clash.tsx161-172
端口配置允许用户指定 Clash 用于不同协议的端口。
端口配置对话框具有平台感知功能,仅显示与当前操作系统相关的端口选项。
来源:src/components/setting/setting-clash.tsx219-248 src/components/setting/mods/clash-port-viewer.tsx
日志级别设置控制 Clash 核心日志的详细程度。
可用日志级别:Debug、Info、Warning、Error、Silent
来源:src/components/setting/setting-clash.tsx196-217
设置 UI 包含几个用于配置应用程序特定方面的对话框组件。
端口配置对话框提供了配置 Clash 使用的各种端口的用户界面,并包含特定于平台的选项。
来源:src/components/setting/mods/clash-port-viewer.tsx
设置与系统状态紧密集成,尤其是在运行模式(服务模式 vs. Sidecar 模式)方面。
应用程序会根据当前的运行模式和管理员状态调整设置 UI,相应地启用或禁用某些功能。
来源:src/components/setting/setting-system.tsx45-48 src/components/home/system-info-card.tsx27-37
UI 中的设置更改通过应用程序层遵循一致的数据流模式。
设置 UI 依赖于几个关键钩子和服务与配置系统进行交互。
useVerge:管理 Verge 特定配置useClash:管理 Clash 配置useSystemState:提供系统状态信息GuardState:一个处理设置更改验证和应用的组件来源: src/components/setting/setting-system.tsx35-36 src/components/setting/setting-clash.tsx37-38
设置界面完全支持国际化,通过 i18n 系统支持多种语言。
支持的语言包括英语、俄语、中文、波斯语、鞑靼语、印度尼西亚语和阿拉伯语。
来源: src/services/i18n.ts src-tauri/src/utils/i18n.rs
设置界面包含强大的错误处理功能,可在设置更改无法应用时提供反馈。
错误使用 Notice 组件显示,该组件会展示吐司式通知。
来源: src/components/setting/setting-system.tsx133-137 src/components/setting/setting-clash.tsx82-84
主屏幕包含几个卡片,提供对重要设置的快速访问。
这些组件无需导航至完整的设置页面,即可轻松访问常用设置。
来源: src/components/home/system-info-card.tsx src/components/home/proxy-tun-card.tsx src/components/home/ip-info-card.tsx
Clash Verge Rev 中的设置和配置界面为管理应用程序的行为提供了一个全面的界面。要点如下:
UI 的设计旨在用户友好,同时为高级用户提供访问高级配置选项的途径。