mirror of
https://github.com/nadoo/glider.git
synced 2025-02-23 17:35:40 +08:00
tls: add skipVerify param in url
This commit is contained in:
parent
a21dcb66a3
commit
c8ca1f0b25
@ -36,7 +36,7 @@ func init() {
|
|||||||
proxy.RegisterDialer("ssr", NewSSRDialer)
|
proxy.RegisterDialer("ssr", NewSSRDialer)
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewSSR returns a shadowsocksr proxy, ssr://method:pass@host:port/rawQuery
|
// NewSSR returns a shadowsocksr proxy, ssr://method:pass@host:port/query
|
||||||
func NewSSR(s string, dialer proxy.Dialer) (*SSR, error) {
|
func NewSSR(s string, dialer proxy.Dialer) (*SSR, error) {
|
||||||
u, err := url.Parse(s)
|
u, err := url.Parse(s)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -58,19 +58,11 @@ func NewSSR(s string, dialer proxy.Dialer) (*SSR, error) {
|
|||||||
EncryptPassword: pass,
|
EncryptPassword: pass,
|
||||||
}
|
}
|
||||||
|
|
||||||
q, _ := url.ParseQuery(u.RawQuery)
|
query := u.Query()
|
||||||
if v, ok := q["protocol"]; ok {
|
p.Protocol = query.Get("protocol")
|
||||||
p.Protocol = v[0]
|
p.ProtocolParam = query.Get("protocol_param")
|
||||||
}
|
p.Obfs = query.Get("obfs")
|
||||||
if v, ok := q["protocol_param"]; ok {
|
p.ObfsParam = query.Get("obfs_param")
|
||||||
p.ProtocolParam = v[0]
|
|
||||||
}
|
|
||||||
if v, ok := q["obfs"]; ok {
|
|
||||||
p.Obfs = v[0]
|
|
||||||
}
|
|
||||||
if v, ok := q["obfs_param"]; ok {
|
|
||||||
p.ObfsParam = v[0]
|
|
||||||
}
|
|
||||||
|
|
||||||
return p, nil
|
return p, nil
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,7 @@ type TLS struct {
|
|||||||
addr string
|
addr string
|
||||||
|
|
||||||
serverName string
|
serverName string
|
||||||
|
skipVerify bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
@ -33,6 +34,9 @@ func NewTLS(s string, dialer proxy.Dialer) (*TLS, error) {
|
|||||||
|
|
||||||
addr := u.Host
|
addr := u.Host
|
||||||
|
|
||||||
|
query := u.Query()
|
||||||
|
skipVerify := query.Get("InsecureSkipVerify")
|
||||||
|
|
||||||
colonPos := strings.LastIndex(addr, ":")
|
colonPos := strings.LastIndex(addr, ":")
|
||||||
if colonPos == -1 {
|
if colonPos == -1 {
|
||||||
colonPos = len(addr)
|
colonPos = len(addr)
|
||||||
@ -43,6 +47,11 @@ func NewTLS(s string, dialer proxy.Dialer) (*TLS, error) {
|
|||||||
dialer: dialer,
|
dialer: dialer,
|
||||||
addr: addr,
|
addr: addr,
|
||||||
serverName: serverName,
|
serverName: serverName,
|
||||||
|
skipVerify: false,
|
||||||
|
}
|
||||||
|
|
||||||
|
if skipVerify == "true" {
|
||||||
|
p.skipVerify = true
|
||||||
}
|
}
|
||||||
|
|
||||||
return p, nil
|
return p, nil
|
||||||
@ -69,7 +78,7 @@ func (s *TLS) Dial(network, addr string) (net.Conn, error) {
|
|||||||
|
|
||||||
conf := &stdtls.Config{
|
conf := &stdtls.Config{
|
||||||
ServerName: s.serverName,
|
ServerName: s.serverName,
|
||||||
InsecureSkipVerify: true,
|
InsecureSkipVerify: s.skipVerify,
|
||||||
}
|
}
|
||||||
|
|
||||||
c := stdtls.Client(cc, conf)
|
c := stdtls.Client(cc, conf)
|
||||||
|
@ -203,7 +203,6 @@ func (c *Conn) Read(b []byte) (n int, err error) {
|
|||||||
if !c.connected {
|
if !c.connected {
|
||||||
c.DecodeRespHeader()
|
c.DecodeRespHeader()
|
||||||
}
|
}
|
||||||
|
|
||||||
return c.Conn.Read(b)
|
return c.Conn.Read(b)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -46,11 +46,8 @@ func NewVMess(s string, dialer proxy.Dialer) (*VMess, error) {
|
|||||||
security = "NONE"
|
security = "NONE"
|
||||||
}
|
}
|
||||||
|
|
||||||
aid := "0"
|
query := u.Query()
|
||||||
params, _ := url.ParseQuery(u.RawQuery)
|
aid := query.Get("alterID")
|
||||||
if v, ok := params["alterID"]; ok {
|
|
||||||
aid = v[0]
|
|
||||||
}
|
|
||||||
|
|
||||||
alterID, err := strconv.ParseUint(aid, 10, 32)
|
alterID, err := strconv.ParseUint(aid, 10, 32)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user