vpn和代理工具协议

1. VPN

VPN 通过加密和隧道技术,在你和 VPN 服务器之间建立了一条安全、私密的连接,然后由 VPN 服务器代替你与互联网进行通信,从而保护你的数据安全、隐藏你的身份。例如:wireguard 和 openvpn。

1.1 和代理工具区别

  • VPN:你穿上了一件隐身衣,并坐进了一辆固若金汤的外交装甲车(加密通道),这辆车会把你送到另一个城市(VPN 服务器),你再从那里下车活动。虽然大家都知道这是一辆特殊的外交车辆,但没人知道里面坐的是谁,要去哪里。
  • 代理工具 (V2Ray/Trojan):你没有坐装甲车,而是把自己打扮成一个极其普通的本地快递员(流量伪装),骑着一辆普通的电瓶车(伪装成正常访问),把信送到了目的地。在沿途的监控看来,你和其他千千万万的快递员没有任何区别。

总结: VPN 是身穿制服、开着装甲车的正规安保公司,那么 VLESS、Shadowsocks、Trojan、V2ray 这些工具,更像是 “ 伪装成普通人、执行秘密任务的顶级特工 “

特性VPN (通用商业 VPN)代理工具 (V2Ray/VMess/VLESS/Trojan)
核心思路安全隧道 (Security Tunnel)流量伪装 (Traffic Obfuscation)
作用范围全局性,接管整个操作系统所有流量应用级,可精细控制某个 App 或网站走代理
伪装能力弱。协议特征明显,易被识别和干扰。强。设计初衷就是为了对抗审查,流量可伪装成普通网页浏览 (HTTPS)。
易用性极高。通常是下载软件,一键连接。较高。需要自己寻找或搭建服务器,导入配置,有一定学习成本。
灵活性低。功能由服务商决定。极高。可以自定义复杂的路由规则(如国内网站直连,国外网站走代理)。
主要协议OpenVPN, WireGuard, IKEv2VMess, VLESS, Trojan, Shadowsocks
最佳场景在安全的网络环境(如欧美)下,用于公共 Wi-Fi 保护隐私、看地区限定视频。在有网络审查的环境下,用于稳定、长期地突破限制、访问全球网络。

1.2 网络协议的区别

  • VPN
    • 当你的设备连接到 VPN 服务器时,它会创建一个虚拟网卡 (Virtual Network Adapter)。你的设备会被分配一个该私有网络中的 IP 地址(例如 10.8.0.2)。从此,你的设备就好像通过一根看不见的、加密的 “ 虚拟网线 “ 直接插到了远端的公司/家庭路由器上。
    • 所有流量默认通过隧道 :操作系统会将你设备上的 所有 网络流量(无论哪个程序产生的)都从这个虚拟网卡发送出去,经过加密后到达 VPN 服务器,再由服务器转发到公共互联网。
    • 工作在第 3 层
  • 代理工具
    • 你只是一个委托人 :你并没有加入任何网络。你只是告诉你的 “ 管家 “(代理服务器)去帮你办事。
    • 只有指定应用的流量会通过代理 :只有你设置了代理的那个应用的流量会走代理通道。你的操作系统、微信、或其他没设置代理的程序,仍然会直接连接互联网。
    • 工作在第 7 层

2. 代理工具协议

Shadowsocks (SS)

它本质上是一个加密的 SOCKS5 代理。你可以把它想象成一个穿着便服的特工,他把机密情报(你的数据)用一种特殊的黑话(加密)进行交流。

V2Ray 工具集

V2Ray (Project V) 不是一个协议。它是一个开源的工具集或框架。就像一个功能强大的 “ 特工机构 “,它可以派遣使用不同联络暗号(协议)的特工。

