Skip to content

Commit

Permalink
feat: Support insecure gRPC
Browse files Browse the repository at this point in the history
  • Loading branch information
H1JK committed May 13, 2023
1 parent b674983 commit ed17478
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 25 deletions.
22 changes: 13 additions & 9 deletions adapter/outbound/vless.go
Original file line number Diff line number Diff line change
Expand Up @@ -596,15 +596,19 @@ func NewVless(option VlessOption) (*Vless, error) {
Host: v.option.ServerName,
ClientFingerprint: v.option.ClientFingerprint,
}
tlsConfig := tlsC.GetGlobalTLSConfig(&tls.Config{
InsecureSkipVerify: v.option.SkipCertVerify,
ServerName: v.option.ServerName,
})

if v.option.ServerName == "" {
host, _, _ := net.SplitHostPort(v.addr)
tlsConfig.ServerName = host
gunConfig.Host = host
if option.ServerName == "" {
gunConfig.Host = v.addr
}
var tlsConfig *tls.Config
if option.TLS {
tlsConfig = tlsC.GetGlobalTLSConfig(&tls.Config{
InsecureSkipVerify: v.option.SkipCertVerify,
ServerName: v.option.ServerName,
})
if option.ServerName == "" {
host, _, _ := net.SplitHostPort(v.addr)
tlsConfig.ServerName = host
}
}

v.gunTLSConfig = tlsConfig
Expand Down
27 changes: 12 additions & 15 deletions adapter/outbound/vmess.go
Original file line number Diff line number Diff line change
Expand Up @@ -413,13 +413,6 @@ func NewVmess(option VmessOption) (*Vmess, error) {
option.PacketAddr = false
}

switch option.Network {
case "h2", "grpc":
if !option.TLS {
option.TLS = true
}
}

v := &Vmess{
Base: &Base{
name: option.Name,
Expand Down Expand Up @@ -464,15 +457,19 @@ func NewVmess(option VmessOption) (*Vmess, error) {
Host: v.option.ServerName,
ClientFingerprint: v.option.ClientFingerprint,
}
tlsConfig := &tls.Config{
InsecureSkipVerify: v.option.SkipCertVerify,
ServerName: v.option.ServerName,
if option.ServerName == "" {
gunConfig.Host = v.addr
}

if v.option.ServerName == "" {
host, _, _ := net.SplitHostPort(v.addr)
tlsConfig.ServerName = host
gunConfig.Host = host
var tlsConfig *tls.Config
if option.TLS {
tlsConfig = tlsC.GetGlobalTLSConfig(&tls.Config{
InsecureSkipVerify: v.option.SkipCertVerify,
ServerName: v.option.ServerName,
})
if option.ServerName == "" {
host, _, _ := net.SplitHostPort(v.addr)
tlsConfig.ServerName = host
}
}

v.gunTLSConfig = tlsConfig
Expand Down
5 changes: 4 additions & 1 deletion transport/gun/gun.go
Original file line number Diff line number Diff line change
Expand Up @@ -199,9 +199,12 @@ func NewHTTP2Client(dialFn DialFn, tlsConfig *tls.Config, Fingerprint string, re
if err != nil {
return nil, err
}

wrap.remoteAddr = pconn.RemoteAddr()

if tlsConfig == nil {
return pconn, nil
}

if len(Fingerprint) != 0 {
if realityConfig == nil {
if fingerprint, exists := tlsC.GetFingerprint(Fingerprint); exists {
Expand Down

0 comments on commit ed17478

Please sign in to comment.