hahafool
|
27872e7dfc
|
rename
|
2022-04-25 18:33:24 +08:00 |
|
hahafool
|
28279dfc31
|
更新文档, 代码
|
2022-04-21 17:05:41 +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
|
dc16dba65d
|
修订文档; 将大部分Fatal的代码改为Error.
|
2022-04-07 18:18:14 +08:00 |
|
hahahrfool
|
2b8d966909
|
修订代码
|
2022-04-03 17:10:25 +08:00 |
|
hahahrfool
|
e732ea3c3b
|
修订代码;修复loglevel为debug时失效问题;dns请求加锁,已经可用
|
2022-04-01 12:31:47 +08:00 |
|
hahahrfool
|
b31557df14
|
大范围修订代码,以试图防止内存逃逸到堆;
|
2022-03-31 13:33:58 +08:00 |
|
hahahrfool
|
63682dfae4
|
完整实现grpc;修订代码, 注释;修复udp的bug和windows中路径bug;
|
2022-03-25 20:34:54 +08:00 |
|
hahahrfool
|
4e9f865a62
|
修订代码
|
2022-03-24 23:10:37 +08:00 |
|
hahahrfool
|
65cc8e9cfa
|
进一步减轻readv的内存分配负担.
|
2022-03-24 22:51:28 +08:00 |
|
hahahrfool
|
b7509da72a
|
修订代码,文档,注释; 用 gonum数学包来加速fallback匹配
默认不再输出supported protocols,而是用 -sp 参数 打印输出
在utils中添加 AllSubSets_improve1, 能比 AllSubSets性能更好
添加一些 关于排列组合的测速
|
2022-03-24 22:11:55 +08:00 |
|
hahahrfool
|
74d4693894
|
修复两个err出现时在return前忘close连接的bug;修订示例,注释;
|
2022-03-24 14:19:44 +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
|
b14c1d03c1
|
为godoc文档对注释进行修订
|
2022-03-21 09:13:10 +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
|
a890d39ac7
|
添加toml标准配置格式支持;重构配置相关的代码;修订文档
添加了path分流部分的go test,简单修订 GetRequestPATH_from_Bytes 函数
|
2022-03-18 19:09:02 +08:00 |
|
hahahrfool
|
edcd39f3e5
|
添加回落path 功能;
配置格式:
在服务端配置文件,添加下面内容
"fallbacks":[
{
"path":"/asf",
"dest":6060
}
]
|
2022-03-18 09:44:37 +08:00 |
|
hahahrfool
|
c9cf683a58
|
将common包改名为utils, 因为common太长了
|
2022-03-17 08:11:56 +08:00 |
|
hahahrfool
|
e664b9740e
|
feat:添加回落和分流功能.
创建新子包netLayer, 将 proxy.Addr改为 netLayer.Addr
修订文档
RoutePolicy等分流机制也放到 netLayer
引入github.com/oschwald/maxminddb-golang 依赖,支持使用 GeoLite2-Country.mmdb 来进行ip分流
另外注意它默认的版本对于 golang.org/x/sys 包的依赖太老了,会导致go1.18中编译不通过,我在
go.mod 文件中新增了下面代码,就能通过编译了
```
require (
golang.org/x/sys v0.0.0-20220315194320-039c03cc5b86 // indirect
)
```
verysimple的可执行文件的相同目录下,必须有该mmdb文件才能够开启ip分流功能
新配置方式:配置文件新加一行 "route":{ "mycountry":"CN" }
mycountry指定的国家的ip会被直连发送,其他地址ip会被发送到代理.
新配置方式,回落,直接在 local 项的 url 的 query部分添加 fallback=:80, 或者 fallback=127.0.0.1:80
即可 回落到指定端口.
将tls_test重新挪动到tlsLayer包中
在main.go中添加了 logLevel变量,并且把关于配置文件的部分挪动到 config.go
出了上面的分流和回落以外,还新增支持了 #xxx 的尾缀,用于配置该url的tag. tag在未来会被用于精准分流
Makefile中新增了 PACK 参数用于编译出 打包版的发行包;可选 tag=embed_geoip 参数用于将mmdb.tgz文件内置到可执行程序里
同时,我开始直接使用go1.18编译本项目,期待性能提升,因为这是新发布的版本,看了介绍据说对 mac m1有20%的提升.
|
2022-03-16 19:28:26 +08:00 |
|
hahahrfool
|
405207bc56
|
将netLayer抽象出来,proxy.Addr现在变成netLayer.Addr
netLayer里包含关于 网络层 以及传输层 的各种定义.
这里为了添加 类似 v2simple的 common.Matcher的功能,特地抽象出来一个层.
而且增添了第一个外部依赖包,github.com/yl2chen/cidranger包.
|
2022-03-16 09:01:43 +08:00 |
|
hahahrfool
|
fa1c5db1ef
|
上一个commit修改了函数签名,不好,太笨,还是不改好
proxy.Server返回的 *bytes.Buffer只被用于Fallback,所以直接放到Fallback里就行
|
2022-03-16 08:19:09 +08:00 |
|
hahahrfool
|
861d5a74c5
|
添加fallback功能,修改了proxy.Server接口,修订文档
|
2022-03-16 04:16:19 +08:00 |
|