V2Ray 的强大之处在于其高度的定制化和伪装能力。它可以把自己的流量伪装成各种常见的网络流量,比如:伪装成普通网站流量 (HTTP) 。伪装成加密网站流量 (WebSocket + TLS) ,这让它看起来就像你在正常浏览 HTTPS 网站一样,极难被发现。

  • VMess 资深的全能特工 (The Veteran Agent)
    • VMess 的设计思路是 “ 全副武装,自带干粮 “。它是一个复合协议,自己内部就包办了身份验证、加密、数据传输等所有事情,力求面面俱到。
      工作流程简述:
    1. 身份识别:客户端不使用传统的用户名密码,而是使用一个长长的字符串 UUID (通用唯一标识符) 作为主要 “ 接头暗号 “。
    2. 时间校验:为了对抗重放攻击(即攻击者录下你的数据包再重新发送),VMess 的服务器和客户端都要求精确的时间同步。如果时间误差太大(默认 90 秒),服务器会认为连接是伪造的,直接拒绝。
    3. 加密封装:客户端将要发送的数据,按照预设的加密方式(如 AES-128-GCM)进行加密,然后打包成 VMess 格式。
    4. 传输:这个 VMess 数据包再被套上一层伪装(通常是 WebSocket 或 TCP),发送给服务器。
    5. 解密:服务器收到后,先验证 UUID 和时间戳,确认是自己人,再用同样的加密方式解密,得到原始数据,然后去访问目标网站。
  • Vless: 高效的精英刺客 (The Elite Assassin)
    • 可以看作是 VMess 的一个简化和进化版。它的名字意为 “VMess-like, but less”。
    • VLESS 的设计思路是 “ 极致精简,专业分工 “。它认为 VMess 把太多事情揽在自己身上,导致效率不高。VLESS 的做法是:我只负责最核心的 “ 数据转发 “ 和 “ 身份验证 “,把专业的 “ 加密 “ 工作,直接甩给更专业的 TLS (即 HTTPS 的核心) 去做。
      工作流程简述:
    1. 身份识别:和 VMess 一样,它也使用 UUID 作为 “ 接头暗号 “。
    2. 建立外层通道:客户端首先和服务器建立一个标准的 TLS 连接,这一步和你的浏览器访问银行网站完全一样,具有极高的伪装性。
    3. VLESS 载荷:在建立好的 TLS 安全通道内部,VLESS 开始传输它的数据。它的数据格式非常简洁,没有像 VMess 那样复杂的自带加密。
    4. 数据流 (Flow):VLESS 支持一种叫做 flow 的高级流控模式(最著名的就是 xtls-rprx-vision)。它可以智能地识别 TLS 流量,避免重复的加密解密操作(即 “ 应用层数据加密一遍,TLS 层再加密一遍 “ 的低效行为),实现 “ 数据直通 “,从而极大地提升了性能。

VLESS

VLESS 的全称可以理解为 “VMess Less”。Less:意味着 “ 更少 “、” 精简 “。它去掉了一些 VMess 协议中在现代网络环境下显得 “ 多余 “ 的功能(比如自带加密),从而让传输效率更高,配置更灵活。

你可以把 VMess 想象成一个 “ 带锁的铁盒子 “,虽然安全,但比较重,开锁关锁也费时间。而 VLESS 则是一个 “ 透明的塑封袋 “。虽然它自己不带锁,但它被装在了一辆防弹运钞车(TLS/XTLS)里运输。因为去掉了铁盒子的重量,它跑得更快、更轻便,而且因为外面是运钞车,一样非常安全。

相比于传统的 VMess,VLESS 有以下几个显著的特点:

  • 自身不加密 (Decoupled Encryption)
    • 这是 VLESS 最核心的特点。
    • VMess 是把数据先加密一次,再通过 HTTPS (TLS) 传输,这被称为 “ 双重加密 “。虽然安全,但对设备性能有一定损耗(尤其是在移动设备上)。
    • VLESS 协议本身不进行加密。它认为加密工作应该完全交给底层的传输层(如 TLS/XTLS)来做。
    • 注意:这并不意味着 VLESS 不安全。相反,它强制要求配合 TLS 使用,既保证了像 HTTPS 一样安全,又避免了重复加密带来的性能浪费。
  • 不依赖系统时间
    • VMess 极度依赖客户端和服务端的时间同步(误差通常不能超过 90 秒),如果时间不准,连接就会失败。
    • VLESS 取消了对系统时间的严格依赖。只要你的 UUID(用户 ID)是对的,就能连上。这对于一些时间无法自动同步的设备非常友好。
  • 支持强大的回落机制 (Fallbacks)
    • 这是一个非常利于伪装的功能。
    • 当一个请求发给服务器,如果验证通过(是你的 VLESS 流量),它就正常代理上网。
    • 如果验证不通过(比如探测器或普通路人访问),VLESS 可以把这个请求完美地转发(回落)到一个正常的网站(比如 Nginx 搭建的伪装站点)。
    • 结果:在外界看来,你的服务器就是一个普普通通的网站,隐蔽性极强。
  • 为 XTLS / Reality / Vision 而生
    • VLESS 是 Xray 项目为了配合更先进的技术而设计的:
    • 它完美支持 XTLS 技术(一种减少数据拷贝、提升性能的黑科技)。
    • 目前最流行的主流配置 VLESS + XTLS-Reality 或 VLESS + Vision,拥有极高的抗通过检测能力和传输速度,是目前穿越严苛网络封锁的首选方案之一。

