no message
This commit is contained in:
@ -559,11 +559,11 @@ func (s *Socks) proxyUDP(inConn *net.Conn, methodReq socks.MethodsRequest, reque
|
|||||||
go func() {
|
go func() {
|
||||||
buf := make([]byte, 1)
|
buf := make([]byte, 1)
|
||||||
if _, err := (*inConn).Read(buf); err != nil {
|
if _, err := (*inConn).Read(buf); err != nil {
|
||||||
laddr := ""
|
raddr := ""
|
||||||
if outUDPConn != nil {
|
if outUDPConn != nil {
|
||||||
laddr = outUDPConn.LocalAddr().String()
|
raddr = outUDPConn.RemoteAddr().String()
|
||||||
}
|
}
|
||||||
s.log.Printf("udp related tcp conn disconnected , %s -> %s , %s", inconnRemoteAddr, laddr, err)
|
s.log.Printf("udp related tcp conn disconnected , %s -> %s", inconnRemoteAddr, raddr)
|
||||||
(*inConn).Close()
|
(*inConn).Close()
|
||||||
udpListener.Close()
|
udpListener.Close()
|
||||||
s.userConns.Remove(inconnRemoteAddr)
|
s.userConns.Remove(inconnRemoteAddr)
|
||||||
@ -646,13 +646,16 @@ func (s *Socks) proxyUDP(inConn *net.Conn, methodReq socks.MethodsRequest, reque
|
|||||||
}
|
}
|
||||||
rp := socks.NewPacketUDP()
|
rp := socks.NewPacketUDP()
|
||||||
rp.Build(srcAddr.String(), buf[:n])
|
rp.Build(srcAddr.String(), buf[:n])
|
||||||
_, err = udpListener.WriteTo(rp.Bytes(), srcAddr)
|
d := rp.Bytes()
|
||||||
|
_, err = udpListener.WriteTo(d, srcAddr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
s.udpRelatedPacketConns.Remove(srcAddr.String())
|
s.udpRelatedPacketConns.Remove(srcAddr.String())
|
||||||
s.log.Printf("write out data to local fail , %s , from : %s", err, srcAddr)
|
s.log.Printf("write out data to local fail , %s , from : %s", err, srcAddr)
|
||||||
if strings.Contains(err.Error(), "use of closed network connection") {
|
if strings.Contains(err.Error(), "use of closed network connection") {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
s.log.Printf("send udp data to local success , len %d, for : %s", len(d), srcAddr)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
@ -663,6 +666,8 @@ func (s *Socks) proxyUDP(inConn *net.Conn, methodReq socks.MethodsRequest, reque
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
s.log.Printf("send out udp data fail , %s , from : %s", err, srcAddr)
|
s.log.Printf("send out udp data fail , %s , from : %s", err, srcAddr)
|
||||||
continue
|
continue
|
||||||
|
} else {
|
||||||
|
s.log.Printf("send udp data to remote success , len %d, for : %s", len(p.Data()), srcAddr)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user