diff --git a/go.mod b/go.mod index 66f19c1..40b01f7 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/dongxinb/glider go 1.13 require ( - github.com/dongxinb/go-shadowsocks2 v0.1.5 + github.com/dongxinb/go-shadowsocks2 v0.1.6 github.com/klauspost/cpuid v1.2.1 // indirect github.com/klauspost/reedsolomon v1.9.3 // indirect github.com/nadoo/conflag v0.2.2 @@ -21,7 +21,5 @@ require ( // Replace dependency modules with local developing copy // use `go list -m all` to confirm the final module used -// replace ( // github.com/nadoo/conflag => ../conflag -// github.com/dongxinb/go-shadowsocks2 => ../go-shadowsocks2 -// ) +// replace github.com/dongxinb/go-shadowsocks2 => ../go-shadowsocks2 diff --git a/go.sum b/go.sum index 6ac0dcf..5ea6a33 100644 --- a/go.sum +++ b/go.sum @@ -10,6 +10,8 @@ github.com/dongxinb/glider v0.9.2 h1:zfgJLgB8p87MRhVjeCbiXmmF2ZbCMyS5HCSqrR83J4c github.com/dongxinb/glider v0.9.2/go.mod h1:S/94KRJFNtgoNlyEm4+33f/DrEsj/uxvismOW4FlIa0= github.com/dongxinb/go-shadowsocks2 v0.1.5 h1:PxOfISzCyS0KV5FRYbOLbzFPjP99xe9Neq05iGa25Ok= github.com/dongxinb/go-shadowsocks2 v0.1.5/go.mod h1:Bp6Drj6gls2wePkxWqVfeZa3ItYnFK2JuckLXrQiOis= +github.com/dongxinb/go-shadowsocks2 v0.1.6 h1:lC0b4dO3q34KfkLNqodsE75IpEOUDU/BuUBhSLfK9ws= +github.com/dongxinb/go-shadowsocks2 v0.1.6/go.mod h1:Bp6Drj6gls2wePkxWqVfeZa3ItYnFK2JuckLXrQiOis= github.com/ebfe/rc2 v0.0.0-20131011165748-24b9757f5521/go.mod h1:ucvhdsUCE3TH0LoLRb6ShHiJl8e39dGlx6A4g/ujlow= github.com/klauspost/cpuid v1.2.1 h1:vJi+O/nMdFt0vqm8NZBI6wzALWdA2X+egi0ogNyrC/w= github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= diff --git a/proxy/ss/ss.go b/proxy/ss/ss.go index 34a8c6c..e57cff8 100644 --- a/proxy/ss/ss.go +++ b/proxy/ss/ss.go @@ -42,7 +42,7 @@ func NewSS(s string, d proxy.Dialer, p proxy.Proxy) (*SS, error) { method := u.User.Username() pass, _ := u.User.Password() - ciph, err := core.PickCipher(method, nil, pass) + ciph, err := core.PickCipher(method, nil, pass, d != nil) if err != nil { log.Fatalf("[ss] PickCipher for '%s', error: %s", method, err) } @@ -102,7 +102,7 @@ func (s *SS) Serve(c net.Conn) { c.SetKeepAlive(true) } - c = s.StreamConn(c) + c = s.StreamConn(c, false) tgt, err := socks.ReadAddr(c) if err != nil { @@ -257,7 +257,7 @@ func (s *SS) Dial(network, addr string) (net.Conn, error) { return nil, err } - c = s.StreamConn(c) + c = s.StreamConn(c, true) if _, err = c.Write(target); err != nil { c.Close() return nil, err