update handler options
This commit is contained in:
@ -15,7 +15,6 @@ type metadata struct {
|
||||
func (c *httpConnector) parseMetadata(md mdata.Metadata) (err error) {
|
||||
const (
|
||||
connectTimeout = "timeout"
|
||||
user = "user"
|
||||
header = "header"
|
||||
)
|
||||
|
||||
|
@ -6,7 +6,6 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"net"
|
||||
"net/url"
|
||||
"time"
|
||||
|
||||
"github.com/go-gost/gosocks5"
|
||||
@ -24,20 +23,19 @@ func init() {
|
||||
|
||||
type socks5Connector struct {
|
||||
selector gosocks5.Selector
|
||||
user *url.Userinfo
|
||||
logger logger.Logger
|
||||
md metadata
|
||||
options connector.Options
|
||||
}
|
||||
|
||||
func NewConnector(opts ...connector.Option) connector.Connector {
|
||||
options := &connector.Options{}
|
||||
options := connector.Options{}
|
||||
for _, opt := range opts {
|
||||
opt(options)
|
||||
opt(&options)
|
||||
}
|
||||
|
||||
return &socks5Connector{
|
||||
user: options.User,
|
||||
logger: options.Logger,
|
||||
options: options,
|
||||
}
|
||||
}
|
||||
|
||||
@ -46,13 +44,15 @@ func (c *socks5Connector) Init(md md.Metadata) (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
c.logger = c.options.Logger
|
||||
|
||||
selector := &clientSelector{
|
||||
methods: []uint8{
|
||||
gosocks5.MethodNoAuth,
|
||||
gosocks5.MethodUserPass,
|
||||
},
|
||||
logger: c.logger,
|
||||
User: c.user,
|
||||
User: c.options.User,
|
||||
TLSConfig: c.md.tlsConfig,
|
||||
}
|
||||
if !c.md.noTLS {
|
||||
|
@ -4,7 +4,6 @@ import (
|
||||
"context"
|
||||
"fmt"
|
||||
"net"
|
||||
"net/url"
|
||||
"time"
|
||||
|
||||
"github.com/go-gost/gosocks5"
|
||||
@ -22,21 +21,21 @@ func init() {
|
||||
}
|
||||
|
||||
type ssConnector struct {
|
||||
user *url.Userinfo
|
||||
cipher core.Cipher
|
||||
md metadata
|
||||
logger logger.Logger
|
||||
cipher core.Cipher
|
||||
md metadata
|
||||
logger logger.Logger
|
||||
options connector.Options
|
||||
}
|
||||
|
||||
func NewConnector(opts ...connector.Option) connector.Connector {
|
||||
options := &connector.Options{}
|
||||
options := connector.Options{}
|
||||
for _, opt := range opts {
|
||||
opt(options)
|
||||
opt(&options)
|
||||
}
|
||||
|
||||
return &ssConnector{
|
||||
user: options.User,
|
||||
logger: options.Logger,
|
||||
options: options,
|
||||
logger: options.Logger,
|
||||
}
|
||||
}
|
||||
|
||||
@ -45,9 +44,9 @@ func (c *ssConnector) Init(md md.Metadata) (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
if c.user != nil {
|
||||
method := c.user.Username()
|
||||
password, _ := c.user.Password()
|
||||
if c.options.User != nil {
|
||||
method := c.options.User.Username()
|
||||
password, _ := c.options.User.Password()
|
||||
c.cipher, err = ss.ShadowCipher(method, password, c.md.key)
|
||||
}
|
||||
|
||||
|
@ -4,7 +4,6 @@ import (
|
||||
"context"
|
||||
"fmt"
|
||||
"net"
|
||||
"net/url"
|
||||
"time"
|
||||
|
||||
"github.com/go-gost/gost/pkg/common/util/socks"
|
||||
@ -21,21 +20,21 @@ func init() {
|
||||
}
|
||||
|
||||
type ssuConnector struct {
|
||||
user *url.Userinfo
|
||||
cipher core.Cipher
|
||||
md metadata
|
||||
logger logger.Logger
|
||||
cipher core.Cipher
|
||||
md metadata
|
||||
logger logger.Logger
|
||||
options connector.Options
|
||||
}
|
||||
|
||||
func NewConnector(opts ...connector.Option) connector.Connector {
|
||||
options := &connector.Options{}
|
||||
options := connector.Options{}
|
||||
for _, opt := range opts {
|
||||
opt(options)
|
||||
opt(&options)
|
||||
}
|
||||
|
||||
return &ssuConnector{
|
||||
user: options.User,
|
||||
logger: options.Logger,
|
||||
options: options,
|
||||
logger: options.Logger,
|
||||
}
|
||||
}
|
||||
|
||||
@ -44,9 +43,9 @@ func (c *ssuConnector) Init(md md.Metadata) (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
if c.user != nil {
|
||||
method := c.user.Username()
|
||||
password, _ := c.user.Password()
|
||||
if c.options.User != nil {
|
||||
method := c.options.User.Username()
|
||||
password, _ := c.options.User.Password()
|
||||
c.cipher, err = ss.ShadowCipher(method, password, c.md.key)
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user