e1732a364fed
|
2e7dda7c18
|
修订代码,文档;logfile标准配置以及-sp行为改变,见下:
在标准 toml 配置中 配置 logfile 配置文件路径。 如 `logfile = "/var/log/verysimple/vs_log"`
将 -sp 的行为 改为 打印完毕后立即退出。
|
2022-04-29 21:40:01 +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
|
4e700d7475
|
重构advLayer代码,完全使用通用接口.
|
2022-04-27 19:56:13 +08:00 |
|
e1732a364fed
|
f28f0d0bee
|
修订代码, 默认loglevel 改为 Log_info.
对一般用户而言,还是需要使用Info等级 来了解一下 一般的 日志情况,等到使用熟练之后,且确认运行没有错误后, 可以自行调为 warning 来提升性能
发现 bubble包 还自己引入了 命令行参数,这十分不可取,所以我们还是直接使用其代码。
将其它包中 的 命令行参数 统一 移动 到 cmd/verysimple 中;tls lazy 特性因为还在 调试阶段,所以 命令行参数 仍然放到 v2ray_simple 包中。
|
2022-04-26 13:22:18 +08:00 |
|
hahafool
|
cb6966e9fc
|
实现 quic 0-rtt
|
2022-04-25 17:59:00 +08:00 |
|
hahafool
|
96dbc99e8b
|
修订代码;为 quic的 0-rtt功能做铺垫.
|
2022-04-24 22:59:47 +08:00 |
|
hahafool
|
345aaa88bb
|
修订panic捕获的代码;将 grpc的 mult的配置改为"grpc_multi"
|
2022-04-24 20:43:00 +08:00 |
|
hahafool
|
fb1e639c55
|
添加 grpc multiMode, 应该与xray兼容
|
2022-04-24 20:04:10 +08:00 |
|
hahafool
|
e44e885282
|
更新文档,代码;
非 *nix 平台不再使用 bubble包, 减小大小
|
2022-04-22 20:11:02 +08:00 |
|
hahafool
|
f5803d1ba0
|
添加bindToDevice功能;配置示例: sockopt.device = "eth32423"
|
2022-04-22 19:21:23 +08:00 |
|
hahafool
|
4c6e5b79c4
|
修订文档, makefile, 代码; 添加vless的v1添加mux支持.
减少 firstPayload的timeout,从1秒减少到100ms.
v1 的mux 和trojan一样,使用 smux + simplesocks的方式。
|
2022-04-22 19:00:50 +08:00 |
|
hahafool
|
22fc0722f3
|
修订文档, 代码; 添加reject协议,与v2ray的blackhole等价;
RejectClient 直接在 proxy包内实现,而不是放在子包。
把direct也放到了proxy中。因为 direct和 reject是两个通用client,不需要单列出来。
|
2022-04-22 13:51:36 +08:00 |
|
hahafool
|
a1a15770d2
|
修订代码, 文档.
令tls随机证书的国别和组织等信息随机化,在证书文件不存在时不退出程序, 而是使用随机证书继续运行。
不再提供 现成的 证书。
|
2022-04-22 12:40:23 +08:00 |
|
hahafool
|
7ffeafa7ee
|
更新文档、sockopt代码
|
2022-04-21 15:20:22 +08:00 |
|
hahafool
|
a43cd88888
|
修复tproxy bug, 已经可用!
|
2022-04-21 13:56:21 +08:00 |
|
hahafool
|
b8a27ab713
|
实现tproxy,添加tproxy示例文件.未经测试,很可能有问题.
|
2022-04-20 13:22:10 +08:00 |
|
hahafool
|
64acfbccc3
|
修订代码,文档,Makefile; 适配quic到0.27;修缮ErrInErr输出
|
2022-04-19 08:29:46 +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
|
d9f3b5d0e6
|
修订文档,代码;减少发布包编译的数量;修复“包头”变成“握手包”的漏洞
根据vless/trojan的协议标准,首包必须要包头和payload一起发送,而之前的vs架构分开发送了,这会导致可探测。已在本commit修复。
使用 captive.apple.com 和 http://www.msftconnecttest.com/connecttest.txt 作为测试url,而不用baidu和qq。这样在非中国国家进行测试 也可以正常了。
|
2022-04-16 22:25:37 +08:00 |
|
hahahrfool
|
6dc171e74a
|
修订文档,示例,添加 heap 泛型代码.
|
2022-04-15 23:51:46 +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
|
b49d7a9bba
|
修订 test,示例
|
2022-04-14 11:17:05 +08:00 |
|
hahahrfool
|
f4842fc5e6
|
修订文档,代码; 部分支持socks5的udp客户端; 修复v1的udp multi问题;
发现之前的代码虽然通过了 go test 测试,但是因为test 代码并不全面,导致没有触发 multi
这次设计了新的test代码,可以触发multi,并顺便找出了之前main.go 的代码存在的问题,并修复了。
修复 socks5 转发 udp时, 返回udp地址为0.0.0.0的问题。因为socks5的握手是不包含请求的, 所以要额外加一步读取udp请求。
也因为这个 “初次地址”问题,给 RelayUDP_separate 加了一个 firstAddr 参数。
|
2022-04-12 00:38:56 +08:00 |
|
hahahrfool
|
6ad41552da
|
修订文档,示例
|
2022-04-11 22:13:51 +08:00 |
|
hahahrfool
|
375c95fa4e
|
进一步修订代码、文档, 完善vless v1并通过go test.添加 vless1_udp_multi 配置
添加 vless_v1 示例文件。
|
2022-04-11 20:13:52 +08:00 |
|
hahahrfool
|
a225a7409d
|
修订文档,示例;修复trojan的udp的bug以及dokodemo的udp的bug;
在根目录添加 trojan 的 udp 的go test,并通过了测试
|
2022-04-10 21:42:38 +08:00 |
|
hahahrfool
|
0598508348
|
将 ws/grpc/quic 文件夹全部移动到 advLayer 文件夹;修订文档
|
2022-04-10 09:10:43 +08:00 |
|
hahahrfool
|
ba350fdb91
|
修订示例文件
|
2022-04-09 00:18:05 +08:00 |
|
hahahrfool
|
8d0775f2dc
|
修订代码、示例; 添加quic的maxStreamCountInOneSession配置
|
2022-04-08 23:23:11 +08:00 |
|
hahahrfool
|
3dc53554df
|
修订代码, 实现trojan协议
|
2022-04-08 22:44:01 +08:00 |
|
hahahrfool
|
ce735dbb99
|
修订udp代码; dial配置 添加 fullcone 选项;默认为非fullcone
现在整个程序均通过了go test, main 也可以正常运行了。
Relay_UDP 函数添加流量计数;
发现之前 Relay函数的流量计数 在main.go里参数传反了,导致实际上计数的是上传而不是下载,已修复
对fullcone的情况做了特别考量。MsgConn的 Close函数在fullcone时不能随便被调用。
因此我添加了一个 CloseConnWithRaddr(raddr Addr) error 方法,以及 Fullcone() bool 方法
在utils包的init部分使用 rand 随机种子
|
2022-04-08 20:31:59 +08:00 |
|
hahahrfool
|
d3ec3fddcd
|
修订示例、代码;为添加trojan 作准备
|
2022-04-08 10:42:01 +08:00 |
|
hahahrfool
|
73e26386ec
|
修订文档,示例,代码
|
2022-04-08 08:24:04 +08:00 |
|
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
|
30eb874dc2
|
修订代码,示例;添加 udp_timeout 配置
|
2022-04-07 14:03:31 +08:00 |
|
hahahrfool
|
2d384314f4
|
修订,重构代码, 修复dns的bug; 添加Dns的DoT功能.
修复dns配置中"特殊服务器" 无法被正确配置、使用的bug
将 proxy.Standard结构 移动到 项目根目录的 StandardConf.
将 proxy.AppConf, LoadTomlConfStr, LoadTomlConfFile 函数 移动到根目录
因为 StandardConf和 AppConf里包含很多App级别的配置, 不宜放到proxy子包中
将 proxy.RuleConf 移动到 netLayer
将 proxy.LoadRulesForRoutePolicy 移动到 netLayer
将 proxy.LoadDnsMachine 移动到 netLayer
在dnsquery失败后,会判断错误, 若发现是Read错误,则会试图重新拨号
|
2022-04-07 13:45:24 +08:00 |
|
hahahrfool
|
740561a2c6
|
修订文档,示例,注释,代码;交互模式新增 热添加配置文件 功能
|
2022-04-06 17:41:06 +08:00 |
|
hahahrfool
|
0f4acfb168
|
修订代码、配置、示例
|
2022-04-06 14:00:23 +08:00 |
|
hahahrfool
|
f6081cc8be
|
修订代码;添加【下载geosite文件】的交互命令,可自动通过节点下载
|
2022-04-05 19:08:44 +08:00 |
|
hahahrfool
|
3a997a32bc
|
修订代码,示例;添加geosite分流,域名现已支持full,sub,regex,geosite,match
|
2022-04-05 08:59:26 +08:00 |
|
hahahrfool
|
b66cf34d02
|
添加一个命令行参数, 改进route机制;修复空指针bug;详情如下
添加-nd参数,意思是nodownload,不自动下载任何数据文件
route配置项的 dialTag现在可以为一个string也可以为一个 []string,用于负载均衡
|
2022-04-04 13:08:03 +08:00 |
|
hahahrfool
|
88f9ce8958
|
修订文档,示例,代码; 将hy默认速率降至100;优化quic
|
2022-04-04 08:17:08 +08:00 |
|
hahahrfool
|
8a1c86b933
|
添加解析域名策略,0默认4先查ip4,6先查6;40只查ipv4,60只查ipv6
|
2022-04-03 21:56:01 +08:00 |
|
hahahrfool
|
d3cffbd76a
|
修订代码,示例;修复quic无法多路复用的bug
|
2022-04-03 20:41:21 +08:00 |
|
hahahrfool
|
57383320d0
|
添加hysteria阻控 手动挡功能!与交互模式结合着用.
|
2022-04-03 19:07:01 +08:00 |
|
hahahrfool
|
2c9c993c11
|
修订文档、示例; 修复在windows上直连时readv闪退的bug;
这次在程序ctrl+C关闭时, 会主动Close所有的监听端口. 主要是被报告windows有时退出程序之后, 端口还是处于占用状态.
试图引进新的 Makefile_release 文件 以及新的workflow文件 来快速编译发布包
|
2022-04-03 14:32:23 +08:00 |
|
hahahrfool
|
4397a7225c
|
删掉过于复杂的workflow编译,节约能源;修订代码,文档,示例
|
2022-04-03 10:58:23 +08:00 |
|