VMess
VMess 协议是由V2Ray研发团队原创并使用于 V2Ray 的加密传输协议,与Shadowsocks一样为了对抗墙的Deep packet inspection而研发。在V2Ray上客户端与服务器的通信主要是通过 VMess 协议通信。 本章给出了 VMess 的配置文件,其实也就是服务器和客户端的基本配置文件,这是 V2Ray 能够运行的最简单的配置。 V2Ray 使用inbound和outbound的结构,这样的结构非常清晰地体现了数据包的流动方向,同时也使得 V2Ray 功能强大复杂的同时而不混乱。我们可以把 V2Ray 当作一个盒子,这个盒子有inbound和outbound,我们将数据包通过某个入口放进这个盒子里,然后这个盒子以routing决定这个packet从哪个出口吐出来。以这样的角度理解的话,V2Ray 做client,则inbound接收来自浏览器数据,由 outbound 发出去;V2Ray 做server,则inbound接收来自 V2Ray 客户端的数据,由outbound发出去。 客户端 客户端配置中的 inbounds,port 为 8080,即 V2Ray 监听了一个端口 8080,协议是 socks。之前我们已经把浏览器的代理设置好了(SOCKS Host: 10.0.0.1,Port: 8080),假设访问 google.com,浏览器就会发出一个数据包打包成 socks 协议发送到本机(10.0.0.1 指本机,localhost)的 8080 端口,这时候数据包就会被 V2Ray 接收到。 服务端 服务端配置的 uuid 是 b832020d-6324-4d53-ad4f-8cda42020811,所以 V2Ray 服务器接收到客户端发来的数据包时就会尝试用 b832020d-6324-4d53-ad4f-8cda42020811 解密,如果解密成功再确认时间准确,准确的话就把数据包发到 outbound。 注意 VMess 协议的认证基于时间,一定要保证服务器和客户端的系统时间相差要在 90 秒以内。