From e32bf1a0f6225239baedf768a2dc19848a2f0b48 Mon Sep 17 00:00:00 2001 From: nadoo <287492+nadoo@users.noreply.github.com> Date: Thu, 7 Sep 2017 23:50:10 +0800 Subject: [PATCH] server: remove network parameter in server mode --- dialer.go | 2 +- mixed.go | 4 ++-- server.go | 4 ++-- socks5.go | 5 ++--- ss.go | 2 +- 5 files changed, 8 insertions(+), 9 deletions(-) diff --git a/dialer.go b/dialer.go index 0296667..e6f091b 100644 --- a/dialer.go +++ b/dialer.go @@ -42,7 +42,7 @@ func DialerFromURL(s string, cDialer Dialer) (Dialer, error) { case "http": return NewHTTP(addr, cDialer, nil) case "socks5": - return NewSOCKS5("tcp", addr, user, pass, cDialer, nil) + return NewSOCKS5(addr, user, pass, cDialer, nil) case "ss": p, err := NewSS(addr, user, pass, cDialer, nil) return p, err diff --git a/mixed.go b/mixed.go index e6faed5..c666881 100644 --- a/mixed.go +++ b/mixed.go @@ -27,14 +27,14 @@ type MixedProxy struct { } // NewMixedProxy returns a mixed proxy. -func NewMixedProxy(network, addr, user, pass string, sDialer Dialer) (*MixedProxy, error) { +func NewMixedProxy(addr, user, pass string, sDialer Dialer) (*MixedProxy, error) { p := &MixedProxy{ sDialer: sDialer, addr: addr, } p.http, _ = NewHTTP(addr, nil, sDialer) - p.socks5, _ = NewSOCKS5(network, addr, user, pass, nil, sDialer) + p.socks5, _ = NewSOCKS5(addr, user, pass, nil, sDialer) return p, nil } diff --git a/server.go b/server.go index bbc5682..ea0edc7 100644 --- a/server.go +++ b/server.go @@ -41,11 +41,11 @@ func ServerFromURL(s string, sDialer Dialer) (Server, error) { switch u.Scheme { case "mixed": - return NewMixedProxy("tcp", addr, user, pass, sDialer) + return NewMixedProxy(addr, user, pass, sDialer) case "http": return NewHTTP(addr, nil, sDialer) case "socks5": - return NewSOCKS5("tcp", addr, user, pass, nil, sDialer) + return NewSOCKS5(addr, user, pass, nil, sDialer) case "ss": p, err := NewSS(addr, user, pass, nil, sDialer) return p, err diff --git a/socks5.go b/socks5.go index 12c30b8..7cb772f 100644 --- a/socks5.go +++ b/socks5.go @@ -60,14 +60,13 @@ type SOCKS5 struct { *Forwarder sDialer Dialer - network string user string password string } // NewSOCKS5 returns a Proxy that makes SOCKSv5 connections to the given address // with an optional username and password. See RFC 1928. -func NewSOCKS5(network, addr, user, pass string, cDialer Dialer, sDialer Dialer) (*SOCKS5, error) { +func NewSOCKS5(addr, user, pass string, cDialer Dialer, sDialer Dialer) (*SOCKS5, error) { s := &SOCKS5{ Forwarder: NewForwarder(addr, cDialer), sDialer: sDialer, @@ -136,7 +135,7 @@ func (s *SOCKS5) Dial(network, addr string) (net.Conn, error) { switch network { case "tcp", "tcp6", "tcp4": default: - return nil, errors.New("proxy: no support for SOCKS5 proxy connections of type " + network) + return nil, errors.New("proxy-socks5: no support for connection type " + network) } c, err := s.cDialer.Dial(network, s.addr) diff --git a/ss.go b/ss.go index f22cb49..aa9332e 100644 --- a/ss.go +++ b/ss.go @@ -171,7 +171,7 @@ func (s *SS) Dial(network, addr string) (net.Conn, error) { return nil, errors.New("Unable to parse address: " + addr) } - c, err := s.cDialer.Dial("tcp", s.addr) + c, err := s.cDialer.Dial(network, s.addr) if err != nil { logf("dial to %s error: %s", s.addr, err) return nil, err