e1732a364fed
|
db2e850b8b
|
修订代码;添加tun功能
|
2022-12-13 16:55:46 +08:00 |
|
e1732a364fed
|
49c25bf1e4
|
令trojan读到crlf后再结束;修订代码,添加read_timeout的app配置;
根据 https://www.ihcblog.com/a-better-tls-obfs-proxy/
trojan的crlf是模仿http协议,令服务端具有和真实http服务器一样的响应特征
|
2022-12-05 13:41:45 +08:00 |
|
e1732a364fed
|
11cc83c970
|
fix #141, 修正上一个commit一处错误
不能给direct设置 AddrStr 为 sendThrough地址,否则该地址会被认为是拨号的目标地址
|
2022-12-05 12:22:08 +08:00 |
|
e1732a364fed
|
f2297721e4
|
fix #141, 修订代码; direct若配置了sendThough,则会打印该地址
|
2022-12-05 12:02:48 +08:00 |
|
e1732a364fed
|
c92219d18d
|
整理代码,文档,示例
|
2022-12-04 23:15:49 +08:00 |
|
e1732a364fed
|
7879e87380
|
修订tproxy和url的path
把tproxy重新放回server中,不单独分开处理;添加 ListenerServer类型,以及SelfListen方法
修正url中path的读取
todo: grpc 的servername读取path时自动删除前面的 /
|
2022-12-04 08:46:20 +08:00 |
|
e1732a364fed
|
a9a746ba2f
|
多项对接口的修改,为ss做准备:
取消Client的LocalAddr,改为 LocalTCPAddr 和 LocalUDPAddr
删除direct中的对应条目。这样可更清晰地配置双本地地址
将设置sendthrough设置双地址的代码移动到 proxy.newClient函数
这样不仅direct可指定不同的tcp和udp的本地地址,任何client协议都可以了
为ClientCreator 接口 添加 UseUDPAsMsgConn 方法,direct和ss返回true
在ss的client的EstablishUDPChannel进行自行拨号
在ss的server建立后,自动循环监听udp,绕过vs的基本监听机制。因为vs架构的限制,一个代理只能有一个唯一的传输层协议。
ServerCreator 接口 添加 AfterCommonConfServer 方法
|
2022-12-03 23:51:51 +08:00 |
|
e1732a364fed
|
d4ec27fad1
|
修复trojan传输ipv6的udp数据时出错的问题,关联#136
这是一个愚蠢的错误,将v2ray类型的定义用在了trojan上
|
2022-12-03 12:56:48 +08:00 |
|
e1732a364fed
|
55ea3c6a66
|
close #141, 支持sendThrough配置
|
2022-09-15 10:30:26 +08:00 |
|
e1732a364fed
|
9dacc9e44b
|
fix #144, 令direct拨号时使用sockopt.
|
2022-09-13 13:17:49 +08:00 |
|
e1732a364fed
|
8fcf747479
|
fix #113 , 使用smux时会出现无法加载的情况
这是由两个问题造成的
问题1:
同时并发请求多个请求时,会出现同时建立两个mux的情况,导致先建立的mux被覆盖;
问题2:
一旦某个stream的连接失败后,代码 会关闭整个session。这是由于 iics无法分辨simplesocks和普通协议造成的。
加一个 isInner 标签即可分辨。
|
2022-05-22 22:29:02 +08:00 |
|
e1732a364fed
|
96e306d3cb
|
添加reject作为listen
原来按照v2ray的逻辑,设置了 reject为dail。最近发现有作为listen的需求(回落到reject),所以就加到了listen
|
2022-05-21 19:16:14 +08:00 |
|
e1732a364fed
|
45ccfee83f
|
修订文档,代码; 实现vmess服务端!
本vmess服务端实现并非 完整服务端,目前没有动态端口等功能
而且目前没有实现防重放功能。目前代码仅作为一个最基本可用服务端,
后面还要继续完善该代码,至少要添加 防重放功能。
|
2022-05-18 00:19:41 +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
|
de9ea5fefa
|
试图令http支持多用户;修订代码
已验证socks5的多用户功能,并修订了 socks5.toml 示例
proxy的url打印时,在尾缀添加#tag
|
2022-05-13 23:01:18 +08:00 |
|
e1732a364fed
|
ef89beb653
|
修订代码;修复socks5的dial连不上的愚蠢bug
|
2022-05-06 21:36:37 +08:00 |
|
e1732a364fed
|
5867bac0b2
|
修订代码,文档,Makefile,示例
修复 没给出 -c参数而给出了 -L 参数时,未能成功运行 的bug
使Makefile 支持 免参数编译 当前系统的 可执行文件。
Makefile的 BUILD_VERSION 这次 添加了 显示 build_on 系统 和 all_go_files_md5 的功能。
md5的打印只支持 linux/darwin,且因为 darwin的命令是 md5 而不是 md5sum,导致输出有差别,所以导致md5总和也有差别.
|
2022-05-05 14:09:12 +08:00 |
|
e1732a364fed
|
00c25b914f
|
重命名proxy的一些接口和接口方法
|
2022-05-05 08:28:23 +08:00 |
|
e1732a364fed
|
6c24c18a67
|
修订代码,文档
|
2022-05-04 12:16:00 +08:00 |
|
e1732a364fed
|
9ea5365565
|
修订代码,文档;为支持监听PROXY protocol 作准备
|
2022-05-03 19:04:17 +08:00 |
|
e1732a364fed
|
3737a328fe
|
修订文档,代码
|
2022-05-02 15:14:10 +08:00 |
|
e1732a364fed
|
5bf0c8f3f0
|
修订文档
|
2022-05-02 14:31:58 +08:00 |
|
e1732a364fed
|
631a70a05d
|
修订advLayer代码,修订文档
|
2022-05-02 11:32:15 +08:00 |
|
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 |
|
e1732a364fed
|
9d5b553e01
|
重构代码, 修订文档
|
2022-04-26 09:16:12 +08:00 |
|
hahafool
|
27872e7dfc
|
rename
|
2022-04-25 18:33:24 +08:00 |
|
hahafool
|
fb1e639c55
|
添加 grpc multiMode, 应该与xray兼容
|
2022-04-24 20:04:10 +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
|
9a1afe18c9
|
修订netLayer和proxy包的代码; 添加日志文件功能;试图添加tproxy功能
|
2022-04-20 09:18:49 +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
|
e5c38d6c8c
|
全面修订代码,文档
|
2022-04-17 11:43:19 +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
|
49a269c0cd
|
修订文档,代码
|
2022-04-15 16:37:25 +08:00 |
|
hahahrfool
|
c39678032b
|
解决trojan无法兼容trojan-go客户端的问题.
|
2022-04-15 15:10:28 +08:00 |
|
hahahrfool
|
ab46349c8b
|
修订代码,文档;实现了trojan的smux并通过了go test
|
2022-04-15 10:28:48 +08:00 |
|
hahahrfool
|
96d98fd65a
|
修订代码,文档,注释;试图实现内层smux;dial配置添加use_mux选项
为了实现内层mux,对 main.go 里的函数做了一些重构,
现在 handshakeInserver_and_passToOutClient 会调用 handshakeInserver 函数 和 passToOutClient 函数
且 fallback部分的代码提出来 放到了 checkfallback 函数中
内层mux还未经过测试
|
2022-04-14 20:46:14 +08:00 |
|
hahahrfool
|
53c61b18a7
|
为内层mux做准备;添加simplesocks协议;将测试代码放入proxy包,成为共用函数.
现在 vless/trojan/simplesocks 共同使用相同的测试代码, 在 proxy/commonTest 中
simplesocks 已经通过了测试。另外发现 trojan的udp部分没有使用 io.ReadFull 导致大udp包的读取会出错,已修复.
|
2022-04-12 08:19:46 +08:00 |
|
hahahrfool
|
6dca31545b
|
修订代码; 移除 SetUDPDialFunc 方法
|
2022-04-11 13:30:24 +08:00 |
|
hahahrfool
|
ca01f2494b
|
修订文档, 修订、优化代码
netLayer的 Relay 和 Relay_UDP 函数现在同时记录下载以及上传总流量
为了给 udp 的 单路 fullcone 机制作准备, 代码作出如下改动:
main.go 中的 dialClient 现在分成 dialClient 和 dialClient_andRelay 这两个函数。
变更 proxy.Client 接口,新增 IsUDP_MultiChannel 和 SetUDPDialFunc 方法
移除 vless v1部分的 crumfurs代码。 因为现在最新计划 将不再使用单独 crumfurs信道。
可参考 最新 vless_v1.md 文档中的改变。
|
2022-04-11 12:03:53 +08:00 |
|
hahahrfool
|
1caa5e26c8
|
修订代码;修复udp direct 时 重复dial的问题
|
2022-04-11 08:21:32 +08:00 |
|
hahahrfool
|
55abc3ec35
|
修订代码; 添加advLayer支持所有协议的 打印功能
|
2022-04-10 09:44:38 +08:00 |
|
hahahrfool
|
0598508348
|
将 ws/grpc/quic 文件夹全部移动到 advLayer 文件夹;修订文档
|
2022-04-10 09:10:43 +08:00 |
|
hahahrfool
|
50de20ce12
|
修订代码
|
2022-04-10 08:52:40 +08:00 |
|
hahahrfool
|
447bd8749a
|
重构所有udp部分的代码! 摒弃了过去非常复杂的upd转发机制;
不再使用 UDP_Putter 等机制去转发udp,而是用一个 netLayer.MsgConn 结构
proxy.Server 和 proxy.Client 接口改动,
Client在握手udp时不再使用handshake方法, 而是用新的 EstablishUDPChannel 方法
Server 在 Handshake时会选择性返回两种接口,io.ReadWriteCloser 用于tcp, netLayer.MsgConn 用于 udp
此时vless、socks5、direct 的udp转发都已经成功经过了 go test 验证, 但是 main.go 还未修改。
|
2022-04-08 13:49:56 +08:00 |
|