hahahrfool
|
6291babff3
|
修订代码, 示例, 优化quic,设最大多路复用路数 为 4路.
之前代码使用纯单路且stream上限为320个,idle时间为2小时
现在自己思考发现完全不合理。
单个session内存在的stream数量 越少性能越高
重构了quic部分的代码。
添加一种主动记录服务端能承受的最大stream数量的机制,每次建立新stream时都试图找到 stream最少的一条可用session。
这种缓存session的做法实际上类似 连接池技术。
修复一些小问题.
|
2022-04-07 22:31:29 +08:00 |
|
hahahrfool
|
650b595e35
|
修订代码,文档
|
2022-04-06 14:52:57 +08:00 |
|
hahahrfool
|
2c9c993c11
|
修订文档、示例; 修复在windows上直连时readv闪退的bug;
这次在程序ctrl+C关闭时, 会主动Close所有的监听端口. 主要是被报告windows有时退出程序之后, 端口还是处于占用状态.
试图引进新的 Makefile_release 文件 以及新的workflow文件 来快速编译发布包
|
2022-04-03 14:32:23 +08:00 |
|
hahahrfool
|
8ad0905ce9
|
feat:apiServer;修复生成的证书无法使用的问题;修复小bug
添加如下命令行参数
-i interactive mode (只是加了一个参数, 还未实现交互功能)
-ea enable api server
-spp api Server Path Prefix, must start with '/',默认值 /api
只有 -ea命令行参数给出后,才会运行api服务器
默认allstate 的api的url 为 https://127.0.0.1:48345/api/allstate
用到basic auth,用户名为admin
密码的toml配置是
[app]
admin_pass = "adfadfadfadfa"
修订 api草案
|
2022-04-01 17:52:18 +08:00 |
|
hahahrfool
|
0dae5ca236
|
修订代码文档,完善zap
|
2022-03-31 19:03:58 +08:00 |
|
hahahrfool
|
b97e990b44
|
尝试引入zap包作为log包
|
2022-03-31 18:28:57 +08:00 |
|
hahahrfool
|
7df432ea7f
|
修订代码
|
2022-03-31 09:19:59 +08:00 |
|
hahahrfool
|
8606e6e573
|
添加-mp参数进行memory pprof. 修订代码
|
2022-03-31 08:36:59 +08:00 |
|
hahahrfool
|
d696d96b29
|
恢复readv相关代码;
之前认为readv内存泄漏所以做了特殊处理;现在发现没必要,在没有悬垂链接时,并没有泄漏. 于是改回.
|
2022-03-31 02:01:46 +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
|
1b6dfde7b6
|
修订代码,试图防止udp被lazy处理;修订文档,注释
|
2022-03-28 08:33:50 +08:00 |
|
hahahrfool
|
aace001585
|
全面修订splice和readv的代码,极大提升性能; 添加生成uuid命令
|
2022-03-27 12:04:12 +08:00 |
|
hahahrfool
|
b46ee2a7ee
|
改进readv代码, 将readv的buf长度与MTU脱钩.
netLayer/readv.go中 目前有两个可变的变量,目前暂时调为下面的值:
const readv_buffer_allocLen = 8
const ReadvSingleBufLen = 4096
实际上这个不方便大家手动调节的,因为如果大家遇到readv减速了的情况的话,直接关闭readv即可.
|
2022-03-26 19:39:36 +08:00 |
|
hahahrfool
|
1070942f4f
|
修复ws+vless裸奔时,开启readv时的闪退问题
|
2022-03-26 18:18:08 +08:00 |
|
hahahrfool
|
4e9f865a62
|
修订代码
|
2022-03-24 23:10:37 +08:00 |
|
hahahrfool
|
65cc8e9cfa
|
进一步减轻readv的内存分配负担.
|
2022-03-24 22:51:28 +08:00 |
|
hahahrfool
|
146f7cf926
|
修复大量与websocket和回落相关的bug;
修复 websocket时无回落的问题
修复 websocket不匹配时直接返回内部错误字符串导致 可探测 的超级bug
修复回落不匹配问题
修复websocket时readv闪退问题
修复 命令行 loglevel参数被配置文件覆盖问题
修复获取tls 的 alpn和 sni时遇到空指针闪退问题
将默认fallback地址的赋值放到通用代码中;
移除 ErrSingleFallback, 改用utils.ErrFirstBuffer
使ws的server可以返回 预设的path
|
2022-03-24 13:42:34 +08:00 |
|
hahahrfool
|
0a69fbacbf
|
将所有示例移动到examples;修订代码,文档
|
2022-03-23 09:25:13 +08:00 |
|
hahahrfool
|
c8f639a81d
|
修订代码,增强readv性能,减少内存分配
|
2022-03-23 08:05:22 +08:00 |
|
hahahrfool
|
4d2bbaeceb
|
完善对writev的支持;为vless和ws实现MultiWriter;修订代码
|
2022-03-22 22:39:26 +08:00 |
|
hahahrfool
|
536a84def6
|
修订代码,注释,文档
|
2022-03-22 16:46:05 +08:00 |
|
hahahrfool
|
5661c8737f
|
添加readv功能;给出测试数据;修订代码,注释;
toml 新增 app.noreadv项,命令行参数新增 -readv
默认readv是打开状态,可以选择性关闭。
|
2022-03-22 14:12:32 +08:00 |
|
hahahrfool
|
61692eeb68
|
renamed: proxy/relay.go -> netLayer/relay.go
|
2022-03-20 18:07:43 +08:00 |
|