72 Commits

Author SHA1 Message Date
hahahrfool
b7509da72a 修订代码,文档,注释; 用 gonum数学包来加速fallback匹配
默认不再输出supported protocols,而是用 -sp 参数 打印输出

在utils中添加 AllSubSets_improve1, 能比 AllSubSets性能更好

添加一些 关于排列组合的测速
2022-03-24 22:11:55 +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
363f0fac00 添加sni和alpn回落;修订代码
xray使用这种结构来匹配fallback: map[string]map[string]map[string]*Fallback

很繁琐,如果fallback匹配项目越来越多那不是就一大串了?

本作使用集合方式进行匹配,可扩展性更强
2022-03-24 09:02:38 +08:00
hahahrfool
a40a343510 在route中使用netip.Addr;修订代码;添加一些go test 2022-03-23 17:37:23 +08:00
hahahrfool
a540cdd183 修订代码,注释 2022-03-23 10:41:42 +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
3d31164141 添加上一次commit忘添加的文件 2022-03-22 14:14:18 +08:00
hahahrfool
5661c8737f 添加readv功能;给出测试数据;修订代码,注释;
toml 新增 app.noreadv项,命令行参数新增 -readv

默认readv是打开状态,可以选择性关闭。
2022-03-22 14:12:32 +08:00
hahahrfool
e75860ef7a 添加ws的0-rtt支持;兼容xray/v2ray; 修订示例文件
earlydata 的最大长度 本作直接固定为2048长度。

配置文件格式:

extra = { ws_earlydata = true }
2022-03-22 02:31:47 +08:00
hahahrfool
60f055a68d fix minor bug; 修订文档,注释,代码 2022-03-21 08:52:46 +08:00
hahahrfool
89e3c8a4ed 添加导向某tag的dial的分流的支持;修订代码,文档,示例;
目前已经支持 ip,domain,network,country, inTags 这五种配置方式
2022-03-21 00:50:19 +08:00
hahahrfool
de8ecb8410 添加default_uuid配置;允许加载完整路径的其他位置的配置;
修订文档,代码。
2022-03-20 20:42:41 +08:00
hahahrfool
4da0075786 新增App.LogLevel 配置;修复 LogLevel的小bug;修订注释. 2022-03-20 19:36:25 +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
hahahrfool
9518ee65ef 修订文档、注释; minor improve 2022-03-18 21:36:17 +08:00
hahahrfool
b48bc187b0 minor improve 2022-03-18 19:16:15 +08:00
hahahrfool
5cfe30d618 修订文档;取消使用go1.18语法 2022-03-18 00:09:20 +08:00
hahahrfool
6b53f3b03f 简单修订代码;从此commit开始,使用go1.18语法 2022-03-17 11:42:02 +08:00
hahahrfool
902b0d7d34 将所有的使用log的地方通通加上LogLevel的判断.
LogLevel在上个commit就已经被移动到了utils包.
2022-03-17 08:35:43 +08:00
hahahrfool
c9cf683a58 将common包改名为utils, 因为common太长了 2022-03-17 08:11:56 +08:00