mirror of
https://github.com/xjasonlyu/tun2socks.git
synced 2024-12-30 02:37:01 +00:00
Refactor: improve metadata structure
This commit is contained in:
+2
-2
@@ -45,8 +45,8 @@ type directPacketConn struct {
|
||||
}
|
||||
|
||||
func (pc *directPacketConn) WriteTo(b []byte, addr net.Addr) (int, error) {
|
||||
if m, ok := addr.(*M.Metadata); ok && m.DstIP != nil {
|
||||
return pc.PacketConn.WriteTo(b, m.UDPAddr())
|
||||
if ma, ok := addr.(*M.Addr); ok && ma.Metadata().DstIP != nil {
|
||||
return pc.PacketConn.WriteTo(b, ma.Metadata().UDPAddr())
|
||||
}
|
||||
|
||||
udpAddr, err := net.ResolveUDPAddr("udp", addr.String())
|
||||
|
||||
@@ -88,8 +88,8 @@ type ssPacketConn struct {
|
||||
|
||||
func (pc *ssPacketConn) WriteTo(b []byte, addr net.Addr) (n int, err error) {
|
||||
var packet []byte
|
||||
if m, ok := addr.(*M.Metadata); ok {
|
||||
packet, err = socks5.EncodeUDPPacket(m.SerializeSocksAddr(), b)
|
||||
if ma, ok := addr.(*M.Addr); ok {
|
||||
packet, err = socks5.EncodeUDPPacket(ma.Metadata().SerializeSocksAddr(), b)
|
||||
} else {
|
||||
packet, err = socks5.EncodeUDPPacket(socks5.ParseAddrToSocksAddr(addr), b)
|
||||
}
|
||||
|
||||
+2
-2
@@ -141,8 +141,8 @@ type socksPacketConn struct {
|
||||
|
||||
func (pc *socksPacketConn) WriteTo(b []byte, addr net.Addr) (n int, err error) {
|
||||
var packet []byte
|
||||
if m, ok := addr.(*M.Metadata); ok {
|
||||
packet, err = socks5.EncodeUDPPacket(m.SerializeSocksAddr(), b)
|
||||
if ma, ok := addr.(*M.Addr); ok {
|
||||
packet, err = socks5.EncodeUDPPacket(ma.Metadata().SerializeSocksAddr(), b)
|
||||
} else {
|
||||
packet, err = socks5.EncodeUDPPacket(socks5.ParseAddrToSocksAddr(addr), b)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user