V2Ray

V2Ray(简称V2),是Victoria Raymond开发的 Project V 下的一个工具。Project V 是一个工具集合,号称可以帮助其使用者打造专属的基础通信网络。Project V 的核心工具称为V2Ray,其主要负责网络协议和功能的实现,与其它 Project V 通信。V2Ray 可以单独运行,也可以和其它工具配合,以提供简便的操作流程。开发过程主要使用Go语言,Core采用MIT许可协议授权并开放源代码。

V2Ray
開發者Victoria Raymond(原开发者)[1],V2Fly 社区(现维护者)
初始版本0.1 (2015年9月18日2015-09-18)
穩定版本
4.34.0
(2021年1月4日2021-01-04
源代码库github.com/v2ray/v2ray-core原版
github.com/v2fly/v2ray-core原作者离开后社区维护版
编程语言Go
操作系统跨平台(基于客户端和远程服务器)
类型网络工具
许可协议MIT
网站https://v2ray.com https://www.v2fly.org

在中国大陆,本工具广泛用于突破防火长城(GFW),以访问被封锁和屏蔽的内容。

运行原理

V2Ray的运行原理与其他代理工具[2]基本相同,使用特定的中转服务器完成数据传输。例如,用户无法直接访问Google,YouTube等网站,但代理服务器可以访问,且用户可以直接连接代理服务器,那么用户就可以通过特定软件连接代理服务器,然后由代理服务器获取网站内容并回传给用户,从而实现代理上网的效果。服务器和客户端软件会要求提供密码和加密方式,双方一致后才能成功连接。连接到服务器后,客户端会在本机构建一个本地Socks5代理(或VPN、透明代理等)。浏览网络时,客户端通过这个Socks5(或其他形式)代理收集网络流量,然后再经混淆加密发送到服务器端,以防网络流量被识别和拦截,反之亦然。其他代理工具定位只是一个简单的代理工具,而 V2Ray 定位为一个平台,任何开发者都可以利用 V2Ray 提供的模块开发出新的代理软件。

主要特性

多入口多出口:一个 V2Ray 进程可并发支持多个入站和出站协议,每个协议可独立工作。

定制化路由:入站流量可按配置由不同地出口发出。轻松实现按区域或按域名分流,以达到最优的网络性能。

多协议支持:V2Ray 可同时开启多个协议支持,包括 Socks、HTTP、Shadowsocks 和 VMess 等。每个协议可单独设置传输载体,比如 TCP、mKCP 和 WebSocket 等。

隐蔽性:V2Ray 的节点可以伪装成正常的网站(HTTPS),将其流量与正常的网页流量混淆,以避开第三方干扰。

反向代理:通用的反向代理支持,可实现内网穿透功能。

多平台支持:原生支持所有常见平台,如 Windows、macOS 和 Linux,并已有第三方支持移动平台。

历史事件

专利事件

北京理工大學教授羅森林和兩名學生王帥鵬、潘麗敏,于2019年3月25日申請名為「基於長短期記憶網絡的V2ray流量識別方法」的專利。2019年10月25日,该专利的法律状态修改为“发明专利申请公布后的撤回”。[3]

V2Ray项目组表示,专利并不会保证方法的有效性,专利仅仅是保护方法本身。其次,该专利的描述存在一些问题。专利中提到:「V2ray服务端与客户端进行每次通信时需要预先交换密钥,因而每次通信较为靠前的数据包具有显著特征」。实际上,VMess 协议并不存在「预先交换密钥」这个步骤。即使将 V2Ray 与需要进行「预先交换密钥」的协议配合使用,那么进行「预先交换密钥」时的数据包也不会有 V2Ray 的数据特征,因为此时还没有开始发送有效数据,即使有特征也是配合使用的协议的特征。2. 专利中将 V2Ray 拼写成了 V2ray。[4]

原作者失踪

2019年2月,V2Ray 项目创始人Victoria Raymond突然消失,其Twitter[5]、Telegram[6]以及知乎[7]全部停止更新。

随后开源社区进行重组成立 V2Fly 社区,并于2019年6月2日表示:“由于原开发者长期不上线,其他维护者没有完整权限。为了方便维护,我们创建了新的organization:https://github.com/v2fly 原organization中的仓库:v2ray/v2ray-core将会一直同步更新。”[8]

2019年8月2日,原作者Victoria Raymond的Telegram 频道提示:“创建此频道的用户的帐户在过去5个月中处于非活动状态。如果它在接下来的30天内仍然不活动,那么该账户将自动销毁,并且这个频道将不再拥有创建者。”[9]

但是,原作者的Github账号依然保持更新直到2019年11月最后一次提交commits。

衍生项目

Project X

Xray
開發者Project X 社区(由rprx决定创立)[10]
初始版本1.0 (2020年11月15日2020-11-15)
穩定版本
1.2.4
(2021年2月1日2021-02-01
源代码库github.com/XTLS/Xray-core
编程语言Go
操作系统跨平台(基于客户端和远程服务器)
类型网络工具
许可协议Mozilla公共许可证 2.0
网站https://xtls.github.io

2020年11月,因为开源许可证等原因XTLS被V2Ray社区从V2ray core移除,VLESS及XTLS的作者和支持者基于V2Ray另行组建了Project X 组织,开发了基于V2Ray的Xray[11]。该软件完全兼容V2Ray的配置文件和传输协议,由于Project X社区非常活跃,有些基于V2Ray的图形客户端所使用的内核便由V2Ray-Core改为Xray-Core。

参考文献

  1. . GitHub (英语).
  2. . [2020-08-29]. (原始内容存档于2020-09-11).
  3. . www.zhangqiaokeyan.com (中文).
  4. . Telegram.
  5. . Twitter.
  6. . Telegram.
  7. . www.zhihu.com. [2020-12-22].
  8. . Telegram.
  9. . Telegram.
  10. . GitHub (中文(中国大陆)‎).
  11. tlanyan. . tlanyan. [2021-02-15].
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.