diff --git a/ss.go b/ss.go index d85ecd7..df51774 100644 --- a/ss.go +++ b/ss.go @@ -19,7 +19,7 @@ type ss struct { func SSProxy(addr, method, pass string, upProxy Proxy) (Proxy, error) { ciph, err := core.PickCipher(method, nil, pass) if err != nil { - log.Fatal(err) + log.Fatalf("PickCipher for '%s', error: %s", method, err) } s := &ss{ diff --git a/strategy.go b/strategy.go index b1967f7..d61487c 100644 --- a/strategy.go +++ b/strategy.go @@ -75,7 +75,7 @@ func (p *rrProxy) Enabled() bool { return true } func (p *rrProxy) SetEnable(enable bool) {} func (p *rrProxy) Dial(network, addr string) (net.Conn, error) { - return p.NextProxy().Dial(network, addr) + return p.GetProxy(addr).Dial(network, addr) } // high availability proxy @@ -95,3 +95,7 @@ func (p *haProxy) GetProxy(dstAddr string) Proxy { } return proxy } + +func (p *haProxy) Dial(network, addr string) (net.Conn, error) { + return p.GetProxy(addr).Dial(network, addr) +}