Trojan

不同于早期的 Shadowsocks(旨在加密流量使其无法被识别),Trojan 的思路是 “ 大隐隐于市 “。它让代理流量看起来和即使你在访问通过安全加密的正常网站(如访问 Google、百度或银行网站)时的流量一模一样。

Trojan 的口号是:” 不可识别 “,它不试图创造一种全新的强加密协议,而是将自己通过强大的伪装手段,藏匿在互联网上最庞大、最正常的 HTTPS 流量海洋中,从而实现稳定、快速的网络连接。

  • 极致的伪装性(Imitating HTTPS)
    • 看起来像网页浏览: Trojan 协议通过监听 443 端口(标准的 HTTPS 端口),并使用 TLS/SSL 加密。在防火墙或运营商的眼里,Trojan 的流量与当你访问一个正常的 HTTPS 网站时的流量没有任何区别。
    • 避免指纹识别: 它不像某些协议那样有明显的 “ 协议指纹 “,因此很难通过流量分析来直接阻断。
  • 抵御主动探测(Resistance to Active Probing)——这是它的杀手锏
    • 这是 Trojan 最聪明的地方。防火墙通常会进行 “ 主动探测 “:如果防火墙怀疑某个服务器是代理服务器,它会尝试连接这个服务器,看看服务器怎么反应。
    • 普通代理: 如果密码不对,可能拒绝连接或无响应,这反而暴露了自己 “ 有问题 “。
    • Trojan: 如果有人(比如防火墙)在没有正确密码的情况下连接 Trojan 服务器,Trojan 会将其转发到一个真实的、正常的静态网页(例如一个 Nginx 的欢迎页面或某个伪装的博客)。
    • 结果: 防火墙探测后会认为:” 哦,这只是一个普通的个人网站,” 然后放行。
  • 轻量与高效
    • 专注于一件事: 相比于 V2Ray(VMess)这种功能极其强大、复杂的 “ 瑞士军刀 “,Trojan 更像是一把 “ 手术刀 “。它不包含路由等复杂功能,专注于将流量伪装成 HTTPS。
    • 速度快: 由于机制简单且直接利用 TLS 通道,Trojan 在处理速度和延迟上通常表现非常优秀,尤其是在移动设备上比较省电。
  • 依赖域名和证书
    • 要搭建 Trojan 服务,必须拥有一个域名,并且为这个域名申请合法的 SSL 证书。这虽然增加了一点搭建门槛,但也正是它能伪装成正规 HTTPS 流量的关键所在。

工作流程简述:

  1. 监听端口:Trojan 服务器会监听在最常见的 HTTPS 端口 443 上,并配置好一个真实的域名和 SSL/TLS 证书。
  2. 连接判断:当一个连接请求过来时,服务器会检查请求中是否包含预设的 “ 口令 (Password)”。
    • 如果是 Trojan 客户端:带着正确的口令来连接,服务器验证通过后,就认为这是自己人,立刻为它建立代理通道,开始转发数据。
    • 如果是普通访问者(或防火墙探测):没有带正确的口令,服务器就表现得像一个真正的、普通的 Web 服务器,直接返回一个你预先设置好的网站内容(比如一个博客页面或企业官网)。
  3. 数据传输:一旦验证通过,所有后续流量都在标准的 TLS 通道内传输。

Hysteria 2

