From d29ed0857f32d6853d2192ff82e173d2ce37b255 Mon Sep 17 00:00:00 2001 From: e1732a364fed <75717694+e1732a364fed@users.noreply.github.com> Date: Sat, 1 Jan 2000 00:00:00 +0000 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E8=AE=A2=E6=96=87=E6=A1=A3,=20fix=20#?= =?UTF-8?q?98,=20http=E5=92=8Csocks5=E5=9C=A8=E6=B2=A1=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E5=A4=9A=E7=94=A8=E6=88=B7=E6=97=B6=E4=BC=9A=E9=97=AA=E9=80=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- proxy/base.go | 2 +- proxy/creator_url.go | 2 +- proxy/http/server.go | 6 +++--- proxy/socks5http/server.go | 9 ++++++--- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/proxy/base.go b/proxy/base.go index f264e3b..f170b28 100644 --- a/proxy/base.go +++ b/proxy/base.go @@ -297,7 +297,7 @@ func (b *Base) GetAdvServer() advLayer.Server { return b.AdvS } -//setNetwork, Xver, Tag,Sockopt,Header,AdvancedL, InitAdvLayer +//setNetwork, Xver, Tag,Sockopt, IsFullcone, Header,AdvancedL, InitAdvLayer func (b *Base) ConfigCommon(cc *CommonConf) { b.setNetwork(cc.Network) diff --git a/proxy/creator_url.go b/proxy/creator_url.go index f0634c7..d0106ff 100644 --- a/proxy/creator_url.go +++ b/proxy/creator_url.go @@ -139,7 +139,7 @@ func configCommonURLQueryForServer(ser BaseInterface, u *url.URL) { } } -//SetAddrStr, setNetwork +//SetAddrStr, setNetwork, Isfullcone func configCommonByURL(baseI BaseInterface, u *url.URL) { if u.Scheme != DirectName { baseI.SetAddrStr(u.Host) //若不给出port,那就只有host名,这样不好,我们 默认 配置里肯定给了port diff --git a/proxy/http/server.go b/proxy/http/server.go index 5805dba..0f8a9a5 100644 --- a/proxy/http/server.go +++ b/proxy/http/server.go @@ -51,7 +51,7 @@ type ServerCreator struct{} func (ServerCreator) NewServerFromURL(u *url.URL) (proxy.Server, error) { - s := newServer() + s := NewServer() var userPass utils.UserPass if userPass.InitWithUrl(u) { s.AddUser(&userPass) @@ -60,7 +60,7 @@ func (ServerCreator) NewServerFromURL(u *url.URL) (proxy.Server, error) { } func (ServerCreator) NewServer(lc *proxy.ListenConf) (proxy.Server, error) { - s := newServer() + s := NewServer() if str := lc.Uuid; str != "" { var userPass utils.UserPass if userPass.InitWithStr(str) { @@ -89,7 +89,7 @@ type Server struct { OnlyConnect bool //是否仅支持Connect命令; 如果为true, 则直接通过 GET http://xxx 这种请求不再被认为是有效的。之前本以为connect就可以搞定一切,后来实测发现 wget 确实在 非https时 会用 纯http请求的方式 请求代理。所以 一般 OnlyConnect 为 false即可. } -func newServer() *Server { +func NewServer() *Server { s := &Server{ MultiUserMap: utils.NewMultiUserMap(), } diff --git a/proxy/socks5http/server.go b/proxy/socks5http/server.go index 0774e1a..7299189 100644 --- a/proxy/socks5http/server.go +++ b/proxy/socks5http/server.go @@ -52,14 +52,17 @@ func (ServerCreator) NewServer(dc *proxy.ListenConf) (proxy.Server, error) { } func newServer() *Server { - return &Server{} + return &Server{ + hs: http.NewServer(), + ss: socks5.NewServer(), + } } type Server struct { proxy.Base - hs http.Server - ss socks5.Server + hs *http.Server + ss *socks5.Server } func (*Server) Name() string {