Commit Graph

12 Commits

Author SHA1 Message Date
hahahrfool
447bd8749a 重构所有udp部分的代码! 摒弃了过去非常复杂的upd转发机制;
不再使用 UDP_Putter 等机制去转发udp,而是用一个 netLayer.MsgConn 结构

proxy.Server 和 proxy.Client 接口改动,

Client在握手udp时不再使用handshake方法, 而是用新的 EstablishUDPChannel 方法

Server 在 Handshake时会选择性返回两种接口,io.ReadWriteCloser 用于tcp, netLayer.MsgConn 用于 udp

此时vless、socks5、direct 的udp转发都已经成功经过了 go test 验证, 但是 main.go 还未修改。
2022-04-08 13:49:56 +08:00
hahahrfool
59b9c0cb47 修订代码, 增加geosite源文件的读取和匹配的相关函数 2022-04-05 06:56:41 +08:00
hahahrfool
b97e990b44 尝试引入zap包作为log包 2022-03-31 18:28:57 +08:00
hahahrfool
f310803218 修订代码 2022-03-31 14:10:05 +08:00
hahahrfool
8606e6e573 添加-mp参数进行memory pprof. 修订代码 2022-03-31 08:36:59 +08:00
hahahrfool
f2adcdcd45 防止udp转发时被裸奔;修缮socks udp associate
修订代码,文档,示例

添加 NumErr 结构; 从 handshakeInserver_and_passToOutClient 函数 分离出一个 dialClient 函数。

在socks5包中添加 client.go 文件,以及三个udp相关的客户端请求udp函数

之前的udp associate代码被证明是有很多bug的,现在被我一一修复,并通过了 udp_test.go的测试。
2022-03-29 19:00:14 +08:00
hahahrfool
1b6dfde7b6 修订代码,试图防止udp被lazy处理;修订文档,注释 2022-03-28 08:33:50 +08:00
hahahrfool
f9872feee7 修订代码,文档,注释,示例. 2022-03-27 21:06:57 +08:00
hahahrfool
e9c9467a72 修订代码,文档,注释 2022-03-27 14:09:53 +08:00
hahahrfool
aace001585 全面修订splice和readv的代码,极大提升性能; 添加生成uuid命令 2022-03-27 12:04:12 +08:00
hahahrfool
bab2b635bd 修订代码,文档 2022-03-27 07:22:55 +08:00
hahahrfool
95aae83eb8 尝试引入grpc; 尝试将handleNewIncomeConnection函数拆分;
把 handleNewIncomeConnection 拆出一个 handshakeInserver_and_passToOutClient 函数出来;
这是为了配合即将实现的 grpc的多路复用的情况.

修复一个 RelayUDP_to_Direct 函数中的小错误; 是当时疏忽了, 导致实际转发udp会闪退.
2022-03-25 15:55:23 +08:00