它是一个基于 QUIC 协议(HTTP/3 的底层协议)构建的代理工具,旨在恶劣的网络环境中(如丢包率高、延迟高、被运营商 QoS 限速)提供极其流畅和快速的网络连接体验。

  • 基础协议: 它基于标准的 QUIC 协议。
  • 前身: 它是 Hysteria 1.x 的继任者,但两者不兼容。Hysteria 2 修复了 1.x 版本中的许多设计缺陷,提供了更好的性能和更强的伪装能力。
  • 目标: 在不稳定的网络中 “ 暴力 “ 地提升速度(Brutally fast),同时尽可能伪装成正常的网站流量。

主要特点

  • 卓越的伪装能力 (Masquerading)
    • 这是 Hysteria 2 相比一代最大的改进之一。
    • 模拟 HTTP/3: Hysteria 2 的流量特征在外观上与标准的 HTTP/3 流量几乎完全一致。这意味着防火墙(GFW)很难将其与正常的网页浏览流量区分开来。
    • 密码保护的伪装网站: 你可以配置当未授权用户(或探测器)访问你的端口时,自动返回一个正常的伪装网页,而只有使用正确密码的客户端才能进行代理连接。
  • 强大的拥塞控制 (Congestion Control)
    • 这是 Hysteria 系列最著名的 “ 杀手锏 “。
    • Brutal 模式(暴力模式): 传统的 TCP 协议遇到丢包就会减速,而 Hysteria 的 Brutal 算法会利用 UDP 的特性,忽略丢包,强制以你设定的带宽全速发送数据。这对于 “ 虽然带宽大但丢包严重 “ 的垃圾线路有奇效。
    • BBR 支持: 除了暴力模式,Hysteria 2 也支持标准的 BBR 拥塞控制,如果你不需要抢占带宽,只是想用 QUIC 的低延迟特性,可以选择此模式,对网络环境更友好。
  • 端口跳跃 (Port Hopping)
    • 这是一个非常实用的抗封锁功能。
    • 当某些地区的防火墙针对长时间连接单一 UDP 端口的行为进行阻断时,Hysteria 2 可以配置 “ 端口跳跃 “。
    • 客户端可以在一定范围内自动切换目标端口,而服务端利用防火墙的 NAT 规则自动识别,从而规避针对特定端口的封锁。
  • 更高的性能与安全性
    • 0-RTT 建连: 得益于 QUIC 协议,Hysteria 2 可以实现 0-RTT(零往返时间)连接,建立连接的速度极快,网页打开的响应感很强。
    • 标准 TLS/加密: 强制使用 TLS 加密,确保数据传输的安全。
  • 易用性提升
    • 相比一代复杂的配置文件,Hysteria 2 的配置逻辑更加清晰简单,同时也拥有了更完善的客户端生态(如 v2rayN, Sing-box, Clash Meta/Mihomo, Surge 等主流软件均已支持)。
      区别
  • Trojan / VLESS (Reality): 适合线路质量本身不错的机器。它们对 CPU 消耗低,省电,手机发热小,连接稳定,是被动防御的高手。
  • Hysteria 2: 适合垃圾线路(丢包高、延迟大)或被运营商 QoS 限速的环境。它是性能怪兽,但代价是更费手机电量,流量消耗也可能稍多(因为有冗余发包),是主动进攻的高手。

3. 提问问题

VLESS 和 Trojan 区别

  • Trojan:
    • 理念: “ 伪装 “。它把自己完全伪装成一个标准的 HTTPS Web 服务器。
    • 机制: 它直接利用标准的 TLS 协议加密。如果有人探测它,它就返回一个伪装网页;如果是客户端带着密码来,它就作为代理工作。
    • 成熟度: 非常成熟,不仅 Xray 支持,专门的 Trojan-Go 等轻量程序也支持。
  • VLESS
    • 理念: “ 极简与高效 “。VLESS 本身是一个无状态、无加密的轻量级传输协议。它认为:既然外层已经包裹了 TLS/SSL 加密,内层就没必要再加密一次(避免双重加密浪费性能)。
    • 机制: 它通常不单独使用,而是配合 XTLS-Vision(一种黑科技流控)或 Reality(一种无需域名的伪装技术)一起使用。

Reality 是什么

