博文

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 秒以内。

V2Ray (V2Fly) 简介

V2Ray 是什么? 以下是我直接从 V2Ray官网  引用的一段介绍: Project V 是一个工具集合,它可以帮助你打造专属的基础通信网络。Project V 的核心工具称为 V2Ray,其主要负责网络协议和功能的实现,与其它 Project V 通信。V2Ray 可以单独运行,也可以和其它工具配合,以提供简便的操作流程。 由于我们对 VPN 和 Shadowsocks 更为熟悉,许多人可能会将 V2Ray 视为特定的翻墙协议或实现协议的翻墙软件。但如上所述,V2Ray 实际上是一个集成了各种翻墙协议的集成软件,其中只有 VMess 协议才是 V2Ray 社区的原创的翻墙协议。 那上面那段话的 Project V 是什么呢?V2Ray 最早就这一个名字,维护 V2Ray 的社区叫 V2Ray 社区,V2Ray 社区发布的程序软件也都可以用 V2Ray 泛指。后来,V2Ray 规模越来越大,就成立一个 Project V 项目。现在,我们称呼维护 V2Ray 的社区为 Project V 社区 更合适,不过这个也不用分的很清。 Project V 包含了与 V2Ray 有关的全部,除了 V2Ray 自己,所有相关的软件、工具、新协议都是 Project V 的一部分。这里的“相关软件”主要指:1、V2Ray 的一些辅助工具,比如用于生成证书和校验配置文件的工具。2、基于 V2Ray 开发的移植到其它平台(Windows、macOS、iOS 等等)的实现,特别是那些带图形界面的。 目前,V2Ray 实际上指的是 V2Ray 内核。那么内核是什么意思呢?很简单,这就是你在 GitHub 上下载的内容。这些是 V2Ray 的预编译版本,您也可以下载代码自己编译,也就是 V2Ray 内核。 Project V 社区在 GitHub 上非常贴心的准备了多个操作平台的预编译程序。不过这些都是命令行程序,虽然可以直接使用,但用起来比较麻烦,更何况 V2Ray 的配置文件写起来特别烦,所以大家用的一般都是带图形界面的第三方客户端。比如 macOS 平台的 ClashX。 Project V 社区在 GitHub 上非常周到,提供了多个操作平台的预编译程式。但是,这些都是命令行程序,我们虽然可以直接使用,但使用起来比较麻烦,更不用说 V2R...