项目地址: https://github.com/apernet/hysteria/releases/tag/app%2Fv2.9.0
- 新增 Hysteria Realms:没有公网 IP 也没问题!通过 NAT 打洞,让你从家宽、手机流量甚至咖啡店都能运行 Hysteria 服务端。与客户端 P2P 连接,无需配置端口转发或中转。
使用方法: https://hysteria.network/zh/docs/advanced/Realms/
工作原理
- Hysteria 服务端通过 STUN 发现自己的 UDP 公网地址,把这些地址连同你选择的 realm(一个名字)注册到牵线服务。
stun 服务器-----step2----------↓
client 端 ↑--step1------- server 端 8.9.6.4:8964
↓
牵线realm 服务器 <-step3 8.9.6.4:8964 name:xijinping
- 客户端用相同的 realm 地址,请求牵线服务发起连接。牵线服务把服务端的地址返回给客户端,同时把客户端的地址推送给服务端。
stun 服务器
client 端 1.9.5.3:0615 8.9.6.4:8964 server 端
↑ ↓ ↑
↑ ↓- ---name:xiijinping->牵线realm 服务器 - 1.9.5.3:0615--↑
↑ ↓
↑ ------8.9.6.4:8964---------------------
- 双方同时朝彼此发送 UDP 包,从而在各自的 NAT 上打洞。
stun 服务器
↓------udp-------- -----------↑
client 端 1.9.5.3:0615 8.9.6.4:8964 server 端
↓----------------udp-----------↑
牵线realm 服务器
- 一旦洞打开,常规的 Hysteria QUIC 握手就在直连之上继续进行。
stun 服务器
client 端 1.9.5.3:0615 <---Hysteria QUIC---> 8.9.6.4:8964 server 端
牵线realm 服务器
牵线服务器只负责帮双方 “牵线搭桥”。不代理任何流量。
个人点评:
Hysteria 版 frp P2P
从设计上说,不需要realm 服务器也能达成,server 端打完洞 ,client 端手动输入server 端IP:PORT