fscarmen / sing-box

Sing-box 全家桶 --- 一键多协议脚本
1.27k stars 276 forks source link

HY2突然罢工,tuic正常 #15

Closed Doutianbao closed 10 months ago

Doutianbao commented 11 months ago

咨询网友,说是QOS等问题, 查询可知:能够配合端口跳跃绕过运营商封锁/QoS的问题

大佬能否更新代码实现上述功能,Respect

fscarmen commented 11 months ago

暂时先不加了。原因如下: 1.主流的客户端均不支持客户端的端口跳跃,包括 clash meta / sing-box / nekoray,支持的应该只有小火箭或者v2rayN+hysteria2内核; https://wiki.metacubex.one/config/proxies/hysteria2/ https://sing-box.sagernet.org/zh/configuration/outbound/hysteria2/

2.对一些开放的端口有限的 nat 鸡并不适用,多设了反而会不通;

3.脚本要加需要增加一个交互,现在的问题我觉得已经十分多了,我自己都觉得烦。每个协议其实都有一些细分的参数可以调的,我选用了最经典的方案以极少交互。所以没有万分必要,不考虑再增加了;

4.如果实在需要该功能,可以找找 hysteria2 的细分脚本使用; https://github.com/search?q=hysteria2&type=repositories

silentxrture commented 11 months ago

hy2的端口跳跃功能应该通过添加iptables规则来开启,具体查阅Hysteria2 的官方文档

# IPv4
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 20000:50000 -j DNAT --to-destination :443
# IPv6
ip6tables -t nat -A PREROUTING -i eth0 -p udp --dport 20000:50000 -j DNAT --to-destination :443
fscarmen commented 11 months ago

hy2的端口跳跃功能应该通过添加iptables规则来开启,具体查阅Hysteria2 的官方文档

# IPv4
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 20000:50000 -j DNAT --to-destination :443
# IPv6
ip6tables -t nat -A PREROUTING -i eth0 -p udp --dport 20000:50000 -j DNAT --to-destination :443

问题是你的客户端要支持才行啊

silentxrture commented 11 months ago

暂时先不加了。原因如下: 1.主流的客户端均不支持客户端的端口跳跃,包括 clash meta / sing-box / nekoray,支持的应该只有小火箭或者v2rayN+hysteria2内核; https://wiki.metacubex.one/config/proxies/hysteria2/ https://sing-box.sagernet.org/zh/configuration/outbound/hysteria2/

2.对一些开放的端口有限的 nat 鸡并不适用,多设了反而会不通;

3.脚本要加需要增加一个交互,现在的问题我觉得已经十分多了,我自己都觉得烦。每个协议其实都有一些细分的参数可以调的,我选用了最经典的方案以极少交互。所以没有万分必要,不考虑再增加了;

4.如果实在需要该功能,可以找找 hysteria2 的细分脚本使用; https://github.com/search?q=hysteria2&type=repositories

大佬,根据Hysteria2 的官方文档,端口跳跃通过iptables nat规则转发实现的,应该挺好弄的,而且我通过你的脚本安装的hy2也已经成功使用上端口跳跃了,另外根据我自己使用情况,nekobox和clash meta是支持端口跳跃功能的,meta配置文件的写法是 ports: 1000-2000

(非催更,只是提供思路)

fscarmen commented 11 months ago

Clash Meta:

看文档,1是支持的,2暂时未支持

image

Nekoray with Sing-box kernel:

image

世界明确不支持端口跳跃 https://github.com/SagerNet/sing-box/issues/229

而且设置也不支持在端口处输入 - , 号

image
fscarmen commented 11 months ago

nekobox和clash meta是支持端口跳跃功能的,meta配置文件的写法是 ports: 1000-2000

你确定能用起来?如何使用的?

silentxrture commented 11 months ago

nekobox和clash meta是支持端口跳跃功能的,meta配置文件的写法是 ports: 1000-2000

你确定能用起来?如何使用的?

meta部分我使用的是软路由上的openclash,内核是meta的最新alpha版本,然后nekobox是安卓版本的,都能够正常使用,安卓版本的nekobox可以直接输入-端口范围。我还找到一个meta那边讨论端口跳跃的帖子 https://github.com/MetaCubeX/Clash.Meta/pull/269

fscarmen commented 5 months ago

咨询网友,说是QOS等问题, 查询可知:能够配合端口跳跃绕过运营商封锁/QoS的问题

大佬能否更新代码实现上述功能,Respect

https://github.com/fscarmen/sing-box/issues/84#issuecomment-2102786996