fix #96
This commit is contained in:
parent
852b2ca937
commit
fa152892fd
4
http.go
4
http.go
@ -100,7 +100,7 @@ func (s *HttpServer) HandleRequest(req *http.Request) {
|
|||||||
s.conn.Write(b)
|
s.conn.Write(b)
|
||||||
} else {
|
} else {
|
||||||
req.Header.Del("Proxy-Connection")
|
req.Header.Del("Proxy-Connection")
|
||||||
req.Header.Set("Connection", "Keep-Alive")
|
// req.Header.Set("Connection", "Keep-Alive")
|
||||||
|
|
||||||
if err = req.Write(c); err != nil {
|
if err = req.Write(c); err != nil {
|
||||||
glog.V(LWARNING).Infof("[http] %s -> %s : %s", s.conn.RemoteAddr(), req.Host, err)
|
glog.V(LWARNING).Infof("[http] %s -> %s : %s", s.conn.RemoteAddr(), req.Host, err)
|
||||||
@ -277,7 +277,7 @@ func (s *Http2Server) HandleRequest(w http.ResponseWriter, req *http.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
req.Header.Set("Connection", "Keep-Alive")
|
// req.Header.Set("Connection", "Keep-Alive")
|
||||||
if err = req.Write(c); err != nil {
|
if err = req.Write(c); err != nil {
|
||||||
glog.V(LWARNING).Infof("[http2] %s -> %s : %s", req.RemoteAddr, target, err)
|
glog.V(LWARNING).Infof("[http2] %s -> %s : %s", req.RemoteAddr, target, err)
|
||||||
return
|
return
|
||||||
|
13
socks.go
13
socks.go
@ -279,26 +279,25 @@ func (s *Socks5Server) handleUDPRelay(req *gosocks5.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
bindAddr, _ := net.ResolveUDPAddr("udp", addr)
|
relay, err := net.ListenUDP("udp", nil)
|
||||||
relay, err := net.ListenUDP("udp", bindAddr) // udp associate, strict mode: if the port already in use, it will return error
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
glog.V(LWARNING).Infof("[socks5-udp] %s -> %s : %s", s.conn.RemoteAddr(), req.Addr, err)
|
glog.V(LWARNING).Infof("[socks5-udp] %s -> %s : %s", s.conn.RemoteAddr(), relay.LocalAddr(), err)
|
||||||
reply := gosocks5.NewReply(gosocks5.Failure, nil)
|
reply := gosocks5.NewReply(gosocks5.Failure, nil)
|
||||||
reply.Write(s.conn)
|
reply.Write(s.conn)
|
||||||
glog.V(LDEBUG).Infof("[socks5-udp] %s <- %s\n%s", s.conn.RemoteAddr(), req.Addr, reply)
|
glog.V(LDEBUG).Infof("[socks5-udp] %s <- %s\n%s", s.conn.RemoteAddr(), relay.LocalAddr(), reply)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
defer relay.Close()
|
defer relay.Close()
|
||||||
|
|
||||||
socksAddr := ToSocksAddr(relay.LocalAddr())
|
socksAddr := ToSocksAddr(relay.LocalAddr())
|
||||||
socksAddr.Host, _, _ = net.SplitHostPort(s.conn.LocalAddr().String())
|
socksAddr.Host, _, _ = net.SplitHostPort(s.conn.LocalAddr().String()) // replace the IP to out-going interface's
|
||||||
reply := gosocks5.NewReply(gosocks5.Succeeded, socksAddr)
|
reply := gosocks5.NewReply(gosocks5.Succeeded, socksAddr)
|
||||||
if err := reply.Write(s.conn); err != nil {
|
if err := reply.Write(s.conn); err != nil {
|
||||||
glog.V(LWARNING).Infof("[socks5-udp] %s <- %s : %s", s.conn.RemoteAddr(), req.Addr, err)
|
glog.V(LWARNING).Infof("[socks5-udp] %s <- %s : %s", s.conn.RemoteAddr(), relay.LocalAddr(), err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
glog.V(LDEBUG).Infof("[socks5-udp] %s <- %s\n%s", s.conn.RemoteAddr(), reply.Addr, reply)
|
glog.V(LDEBUG).Infof("[socks5-udp] %s <- %s\n%s", s.conn.RemoteAddr(), reply.Addr, reply)
|
||||||
glog.V(LINFO).Infof("[socks5-udp] %s - %s BIND ON %s OK", s.conn.RemoteAddr(), req.Addr, socksAddr)
|
glog.V(LINFO).Infof("[socks5-udp] %s - %s BIND ON %s OK", s.conn.RemoteAddr(), relay.LocalAddr(), socksAddr)
|
||||||
|
|
||||||
cc, err := s.Base.Chain.GetConn()
|
cc, err := s.Base.Chain.GetConn()
|
||||||
// connection error
|
// connection error
|
||||||
|
Loading…
Reference in New Issue
Block a user