e1732a364fed
|
aa440113cb
|
try fix #240, add flush to grpcSimple
|
2023-02-12 13:49:40 +08:00 |
|
e1732a364fed
|
037638368d
|
修订代码,令grpc回落写入响应头,关联 #208
|
2022-12-23 10:37:44 +08:00 |
|
e1732a364fed
|
3c754a0a89
|
feat: 实现 shadowTls v2;修订示例,文档,代码; 添加shadowTls的示例文件
shadowTls v2时客户端自动使用utls,且增强了探测防御
proxy.SetCommonReadTimeout -> netLayer.SetCommonReadTimeout
tlsLayer 配置也使用Extra,目前用于 shadowTls
|
2022-12-22 17:06:35 +08:00 |
|
e1732a364fed
|
f46acd08cf
|
进一步移除grpc中chan的使用
以前的chan方法增添了很多不必要的复杂性,比如要给chan发送数据,
然后又要等待另一个chan的关闭。现状因为使用了阻塞回调函数,也
不需要等待另一个chan的关闭了。
|
2022-12-19 11:24:47 +08:00 |
|
e1732a364fed
|
67aa734e08
|
令grpc使用回调而不是chan,以期增进性能
另外发现grpcSimple的Stop函数有问题,只保存了一个underlay,这样在关闭
时只会关闭一个。通过 netLayer.ConnList 解决
为了能够多次开启关闭,取消了sync.Once 的使用
|
2022-12-19 11:00:48 +08:00 |
|
e1732a364fed
|
55088eb268
|
令ws在upgrade失败时也解析X-forwared-for;unix监听不打印@,关联 #191
|
2022-12-14 01:09:50 +08:00 |
|
e1732a364fed
|
07328e0387
|
fix #174,grpcSimple没有调用PipeDeadline的代码;修订文档,代码
|
2022-12-05 09:35:32 +08:00 |
|
e1732a364fed
|
35f0064d94
|
修订注释;添加遗漏的InitEasyDeadline();关联#169
|
2022-11-03 22:16:02 +08:00 |
|
e1732a364fed
|
1eb4568792
|
进一步试图解决grpc读firstpayload时提前关闭,关联#159
|
2022-10-31 21:34:40 +08:00 |
|
e1732a364fed
|
cd8734a719
|
继续优化日志输出 和 注释
|
2022-09-14 10:22:01 +08:00 |
|
e1732a364fed
|
5901819f9a
|
minor fix
|
2022-09-13 16:52:10 +08:00 |
|
e1732a364fed
|
699627612f
|
令X-Forwarded-For生成IPAddr, 而不是 TCPAddr
因为其不含有端口号.
这也反映出 使用 X-Forwarded-For 不如 proxy PROTOCOL 精确
|
2022-05-24 10:13:27 +08:00 |
|
e1732a364fed
|
686a215d24
|
修订代码,文档;令grpcSimple返回正确的h2c 拒绝响应
定义了 netLayer.RejectConn,并令 netLayer.IOWrapper 实现 RejectConn
只要是实现了 netLayer.RejectConn 的连接,不回复 http1.1响应 ,而是 按照 RejectConn 自己的方式进行 Reject响应。
令quic也不返回 http1.1响应。不过因为quic包可定制性比较差,似乎没法返回自定义响应?所以暂时先直接做关闭处理。
|
2022-05-23 10:26:46 +08:00 |
|
e1732a364fed
|
e795eb4816
|
修订代码,文档;为grpc和ws添加解析X-Forwarded-For 功能
未经过测试
|
2022-05-23 08:41:22 +08:00 |
|
e1732a364fed
|
c222b2ca8f
|
修订代码
|
2022-05-16 10:56:15 +08:00 |
|
e1732a364fed
|
dfb7043624
|
修改udp握手的定义,新增udp的firstPayload参数;(尚未在main.go中支持)
|
2022-05-14 18:39:29 +08:00 |
|
e1732a364fed
|
2371824b30
|
修订代码,文档;
支持 grpc 遇到 h1请求以及未知请求时,回落到 h1
httpLayer中添加 几个 nginx的真实响应。
RejectClient中新增nginx类型,返回 nginx真实响应。
在没有回落时返回 400 http相应 然后再关闭,而不是直接关闭。
|
2022-05-07 15:27:53 +08:00 |
|
e1732a364fed
|
5d31ee4cfe
|
修订代码拼写
|
2022-05-06 17:26:20 +08:00 |
|
e1732a364fed
|
0b4289a616
|
修订文档
|
2022-05-04 13:24:26 +08:00 |
|
e1732a364fed
|
d245c25357
|
修订文档
|
2022-05-04 13:17:24 +08:00 |
|
e1732a364fed
|
4f6b4ecf56
|
修订代码,重命名示例文件
|
2022-05-03 17:15:34 +08:00 |
|
e1732a364fed
|
7a94ee3599
|
修订代码,文档;实现grpcSimple的header匹配的response部分
|
2022-05-03 15:14:09 +08:00 |
|
e1732a364fed
|
f9cc01a13f
|
添加grpcSimple自定义header功能,添加两个相应的示例文件,修复一个bug
修复grpc回落h2在回落服务器连不上时,没有及时关闭客户连接的bug
|
2022-05-03 14:08:51 +08:00 |
|
e1732a364fed
|
bab6846c40
|
修订代码,示例;修复ws的headers配置有些情况下匹配错误的bug
之前发现ws的header只设置了request,没设置response部分,这次都添加上了
且添加了ws的服务端 对于 额外header的验证
|
2022-05-03 11:14:56 +08:00 |
|
e1732a364fed
|
631a70a05d
|
修订advLayer代码,修订文档
|
2022-05-02 11:32:15 +08:00 |
|
e1732a364fed
|
c5a33ef037
|
修订文档, 代码
|
2022-05-01 18:43:38 +08:00 |
|
e1732a364fed
|
efb2ee0010
|
修订代码,文档, 示例
|
2022-05-01 09:32:00 +08:00 |
|
e1732a364fed
|
a07a57fdd8
|
修复tproxy不可用的bug; 令tproxy支持分流
该不可用bug是从1.1.9开始的, 当时重构后没有对tproxy进行测试,导致遗留一个很笨的bug.
之前的tproxy不支持分流。实际上是可以分流的。这里改动了一下函数签名,新增 *netLayer.RoutePolicy 参数,
就支持了分流。
|
2022-05-01 08:31:34 +08:00 |
|
e1732a364fed
|
eb10bfc773
|
修订代码. 令grpcSimple 可以回落到http2
老代码只是回落到http1.1
实际上只有回落到 h2才不会被审查者察觉
|
2022-04-30 22:16:49 +08:00 |
|
e1732a364fed
|
af5a06b30d
|
修订代码; 将ws的回落检查从main.go 转移到ws包中
|
2022-04-30 12:28:18 +08:00 |
|
e1732a364fed
|
dc86e17de7
|
支持grpcSimple 回落所有的method
老代码只能回落Get。新代码经过测试已经可以回落所有请求.
|
2022-04-30 11:53:28 +08:00 |
|
e1732a364fed
|
43a0eb96b7
|
添加了netLayer.IOWrapper 以用于grpcSimple的回落.回落已经可用
|
2022-04-30 10:46:59 +08:00 |
|
e1732a364fed
|
5aeb6092bf
|
修订代码,文档
|
2022-04-29 23:08:58 +08:00 |
|
e1732a364fed
|
1bac60b50f
|
修订代码,文档
|
2022-04-29 18:23:50 +08:00 |
|
e1732a364fed
|
996dbe1d98
|
全面修订代码,文档;修复一系列bug;修改quic配置格式,见下:
修复一处quic的代码缺陷导致速度不高问题。
修复 quic 的 too many open streams 问题。
修复 quic的 early实际未生效的问题。
修复 grpcSimple 的一些导致闪退的bug
quic 的配置中,maxStreamCountInOneSession 改名为 maxStreamsInOneConn
|
2022-04-29 10:57:56 +08:00 |
|
e1732a364fed
|
cc758dec66
|
全面修订代码;完成 grpcSimple包;使用 tag选择编译quic 和 grpc
grpcSimple包的服务端和客户端现在都已完成,且兼容v2ray等内核。
grpcSimple包 简洁、高效,更加科学。暂不支持multiMode。
若 grpc_full 给出,则使用grpc包,否则默认使用 grpcSimple包。
若 noquic给出,则不使用 quic,否则 默认使用 quic。
修复 ws early 失效问题;
|
2022-04-28 05:41:56 +08:00 |
|
e1732a364fed
|
2ea170e365
|
修订advLayer代码,添加公共接口
|
2022-04-27 11:04:55 +08:00 |
|