mirror of
https://github.com/e1732a364fed/v2ray_simple.git
synced 2025-12-24 13:27:56 +08:00
更新注释
This commit is contained in:
@@ -6,7 +6,7 @@ package proxy 定义了代理转发所需的必备组件
|
||||
|
||||
其中,ws和grpc被认为是 高级应用层,http(伪装)属于低级应用层。
|
||||
|
||||
TLS:Transport Layer Security 顾名思义TLS作用于传输层,第四层,但是我们tcp也是第四层,所以在本项目中,认为不需要“会话层”,单独加一个
|
||||
TLS:Transport Layer Security 顾名思义TLS作用于传输层,第四层,但是我们tcp也是第四层,所以在本项目中,认为不需要“会话层”,单独加一个专用于tls的层比较稳妥
|
||||
|
||||
正常OSI是7层,我们在这里规定一个 第八层和第九层,第八层就是 vless协议所在位置,第九层就是我们实际传输的承载数据;
|
||||
|
||||
@@ -17,13 +17,68 @@ TLS:Transport Layer Security 顾名思义TLS作用于传输层,第四层,
|
||||
|
||||
把第五层替换成“加密层”,把TLS放进去;把第六层改为低级应用层,http属于这一层
|
||||
|
||||
第七层 改为高级应用层,ws/grpc 属于这一层;第八层定为 代理层,vless/trojan 在这层,
|
||||
第七层 改为高级应用层,ws/grpc 属于这一层, 简称高级层;第八层定为 代理层,vless/trojan 在这层,
|
||||
|
||||
第九层为 承载数据层,承载的为 另一大串 第四层的数据。
|
||||
|
||||
那么我们verysimple实际上就是 基于 “层” 的架构。
|
||||
那么我们verysimple实际上就是 基于 “层” 的架构,或称 可分层结构。
|
||||
|
||||
# 内容
|
||||
```
|
||||
9 | tcp data
|
||||
--------------------
|
||||
8 | vless/trojan/socks5
|
||||
--------------------
|
||||
7 | ws/grpc
|
||||
--------------------
|
||||
6 | http
|
||||
--------------------
|
||||
5 | tls
|
||||
--------------------
|
||||
4 | tcp
|
||||
--------------------
|
||||
```
|
||||
|
||||
基本上5-8层都是可控的
|
||||
|
||||
对应的理想配置文件应该如下
|
||||
|
||||
```json
|
||||
{
|
||||
"layer5_settings": { //或者叫 tls_settings,
|
||||
"tls":{"insecure": true},
|
||||
"utls":{}
|
||||
},
|
||||
"layer6_settings": { //或者叫 http_settings
|
||||
"headers":{}
|
||||
},
|
||||
"layer7_settings": { //或者叫 advancedLayer_settings
|
||||
"ws":{}
|
||||
},
|
||||
"layer8_settings": { //或者叫 proxy_settings
|
||||
"vless":{}
|
||||
"trojan":{}
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
我们项目的文件夹,proxy文件夹代表第8层,tlsLayer文件夹代表第5层; 未来还计划在根目录下添加http文件夹(第六层),
|
||||
ws和grpc文件夹(第七层)
|
||||
|
||||
|
||||
同级的ws和grpc是独占的,可以都放到一个layer里,然后比如第八层配置了一个vless一个trojan,那么排列组合就是4种,vless+ws, vless+ grpc, trojan+ws, trojan+grpc
|
||||
|
||||
|
||||
这就大大减轻了各种”一键脚本“的 使用需求,咱们只要选择自己喜欢的各个层,程序自动就为我们生成所有配置;
|
||||
|
||||
运行时,如果所有配置都要有,那么就需要多种端口;共用端口的话可以用nginx
|
||||
|
||||
也可以程序指定一种 特定的情况,比如开始运行程序时,冒出交互界面,自己按项选择好后,就自动运行,然后自动生成客户端分享url。
|
||||
|
||||
可以在脑海里想象 “穿鞋带” 的画面,有很多洞可以经过,都穿好了,鞋带就系好了。或者手机手势解锁的情况。
|
||||
|
||||
这种好处是,每次运行都可以采用不同的配置,不同的uuid,手机一扫码就能连上
|
||||
|
||||
# proxy 文件夹内容
|
||||
|
||||
接口 ProxyCommonFuncs 和 结构 ProxyCommonStruct 给 这个架构定义了标准
|
||||
|
||||
@@ -31,7 +86,7 @@ TLS:Transport Layer Security 顾名思义TLS作用于传输层,第四层,
|
||||
|
||||
使用 RegisterClient 和 RegisterServer 来注册新的实现
|
||||
|
||||
udp部分直接参考 各个UDP开头的 部分即可
|
||||
还定义了关于udp 转发到机制,该部分直接参考 各个UDP开头的 部分即可
|
||||
*/
|
||||
package proxy
|
||||
|
||||
|
||||
Reference in New Issue
Block a user