Desktop 与 WPF 是 v2rayN 的两种桌面界面路线,不是两种代理协议。新装或需要跨平台使用时,优先评估 Avalonia Desktop;已有稳定 Windows 配置时,可以继续使用 WPF。下面按安装包、运行依赖、订阅迁移、代理模式和故障检查逐项说明,帮助用户在保留原配置的前提下完成选择与切换。
Desktop 与 WPF:先分清界面和内核
两者最直接的区别是界面框架与可运行的平台。Desktop 使用 Avalonia 构建跨平台界面,面向 Windows、macOS 和 Linux;WPF 是 Windows 桌面界面框架,因此 WPF 版应在 Windows 环境中使用。文件名中的 Desktop 不表示“服务器版”,也不表示安装后会自动接管所有网络流量。
| 比较项 | Avalonia Desktop | WPF |
|---|---|---|
| 界面框架 | Avalonia | Windows Presentation Foundation |
| 目标平台 | Windows、macOS、Linux | Windows |
| 操作习惯 | 跨平台界面布局,仍受系统差异影响 | Windows 桌面交互,适合沿用已有流程 |
| 运行依赖 | 取决于包是否自包含及目标平台 | 取决于包是否自包含及所需 .NET 桌面运行时 |
| 协议能力 | 取决于实际调用的内核与配置 | 取决于实际调用的内核与配置 |
| 迁移关注点 | 系统集成、路径、权限和功能入口 | 现有配置兼容性、依赖和内核更新 |
v2rayN 负责管理订阅、服务器、路由和内核运行;真正处理连接的是所选内核。VMess、VLESS 是协议名称,Xray 与 V2Fly 是不同的内核项目,Avalonia 与 WPF 则是界面技术。不能因为界面换成 Desktop,就认定某个节点一定更快,或者原来不受支持的协议参数会自动变得可用。
结论:比较速度前先固定连接条件
用同一节点、同一内核版本、同一路由规则和同一种代理模式进行比较。若条件不同,测速结果不能用于判断 Avalonia 与 WPF 的性能差异。
按平台选择:Windows 可二选一,其他桌面系统选 Desktop
新安装可以先从 Desktop 试用,稳定使用中的 Windows 用户不必只因界面名称改变就迁移。选择的关键是当前系统、实际需要的功能和已有操作习惯,而不是把跨平台等同于功能完全一致。不同发布版本的菜单位置、托盘交互和系统代理实现可能有所变化,应以安装后的界面与发行说明为准。
Avalonia Desktop
推荐适合作为新安装的优先评估对象。Windows 可选桌面安装包;macOS 按处理器选择 ARM64 或 x64;Linux 同时核对处理器架构与发行版包格式。先验证订阅更新、托盘、系统代理和所需的 TUN 功能,再决定长期使用。
适合:新装客户端、跨平台工作、macOS 或 Linux 桌面环境
Windows WPF
适合保留已经验证过的 Windows 工作流程。若现有订阅、路由、快捷键和托盘操作都正常,可以继续使用,并按发布说明维护客户端与内核。遇到问题时先定位依赖、权限或节点配置,不要把换界面当成所有故障的修复方式。
适合:已有稳定 Windows 配置、依赖熟悉的界面与操作入口
- Windows:在「设置」→「系统」→「系统信息」中查看系统类型;下载页的 x64 安装包对应 x64 系统,不应仅凭电脑品牌判断架构。
- macOS:从苹果菜单进入「关于本机」,Apple 芯片选择 ARM64,Intel 处理器选择 x64。跨架构转译不应成为首次安装的默认路线。
- Linux:用
uname -m查看架构;x86_64对应 x64,aarch64对应 ARM64。Debian、Ubuntu 系通常选 DEB,Fedora 等使用 RPM 的系统选 RPM。
运行依赖:界面能启动不等于代理已就绪
运行依赖要看具体发布包,不能简单理解成“Desktop 不需要 .NET,WPF 一定要另外安装 .NET”。两种界面都可能采用自包含发布;这类包会携带所需的托管运行时。依赖框架的发布包则要求系统已有匹配的运行时,WPF 应特别核对 .NET Desktop Runtime,而不是只检查普通 .NET Runtime。
- 先确认安装包:核对系统、架构以及包的发布说明。若启动提示缺少运行时,按提示中的运行时类型和主版本处理,不要随意装一个版本后反复重试。
- 再检查应用启动:确保主窗口可以打开、配置目录可写。不要在一个目录里混合解压 Desktop 和 WPF 文件,以免覆盖组件或内核。
- 然后启动内核:选择服务器并查看日志。缺少内核文件、执行权限不足、端口被占用,都会造成“窗口正常但网络不通”。
- 最后接入应用流量:开启所需的系统代理,或在测试应用中显式指定本地代理。只有入口、路由和远端连接都正常,才算安装完成。
macOS 首次运行还可能涉及应用放行和网络权限;Linux 的 TUN 则可能涉及虚拟网卡访问与路由修改权限。这些问题属于操作系统集成层,换一套界面未必解决。始终先确认普通代理连接可用,再处理需要更高权限的接管方式,排查范围会更小。
功能覆盖:订阅、系统代理与 TUN 分开验证
日常功能可以按三个层次验收:订阅是否生成正确的服务器列表,内核是否能建立连接,应用流量是否进入客户端。系统代理主要影响遵循系统代理设置的应用;TUN 通过虚拟网卡接管流量,但仍受路由、DNS、权限和排除规则影响。二者不是同一个开关,也不能以“开启成功”的提示替代实际连接测试。
上面的端口用于说明测试方法,不代表所有版本的默认值。有的配置使用独立 SOCKS 与 HTTP 入站,有的使用混合入站;请在「设置」→「参数设置」中核对实际监听端口与入站类型,界面名称可能随版本调整。只有实际提供了对应入站,下面的命令才适用。
# SOCKS 入站:由代理端处理目标域名解析
curl --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 https://example.com/
# HTTP 入站:通过 HTTP 代理建立 HTTPS 连接
curl --proxy http://127.0.0.1:10809 --connect-timeout 10 https://example.com/
显式代理测试成功,只能说明这条代理路径可用,不能证明系统代理或 TUN 已覆盖其他应用。若命令能返回内容而浏览器打不开,检查浏览器代理设置和系统代理状态;若提示连接本地端口失败,先看内核是否运行及端口是否一致;若已经连到本地代理后仍超时,再检查节点、DNS 与路由。
- 订阅:在「订阅分组」中添加地址并执行更新,核对节点数量、分组名称和协议字段。不要只看更新提示,也要查看生成的服务器记录。
- 路由:使用同一组规则进行测试,区分直连出站与代理出站。更换界面后,原有规则文件路径和外部数据文件也应检查。
- TUN:先停用另一套客户端实例,再检查所需权限、DNS 与路由。避免两套 TUN 同时改变系统路由,导致故障原因难以判断。
从 WPF 迁移到 Desktop:备份后单独试运行
迁移时先保留原环境,再建立可回退的新环境。订阅地址通常可以重新添加,但订阅不包含全部本地设置:路由自定义、监听端口、快捷键、DNS、内核选择和 TUN 参数需要分别核对。同属 v2rayN 也不应默认任意版本之间都能直接覆盖配置目录。
迁移方案:旧环境保留,新环境验证
旧 WPF 环境
- 使用现有版本提供的备份或导出功能。
- 记录本地端口、内核、路由与 DNS 设置。
- 保留原配置目录,但退出程序和内核。
- 妥善保存订阅地址,避免进入公开截图。
新 Desktop 环境
- 使用独立目录或该平台正常安装方式。
- 先重新添加订阅,选择一个已知可用节点。
- 先验证普通代理,再逐项恢复自定义规则。
- 最后测试托盘、自动启动及 TUN。
每次只运行一套环境;新环境验证通过后再决定是否清理旧安装,避免端口与系统代理互相覆盖。
- 记录基线:保存原环境的客户端版本、内核版本、活动节点和代理模式。记录正常访问的测试目标,不必复制整个日志给第三方。
- 导入最小配置:先只添加订阅与一个可用节点。暂不恢复复杂路由、自动任务和 TUN,减少首次测试的变量。
- 逐项恢复:每恢复一项配置就测试一次。若恢复路由后才失败,应优先检查规则与数据文件,而不是重新安装界面。
- 验证退出行为:关闭或退出客户端后,检查系统代理是否按预期恢复。若旧程序遗留代理设置,新程序尚未启动时也可能出现网络异常。
跨平台迁移还要注意路径格式。Windows 下的盘符路径不能直接用于 macOS 或 Linux;导出的配置若引用外部规则、证书或其他文件,应在目标系统重新选择路径。不要为了省一步操作把整个配置目录直接覆盖到新平台,这会把系统特定设置一起带过去。
常见问题:启动失败、端口冲突与选择误区
排错顺序建议固定为“安装包与依赖 → 内核启动 → 本地入站 → 节点连接 → 系统代理或 TUN”。这样可以区分界面故障和网络故障,也能避免把订阅更新失败误认为 Avalonia 不兼容。以下问题都可以先用小范围检查定位,再决定是否切换版本。
Desktop 打不开,装回 WPF 就能解决吗?
先记录启动错误。核对下载包的系统与架构,再按提示检查运行时或图形依赖。若是 macOS 或 Linux,WPF 不是对应平台的替代方案;若是 Windows,也应先确认是否为文件混装或缺少所需运行时。
两个版本都开着,为什么新版本连接不上?
先彻底退出旧版本,再在新版本日志中查看是否出现地址占用。Windows 可用 netstat -ano | findstr :10808 检查示例端口的占用情况,按实际端口替换。不要只关闭窗口,因为程序可能仍驻留托盘并运行内核。
同一订阅导入成功,节点却不能连接?
核对该服务器选用的内核、传输方式与 TLS 参数,查看连接日志。订阅能解析不代表每个协议字段都被当前内核支持。先用原环境中确认可用的同一节点测试,避免把失效节点当作界面差异。
只用 Windows,是否必须改用 Avalonia?
不必。现有 WPF 环境能满足需求时可以继续使用;需要评估 Desktop 时,先按独立环境方案验证托盘、系统代理和常用功能。是否迁移应以实际功能与维护需求为依据,不以界面名称为依据。
桌面配置能直接复制到安卓客户端吗?
优先在安卓端重新添加订阅,而不是复制桌面配置目录。v2rayNG 使用 Xray 内核,v2flyNG 使用 V2Fly 内核;选择时核对节点协议支持。桌面的监听端口、系统代理和 TUN 设置不应照搬到移动端。
最终选择可以归纳为两条:macOS 与 Linux 从 Desktop 对应安装包开始;Windows 新装优先评估 Desktop,已有稳定 WPF 环境则按需求决定是否迁移。无论选择哪种界面,都先完成一个节点、一个入站和一种代理模式的验证,再扩展到自定义分流与 TUN。
按平台下载 v2rayN
在下载中心选择 Windows Desktop、Windows WPF,或对应架构的 macOS、Linux 安装包;首次配置按教程完成订阅导入与代理测试。