本页介绍了v2rayN中的设置界面,它为用户提供了一个全面的配置面板,用于自定义应用程序的各个方面。有关服务器配置文件管理的信息,请参阅服务器管理。
设置界面允许用户配置核心功能、用户界面行为、系统代理设置、TUN模式以及核心类型选择。它采用MVVM架构模式实现,并为Windows (WPF) 和跨平台 (Avalonia) 提供了特定于平台的UI实现。
来源:v2rayN/v2rayN/Views/OptionSettingWindow.xaml.cs v2rayN/v2rayN.Desktop/Views/OptionSettingWindow.axaml.cs
设置界面遵循MVVM模式,组件分布在多个项目中,以支持Windows和跨平台实现。
来源:v2rayN/v2rayN/Views/OptionSettingWindow.xaml.cs v2rayN/v2rayN.Desktop/Views/OptionSettingWindow.axaml.cs v2rayN/ServiceLib/ViewModels/OptionSettingViewModel.cs v2rayN/ServiceLib/Models/ConfigItems.cs
核心设置选项卡包含代理核心功能的关键配置选项。
| 选项 | 描述 | 模型属性 |
|---|---|---|
| Socks端口 | SOCKS代理的本地端口 | InItem.LocalPort |
| 第二个本地端口 | 启用/禁用第二个本地端口 | InItem.SecondLocalPortEnabled |
| UDP启用 | 启用/禁用UDP代理支持 | InItem.UdpEnabled |
| 嗅探启用 | 启用/禁用协议嗅探 | InItem.SniffingEnabled |
| 目标覆盖 | 在嗅探中覆盖的协议 | InItem.DestOverride |
| 仅路由 | 启用仅路由模式 | InItem.RouteOnly |
| 允许局域网连接 | 允许来自局域网的连接 | InItem.AllowLANConn |
| 局域网新端口 | 为局域网连接使用新端口 | InItem.NewPort4LAN |
| 身份验证 | 用于代理身份验证的用户名/密码 | InItem.User, InItem.Pass |
| 多路复用 | 启用连接多路复用 | CoreBasicItem.MuxEnabled |
| 日志记录 | 启用日志记录到文件 | CoreBasicItem.LogEnabled |
| 日志级别 | 设置日志详细级别 | CoreBasicItem.Loglevel |
| 允许不安全 | 默认允许不安全的TLS连接 | CoreBasicItem.DefAllowInsecure |
| 指纹 | 默认TLS指纹 | CoreBasicItem.DefFingerprint |
| 用户代理 | 默认HTTP用户代理 | CoreBasicItem.DefUserAgent |
| Singbox Mux协议 | singbox的多路复用协议 | Mux4SboxItem.Protocol |
| Singbox缓存文件 | 为singbox启用缓存文件 | CoreBasicItem.EnableCacheFile4Sbox |
| Hysteria带宽 | Hysteria的上行/下行带宽设置 | HysteriaItem.UpMbps, HysteriaItem.DownMbps |
| 启用分片 | 启用数据包分片 | CoreBasicItem.EnableFragment |
来源:v2rayN/v2rayN/Views/OptionSettingWindow.xaml42-404 v2rayN/v2rayN.Desktop/Views/OptionSettingWindow.axaml38-339 v2rayN/ServiceLib/Models/ConfigItems.cs3-32
UI设置选项卡允许自定义用户界面行为和外观。
| 选项 | 描述 | 模型属性 |
|---|---|---|
| 开机自启 | 在系统启动时运行应用程序 | GUIItem.AutoRun |
| 启用统计 | 启用流量统计 | GUIItem.EnableStatistics |
| 显示实时速度 | 在UI中显示实时速度 | GUIItem.DisplayRealTimeSpeed |
| 保留旧的去重 | 去重时保留较旧的服务器 | GUIItem.KeepOlderDedupl |
| 自动调整列宽 | 自动调整主列表列宽 | UIItem.EnableAutoAdjustMainLvColWidth |
| 仅更新带有备注的订阅 | 仅当存在备注时更新订阅 | UIItem.EnableUpdateSubOnlyRemarksExist |
| 启用TLS 1.3 | 启用TLS 1.3协议安全 | GUIItem.EnableSecurityProtocolTls13 |
| 启动时自动隐藏 | 启动时自动隐藏窗口 | UIItem.AutoHideStartup |
| 关闭时隐藏到托盘 | 关闭时最小化到托盘而不是退出 | UIItem.Hide2TrayWhenClose |
| 启用拖放排序 | 允许通过拖放来排序服务器 | UIItem.EnableDragDropSort |
| 双击激活 | 双击激活服务器 | UIItem.DoubleClick2Activate |
| 自动更新间隔 | 自动更新之间的时间(分钟) | GUIItem.AutoUpdateInterval |
| 字体系列 | UI字体系列 | UIItem.CurrentFontFamily |
| 混合并发数 | 混合测试的并发连接数 | SpeedTestItem.MixedConcurrencyCount |
| 速度测试超时 | 速度测试超时时间(秒) | SpeedTestItem.SpeedTestTimeout |
| 速度测试URL | 用于速度测试的URL | SpeedTestItem.SpeedTestUrl |
| 速度Ping测试URL | 用于Ping测试的URL | SpeedTestItem.SpeedPingTestUrl |
| 订阅转换URL | 订阅转换的URL | ConstItem.SubConvertUrl |
| 主网格方向 | 主网格的方向(垂直/水平) | UIItem.MainGirdOrientation |
| 地理文件源 | 地理文件的源URL | ConstItem.GeoSourceUrl |
| Singbox规则集源 | singbox规则集文件的源URL | ConstItem.SrsSourceUrl |
| 路由规则源 | 路由规则模板的源URL | ConstItem.RouteRulesTemplateSourceUrl |
来源:v2rayN/v2rayN/Views/OptionSettingWindow.xaml526-660 v2rayN/v2rayN.Desktop/Views/OptionSettingWindow.axaml341-659 v2rayN/ServiceLib/Models/ConfigItems.cs66-117
系统代理设置选项卡配置v2rayN如何与操作系统代理设置集成。
| 选项 | 描述 | 模型属性 |
|---|---|---|
| 不代理本地地址 | 不代理本地地址 | SystemProxyItem.NotProxyLocalAddress |
| 高级协议 | 用于系统代理的协议 | SystemProxyItem.SystemProxyAdvancedProtocol |
| 异常处理 | 绕过代理的地址 | SystemProxyItem.SystemProxyExceptions |
来源:v2rayN/v2rayN/Views/OptionSettingWindow.xaml662-710 v2rayN/v2rayN.Desktop/Views/OptionSettingWindow.axaml662-710 v2rayN/ServiceLib/Models/ConfigItems.cs216-223
TUN模式设置选项卡配置TUN虚拟网络适配器模式。
| 选项 | 描述 | 模型属性 |
|---|---|---|
| 严格路由 | 启用严格路由 | TunModeItem.StrictRoute |
| 栈 | 要使用的网络堆栈 | TunModeItem.Stack |
| MTU | 最大传输单元 | TunModeItem.Mtu |
| 启用外部入站 | 启用外部入站连接 | TunModeItem.EnableExInbound |
| 启用IPv6地址 | 启用IPv6寻址 | TunModeItem.EnableIPv6Address |
| Linux Sudo密码 | Linux上sudo操作的密码 | TunModeItem.LinuxSudoPwd |
来源:v2rayN/v2rayN.Desktop/Views/OptionSettingWindow.axaml713-809 v2rayN/ServiceLib/Models/ConfigItems.cs142-151
核心类型设置选项卡配置要为每种协议类型使用的核心实现。
| 协议 | 描述 | 模型属性 |
|---|---|---|
| VMess | VMess协议的核心类型 | CoreTypeItem[0].CoreType |
| 自定义 | 自定义协议的核心类型 | CoreTypeItem[1].CoreType |
| Shadowsocks | Shadowsocks协议的核心类型 | CoreTypeItem[2].CoreType |
| Socks | Socks协议的核心类型 | CoreTypeItem[3].CoreType |
| VLESS | VLESS协议的核心类型 | CoreTypeItem[4].CoreType |
| Trojan | Trojan协议的核心类型 | CoreTypeItem[5].CoreType |
| Wireguard | Wireguard协议的核心类型 | CoreTypeItem[6].CoreType |
可用的核心类型包括
来源: v2rayN/v2rayN.Desktop/Views/OptionSettingWindow.axaml812-908 v2rayN/ServiceLib/Models/ConfigItems.cs134-139 v2rayN/ServiceLib/ViewModels/OptionSettingViewModel.cs176-182
下图说明了设置界面中设置的加载、修改和保存过程。
来源: v2rayN/ServiceLib/ViewModels/OptionSettingViewModel.cs107-120 v2rayN/ServiceLib/ViewModels/OptionSettingViewModel.cs272-381
设置界面针对不同平台有不同的实现
两种实现方式共享相同的视图模型(v2rayN/ServiceLib/ViewModels/OptionSettingViewModel.cs),但具有特定于平台的 UI 组件和行为。
某些设置仅在特定平台上可见
来源: v2rayN/v2rayN.Desktop/Views/OptionSettingWindow.axaml.cs169-192
设置界面提供了影响 v2rayN 所有功能的全面配置选项。它遵循应用程序中使用的 MVVM 模式,并支持特定于 Windows 和跨平台实现。