2020鼠年春节期间,新冠肺炎病魔肆虐,绝大多数小伙伴都被迫宅在家里,于是出墙看YouTube/Netflix、刷Twitter/Facebook的小伙伴多了起来。但不巧的是,GFW也越来越高,SS/SSR协议的科学上网节点存活率非常低,V2Ray和Trojan陆续走向了舞台的中央。相较之下,Trojan比V2Ray的Vmess协议更轻量,且V2Ray被爆出精准识别漏洞之后,不少小伙伴抛弃了V2Ray,而转向了Trojan,或使用隧道中转/内网专线的SS/SSR节点,但是成本比较高。此时,VLESS的横空出世让V2Ray再次被推向了舞台的中央,官方对VLESS的定义为““性能至上、可扩展性空前,目标是全场景终极协议”。
本文目录
1、什么是VLESS?
目前,V2fly社区一直是V2ray技术进步的主要推动力量。而VLESS的名字来源于V2fly社区开发者“less is more”(即“少就是多”)的理念,看起来与VMESS非常相似。VLESS协议是在V2ray-Core v4.27.0版本中才开始引入的,XTLS在V2ray-Core v4.29.0引入。
VLESS是一种无状态的轻量级数据传输协议,被定义为下一代V2ray数据传输协议。作者对该协议的愿景是“可扩展性空前,适合随意组合、全场景广泛使用,符合很多人的设想、几乎所有人的需求,足以成为 v2ray 的下一代主要协议,乃至整个 XX 界的终极协议。”,由此可见VLESS协议的强大。
VLESS 分为入站和出站两部分,可以作为 V2Ray 客户端和服务器之间的桥梁。与 VMess 不同,VLESS 不依赖于系统时间,认证方式同样为 UUID,但不需要 alterId。VLESS 的配置分为两部分,InboundConfigurationObject 和 OutboundConfigurationObject,分别对应入站和出站协议配置中的 settings 项。目前 VLESS 没有自带加密,请用于可靠信道,如 TLS。目前 VLESS 不支持分享。
2、VLESS 与 VMESS 协议的区别及优势
- VLESS协议不依赖于系统时间,不使用alterId,你再也不需要保持本地计算机时间跟远程服务器相差在90秒之内。
- VLESS协议本身不带加密,需要配合TLS等加密方式,这样就比VMESS协议少了一层加密,速度更快;
- VLESS协议支持分流和回落,比Nginx分流转发更简洁、高效和安全;
- 使用TLS的情况下,VLESS协议比VMESS速度更快,性能更好,因为VLESS不会对数据进行加解密;
- V2ray官方对VLESS的期望更高,约束也更严格。例如要求客户端统一使用VLESS标识,而不是Vless、vless等名称;VLESS分享链接标准将由官方统一制定(仍在内部测试中);
- VLESS协议的加密更灵活,不像VMESS一样高度耦合(仅对开发者有用)。
VLESS协议在仅套TLS加密的情况下,其性能和速度虽然还是比Trojan-gfw稍慢一些,但已经比以前的Vmess协议进步了很多。另外,VELSS引入了XTLS这一黑科技,堪称应对GFW技术封锁的大杀器。
3、XTLS的工作原理
关于XTLS的项目官网介绍只有几个字,即“THE FUTURE”,可见作者对XTLS的自信和期待,代表科学上网技术的未来。
XTLS技术原理:VLESS + XTLS 可以理解为是增强版 ECH,即多支持身份认证、代理转发、明文加密、UDP over TCP 等。以前使用VLESS协议TLS代理时,传输数据其实经过了两次TLS加解密,一次是代理的TLS,另外一次是HTTPS的TLS。现在,XTLS 无缝拼接了内外两条货真价实的 TLS,此时代理本身几乎无需再对数据加解密,只需要进行流量中转即可,性能堪比SS/SSR。
非常幸运的是,由于Google等互联网公司对SSL加密传输的推动,现在使用HTTP协议的网站非常少,大部分流量都使用HTTPS,GFW更加难以分辨,所以这对XTLS是非常利好的消息。毋庸置疑,VLESS+XTLS 会逐渐取代VMESS衍生的大部分模式。
XTLS 本身需要是 TLSv1.3(正常情况下的协商结果),内层 TLS 可以为 1.3 或 1.2(上网时的绝大多数流量),此时特殊功能就会生效(填写 flow 是开启/指定特殊功能,生效是另一码事)。
4、VLESS 协议配合 XTLS 模式
- VLESS + TCP + TLS
- VLESS + TCP +TLS + WS
- VLESS + TCP + XTLS
- VLESS + HTTP2 + h2c
VLESS over TCP with XTLS + 回落 & 分流 to WHATEVER 是其终极配置。如果你需要套CDN隐藏服务器的真实IP地址,那么请选择“VLESS + TCP + TLS + WS”模式。
5、VLESS over TCP with XTL 配置方法与VLESS分享链接
- 确认服务端与客户端的 v2ray-core 均为 v4.30.0+,并已配置 VLESS over TCP with TLS + 回落 & 可选分流,或者直接参考终极配置 (opens new window)。
- 将服务端与客户端 VLESS streamSettings 的 tls、tlsSettings 改为 xtls、xtlsSettings(服务端 XTLS 可以接收普通 TLS 请求,也不影响回落分流)。
- 服务端与客户端的 VLESS flow 均填写 xtls-rprx-origin 即可,服务端的代表允许,客户端的代表使用(该用户仍可不填 flow、用普通 TLS 连上服务端)。
注意事项:
- 为了防止上层应用使用 QUIC,启用 XTLS 时客户端 VLESS 会自动拦截 UDP/443 的请求。若不需拦截,请在客户端填写 xtls-rprx-origin-udp443,服务端不变。
- 可设置环境变量 V2RAY_VLESS_XTLS_SHOW = true 以显示 XTLS 的输出,适用于服务端与客户端(仅用于确信 XTLS 生效了,千万别设成永久性的,不然会很卡)。
- 不能开启 Mux。XTLS 需要获得原始的数据流,所以原理上也不会支持 WebSocket、不适用于 VMess。此外,UDP over TCP 时,VLESS 不会开启 XTLS 的特殊功能。
v2ray-core v4.28.0 会增强 TLS,VLESS 的分享链接标准也会同时出炉。为了避免生态混乱,在此之前请勿支持分享,更勿自创分享链接方案。经过 ProjectV 项目官方综合考虑,VLESS 应于正式版再出分享链接标准(不是近期)。
一键搭建VLESS服务器教程,请参考文章 [一键VLESS搭建教程]使用国外VPS自建 VLESS+Web+WS+TLS 服务器及V2Ray客户端配置实现科学上网
6、支持 VLESS 的V2Ray客户端下载
如果使用VLESS协议,请确保客户端的内核版本至少是v4.27.0,使用XTLS功能则保证内核至少为4.29.0版本。
以下为已支持图形化配置 VLESS 的部分客户端列表,推荐使用:(按实现时间先后顺序排列)
- Qv2ray (opens new window)(v2.6.3+),支持 Linux、macOS、Windows
- v2rayN (opens new window)(v3.21+),支持 Windows
- v2rayNG (opens new window)(v1.3.0+),支持 Android
- PassWall (opens new window)(v3.9.35+),支持 OpenWrt
- v2rayA (opens new window)(v1.0.0+),支持 Linux
(1)支持VLESS协议的Windows客户端
V2rayN :自 V2rayN 3.21 版本开始支持VLESS协议,3.24版本支持XTLS。目前,V2rayN 最新版是3.26,完美支持VLESS + XTLS组合,并且支持trojan协议。
Qv2ray:自 Qv2ray 2.6.3 版本起,支持VLESS协议,2.7.0 alpha1版本支持XTLS。目前,Qv2ray 最新版是2.7.0 alpha1,完美支持VLESS + XTLS组合。
(2)支持VLESS协议的Mac客户端
Qv2ray:自 Qv2ray 2.6.3 版本起,支持VLESS协议,2.7.0 alpha1版本支持XTLS。目前,Qv2ray 最新版是2.7.0 alpha1,完美支持VLESS + XTLS组合;
V2rayU:自 V2rayU 3.0预览版起,开始支持VLESS+XTLS和trojan协议。
(3)支持VLESS协议的Linux客户端
Qv2ray:自 Qv2ray 2.6.3 版本起,支持VLESS协议,2.7.0 alpha1版本完美支持VLESS + XTLS组合;
V2rayA:V2rayA是一个依赖于V2ray的UI工具,因此需要自行安装V2ray。V2rayA自1.0.0版本支持VLESS,可通过自行编辑配置文件支持XTLS。
(4)支持VLESS协议的Android安卓客户端
V2rayNG :自 V2rayNG 1.3.0 版本支持VLESS协议,1.4.4版本支持XTLS。目前,V2rayNG 最新版1.4.8,完美支持VLESS + XTLS组合,还支持trojan协议。
注意事项:自 V2rayNG 1.4.5 版本起,不提供全架构的客户端,如果本站版本无法安装和使用,请从官网下载对应平台版本。
(5)支持VLESS的iOS苹果客户端
Shadowrocket:自 Shadowrocket 2.1.60 版本起,支持VLESS协议,目前不支持XTLS模式。
更多科学上网代理客户端下载,请参考文章 科学上网工具V2Ray/Trojan/SS/SSR客户端下载汇总大全 | 持续更新
7、VLESS客户端配置教程
VLESS协议的V2Ray客户端配置跟VMESS完全一样,照搬即可,这里不再赘述。
本文由一灯不是和尚于2022年12月26日更新;如果您有什么意见或建议,请在文章下面评论区留言反馈。
IOS用哪个协议好?
我推荐VMess或VLESS协议,非常不建议使用SS/SSR,如果你使用专线的话,那什么协议代理都无所谓了,都可以。
我安卓的V2rayNG下载安卓不了,不知道怎么情况
没有看明白,安卓平台的客户端又不只有V2RayNG,你用 Clash for Android 也可以的。