add tls config option

This commit is contained in:
ginuerzh
2022-01-05 00:02:55 +08:00
parent c428b37a36
commit 3b48c4acfb
43 changed files with 395 additions and 496 deletions

View File

@ -1,6 +1,7 @@
package connector
import (
"crypto/tls"
"net/url"
"time"
@ -8,8 +9,9 @@ import (
)
type Options struct {
User *url.Userinfo
Logger logger.Logger
User *url.Userinfo
TLSConfig *tls.Config
Logger logger.Logger
}
type Option func(opts *Options)
@ -20,6 +22,12 @@ func UserOption(user *url.Userinfo) Option {
}
}
func TLSConfigOption(tlsConfig *tls.Config) Option {
return func(opts *Options) {
opts.TLSConfig = tlsConfig
}
}
func LoggerOption(logger logger.Logger) Option {
return func(opts *Options) {
opts.Logger = logger

View File

@ -53,7 +53,7 @@ func (c *socks5Connector) Init(md md.Metadata) (err error) {
},
logger: c.logger,
User: c.options.User,
TLSConfig: c.md.tlsConfig,
TLSConfig: c.options.TLSConfig,
}
if !c.md.noTLS {
selector.methods = append(selector.methods, socks.MethodTLS)

View File

@ -1,7 +1,6 @@
package v5
import (
"crypto/tls"
"time"
mdata "github.com/go-gost/gost/pkg/metadata"
@ -9,7 +8,6 @@ import (
type metadata struct {
connectTimeout time.Duration
tlsConfig *tls.Config
noTLS bool
}