适合第一次在 Windows 配置 v2rayN,或更换界面版本后无法启动的用户。先按处理器架构、界面框架和运行库依赖选择包,再完整解压、导入订阅,用系统代理验证浏览器访问;只有应用不读取系统代理时,再单独测试 TUN。文中的端口是配置示例,不代表所有版本的默认值。
桌面版与 WPF 版:先区分界面,再看架构
v2rayN 是桌面客户端,界面负责管理订阅、生成配置和控制代理;实际建立连接的是配套内核。下载页把“桌面版”和“WPF 版”分开时,前者通常指采用 Avalonia 的桌面界面构建,后者采用 Windows 的 WPF 界面框架。以所选安装包说明为准,不要只凭名称判断内部组件。
界面框架不决定节点协议,也不直接决定速度。两种构建能否使用某条 VLESS 或 VMess 配置,仍取决于所带内核、内核版本和完整参数。更换界面版本不能代替修正错误的服务器地址、UUID、传输路径或 REALITY 参数。
Windows 安装包选择
桌面版
- 下载说明标明为 Avalonia 桌面构建时,按该构建的依赖要求安装。
- 确认下载的是 Windows 包,不混用其他系统文件。
- 初次使用可从下载中心当前推荐的 Windows 构建开始。
WPF 版
- 采用 Windows 界面框架,适合继续使用熟悉的 WPF 操作界面。
- 框架依赖型包需要匹配版本与架构的 .NET Desktop Runtime。
- 如某项界面行为异常,可在独立目录测试另一构建,避免覆盖混装。
先满足 Windows 版本和处理器架构要求,再按界面习惯选择;两种构建都不能替代有效的订阅配置。
打开 Windows「设置」→「系统」→「系统信息」,查看“系统类型”。x64 系统优先选择 x64 包;ARM64 设备优先选择明确提供的 ARM64 包。架构是安装前提,桌面版与 WPF 版则是另一条选择维度,不能把两者混为一谈。
完整解压与运行库:解决启动前的问题
压缩包必须完整解压后再启动。直接在压缩软件里双击主程序,可能只临时释放部分文件,导致内核、资源目录或配置数据库找不到。建议使用有写入权限的普通目录,例如 D:\Tools\v2rayN;没有 D 盘时,也可使用当前用户目录下的工具文件夹。
-
确认架构
在「设置」→「系统」→「系统信息」确认 x64 或 ARM64,再到下载中心选择对应 Windows 包,记录所选的是桌面版还是 WPF 版。
-
完整解压
将压缩包中的全部文件释放到独立文件夹,再运行其中的
v2rayN.exe。保持包内目录结构,不只复制一个可执行文件。 -
补齐依赖
若弹窗提示安装 .NET,记录其中的框架名称、版本和架构。WPF 框架依赖型包按要求安装 Desktop Runtime;不要把 SDK 或其他运行时当作同一种依赖。
-
检查启动
普通启动后先确认主窗口与日志区域可用。暂不打开 TUN,也不设置开机启动,先排除目录权限和程序文件不完整的问题。
订阅导入与更新:让配置进入节点列表
v2rayN 安装完成并不意味着已经具备可用节点。订阅链接通常是一个返回配置列表的地址,其中可能包含访问凭据。只使用有权使用、来源明确的链接,不把完整链接贴到公开截图或求助记录中。
下列路径按常见中文界面列出。不同构建可能把同一入口放到菜单栏或工具栏,按钮文字略有调整时,以“订阅分组”和“更新订阅”的功能为准;不要把整条订阅 URL 填进单个服务器的地址栏。
-
创建分组
打开「订阅分组」→「订阅分组设置」→「添加」,填写便于辨认的备注,将完整订阅地址粘贴到 URL 输入框,然后保存。
-
首次更新
在「订阅分组」菜单选择「更新全部订阅(不通过代理)」。首次尚无可用代理时,先检查当前网络能否直接访问订阅服务。
-
核对列表
更新后确认目标分组出现服务器条目。若提示成功却没有条目,检查分组筛选、订阅内容格式,以及服务端是否返回登录页或错误页面。
-
设为活动
在服务器列表中右键目标条目,选择「设为活动服务器」,再观察内核日志。导入列表与启用配置是两步,订阅更新本身不会证明连接可用。
如果本地已有一条验证可用的配置,而订阅地址只能经代理访问,再选择「更新全部订阅(通过代理)」。没有可用连接时反复切换该选项,不能解决订阅地址失效、访问令牌过期或服务端返回错误的问题。VLESS、VMess 以及传输安全字段应优先保留订阅提供的值,不要为了“兼容”随意改协议。
系统代理:先建立可验证的浏览器连接
第一次配置建议只启用系统代理。它让遵循 Windows 代理设置的程序把请求发送到本地监听端口,并不是把所有应用的流量都接管。右下角托盘菜单中的「系统代理」→「自动配置系统代理」用于写入系统代理设置;“自动配置”不等于所有站点都必然走远端节点,最终仍要经过客户端路由规则。
本地监听示例
- 监听地址
127.0.0.1- HTTP 端口
10809,仅为示例- SOCKS 端口
10808,仅为示例- 核对入口
- 「设置」→「参数设置」中的本地监听设置
部分构建使用混合端口。请读取实际界面与日志,未提供独立 HTTP 端口时不要强行套用示例。
Windows 代理核对
- 检查入口
- 「设置」→「网络和 Internet」→「代理」
- 代理地址
- 应与本地监听地址一致
- 代理端口
- 应对应 HTTP 或混合监听端口
- 退出处理
- 先清除系统代理,再退出客户端
客户端关闭后仍保留本地代理地址,浏览器可能继续连接一个已经停止监听的端口。
下面三个数字用于记住本地排查的对象,不是当前版本默认配置,也不是远端服务器端口。只有在实际设置采用这些值时,后文命令才能原样执行。
Windows 代理页显示正确,不代表内核已经启动。必须同时满足“活动配置有效、内核正在运行、本地端口正在监听”。浏览器扩展也可能单独指定代理,排查时先让浏览器使用系统代理,避免两套设置指向不同端口。
TUN 与路由分流:按需扩展接管范围
TUN 通过虚拟网络接口接入流量,适用于不读取系统代理的程序,但仍受路由、DNS、应用行为和权限影响。它不是修复所有网络问题的开关。先证明同一条节点在系统代理下可用,再测试 TUN,才能区分节点故障与本机接管故障。
- 先记录基线:记下当前活动配置、本地端口和路由模式,保留可恢复的设置。排查期间一次只修改一个变量。
- 单独测试:先通过托盘「系统代理」→「清除系统代理」移除测试中的浏览器代理设置,再在主界面启用「TUN」。两者并非永远不能共存,分开测试是为了看清实际流量入口。
- 处理权限:如果客户端提示提升权限,按提示重启并授权。管理员权限只解决部分启动条件,虚拟接口、路由冲突和相关组件缺失仍需看日志。
- 核对分流:在主界面路由选择入口确认使用的规则。域名、IP、规则顺序与最终出站共同决定流量去向,不能仅凭“全局”或“绕过”几个字推断每个连接的路径。
- 测试后恢复:停用 TUN,确认普通网络访问恢复;如要返回系统代理,再重新启用对应选项。不要同时改 DNS、路由和节点后再猜是哪项生效。
Windows 典型报错:从端口和日志定位
排查时先打开主窗口日志区域,记录触发时间及第一条具体错误。只截取“启动失败”或“连接失败”的结尾,往往缺少真正原因。日志对外提供前,移除订阅令牌、UUID、服务器地址等敏感内容;不要把整份配置当作普通附件公开。
以下命令在 PowerShell 中执行。假设实际 HTTP 监听端口是 10809,先查看监听状态,再用显式代理发起请求。example.com 仅作为目标地址示例,测试时应选用你有权访问且已知状态的地址,并核对它是否命中代理出站。
# 查看示例端口及对应进程 PID
netstat -ano | findstr :10809
# 显式使用本地 HTTP 代理,跳过应用是否读取系统代理这一变量
curl.exe --proxy http://127.0.0.1:10809 --connect-timeout 10 --max-time 20 -I https://example.com
# 退出客户端后,检查普通直连是否仍可用
curl.exe --noproxy "*" --connect-timeout 10 --max-time 20 -I https://example.com
LISTENING 只说明某个进程在监听,不能证明它就是当前 v2rayN 内核;可用输出中的 PID 到任务管理器「详细信息」页核对。出现 HTTP 响应说明请求链路获得了回应,也不等于一定使用远端代理,仍需结合路由日志判断。连接被拒绝通常先查本地监听,握手错误则要进一步核对协议参数与系统时间。
双击后没窗口,是包下错了吗?
先查看托盘是否已运行,再确认没有从压缩包内部启动。重新完整解压到可写目录;如出现 .NET 提示,按其中的框架、版本和架构补齐运行库。若系统安全功能阻止了文件,先查看保护历史和文件来源,不要直接关闭全部防护。
日志提示 address already in use 怎么办?
运行端口查询命令并核对 PID,检查是否同时启动了两份客户端。关闭重复实例,或到「设置」→「参数设置」修改本地监听端口;修改后同步核对 Windows 系统代理和应用手动代理,避免仍指向旧值。
节点有了,为什么浏览器仍打不开?
确认已设活动服务器,查看内核是否启动,再检查托盘「系统代理」是否处于自动配置状态。使用上面的显式代理命令对比:命令可用而浏览器不可用,优先检查浏览器扩展和系统代理;两者都失败,再查节点、DNS 与路由。
退出后普通网页也打不开,怎么恢复?
重新打开 v2rayN,先关闭 TUN,再选择托盘「系统代理」→「清除系统代理」。若程序无法启动,到 Windows「设置」→「网络和 Internet」→「代理」移除本次写入的手动代理;单位网络原有的代理或脚本设置应先记录,不要一并删除。
升级与迁移:保留配置,避免目录混装
升级前先确认现有环境能够工作,再备份配置。桌面版与 WPF 版之间切换时,使用独立目录比直接覆盖更容易回退;不同构建的配置格式、数据库位置和可用迁移入口可能变化,不宜在新版本写入后直接让旧版继续使用同一份数据。
- 记录现状:保存应用显示的版本、包类型、本地监听端口、活动路由和 TUN 状态。记录事实,不依赖“最新版应该一样”的假设。
- 退出再备份:先清除系统代理并停用 TUN,正常退出程序。便携包可备份整个已解压目录;若使用独立用户数据目录,也要按该构建说明备份相应位置。
- 新目录验证:完整解压新包,按版本提供的导入或迁移说明恢复配置。先验证一条已知可用节点,再测试订阅更新、系统代理和 TUN。
- 最后开自启:稳定运行后,再启用所需的开机启动功能。若自启后窗口可用而 TUN 失败,检查权限与启动日志,不要用重复添加启动项解决。
安装流程的终点不是“程序能打开”,而是知道当前包依赖什么、使用哪条配置、由哪个端口接入流量,以及退出时如何恢复系统设置。按这条顺序完成验证,后续遇到订阅更新失败、内核报错或路由异常,也能缩小排查范围。