hysteria icon indicating copy to clipboard operation
hysteria copied to clipboard

[功能请求] 增加单个 UDP 连接设置自动过期时间

Open mailsex opened this issue 1 year ago • 14 comments

功能描述

你好,我查阅了wiki,当前Hysteria似乎没有“单个 UDP 连接设置自动过期时间”这个设置项,因为如果使用UDP协议长时间单一端口进行通讯,容易引起运营商对UDP协议的Qos,我也是最近尝试使用Hysteria来进行上网的,之前我一直用的Kcptun(https://github.com/xtaci/kcptun)进行上网,Kcptun 有一个功能,--autoexpire,这个参数可以设置UDP连接自动断开的时间,我之前用Kcptun配合iptables 来实现动态端口的功能,效果如下图 image 昨晚在尝试Hysteria配合iptables也想实现同样的功能时,发现并没有,我设置Hysteria端口为50000,iptables设置Hysteria动态端口范围为50001-59999。发现Hysteria长时间只会使用一个端口进行通讯,并未断开连接更换端口。效果图如下。 image

这个功能的必要性

避免长时间使用同一个端口进行通讯而被运营商QoS而断流。

当前可用的替代方案

重启Hysteria服务,重新连接,然后就可以实现自动更换端口。

补充

No response

mailsex avatar Oct 20 '22 12:10 mailsex

see this

Error996 avatar Oct 21 '22 03:10 Error996

see this 好的,谢谢。我刚刚也看到这个issue了。

mailsex avatar Oct 21 '22 05:10 mailsex

我也想发这个帖子, 设置udp链接自动过期时间, 然后会话平滑转移到新链接, 然后就可以避免某个链接被qos, 只能重启才恢复速度

f4nff avatar Oct 22 '22 03:10 f4nff

我这边是遇到了好几次, 必须重启客户端才恢复速度的情况。。。

f4nff avatar Oct 23 '22 05:10 f4nff

支持增加这个功能,尤其对UDP QOS有意义。我现在改代码可以定时reconnect,但上层应用同时也会断开,无法做到无缝迁移

koolca avatar Oct 28 '22 01:10 koolca

@koolca quic支持会话平滑转移,你继续加油,你离牛逼就差一步了,

f4nff avatar Oct 28 '22 01:10 f4nff

支持增加这个功能,尤其对UDP QOS有意义。我现在改代码可以定时reconnect,但上层应用同时也会断开,无法做到无缝迁移

非常感谢大神。

mailsex avatar Oct 28 '22 02:10 mailsex

@mailsex 我不是大神 @f4nff 平滑转移只能期待作者了。 我的改动很简单,只需要在文件pkg/core/client.go第117行(return nil前)增加一行,给有需要的同学参考:(900表示900秒,可以改为自己需要的值)

116     c.quicConn = quicConn
117     c.pktConn.SetDeadline(time.Now().Add(time.Second * time.Duration(900)))
118     return nil

koolca avatar Oct 28 '22 02:10 koolca

@mailsex 我不是大神 @f4nff 平滑转移只能期待作者了。 我的改动很简单,只需要在文件pkg/core/client.go第117行(return nil前)增加一行,给有需要的同学参考:(900表示900秒,可以改为自己需要的值)

116     c.quicConn = quicConn
117     c.pktConn.SetDeadline(time.Now().Add(time.Second * time.Duration(900)))
118     return nil

根据我使用kcptun的多年的经验,设置成60秒,对预防UDP Qos 效果比较好。

mailsex avatar Oct 28 '22 02:10 mailsex

#https://github.com/HyNetwork/hysteria/issues/458#issuecomment-1290938901 平滑转移看来短时间没希望

koolca avatar Oct 28 '22 04:10 koolca

HY有动态端口功能吗? 我的也是固定端口, 服务器是比如443的话, 客户端连接服务器就一直是443这个端口...

wutongskype avatar Oct 28 '22 23:10 wutongskype

自己动手写了一个定时切换端口的程序,地址https://github.com/koolca/udpmux 初步测试通过,但每个client只支持一个连接,测试对性能也有影响。有动手能力的,可以配合iptables做到随机端口而不断连 期待作者更新1.3版本

koolca avatar Nov 04 '22 01:11 koolca

感觉可以把v2ray xray里面那个动态端口的功能抄过来... https://guide.v2fly.org/advanced/dynamicport.html

wutongskype avatar Nov 04 '22 04:11 wutongskype

https://github.com/HyNetwork/hysteria/tree/v1.3.0

作者牛逼。已经实现了这个功能。

mailsex avatar Nov 08 '22 05:11 mailsex