mirror of
https://github.com/nadoo/glider.git
synced 2025-04-21 19:52:07 +08:00
feat: add dialer
This commit is contained in:
parent
8a86402e46
commit
a7a2da9986
6
go.mod
6
go.mod
@ -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
2
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/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=
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user