更新注释

This commit is contained in:
hahahrfool
2022-03-10 19:48:17 +08:00
parent 0c1b106bec
commit 1dfc31a89d

View File

@@ -6,7 +6,7 @@ package proxy 定义了代理转发所需的必备组件
其中ws和grpc被认为是 高级应用层http伪装属于低级应用层。
TLSTransport Layer Security 顾名思义TLS作用于传输层第四层但是我们tcp也是第四层所以在本项目中认为不需要“会话层”单独加一个
TLSTransport Layer Security 顾名思义TLS作用于传输层第四层但是我们tcp也是第四层所以在本项目中认为不需要“会话层”单独加一个专用于tls的层比较稳妥
正常OSI是7层我们在这里规定一个 第八层和第九层,第八层就是 vless协议所在位置第九层就是我们实际传输的承载数据
@@ -17,13 +17,68 @@ TLSTransport 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 @@ TLSTransport Layer Security 顾名思义TLS作用于传输层第四层
使用 RegisterClient 和 RegisterServer 来注册新的实现
udp部分直接参考 各个UDP开头的 部分即可
还定义了关于udp 转发到机制,该部分直接参考 各个UDP开头的 部分即可
*/
package proxy