feat: add dialer

This commit is contained in:
fuxuan 2019-11-24 13:47:24 +08:00
parent 8a86402e46
commit a7a2da9986
3 changed files with 7 additions and 7 deletions

6
go.mod
View File

@ -3,7 +3,7 @@ module github.com/dongxinb/glider
go 1.13 go 1.13
require ( 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/cpuid v1.2.1 // indirect
github.com/klauspost/reedsolomon v1.9.3 // indirect github.com/klauspost/reedsolomon v1.9.3 // indirect
github.com/nadoo/conflag v0.2.2 github.com/nadoo/conflag v0.2.2
@ -21,7 +21,5 @@ require (
// Replace dependency modules with local developing copy // Replace dependency modules with local developing copy
// use `go list -m all` to confirm the final module used // use `go list -m all` to confirm the final module used
// replace (
// github.com/nadoo/conflag => ../conflag // github.com/nadoo/conflag => ../conflag
// github.com/dongxinb/go-shadowsocks2 => ../go-shadowsocks2 // replace github.com/dongxinb/go-shadowsocks2 => ../go-shadowsocks2
// )

2
go.sum
View File

@ -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/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 h1:PxOfISzCyS0KV5FRYbOLbzFPjP99xe9Neq05iGa25Ok=
github.com/dongxinb/go-shadowsocks2 v0.1.5/go.mod h1:Bp6Drj6gls2wePkxWqVfeZa3ItYnFK2JuckLXrQiOis= 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/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 h1:vJi+O/nMdFt0vqm8NZBI6wzALWdA2X+egi0ogNyrC/w=
github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=

View File

@ -42,7 +42,7 @@ func NewSS(s string, d proxy.Dialer, p proxy.Proxy) (*SS, error) {
method := u.User.Username() method := u.User.Username()
pass, _ := u.User.Password() pass, _ := u.User.Password()
ciph, err := core.PickCipher(method, nil, pass) ciph, err := core.PickCipher(method, nil, pass, d != nil)
if err != nil { if err != nil {
log.Fatalf("[ss] PickCipher for '%s', error: %s", method, err) 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.SetKeepAlive(true)
} }
c = s.StreamConn(c) c = s.StreamConn(c, false)
tgt, err := socks.ReadAddr(c) tgt, err := socks.ReadAddr(c)
if err != nil { if err != nil {
@ -257,7 +257,7 @@ func (s *SS) Dial(network, addr string) (net.Conn, error) {
return nil, err return nil, err
} }
c = s.StreamConn(c) c = s.StreamConn(c, true)
if _, err = c.Write(target); err != nil { if _, err = c.Write(target); err != nil {
c.Close() c.Close()
return nil, err return nil, err