mirror of https://github.com/v2ray/v2ray-core
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
dependabot/github_actions/codecov/codecov-action-5
master
archive
v4.18.0
v4.17.0
v4.16.3
v4.16.2
v4.16.1
v4.16.0
v4.15.1
v4.15.0
v4.14.2
v4.14.1
v4.14.0
v4.13.0
v4.12.0
v4.11.0
v4.10.0
v4.9.0
v4.8.0
v4.7.3
v4.7.2
v4.7.1
v4.7.0
v4.6.6
v4.6.5
v4.6.4
v4.6.3
v4.6.2
v4.6.1
v4.6.0
v4.5.0
v4.4
v4.3
v4.2
v4.1.1
v4.1
v4.0.2
v4.0.1
v4.0
v3.50.2
v3.50.1
v3.50
v3.49
v3.48
v3.47
v3.46.4
v3.46.3
v3.46.2
v3.46.1
v3.46
v3.45.1
v3.45
v3.44
v3.43
v3.42
v3.41
v3.40
v3.39
v3.38
v3.37.6
v3.37.5
v3.37.4
v3.37.3
v3.37.2
v3.37.1
v3.37
v3.36
v3.35
v3.34
v3.33.1
v3.33
v3.32.1
v3.32
v3.31.1
v3.31
v3.30.1
v3.30
v3.29
v3.28
v3.27.1
v3.27
v3.26
v3.25.1
v3.25
v3.24.1
v3.24
v3.23.2
v3.23.1
v3.23
v3.22
v3.21.1
v3.21
v3.20
v3.19.1
v3.19
v3.18.2
v3.18.1
v3.18
v3.17.3
v3.17.2
v3.17.1
v3.17
v3.16
v3.15
v3.14
v3.13
v3.12
v3.11.3
v3.11.2
v3.11.1
v3.11
v3.10
v3.9
v3.8.1
v3.8
v3.7
v3.6
v3.5
v3.4
v3.3
v3.2
v3.1
v3.0.1
v3.0
v2.51.2
v2.51.1
v2.51
v2.50
v2.49
v2.48
v2.47
v2.46.1
v2.46
v2.45
v2.44
v2.43.3
v2.43.2
v2.43.1
v2.42.1
v2.43
v2.42
v2.41
v2.40.2
v2.40.1
v2.40
v2.39
v2.38.2
v2.38.1
v2.38
v2.37
v2.36.3
v2.36.2
v2.36.1
v2.36
v2.34
v2.33.1
v2.33
v2.32
v2.31.1
v2.31
v2.30
v2.29
v2.28
v2.27.1
v2.27
v2.26
v2.25.2
v2.25.1
v2.25
v2.24.3
v2.24.2
v2.24.1
v2.24
v2.23.4
v2.23.3
v2.23.2
v2.23.1
v2.23
v2.22.1
v2.22
v2.21.3
v2.21.2
v2.21.1
v2.21
v2.20.2
v2.20.1
v2.20
v2.19.7
v2.19.6
v2.19.5
v2.19.4
v2.19.3
v2.19.2
v2.19.1
v2.19
v2.18.2
v2.18.1
v2.18
v2.17.1
v2.17
v2.16.7
v2.16.6
v2.16.5
v2.16.4
v2.16.3
v2.16.2
v2.16.1
v2.16
v2.15.1
v2.15
v2.14.1
v2.14
v2.13.2
v2.13.1
v2.13
v2.12.1
v2.12
v2.11.2
v2.11.1
v2.11
v2.10.5
v2.10.4
v2.10.3
v2.10.2
v2.10.1
v2.10
v2.9
v2.8.3
v2.8.2
v2.8.1
v2.8
v2.7.1
v2.7
v2.6.1
v2.6
v2.5.2
v2.5.1
v2.5
v2.4.2
v2.4.1
v2.4
v2.3.3
v2.3.2
v2.3.1
v2.3
v2.2.1
v2.2
v2.1.2
v2.1.1
v2.0
v1.24.4
v1.24.3
v1.24.2
v1.24.1
v1.24
v1.23.1
v1.23
v1.22
v1.21.2
v1.21.1
v1.21
v1.20
v1.19.2
v1.19.1
v1.19
v1.18.2
v1.18.1
v1.18
v1.17.3
v1.17.2
v1.17.1
v1.17
v1.16
v1.15
v1.14
v1.13.1
v1.13
v1.12.9
v1.12.8
v1.12.7
v1.12.6
v1.12.5
v1.12.4
v1.12.3
v1.12.2
v1.12.1
v1.12
v1.11.2
v1.11.1
v1.11
v1.10
v1.9.1
v1.9
v1.8
v1.7
v1.6
v1.5
v1.4
v1.3
v1.2
v1.1.4
v1.1.3
v1.1.2
v1.1.1
v1.1
v1.0
v0.14.5
v0.14.4
v0.14.3
v0.14.2
v0.14.1
v0.14
v0.13
v0.12
v0.11
v0.10
v0.9.1
v0.9
v0.8
v0.7
v0.6.2
v0.6.1
v0.6
v0.5
v0.4
v0.3
v0.2
v0.1
v2.1
v4.18.1
v4.18.2
v4.19.1
v4.20.0
v4.21.0
v4.21.1
v4.21.2
v4.21.3
v4.22.0
v4.22.1
v4.23.0
v4.23.1
v4.23.2
v4.23.3
v4.23.4
v4.24.2
v4.25.0
v4.25.1
v4.26.0
v4.27.0
v4.27.5
v4.28.2
v4.31.0
${ noResults }
2.0 KiB
2.0 KiB
V2Ray 设计概要
目标
- V2Ray 自身提供基础的翻墙功能,单独使用可满足日常需求;
- V2Ray 可被用于二次开发,可为用户提供个性化的翻墙体验,从而也达到难以统一屏蔽之效果;
- V2Ray 为模块化设计,模块之间互相独立。每个模块可单独使用,也可和其它模块搭配使用。
架构
术语
- Point:一个 V2Ray 服务器称为 Point Server
- Set:一组 Point Server,包含多个 Point 进程,由一个 Master 进程统一管理。
- SuperSet:多机环境中的多个 Set
工作流程
Point 可接收来自用户或其它 Point 的请求,并将请求转发至配置中的下一个 Point(或 Set 或 SuperSet) 或目标网站,然后将所得到的应答回复给请求来源。 Point 采用白名单机制,只接受已认证帐号的请求。
通信协议
- Point 之间默认使用自有 VMess 协议,或第三方自定义协议。
- Point 和客户端之间可使用以下协议:
- HTTP Proxy
- SOCKS Proxy
- PPTP / L2TP / SSTP 等 VPN 隧道
- 其它自定义协议
- Point 和目标网站之间使用以下协议:
- HTTP / HTTPS
- UDP (DNS)
VMess
VMess 为 V2Ray 的原生协议,设计用于两个 Point 之间的通信。详细设计
Point
- 每个 Point 有一个 ID,运行时生成
- 每个 Point 可使用独立的配置文件,或从 Set 继承
- 一个 Point 监听主机上的一个特定端口(可配置),用于接收和发送数据
- 一个 Point 运行于一个独立的进程,可设定其使用的系统帐户
Set
TODO
SuperSet
TODO
Point 详细设计
一个 Point 包含五个部分:
- 配置文件处理:读取和解析配置文件
- 输入(Inbound):负责与客户端建立连接(如 TCP),接收客户端的消息
- 输出(Outbound):负责向客户端发送消息
配置文件
配置文件使用 JSON / ProtoBuf 兼容格式
编程语言
暂定为 golang。