Reality:这是一种传输层安全技术(TLS 的替代品/变种)。它是用来取代之前的 XTLS 协议的。它的核心作用是 “ 伪装 “。相比于传统的 VMess、Trojan 或者 VLESS+TCP+TLS,Reality 有以下巨大的变革性优势:

  • 彻底并不需要域名 (No Domain)
    • 这是 Reality 最大的卖点。
    • 传统方式: 搭建节点通常需要你购买一个域名,并解析到 VPS 的 IP 上。
    • Reality: 不需要你拥有域名。你只需要有一个 VPS 的 IP 地址即可。这既省钱,又消除了域名被注册商封锁或被关联的风险。
  • 完美的伪装与防探测 (Anti-Active Probing)
    • 原理: 当防火墙(GFW)或者审查者向你的服务器发起主动探测(Active Probing)时,Reality 会把这些探测流量直接 “ 转发 “ 给一个真实存在的、合法的国外大厂网站(称为 “ 回落域名 “ 或 Dest)。
    • 效果: 审查者看到的不仅是加密流量,而且是一个拥有真实有效 HTTPS 证书的合法网站(比如 www.microsoft.com)。因为证书也是真的(Reality 在握手过程中偷取了目标网站的证书特征),所以这种伪装几乎无懈可击。
  • 不需要配置 SSL 证书 (No Cert)
    • 传统方式需要你申请 Let’s Encrypt 等证书,还得定期续期。
    • Reality 不需要你在服务器上生成证书。它在连接建立时,利用 “ 中间人 “ 的方式,临时使用目标网站(比如 Yahoo 或 Microsoft)的公钥证书进行验证。对用户来说,省去了繁琐的证书维护工作。
  • 高性能 (High Performance)
    • 继承了 XTLS 的血统,Reality 非常高效,延迟低,适合用来看流媒体或大流量传输。

VLESS 和 Reality 的作用

  • VLESS(协议 / Protocol):是 “ 快递箱的打包格式 “。
    • VLESS 是内容的载体。
    • 职责: 它规定了数据怎么排队、怎么验证身份(UUID)。VLESS 本身是不加密的,也是透明的。它只负责把数据整理好,不负责路上的安全。
  • Reality(传输安全层 / Security):是 “ 拥有特殊伪装涂装的运输车 “。
    • 职责: 它的作用是欺骗检查站(防火墙)。它在 TCP 连接建立的握手阶段,假装自己是我们要访问的别人家的服务器(比如 Microsoft、Apple 或 Amazon)。
    • 技术特点: 它替代了传统的 TLS(HTTPS)。传统 TLS 需要你出示自己的身份证(域名证书),而 Reality 则是在 “ 偷 “ 别人的身份证(目标网站的特征)来通过安检,且不需要你购买域名。

你总是把 VLESS 装载在 Reality 里面跑。VLESS 是里子,Reality 是面子。

Trojan 不能和 Reality 配合吗?

不能。

  • Trojan 的核心是 “ 完全遵守标准 TLS 协议 “。Trojan 必须要求你提供一个真实的、你拥有的域名证书(CRT/Key 文件)。它工作的逻辑是:” 我是个合法的网站,这是我的证件。
  • Reality 的核心是 “ 我没有证件,我拟态别人的证件 “。Reality 不需要(也不能)配置本地证书文件,它是动态抓取目标网站特征的。
  • 两者的工作原理在握手阶段是互斥的。Trojan 必须走真的 TLS,Reality 是走魔改的 TLS。
  • 目前只有 VLESS 和 VMess 支持配合 Reality,其中 VLESS + Reality 是官方推荐的最佳搭档。

XTLS-Reality 和 XTLS-Vision 是啥

XTLS 在目前的 Xray 核心中,应该理解为两个维度:

  1. 流控模式 (Flow): 控制数据怎么流动的。
    • xtls-rprx-vision (简称 Vision): 这是目前最强、最新的流控。它主要解决 “TLS in TLS” 带来的特征指纹问题。当你使用真实的 TLS 时,必须开启 Vision 才能防止被墙识别。(以前的老版本 xtls-rprx-direct 等已经被淘汰了)。
  2. 传输安全模式 (Security): 控制握手和加密的。
    • reality (简称 Reality): 一种新型的传输层,它内部其实也利用了类似 XTLS 的技术,但在配置上,它属于 Security 的一种。

现在的最终形态只有两类主流用法:

  1. VLESS + TCP + TLS + Vision (有域名时用这个),这个方案在性能和隐蔽性上目前略胜过 Trojan,但 Trojan 依然是很棒的备选
  2. VLESS + TCP + Reality + Vision (无域名时用这个)