From b3461ea5277fdfea4bdf579452ef4e4ba9754ff6 Mon Sep 17 00:00:00 2001 From: "rui.zheng" Date: Fri, 30 Sep 2016 17:26:48 +0800 Subject: [PATCH] update --- conn.go | 6 +++--- forward.go | 2 +- http.go | 8 ++++---- socks.go | 2 +- ss.go | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/conn.go b/conn.go index 883146e..94bd755 100644 --- a/conn.go +++ b/conn.go @@ -375,7 +375,7 @@ func (r *reqReader) Read(p []byte) (n int, err error) { return } -func connect(addr string, prot string, chain []Args) (conn net.Conn, err error) { +func connect(addr string, prot string, chain ...Args) (conn net.Conn, err error) { if !strings.Contains(addr, ":") { addr += ":80" } @@ -421,9 +421,9 @@ func connectHttp2(client *http.Client, host, target string, prot string) (net.Co Host: host, ContentLength: -1, } - req.Header.Set("gost-target-addr", target) + req.Header.Set("gost-target", target) if prot != "" { - req.Header.Set("gost-prot", prot) + req.Header.Set("gost-protocol", prot) } if glog.V(LDEBUG) { diff --git a/forward.go b/forward.go index 679c1ca..a9af8f8 100644 --- a/forward.go +++ b/forward.go @@ -13,7 +13,7 @@ func handleTcpForward(conn net.Conn, raddr net.Addr) { defer conn.Close() glog.V(LINFO).Infof("[tcp] %s - %s", conn.RemoteAddr(), raddr) - c, err := connect(raddr.String(), "") + c, err := connect(raddr.String(), "", forwardArgs...) if err != nil { glog.V(LWARNING).Infof("[tcp] %s -> %s : %s", conn.RemoteAddr(), raddr, err) return diff --git a/http.go b/http.go index 9bb1abb..b2684ea 100644 --- a/http.go +++ b/http.go @@ -56,7 +56,7 @@ func handleHttpRequest(req *http.Request, conn net.Conn, arg Args) { } } - c, err := connect(req.Host, "http") + c, err := connect(req.Host, "http", forwardArgs...) if err != nil { glog.V(LWARNING).Infof("[http] %s -> %s : %s", conn.RemoteAddr(), req.Host, err) @@ -167,7 +167,7 @@ func initHttp2Client(host string, chain ...Args) { }, DialTLS: func(network, addr string, cfg *tls.Config) (net.Conn, error) { // replace the default dialer with our forward chain. - conn, err := connectWithChain(host, chain...) + conn, err := connect(host, "http2", chain...) if err != nil { return conn, err } @@ -178,7 +178,7 @@ func initHttp2Client(host string, chain ...Args) { } func handlerHttp2Request(w http.ResponseWriter, req *http.Request) { - target := req.Header.Get("gost-target-addr") + target := req.Header.Get("gost-target") if target == "" { target = req.Host } @@ -189,7 +189,7 @@ func handlerHttp2Request(w http.ResponseWriter, req *http.Request) { glog.Infoln(string(dump)) } - c, err := connect(target, req.Header.Get("gost-prot")) + c, err := connect(target, req.Header.Get("gost-protocol"), forwardArgs...) if err != nil { glog.V(LWARNING).Infof("[http2] %s -> %s : %s", req.RemoteAddr, target, err) w.Header().Set("Proxy-Agent", "gost/"+Version) diff --git a/socks.go b/socks.go index 1551f01..d304930 100644 --- a/socks.go +++ b/socks.go @@ -170,7 +170,7 @@ func handleSocks5Request(req *gosocks5.Request, conn net.Conn) { case gosocks5.CmdConnect: glog.V(LINFO).Infof("[socks5-connect] %s - %s", conn.RemoteAddr(), req.Addr) - tconn, err := connect(req.Addr.String(), "socks5") + tconn, err := connect(req.Addr.String(), "socks5", forwardArgs...) if err != nil { glog.V(LWARNING).Infof("[socks5-connect] %s -> %s : %s", conn.RemoteAddr(), req.Addr, err) rep := gosocks5.NewReply(gosocks5.HostUnreachable, nil) diff --git a/ss.go b/ss.go index 0182303..2ed3f34 100644 --- a/ss.go +++ b/ss.go @@ -31,7 +31,7 @@ func handleShadow(conn net.Conn, arg Args) { } glog.V(LINFO).Infof("[ss] %s -> %s", conn.RemoteAddr(), addr.String()) - sconn, err := connect(addr.String(), "ss") + sconn, err := connect(addr.String(), "ss", forwardArgs...) if err != nil { glog.V(LWARNING).Infof("[ss] %s -> %s : %s", conn.RemoteAddr(), addr.String(), err) return