VMess
Project V 生态中的代理协议,使用 UUID 标识用户,并有自身的数据保护机制。当前常见配置采用 AEAD,旧教程中的 alterId 不应随意增加,现代配置通常取零。认证失败时除核对 UUID 与传输参数,也应检查设备时间是否准确。
"protocol": "vmess"
V2RAY / TERMINOLOGY
协议、内核、配置字段与诊断指标。按设置所在的层次查找,避免把接管方式、代理协议与传输安全混为一谈。
本页收录 30 个常用术语。先看名称含义,再对照客户端实际使用的内核与版本;同名开关不一定生成相同配置,示例字段也不代表可直接连接的完整文件。
01 / PROTOCOLS
代理协议规定认证与数据交换方式;传输方式负责承载连接;TLS、REALITY 等机制处理传输安全。配置时应分别核对这些层次。
Project V 生态中的代理协议,使用 UUID 标识用户,并有自身的数据保护机制。当前常见配置采用 AEAD,旧教程中的 alterId 不应随意增加,现代配置通常取零。认证失败时除核对 UUID 与传输参数,也应检查设备时间是否准确。
"protocol": "vmess"
使用 UUID 认证的轻量代理协议,不应把它理解为 VMess 的另一种加密选项。常见部署依靠 TLS 或 REALITY 等外层机制保护传输,必须同时核对安全层与传输层参数。部分新特性受内核版本限制,不能仅凭链接前缀判断客户端是否兼容。
"protocol": "vless"
通常运行在 TLS 连接上的代理协议,常用密码进行身份认证。密码负责认证,证书验证负责确认 TLS 对端身份,两者不能相互替代。遇到证书错误时应核对服务器名称、证书有效期与本机时间,而不是直接关闭验证。
"protocol": "trojan"
通过约定的加密方法与密钥保护代理流量的协议,节点通常包含服务器地址、端口、方法与密码。不同方法对密钥格式和内核支持的要求不同,尤其不能把传统方法与 2022 系列的参数直接混用。协议名称相同,不代表任意版本的客户端都能读取该节点。
"protocol": "shadowsocks"
Xray 生态中的传输安全机制,常与 VLESS 配合使用,并不是独立的代理协议。客户端通常需要核对服务端名称、公钥、shortId 与指纹等参数;具体字段名以当前内核格式为准。它不等于普通 TLS,不能只替换一个安全类型名称就完成配置。
"security": "reality"
Xray 中常与 VLESS 搭配的流控方案,用于优化符合条件的 TLS 流量处理,减少不必要的重复封装与加密开销。它通过 flow 选择,不是传输协议名称,也不保证所有请求都会更快。客户端与服务端需使用兼容的流控、安全层和传输组合。
"flow": "xtls-rprx-vision"
02 / CORE & CLIENT
界面负责管理,内核负责执行。确认功能是否可用时,需要同时看客户端支持与实际启动的内核。
围绕 V2Ray 形成的模块化网络代理项目与生态概念,强调把接入、传输、路由等能力组合使用。V2Ray、V2Fly、Xray 与图形客户端处于不同层次,不宜当作同一软件的多个名称。阅读教程时先确认它讲的是生态背景、内核配置,还是界面操作。
由 V2Ray 代码基础发展出的代理内核,负责连接建立、协议处理、路由选择与 DNS 等任务。REALITY 与 Vision 等配置需要核对 Xray 的具体支持范围。客户端能显示某个选项,不代表当前随附或手动选择的内核一定能执行它。
持续维护 V2Ray 相关核心实现的社区项目,属于 Project V 生态的重要组成部分。V2Fly 与 Xray 有共同的技术背景,但后续功能、版本节奏及配置格式各有差异。迁移配置时应按目标内核文档核对,不能把某一方的特有字段原样加入另一方。
提供节点列表、订阅更新、路由设置与运行日志界面的应用,例如 v2rayN、v2rayNG 与 v2flyNG。客户端通常生成配置并调用内核,界面中的名称不一定与 JSON 字段逐字对应。选择应用时先核对系统与节点所需能力,再到获取客户端页面选择对应入口。
03 / CONFIGURATION
一份配置通常按“接收流量、选择出口、建立连接”的顺序理解。字段属于哪一层,比记住字段拼写更重要。
用对象、数组与键值描述内核运行参数的文本格式,键名与字符串使用双引号,布尔值写为 true 或 false。严格 JSON 不接受注释或末尾多余逗号,部分工具的宽松解析行为不能当作通用规则。语法通过后,仍需检查字段是否适用于当前内核及配置版本。
描述内核如何接收应用流量,常见内容包括监听地址、端口与 SOCKS 或 HTTP 等接入协议。本地监听端口不是远端服务器端口,两者承担不同职责。仅供本机使用时通常绑定回环地址;开放给局域网前,应先明确访问控制与设备防火墙设置。
"listen": "127.0.0.1"
描述内核如何向外建立连接,可配置代理、直连与阻断等不同出口。出站的 tag 是供路由引用的标签,不是协议名;名为 proxy 的标签本身不会自动创建代理连接。排查规则时,应确认引用标签与目标出站完全一致。
"outboundTag": "proxy"
用于描述连接超时、用户等级相关限制与部分统计开关等运行策略,具体项目随内核而异。这里的策略不等于把某个网站交给某个出口,后者属于 routing。调整超时前应先从日志判断失败环节,盲目延长等待时间并不能解决认证或路由错误。
04 / ROUTING & DNS
分流依赖可识别的目标信息。域名、解析结果和接管路径不一致时,规则即使写对也可能无法命中。
根据域名、IP、端口、网络类型或入站标签等条件,为请求选择出站。常见字段规则按列表顺序匹配,先命中的有效规则决定出口;同一规则中的不同条件通常需要同时满足。排查时先看规则顺序,再核对 outboundTag,不要只检查域名拼写。
"type": "field"
GeoIP 按 IP 地址集合分类,GeoSite 按域名集合分类,常用于减少路由规则的重复书写。分类名称、收录内容与更新情况取决于实际加载的数据文件,不能凭名称推断覆盖全部目标。域名集合与地址集合也不能互换,遇到未命中时需分别检查解析结果与数据来源。
"ip": ["geoip:private"]
按规则让不同请求使用不同出口的行为,例如指定域名使用代理、局域网地址直连。系统代理决定部分应用流量是否进入客户端,分流决定进入后的请求走哪条路径,两者不是同一个开关。客户端显示的模式名只是规则组合的入口,应结合实际生成的路由理解。
DNS 把域名解析为地址,路由中的 domainStrategy 决定判断规则时何时尝试解析。IPIfNonMatch 通常表示域名未命中后再尝试用解析得到的 IP 匹配,IPOnDemand 则可在遇到 IP 规则时触发解析。其他配置层的同名字段语义可能不同,必须连同所在对象一起阅读。
"domainStrategy": "IPIfNonMatch"
先向应用返回映射地址,再由内核通过映射恢复原始域名,以便后续处理与路由判断。这些地址不是目标网站的真实地址,因此需要 DNS 请求、流量接管与入站识别共同配合。只开启一个选项而未接管对应流量,可能造成应用拿到映射地址却无法建立连接。
指解析请求未按预期的 DNS 路径发送,例如预期由客户端处理,却仍由系统或浏览器另行解析。判断时要分别检查系统 DNS、浏览器加密 DNS、应用缓存与客户端内置解析,而不是只看一次检测页面。某次解析是否偏离预期,应以明确的网络策略为判断基础。
通过虚拟网络接口与路由设置接收 IP 流量的接管方式,适合处理不遵循系统代理设置的应用流量。TUN 不是代理协议,也不会替代远端节点或 DNS 配置,其实现还可能依赖客户端调用的额外组件。启用后若局域网访问异常,应检查路由排除项、权限与 DNS 接管设置。
05 / SUBSCRIPTIONS
订阅是内容获取入口,节点是连接参数,分享链接是参数的文本表达。导入成功不等于已经验证连接可用。
用于获取一组节点或配置内容的地址,客户端通过更新操作重新读取内容。响应可能是编码后的分享链接列表,也可能是原生配置或其他格式,需要与导入入口相匹配。地址可能包含访问凭据,应按敏感信息保管,截图、日志与公开求助内容中均应隐去。
客户端中一组远端连接参数的显示单位,通常包含服务器地址、端口、认证信息及传输安全设置。节点名称由内容提供方或用户填写,名称中的地区或线路文字不是性能测量结论。排查连接时应对照实际地址与参数,而不是只比较显示名称。
分享链接把单个节点参数表达为可导入的文本,例如以 vmess:// 或 vless:// 开头的内容。常见 VMess 分享格式会对参数对象使用 Base64,而 VLESS 链接通常通过地址与查询参数表达设置。Base64 只是编码,不提供加密保护,解码成功也不代表字段一定兼容。
在不同订阅或配置格式之间解析并映射字段的过程,不是简单更换文件扩展名。目标格式无法表达的选项可能被丢弃,目标内核不支持的能力也不会因转换而出现。转换后应逐项核对安全层、flow、服务端名称与传输参数,处理敏感内容时优先使用本地方式。
06 / MEASUREMENT
先确认测试覆盖了哪一段链路,再比较数值。端口连通、代理请求成功与持续下载速度是不同结论。
操作系统提供给应用的代理入口设置,通常指向客户端的本地 HTTP 或 SOCKS 监听地址。只有遵循该设置的应用才会使用对应入口,因此开启系统代理不代表接管全部流量。关闭客户端后若浏览器无法联网,应检查是否仍保留指向已停止监听端口的代理设置。
延迟是一次指定操作的耗时,必须说明测量对象;普通 ping 通常测 ICMP 往返,TCPing 通常测到目标端口建立 TCP 连接的耗时。TCPing 成功只能说明测试条件下端口可达,不能证明代理认证或 TLS 参数正确。某种探测没有响应,也不一定意味着所有连接方式都不可用。
通过代理向测试地址发起请求所测得的耗时,覆盖范围通常比单纯端口探测更接近实际访问。结果会受 DNS、握手、连接复用、服务器响应及测试地址影响,具体计时口径由客户端实现决定。比较节点时应使用相同测试地址与相近时间,并结合实际应用请求判断。
通过传输测试数据估算单位时间内接收的有效数据量,与一次请求需要等待多久不是同一个指标。测试源容量、链路拥塞、设备性能和并发方式都会影响结果,低延迟并不必然对应高吞吐。测速会消耗流量,建议先检查连接与延迟,再对少量候选节点进行下载测试。
从连接的初始数据识别协议或域名线索,供路由等后续环节使用,例如读取可见的 HTTP 主机名或 TLS 握手信息。它不是完整解密,也无法从所有应用流量中恢复目标域名。是否改写目标、仅用于路由还是配合 FakeDNS,需要根据具体选项判断,不能只看总开关。
"sniffing": {"enabled": true}