Commit Graph

16 Commits

Author SHA1 Message Date
hahafool
27872e7dfc rename 2022-04-25 18:33:24 +08:00
hahafool
6ecbfe7b18 修订文档;添加http伪装头;修复一个path的bug
http头配置同时 支持ws。添加相关的示例文件.

修复 path 为 "/" 时无法连接的bug, 这是因为原代码在 requestfilter.go中, bs[5] == ' ' 这个判断没有过滤 Get / http1.1 等类似的情况

将 filter.go 重命名为 requestfilter.go ,因为现在也产生了过滤response的可能性。
2022-04-18 21:59:46 +08:00
hahahrfool
e5c38d6c8c 全面修订代码,文档 2022-04-17 11:43:19 +08:00
hahahrfool
d1f2696c1d 修订代码,示例;修复trojan的mux在传递udp时的bug; 添加内层mux的udp的测试 2022-04-15 11:35:15 +08:00
hahahrfool
ab46349c8b 修订代码,文档;实现了trojan的smux并通过了go test 2022-04-15 10:28:48 +08:00
hahahrfool
a418808b81 修订代码 2022-04-10 22:28:06 +08:00
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
b31557df14 大范围修订代码,以试图防止内存逃逸到堆; 2022-03-31 13:33:58 +08:00
hahahrfool
f8ef685bdd 解决readv内存泄漏问题;解决转发时断连后的悬垂链接问题
在四点链接的情况下,我们只终端中间两点是不够的,要切三刀;
总之实践很简单,就是copy完成之后,要Close所有的链接

readv的话,系统readv数组和buffer不要在put进pool后相互引用

添加-bl 选项,可以自定义buf大小;注意越小可能越慢,建议buf大小保持在4k以上

添加-pp选项,可以生成cpu.pprof文件

修复其它小问题.
2022-03-31 01:32:58 +08:00
hahahrfool
4ece4b84dd 修订代码 2022-03-30 21:32:35 +08:00
hahahrfool
81160e8db2 广泛修订代码, 注释 2022-03-28 22:07:18 +08:00
hahahrfool
8c6ed6377d 修订代码;将addr的赋值从各个proxy自己的方法中提出来 2022-03-23 18:54:38 +08:00
hahahrfool
5661c8737f 添加readv功能;给出测试数据;修订代码,注释;
toml 新增 app.noreadv项,命令行参数新增 -readv

默认readv是打开状态,可以选择性关闭。
2022-03-22 14:12:32 +08:00
hahahrfool
85a1407ef8 修订注释,代码
给 ProxyConn 添加 ReadFrom 函数
2022-03-19 19:09:35 +08:00
hahahrfool
1eb6dfe164 移除config包,文件直接移动到proxy中
因为config包与proxy包耦合性实际上很强,说明实际上config就是应该属于proxy包的.
2022-03-19 16:53:11 +08:00
hahahrfool
250f6e8c5b 新增http代理Server端.修订代码,注释.CommonConf加了Extra字段
CommonConf加了这一行:Extra map[string]interface{} `toml:"extra"`

这样就可以兼容一切未来未知的格式了, 同时 proxy包的 ClientCreator和 ServerCreator接口
也相应改动了,不再需要传入 map.
2022-03-19 16:43:55 +08:00