更新文档,minor improvement

This commit is contained in:
hahahrfool
2022-03-10 12:04:41 +08:00
parent bd5d1f825f
commit c19a0d043d
3 changed files with 14 additions and 8 deletions

View File

@@ -74,7 +74,7 @@ verysimple 是一个很简单的项目覆盖协议也没有v2ray全比如s
我 实现了 一种独创的 非mux型“隔离信道”方法的 udp over tcp 的fullcone
测试的话,由于目前 verysimple 客户端只支持socks5入口可以考虑先用v2ray + Netch或者透明代理 等方法监听本地网卡的所有请求,发送到 verysimple 客户端的socks5端口然后 verysimple 客户端 再用 vless v1 发送到 v2simple vless v1 + direct 的服务端。
测试 fullcone 的话,由于目前 verysimple 客户端只支持socks5入口可以考虑先用v2ray + Netch或者透明代理 等方法监听本地网卡的所有请求,发送到 verysimple 客户端的socks5端口然后 verysimple 客户端 再用 vless v1 发送到 v2simple vless v1 + direct 的服务端。

View File

@@ -119,11 +119,9 @@ func (uc *UserConn) Read(p []byte) (int, error) {
if uc.version == 0 {
if !uc.isServerEnd && !uc.isntFirstPacket {
if !uc.isUDP {
if uc.isUDP { //即该连接为udp连接,要在后面处理
} else {
if !uc.isServerEnd && !uc.isntFirstPacket {
uc.isntFirstPacket = true
@@ -143,9 +141,6 @@ func (uc *UserConn) Read(p []byte) (int, error) {
}
}
if !uc.isUDP {
return uc.Conn.Read(p)
} else {

View File

@@ -4,6 +4,17 @@
总的来说 vless v1 简化了一些流程, 约定永远使用tls与trojan相同,并重点考虑 非多路复用的 udp over tcp的 fullcone实现
vless v0中服务端 的回复也是有数据头的第一字节版本号第二字节addon长度而首先v2ray根本没有addon所以第二字节总是0
而版本号的话,我约定服务端和客户端必须使用相同版本,
就是说客户端请求使用v0服务端不会返回一个v1出来客户端请求v1服务端也不会强制告诉客户端必须用v0而是客户端要什么就是什么
因此也不用再包含版本号这样在v1中 服务端的回复就不必包数据头可以减少内存操作比v0更快。
然后就是v0中udp的数据除了提到的2字节数据头还有两字节长度根据上面 discussion的讨论这个长度也是没必要的在v1中也被我删除。
所以v1的 读写特别简单,一旦握手成功,不会有任何数据头产生,没有丝毫额外开销,直接直连
## 关于udp over tcp 的 vless 的 fullcone