add icmp tunnel

This commit is contained in:
ginuerzh
2022-03-08 22:34:39 +08:00
parent ee72cea036
commit be374b6488
21 changed files with 769 additions and 186 deletions

View File

@ -42,21 +42,24 @@ func (l *quicListener) Init(md md.Metadata) (err error) {
return
}
laddr, err := net.ResolveUDPAddr("udp", l.options.Addr)
addr := l.options.Addr
if _, _, err := net.SplitHostPort(addr); err != nil {
addr = net.JoinHostPort(addr, "0")
}
var laddr *net.UDPAddr
laddr, err = net.ResolveUDPAddr("udp", addr)
if err != nil {
return
}
uc, err := net.ListenUDP("udp", laddr)
var conn net.PacketConn
conn, err = net.ListenUDP("udp", laddr)
if err != nil {
return
}
var conn net.PacketConn = uc
// conn = metrics.WrapPacketConn(l.options.Service, conn)
if l.md.cipherKey != nil {
conn = quic_util.CipherPacketConn(uc, l.md.cipherKey)
conn = quic_util.CipherPacketConn(conn, l.md.cipherKey)
}
config := &quic.Config{