V2Ray
原作者Project V 开发组
開發者V2Fly 社区
首次发布(2015年11月30日,​8年前​(2015-11-30)
源代码库github.com/v2ray/v2ray-core
github.com/v2fly/v2ray-core
编程语言Go
操作系统Linux, Mac OS, Android, Windows
许可协议MIT
网站v2ray.com
www.v2fly.org

V2Ray,简称V2,是一款供代理服务器客户端使用的核心软件,以突破中华人民共和国网络审查为主要设计目的。在Shadowsocks原作者Clowwindy受到中华人民共和国政府的威胁之后,一群匿名用户组成的社群开发了V2Ray,以对此表示抗议[1]

V2Ray是一个支持多个代理协议的模块化的代理软件包,V2Ray核心组件本身则通常被称为V2Ray-core,是Project V的一部分。V2Ray核心组件中包含了对于代理协议和相关支持代码的实现,但是不包含图形用户界面,开发过程主要使用Go语言,采用MIT许可协议授权并开放源代码。

V2RayProject V项目创作的内核,也是一个模块化的代理工具包,支持多种代理协议。V2Ray 的主要作用是根据用户的配置,对于传入的网络连接进行一定处理,然后发往指定的服务器。它是一个命令行程序,可以接受一个 JSON 格式的配置文件。[2] 在中国大陆,本工具也被广泛用于突破防火长城(GFW),以浏览被封锁、遮蔽或干扰的内容。[3]

Project V專案,前稱V2Ray,是一个開放原始碼的模块化的代理工具包项目,支持多种代理协议。目前專案包含了一個原創的基於SOCKS的傳輸協定VMess、和一個以Go语言實現的代理后端v2ray-core。[4]

中国大陆,本工具也被用于突破防火长城(GFW),以浏览被中國大陸當局遮蔽或干扰的中國大陸海外資訊。[5][6]

历史 编辑

北京理工大學教授羅森林和兩名學生王帥鵬、潘麗敏,于2019年3月25日申請名為「基於長短期記憶網絡的V2ray(一種翻牆軟體)流量識別方法」的專利,並以2019年7月5日為「申請公佈日」,但之后又有传言称已「撤回專利申請」[7]

原理 编辑

v2ray 的运行原理与其他代理工具基本相同,使用特定的中转服务器完成数据传输。[8]

在服务器端部署完成后,用户需要按照指定的UUID和端口修改配置文件与其连接。[9]在成功连接到服务器后,客户端会在用户的电脑上通过配置文件定义的协议构建一个本地代理。浏览网络时,网络流量会被分到本地socks5代理,客户端将其加密并伪装后发送到服务器,服务器以同样的加密、伪装方式将流量回传给客户端,以此实现代理上网。

流量混淆 编辑

v2ray的vmess协议支持websocket,可以基于web server的反向代理 + tls实现伪装 [10]

V2Ray的运行原理与其他代理伺服器工具的基本相同,終端通過特定的通訊協定使用中转服务器完成数据传输。[11]后端v2ray-core的主要作用是根据用户的配置(一个JSON格式的配置文件),对于传入的网络连接进行相應的处理,然后发往指定的服务器。v2ray-core何時作爲終端或伺服器是根據設定檔而定的。[12]目前v2ray-core支援Linux、Android、macOS、iOS、Windows等作業系統下運行,由於v2ray-core本身是一個無GUI的命令列程式,因此也有相應的第三方GUI前端代理程式(如Windows上的V2RayN、iOS上的Surge、ShadowRocket、Android的Actinium等)。[13][14][15]

目前v2ray-core支援的代理協定有VMess、ShadowsocksHTTP、SOCKS5等,支援TCP、websocket、TLS等配置,還有一個修改過的KCPTunnel配置,但對於UDP的直接轉發尚未實現(需透過SOCKS5轉發間接實現)。[4]

VMess協定是一個Project V原創的資料加密協定,基於TCP,用作終端和代理伺服器之間的加密連線。本協定的加密基於预共享密钥英语Pre-shared keyUUID及時間限制,終端與代理伺服器之間不需要握手通信,每次資料傳輸不會相互影響,伺服器收到有效終端的連線請求以後,驗證一旦通過即進行轉發,並將連線請求響應的資料以不同封包方式返回終端,驗證不通過則是丟棄無效封包。[16]

與Shadowsocks的各類實作一樣,v2ray-core本身不提供現成的代理服務,需要有可用的伺服器方能連線使用。[17][15]此外v2ray-core的設定檔操作具備較高的技巧性,代理實現方式也花樣繁多(像是配合Ngnix反向代理、TLS方式實現HTTPS代理[18]等,但並非所有的都可用),不適合需要設定簡單而且連線穩定的場合(一鍵腳本程式並不能解決所有實際問題)。[19]

备用 编辑

参考文献 编辑

  1. ^ V2Ray跟Shadowsocks有什么区别?. [2020-10-12]. (原始内容存档于2020-09-11). 
  2. ^ Project V · Project V 官方网站. v2ray.com. [2020-10-12]. (原始内容存档于2020-10-11). 
  3. ^ The Evolution of China’s Great Firewall: 21 Years of Censorship · Global Voices. 2017-08-30 [2020-10-12]. (原始内容存档于2020-04-23). 
  4. ^ 4.0 4.1 V2Ray for Windows Client and Linux Server. dcamero.azurewebsites.net. [2020-10-12]. (原始内容存档于2018-07-14). 
  5. ^ 【教學文】V2Ray – 新一代大陸翻牆秘技教學 - 企業號航行網誌. www.enterpr1se.info. [2020-10-12]. (原始内容存档于2020-03-03) (中文(香港)). 
  6. ^ The Evolution of China's Great Firewall: 21 Years of Censorship. GlobalVoices. 2017-08-30 [2020-10-12]. (原始内容存档于2020-04-23). 
  7. ^ 自由時報電子報. 北京名校師生獻計禁翻牆 中國網友氣炸 - 國際. 自由時報電子報. 2019-10-07 [2020-10-12]. (原始内容存档于2020-02-02). 
  8. ^ 使用方式 · Project V 官方网站. v2ray.com. [2020-10-12]. (原始内容存档于2020-09-18). 
  9. ^ VMess · Project V 官方网站. v2ray.com. [2020-10-12]. (原始内容存档于2020-09-12). 
  10. ^ WebSocket+TLS+Web · V2Ray 配置指南-V2Ray 白话文教程. toutyrater.github.io. [2020-10-12]. (原始内容存档于2020-07-20). 
  11. ^ 使用 V2Ray 科学上网. www.chinagfw.org. [2020-10-12]. (原始内容存档于2020-09-15) (中文(中国大陆)). 
  12. ^ 使用方式. Project V 官方网站. (原始内容存档于2020-09-18). 
  13. ^ v2ray 配置 - Junbaor's Blog - SegmentFault 思否. segmentfault.com. [2020-10-12]. (原始内容存档于2018-04-06) (中文(中国大陆)). 
  14. ^ android手机配置v2ray actinium访问外网 - qquunn. my.oschina.net. [2020-10-12]. (原始内容存档于2018-04-06) (中文(中国大陆)). 
  15. ^ 15.0 15.1 Surge for macOS 通过前置代理支持 ShadowsocksR 和 V2Ray 等代理工具 · nliu. blog.nliu.work. [2020-10-12]. (原始内容存档于2020-08-08) (美国英语). 
  16. ^ VMess 协议 · Project V 开发人员参考. www.v2ray.com. [2020-10-12]. (原始内容存档于2018-04-06) (中文). 
  17. ^ iGFW » V2Ray的Websocket模式使用CDN加速并隐藏VPS真实IP. www.igfw.net. [2020-10-12]. (原始内容存档于2018-03-22). 
  18. ^ #教程#v2ray+nginx+tls安全的爱国方式. [2020-10-12]. (原始内容存档于2020-02-03). 
  19. ^ V2ray配置文件. tbz.fha203kmortgagelender.com. [2020-10-12]. (原始内容存档于2018-04-06). 

Category:2015年软件 Category:代理服务器 Category:代理软件 Category:用Go编程的自由软件 Category:翻墙软件 Category:翻墙软件