hahahrfool
|
17ebc3a72a
|
升级版本到 v1.0.7; 修订文档
v1.0.7
|
2022-03-22 14:24:06 +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
|
7b8e96f736
|
增加对 unix domain socket的支持
|
2022-03-21 21:58:15 +08:00 |
|
hahahrfool
|
548675e002
|
添加自定义网络层功能;添加udp网络层支持
配置中,listen和dial中,可添加 network = "udp" 字段,不添加则默认tcp
|
2022-03-21 21:19:31 +08:00 |
|
hahahrfool
|
120c050972
|
fix:修复闪退bug;修复ws对分片数据读取时产生的错误;修订代码
在main函数中,之前忘检查空指针了,导致toml文件中不提供app项时,会导致程序闪退,已修复;
在ws包中,找到了分片读取失败的原因,在于未判断OpContinuation 这个 Operation Code. 已修复;
同时,直接使用zero copy的方式写入ws帧,不再使用内部缓存.
|
2022-03-21 14:35:17 +08:00 |
|
hahahrfool
|
b14c1d03c1
|
为godoc文档对注释进行修订
|
2022-03-21 09:13:10 +08:00 |
|
hahahrfool
|
60f055a68d
|
fix minor bug; 修订文档,注释,代码
|
2022-03-21 08:52:46 +08:00 |
|
hahahrfool
|
6a98486996
|
升级版本号到v1.0.6; 修订文档
v1.0.6
|
2022-03-21 00:57:55 +08:00 |
|
hahahrfool
|
89e3c8a4ed
|
添加导向某tag的dial的分流的支持;修订代码,文档,示例;
目前已经支持 ip,domain,network,country, inTags 这五种配置方式
|
2022-03-21 00:50:19 +08:00 |
|
hahahrfool
|
7f01079688
|
添加多服务器监听支持;给ProxyCommon添加一些打印全称的机制
给ProxyCommon接口添加 MiddleName,IsUDP 方法; 添加 GetFullName 函数
将 proxy.CmdTCP , CmdUDP, CmdMux 这三个常量从proxy移动到 vless
修订示例文件
|
2022-03-20 22:25:56 +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
|
af6ffd08e5
|
修订文档,注释
|
2022-03-20 19:09:47 +08:00 |
|
hahahrfool
|
61692eeb68
|
renamed: proxy/relay.go -> netLayer/relay.go
|
2022-03-20 18:07:43 +08:00 |
|
hahahrfool
|
84d74ed1b0
|
补上 上一个commit忘add 的 netLayer/udp.go
|
2022-03-20 18:06:07 +08:00 |
|
hahahrfool
|
8a9ace5889
|
将udp相关代码从 proxy包移动至 netLayer包
|
2022-03-20 18:05:32 +08:00 |
|
hahahrfool
|
b1c4f5a5d1
|
feat:完整实现websocket.修订文档,注释,代码
添加了 ws.server.toml 和 ws.client.toml 这两个示例文件.
|
2022-03-20 16:59:58 +08:00 |
|
hahahrfool
|
bfb00c8e85
|
修订文档、注释,尝试引入 gobwas/ws
|
2022-03-20 09:15:58 +08:00 |
|
hahahrfool
|
6efc4de136
|
将unique重命名为dokodemo
发现unique功能和 dokodemo是一样的。之前我误解了dokodemo的机制. 好笨啊
|
2022-03-20 06:54:48 +08:00 |
|
hahahrfool
|
85a1407ef8
|
修订注释,代码
给 ProxyConn 添加 ReadFrom 函数
|
2022-03-19 19:09:35 +08:00 |
|
hahahrfool
|
dbe499cc08
|
添加unique协议, 详情见wiki
|
2022-03-19 18:39:16 +08:00 |
|
hahahrfool
|
1eb6dfe164
|
移除config包,文件直接移动到proxy中
因为config包与proxy包耦合性实际上很强,说明实际上config就是应该属于proxy包的.
|
2022-03-19 16:53:11 +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
|
6d8fbbe0a9
|
修订文档
|
2022-03-19 10:11:44 +08:00 |
|
hahahrfool
|
d5555a51ff
|
修订文档, 增加 安装脚本指导
|
2022-03-18 22:24:10 +08:00 |
|
hahahrfool
|
9518ee65ef
|
修订文档、注释; minor improve
|
2022-03-18 21:36:17 +08:00 |
|
hahahrfool
|
a179d5bcb2
|
将版本号升至1.0.5
v1.0.5
|
2022-03-18 19:19:08 +08:00 |
|
hahahrfool
|
b48bc187b0
|
minor improve
|
2022-03-18 19:16:15 +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
|
5cfe30d618
|
修订文档;取消使用go1.18语法
|
2022-03-18 00:09:20 +08:00 |
|
hahahrfool
|
55c4195137
|
fix:闪退问题修复;但是经过测试,探测到新问题,见下:
新版代码 ubuntu测试中,客户端SpliceRead W方向 出问题,没有被触发
而且在ubuntu测试中,上传测不到速度,同样发现客户端SpliceRead W方向 出问题,没有被触发
有时候刷新页面,就发现 speed-go页面无法正常加载;但是又是随机的,有可能等待一阵子之后,又能加载了;
大部分情况,刷新页面都是卡住的。
上传始终是测不到速度的;
刷新页面问题似乎在加载远程页面时是不易发生的,所以似乎和一切发生的太快有关?
经排查,排除了 添加 runtime.Gosched()的问题。无 runtime.Gosched() 一样会出相同问题
关键问题是,我在macos里完全碰不到这个bug。暂时无法领悟到bug的原因,也许和go1.18有关??
|
2022-03-17 23:51:01 +08:00 |
|
hahahrfool
|
b533b34e5f
|
fix attempt1. (failed)issue: -lazy在fallback下闪退问题
|
2022-03-17 22:43:25 +08:00 |
|
hahahrfool
|
3fdeded6cf
|
将mycountry的配置同时用于顶级域名的国别分流;修订文档,代码;
|
2022-03-17 20:32:37 +08:00 |
|
hahahrfool
|
42236d5cd8
|
添加utls支持,直接用chrome指纹;修订代码
|
2022-03-17 18:40:54 +08:00 |
|
hahahrfool
|
af8aadb370
|
配置文件local->listen, remote->dial;localServer->inServer, remoteClient->outClient.
增加了 -L 和 -D 命令行参数。如果没有配置文件存在的话,就会默认查看是否给定了 -L和-D参数.
如果配置文件没给定dial的话,默认就认为是 direct://
|
2022-03-17 14:10:47 +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 |
|
hahahrfool
|
99afcc9eb8
|
将版本升至v1.0.4
v1.0.4
|
2022-03-16 20:12:25 +08:00 |
|
hahafool
|
1eb78bf89e
|
Update and rename go.yml to build.yml
|
2022-03-16 20:09:00 +08:00 |
|
hahafool
|
cedd51bbf6
|
Update go.yml
|
2022-03-16 20:00:32 +08:00 |
|
hahafool
|
4c7326cd5c
|
Create go.yml
|
2022-03-16 19:50:54 +08:00 |
|
hahahrfool
|
c559d8992e
|
移除client.json和server.json.之前不知怎么误操作了没有ignore
|
2022-03-16 19:48:25 +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 |
|