v2Ray-core实现

仅以此文,致敬v2Ray创始人——Victoria Raymond

首先我们来看看v2Ray的代码结构,如下所示:

1
2
3
4
5
6
7
8
9
10
11
v2ray-core
├── app // 应用模块
│ ├── router // 路由
├── common // 公用代码
├── proxy // 通讯协议,参见[协议列表](../chapter_02/02_protocols.md)
│ ├── blackhole
│ ├── dokodemo-door
│ ├── freedom
│ ├── socks
│ ├── vmess
├── transport // 传输模块

也就是从上到下应用层、协议层以及传输层

Architecture

client.json

Socks5代理

SOCKS 代理,与其他类型的代理不同,它只是简单地传递数据包,而并不关心是何种应用协议,既可以是 HTTP 请求,所以 SOCKS 代理服务器比其他类型的代理服务器速度要快得多。SOCKS 代理又分为 SOCKS4 和 SOCKS5。SOCKS5 代理则既支持 TCP 协议又支持 UDP 协议(即用户数据包协议),还支持各种身份验证机制、服务器端域名解析等。

为什么proxy往往被设置为127.0.0.1

我们在网上的翻墙代理教程中往往可以看到将http proxy设置为127.0.0.1:port,但是如果说http代理服务器依然是本机,这个时候只是换了一个port,能达到穿透GFW的目的吗?

答案自然是不能的,那在部署v2ray的时候非要这么做呢?


参考资料

v2Ray开发指引


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!