Open PHCSJC opened 2 years ago
Hysteria不是标准的quic。
关键是真的真的快呀,标不标准无所谓吧?所有的标准不都是慢慢发展来的吗?
可以尝试一下我的分支:https://github.com/happyharryh/gost/tree/hysteria-quic
# 构建
git clone -b hysteria-quic https://github.com/happyharryh/gost.git
cd gost
go build ./cmd/gost
# 服务器端
./gost -L='quic://127.0.0.1:8080?send_mbps=100'
# 客户端
./gost -L=auto://127.0.0.1:1080 -F='quic://127.0.0.1:8080?send_mbps=20&keepalive=true'
这个分支只是简易实现了Hysteria-QUIC的通道,未实现Hysteria的其他加密功能,数据发送速率由服务器端/客户端启动配置直接定死,而非在连接时协商
@happyharryh 非常感谢,下载测试了多次,和hysteria的效果完全一样,可以达到我带宽的满速,而且也是0-RTT
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 615M 100 615M 0 0 35.7M 0 0:00:17 0:00:17 --:--:-- 36.8M
使用了hysteria其实就没必要用gost了,
@f4nff 你说的也没错,只是因为@ginuerzh大佬的gost正好也有quic,如果能达到更快的速度不是更香吗?所以才有这个issue来求大佬了
gost其实没特别的优点, 所有的协议并不快, gost的特点就是多个协议的转换, 目前已经基本不用gost, 用hy放到路由器里面,速度碾压任何其他协议.
hy最好的特点就是支持端口转移,对抗qos, 支持会话平滑转移, 如果是tcp连接ssh会时不时断开一下.
gost 可以中转最新的Hysteria 2 协议吗?如何中转呢?
@happyharryh 专门来这里感谢的~ hysteria-quic 非常 nice~~ 终于又能高峰期上网了😂
@happyharryh 专门来这里感谢的~ hysteria-quic 非常 nice~~ 终于又能高峰期上网了😂
gost 可以中转最新的Hysteria 2 协议吗?如何操作?
@happyharryh 专门来这里感谢的~ hysteria-quic 非常 nice~~ 终于又能高峰期上网了😂
注意这里的quic没有实现身份校验和伪装,仅仅是应用了hysteria的拥塞算法提升传输速率,建议搭配iptables白名单之类的防护使用
@happyharryh 专门来这里感谢的~ hysteria-quic 非常 nice~~ 终于又能高峰期上网了😂
gost 可以中转最新的Hysteria 2 协议吗?如何操作?
这里的quic没有实现hy的身份校验和伪装,不能直接和hy对接,还是得用hy才能和hy对接。中转的话可以用gost帮忙把udp数据转发一下,不过如果只是转发的话,其实用iptables就可以实现,性能还更高一些
@happyharryh 专门来这里感谢的~ hysteria-quic 非常 nice~~ 终于又能高峰期上网了😂
gost 可以中转最新的Hysteria 2 协议吗?如何操作?
这里的quic没有实现hy的身份校验和伪装,不能直接和hy对接,还是得用hy才能和hy对接。中转的话可以用gost帮忙把udp数据转发一下,不过如果只是转发的话,其实用iptables就可以实现,性能还更高一些
我这里只是将hysteria-quic当成点对点的传输隧道而已,gost的命令比较简洁,搭配docker非常方便。 QUIC server放在本地NAS上(不是放在远程VPS上,我这里测试放VPS上容易被ISP封一段时间整个UDP传输)。
最初是rtcp+quic://的方式远程端口映射其他代理协议端口(gost ss)到本地NAS上, 但是GOST rtcp貌似有些BUG,经常断连又重连... 最后用的是tcp+quic://方式,将NAS上的端口本地端口映射到VPS上, 然后在这个隧道中跑了一对chisel。
@Yongke QUIC SERVER放在VPS容易封?放到本地不会被封?然后VPS发起连接到本地NAS上?那你本地是有公网IP吧?
@Yongke QUIC SERVER放在VPS容易封?放到本地不会被封?然后VPS发起连接到本地NAS上?那你本地是有公网IP吧?
是的,本地有公网IP,也有IPV6,随便找了个DDNS。 我发现VPS自己就算被封了IP,也是可以通过TCP/UDP连回本地NAS的。最开始是TCP反向,但是拥塞实在太严重了,高峰期基本卡死(常用的VPS在印度,日本也卡)。hysteria-quic正好解决了拥塞问题。
@happyharryh 专门来这里感谢的~ hysteria-quic 非常 nice~~ 终于又能高峰期上网了😂
gost 可以中转最新的Hysteria 2 协议吗?如何操作?
这里的quic没有实现hy的身份校验和伪装,不能直接和hy对接,还是得用hy才能和hy对接。中转的话可以用gost帮忙把udp数据转发一下,不过如果只是转发的话,其实用iptables就可以实现,性能还更高一些
我这里只是将hysteria-quic当成点对点的传输隧道而已,gost的命令比较简洁,搭配docker非常方便。 QUIC server放在本地NAS上(不是放在远程VPS上,我这里测试放VPS上容易被ISP封一段时间整个UDP传输)。
最初是rtcp+quic://的方式远程端口映射其他代理协议端口(gost ss)到本地NAS上, 但是GOST rtcp貌似有些BUG,经常断连又重连... 最后用的是tcp+quic://方式,将NAS上的端口本地端口映射到VPS上, 然后在这个隧道中跑了一对chisel。
断连又重连的问题,可以看看开启keepalive=true有没有效果(这是quic的一个参数)
断连又重连的问题,可以看看开启keepalive=true有没有效果(这是quic的一个参数)
没什么效果,试过10、60,都差不多的现象。 应该是rtcp的问题,没有深入调查...
可以尝试一下我的分支:https://github.com/happyharryh/gost/tree/hysteria-quic
# 构建 git clone -b hysteria-quic https://github.com/happyharryh/gost.git cd gost go build ./cmd/gost # 服务器端 ./gost -L='quic://127.0.0.1:8080?send_mbps=100' # 客户端 ./gost -L=auto://127.0.0.1:1080 -F='quic://127.0.0.1:8080?send_mbps=20&keepalive=true'
这个分支只是简易实现了Hysteria-QUIC的通道,未实现Hysteria的其他加密功能,数据发送速率由服务器端/客户端启动配置直接定死,而非在连接时协商
兄弟,你近期有把你Hysteria-gost升级到gostv3的打算吗...
可以尝试一下我的分支:https://github.com/happyharryh/gost/tree/hysteria-quic
# 构建 git clone -b hysteria-quic https://github.com/happyharryh/gost.git cd gost go build ./cmd/gost # 服务器端 ./gost -L='quic://127.0.0.1:8080?send_mbps=100' # 客户端 ./gost -L=auto://127.0.0.1:1080 -F='quic://127.0.0.1:8080?send_mbps=20&keepalive=true'
这个分支只是简易实现了Hysteria-QUIC的通道,未实现Hysteria的其他加密功能,数据发送速率由服务器端/客户端启动配置直接定死,而非在连接时协商
兄弟,你近期有把你Hysteria-gost升级到gostv3的打算吗...
个人没有这个需求……
@happyharryh 专门来这里感谢的~ hysteria-quic 非常 nice~~ 终于又能高峰期上网了😂
gost 可以中转最新的Hysteria 2 协议吗?如何操作?
这里的quic没有实现hy的身份校验和伪装,不能直接和hy对接,还是得用hy才能和hy对接。中转的话可以用gost帮忙把udp数据转发一下,不过如果只是转发的话,其实用iptables就可以实现,性能还更高一些
我这里只是将hysteria-quic当成点对点的传输隧道而已,gost的命令比较简洁,搭配docker非常方便。 QUIC server放在本地NAS上(不是放在远程VPS上,我这里测试放VPS上容易被ISP封一段时间整个UDP传输)。
最初是rtcp+quic://的方式远程端口映射其他代理协议端口(gost ss)到本地NAS上, 但是GOST rtcp貌似有些BUG,经常断连又重连... 最后用的是tcp+quic://方式,将NAS上的端口本地端口映射到VPS上, 然后在这个隧道中跑了一对chisel。
兄弟能否分享下,具体怎么做的,vps ip被封,有公网ip
兄弟能否分享下,具体怎么做的,vps ip被封,有公网ip
我是这么玩的。
首先本地需要有公网IP,且开放UDP端口2222/udp(或其他端口)的访问, 确保你的VPS能通过UDP访问这个端口;同时本地还需运行一个rathole服务器(或者chisel服务器,这个效率偏低)。
gost-hysteria -L "quic://:2222?send_mbps=1000&keepalive=10&cipher=**some_cipher_for_hysteria**"
rathole /server.toml
server.toml, rathole监听到本地2222/tcp上,不需要开放到公网上。
[server]
bind_addr = "0.0.0.0:2222"
[server.services.ss-hy-oracle-in]
token = "**someratholetoken**"
bind_addr = "0.0.0.0:7001"
GOST的反向端口代理功能rtcp和rudp,在监听的超时设计和断线重连上有些不好用,rathole或chisel相比之下要稳定很多。
在VPS上启动gost-hysteria客户端,建立从VPS到本地的UDP隧道, 并且将你本地的2222/tcp代理到VPS的9999/tcp上。
gost-hysteria -L tcp://0.0.0.0:9999/:2222 -L $3 -F "quic://**your_public_ip_or_ddns**:2222?send_mbps=1000&keepalive=10&cipher=**some_cipher_for_hysteria**"
VPS启动SS服务到7777/tcp
gost-hysteria -L "ss://aes-128-gcm:**somecipher**@127.0.0.1:7777"
VPS转发7777/tcp到本地的7001/tcp,最终你的SS服务就相当于监听在本地的网络上了(7001/tcp)
/bin/rathole client.toml
client.toml
[client]
remote_addr = "127.0.0.1:9999"
[client.services.ss-hy-oracle-in]
token = "**someratholetoken**"
local_addr = "127.0.0.1:7777"
这样反着连,整体效果还行,我都用了差不多大半年了,一直没有被掐断过~~ VPS可以多个,相当于把多个VPS的SS或其他服务都映射到本地。
可以把上面的脚本和配置塞到docker里,最后docker-compose一跑就完事,不用每次每台vps和本地机器都重新配置。
长期使用和测试发现,Hysteria的速度非常快,它底层使用的是quic协议,可能是它用的quic库优化的比较好,gost大佬有空能否看看,也许能借鉴一下?
我实测的,Hysteria下载速度在25M左右,而gost的relay+quic\kcp不到5M
这里也直接放出下载命令,方便测试: curl -fo /dev/null https://download3.vmware.com/software/WKST-1624-WIN/VMware-workstation-full-16.2.4-20089737.exe
使用的quic库应该是这个: https://github.com/lucas-clemente/quic-go