fix bug
This commit is contained in:
parent
aef1c86b43
commit
2508491d20
4
chain.go
4
chain.go
@ -340,7 +340,9 @@ func (c *ProxyChain) getHttp2Conn(header http.Header) (net.Conn, error) {
|
||||
return conn, nil
|
||||
}
|
||||
|
||||
// Use HTTP2 as transport to connect target addr
|
||||
// Use HTTP2 as transport to connect target addr.
|
||||
//
|
||||
// BUG: SOCKS5 is ignored, only HTTP supported
|
||||
func (c *ProxyChain) http2Connect(addr string) (net.Conn, error) {
|
||||
if !c.Http2Enabled() {
|
||||
return nil, errors.New("HTTP2 is not enabled")
|
||||
|
@ -111,6 +111,7 @@ func (node *cnode) run() {
|
||||
lconn, err := net.ListenUDP("udp", nil)
|
||||
if err != nil {
|
||||
glog.V(LWARNING).Infof("[udp] %s -> %s : %s", node.srcAddr, node.dstAddr, err)
|
||||
node.err = err
|
||||
return
|
||||
}
|
||||
node.conn = lconn
|
||||
@ -118,6 +119,7 @@ func (node *cnode) run() {
|
||||
tc, err := node.getUDPTunnel()
|
||||
if err != nil {
|
||||
glog.V(LWARNING).Infof("[udp-tun] %s -> %s : %s", node.srcAddr, node.dstAddr, err)
|
||||
node.err = err
|
||||
return
|
||||
}
|
||||
node.conn = tc
|
||||
@ -294,7 +296,7 @@ func (s *UdpForwardServer) ListenAndServe() error {
|
||||
}
|
||||
m[pkt.srcAddr.String()] = node
|
||||
go node.run()
|
||||
glog.V(LDEBUG).Infof("[udp] %s -> %s : new client (%d)", pkt.srcAddr, pkt.dstAddr, len(m))
|
||||
glog.V(LINFO).Infof("[udp] %s -> %s : new client (%d)", pkt.srcAddr, pkt.dstAddr, len(m))
|
||||
}
|
||||
|
||||
select {
|
||||
|
4
socks.go
4
socks.go
@ -546,6 +546,7 @@ func (s *Socks5Server) tunnelUDP(uc *net.UDPConn, cc net.Conn, client bool) (err
|
||||
for {
|
||||
n, addr, err := uc.ReadFromUDP(b)
|
||||
if err != nil {
|
||||
glog.V(LWARNING).Infof("[udp-tun] %s <- %s : %s", cc.RemoteAddr(), addr, err)
|
||||
errc <- err
|
||||
return
|
||||
}
|
||||
@ -570,6 +571,7 @@ func (s *Socks5Server) tunnelUDP(uc *net.UDPConn, cc net.Conn, client bool) (err
|
||||
dgram = gosocks5.NewUDPDatagram(
|
||||
gosocks5.NewUDPHeader(uint16(n), 0, ToSocksAddr(addr)), b[:n])
|
||||
if err := dgram.Write(cc); err != nil {
|
||||
glog.V(LWARNING).Infof("[udp-tun] %s <- %s : %s", cc.RemoteAddr(), dgram.Header.Addr, err)
|
||||
errc <- err
|
||||
return
|
||||
}
|
||||
@ -582,6 +584,7 @@ func (s *Socks5Server) tunnelUDP(uc *net.UDPConn, cc net.Conn, client bool) (err
|
||||
for {
|
||||
dgram, err := gosocks5.ReadUDPDatagram(cc)
|
||||
if err != nil {
|
||||
glog.V(LWARNING).Infof("[udp-tun] %s -> 0 : %s", cc.RemoteAddr(), err)
|
||||
errc <- err
|
||||
return
|
||||
}
|
||||
@ -605,6 +608,7 @@ func (s *Socks5Server) tunnelUDP(uc *net.UDPConn, cc net.Conn, client bool) (err
|
||||
continue // drop silently
|
||||
}
|
||||
if _, err := uc.WriteToUDP(dgram.Data, addr); err != nil {
|
||||
glog.V(LWARNING).Infof("[udp-tun] %s -> %s : %s", cc.RemoteAddr(), addr, err)
|
||||
errc <- err
|
||||
return
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user