add backup filter

This commit is contained in:
ginuerzh
2022-09-02 11:52:44 +08:00
parent 9b695bc374
commit 09dbdbb03c
61 changed files with 289 additions and 408 deletions

View File

@ -4,7 +4,7 @@ import (
"time"
mdata "github.com/go-gost/core/metadata"
mdx "github.com/go-gost/x/metadata"
mdutil "github.com/go-gost/core/metadata/util"
)
const (
@ -28,12 +28,12 @@ func (l *dnsListener) parseMetadata(md mdata.Metadata) (err error) {
writeTimeout = "writeTimeout"
)
l.md.mode = mdx.GetString(md, mode)
l.md.readBufferSize = mdx.GetInt(md, readBufferSize)
l.md.readTimeout = mdx.GetDuration(md, readTimeout)
l.md.writeTimeout = mdx.GetDuration(md, writeTimeout)
l.md.mode = mdutil.GetString(md, mode)
l.md.readBufferSize = mdutil.GetInt(md, readBufferSize)
l.md.readTimeout = mdutil.GetDuration(md, readTimeout)
l.md.writeTimeout = mdutil.GetDuration(md, writeTimeout)
l.md.backlog = mdx.GetInt(md, backlog)
l.md.backlog = mdutil.GetInt(md, backlog)
if l.md.backlog <= 0 {
l.md.backlog = defaultBacklog
}

View File

@ -4,7 +4,7 @@ import (
"time"
mdata "github.com/go-gost/core/metadata"
mdx "github.com/go-gost/x/metadata"
mdutil "github.com/go-gost/core/metadata/util"
)
const (
@ -30,21 +30,21 @@ func (l *ftcpListener) parseMetadata(md mdata.Metadata) (err error) {
backlog = "backlog"
)
l.md.ttl = mdx.GetDuration(md, ttl)
l.md.ttl = mdutil.GetDuration(md, ttl)
if l.md.ttl <= 0 {
l.md.ttl = defaultTTL
}
l.md.readBufferSize = mdx.GetInt(md, readBufferSize)
l.md.readBufferSize = mdutil.GetInt(md, readBufferSize)
if l.md.readBufferSize <= 0 {
l.md.readBufferSize = defaultReadBufferSize
}
l.md.readQueueSize = mdx.GetInt(md, readQueueSize)
l.md.readQueueSize = mdutil.GetInt(md, readQueueSize)
if l.md.readQueueSize <= 0 {
l.md.readQueueSize = defaultReadQueueSize
}
l.md.backlog = mdx.GetInt(md, backlog)
l.md.backlog = mdutil.GetInt(md, backlog)
if l.md.backlog <= 0 {
l.md.backlog = defaultBacklog
}

View File

@ -2,7 +2,7 @@ package grpc
import (
mdata "github.com/go-gost/core/metadata"
mdx "github.com/go-gost/x/metadata"
mdutil "github.com/go-gost/core/metadata/util"
)
const (
@ -22,12 +22,12 @@ func (l *grpcListener) parseMetadata(md mdata.Metadata) (err error) {
path = "path"
)
l.md.backlog = mdx.GetInt(md, backlog)
l.md.backlog = mdutil.GetInt(md, backlog)
if l.md.backlog <= 0 {
l.md.backlog = defaultBacklog
}
l.md.insecure = mdx.GetBool(md, insecure)
l.md.path = mdx.GetString(md, path)
l.md.insecure = mdutil.GetBool(md, insecure)
l.md.path = mdutil.GetString(md, path)
return
}

View File

@ -2,7 +2,7 @@ package h2
import (
mdata "github.com/go-gost/core/metadata"
mdx "github.com/go-gost/x/metadata"
mdutil "github.com/go-gost/core/metadata/util"
)
const (
@ -20,11 +20,11 @@ func (l *h2Listener) parseMetadata(md mdata.Metadata) (err error) {
backlog = "backlog"
)
l.md.backlog = mdx.GetInt(md, backlog)
l.md.backlog = mdutil.GetInt(md, backlog)
if l.md.backlog <= 0 {
l.md.backlog = defaultBacklog
}
l.md.path = mdx.GetString(md, path)
l.md.path = mdutil.GetString(md, path)
return
}

View File

@ -2,7 +2,7 @@ package http2
import (
mdata "github.com/go-gost/core/metadata"
mdx "github.com/go-gost/x/metadata"
mdutil "github.com/go-gost/core/metadata/util"
)
const (
@ -18,7 +18,7 @@ func (l *http2Listener) parseMetadata(md mdata.Metadata) (err error) {
backlog = "backlog"
)
l.md.backlog = mdx.GetInt(md, backlog)
l.md.backlog = mdutil.GetInt(md, backlog)
if l.md.backlog <= 0 {
l.md.backlog = defaultBacklog
}

View File

@ -4,7 +4,7 @@ import (
"strings"
mdata "github.com/go-gost/core/metadata"
mdx "github.com/go-gost/x/metadata"
mdutil "github.com/go-gost/core/metadata/util"
)
const (
@ -30,20 +30,20 @@ func (l *http3Listener) parseMetadata(md mdata.Metadata) (err error) {
backlog = "backlog"
)
l.md.authorizePath = mdx.GetString(md, authorizePath)
l.md.authorizePath = mdutil.GetString(md, authorizePath)
if !strings.HasPrefix(l.md.authorizePath, "/") {
l.md.authorizePath = defaultAuthorizePath
}
l.md.pushPath = mdx.GetString(md, pushPath)
l.md.pushPath = mdutil.GetString(md, pushPath)
if !strings.HasPrefix(l.md.pushPath, "/") {
l.md.pushPath = defaultPushPath
}
l.md.pullPath = mdx.GetString(md, pullPath)
l.md.pullPath = mdutil.GetString(md, pullPath)
if !strings.HasPrefix(l.md.pullPath, "/") {
l.md.pullPath = defaultPullPath
}
l.md.backlog = mdx.GetInt(md, backlog)
l.md.backlog = mdutil.GetInt(md, backlog)
if l.md.backlog <= 0 {
l.md.backlog = defaultBacklog
}

View File

@ -4,7 +4,7 @@ import (
"time"
mdata "github.com/go-gost/core/metadata"
mdx "github.com/go-gost/x/metadata"
mdutil "github.com/go-gost/core/metadata/util"
)
const (
@ -29,19 +29,19 @@ func (l *icmpListener) parseMetadata(md mdata.Metadata) (err error) {
backlog = "backlog"
)
l.md.backlog = mdx.GetInt(md, backlog)
l.md.backlog = mdutil.GetInt(md, backlog)
if l.md.backlog <= 0 {
l.md.backlog = defaultBacklog
}
if mdx.GetBool(md, keepAlive) {
l.md.keepAlivePeriod = mdx.GetDuration(md, keepAlivePeriod)
if mdutil.GetBool(md, keepAlive) {
l.md.keepAlivePeriod = mdutil.GetDuration(md, keepAlivePeriod)
if l.md.keepAlivePeriod <= 0 {
l.md.keepAlivePeriod = 10 * time.Second
}
}
l.md.handshakeTimeout = mdx.GetDuration(md, handshakeTimeout)
l.md.maxIdleTimeout = mdx.GetDuration(md, maxIdleTimeout)
l.md.handshakeTimeout = mdutil.GetDuration(md, handshakeTimeout)
l.md.maxIdleTimeout = mdutil.GetDuration(md, maxIdleTimeout)
return
}

View File

@ -4,8 +4,8 @@ import (
"encoding/json"
mdata "github.com/go-gost/core/metadata"
mdutil "github.com/go-gost/core/metadata/util"
kcp_util "github.com/go-gost/x/internal/util/kcp"
mdx "github.com/go-gost/x/metadata"
)
const (
@ -24,14 +24,14 @@ func (l *kcpListener) parseMetadata(md mdata.Metadata) (err error) {
configFile = "c"
)
if file := mdx.GetString(md, configFile); file != "" {
if file := mdutil.GetString(md, configFile); file != "" {
l.md.config, err = kcp_util.ParseFromFile(file)
if err != nil {
return
}
}
if m := mdx.GetStringMap(md, config); len(m) > 0 {
if m := mdutil.GetStringMap(md, config); len(m) > 0 {
b, err := json.Marshal(m)
if err != nil {
return err
@ -47,7 +47,7 @@ func (l *kcpListener) parseMetadata(md mdata.Metadata) (err error) {
l.md.config = kcp_util.DefaultConfig
}
l.md.backlog = mdx.GetInt(md, backlog)
l.md.backlog = mdutil.GetInt(md, backlog)
if l.md.backlog <= 0 {
l.md.backlog = defaultBacklog
}

View File

@ -4,7 +4,7 @@ import (
"time"
mdata "github.com/go-gost/core/metadata"
mdx "github.com/go-gost/x/metadata"
mdutil "github.com/go-gost/core/metadata/util"
)
const (
@ -34,17 +34,17 @@ func (l *mtlsListener) parseMetadata(md mdata.Metadata) (err error) {
muxMaxStreamBuffer = "muxMaxStreamBuffer"
)
l.md.backlog = mdx.GetInt(md, backlog)
l.md.backlog = mdutil.GetInt(md, backlog)
if l.md.backlog <= 0 {
l.md.backlog = defaultBacklog
}
l.md.muxKeepAliveDisabled = mdx.GetBool(md, muxKeepAliveDisabled)
l.md.muxKeepAliveInterval = mdx.GetDuration(md, muxKeepAliveInterval)
l.md.muxKeepAliveTimeout = mdx.GetDuration(md, muxKeepAliveTimeout)
l.md.muxMaxFrameSize = mdx.GetInt(md, muxMaxFrameSize)
l.md.muxMaxReceiveBuffer = mdx.GetInt(md, muxMaxReceiveBuffer)
l.md.muxMaxStreamBuffer = mdx.GetInt(md, muxMaxStreamBuffer)
l.md.muxKeepAliveDisabled = mdutil.GetBool(md, muxKeepAliveDisabled)
l.md.muxKeepAliveInterval = mdutil.GetDuration(md, muxKeepAliveInterval)
l.md.muxKeepAliveTimeout = mdutil.GetDuration(md, muxKeepAliveTimeout)
l.md.muxMaxFrameSize = mdutil.GetInt(md, muxMaxFrameSize)
l.md.muxMaxReceiveBuffer = mdutil.GetInt(md, muxMaxReceiveBuffer)
l.md.muxMaxStreamBuffer = mdutil.GetInt(md, muxMaxStreamBuffer)
return
}

View File

@ -5,7 +5,7 @@ import (
"time"
mdata "github.com/go-gost/core/metadata"
mdx "github.com/go-gost/x/metadata"
mdutil "github.com/go-gost/core/metadata/util"
)
const (
@ -52,30 +52,30 @@ func (l *mwsListener) parseMetadata(md mdata.Metadata) (err error) {
muxMaxStreamBuffer = "muxMaxStreamBuffer"
)
l.md.path = mdx.GetString(md, path)
l.md.path = mdutil.GetString(md, path)
if l.md.path == "" {
l.md.path = defaultPath
}
l.md.backlog = mdx.GetInt(md, backlog)
l.md.backlog = mdutil.GetInt(md, backlog)
if l.md.backlog <= 0 {
l.md.backlog = defaultBacklog
}
l.md.handshakeTimeout = mdx.GetDuration(md, handshakeTimeout)
l.md.readHeaderTimeout = mdx.GetDuration(md, readHeaderTimeout)
l.md.readBufferSize = mdx.GetInt(md, readBufferSize)
l.md.writeBufferSize = mdx.GetInt(md, writeBufferSize)
l.md.enableCompression = mdx.GetBool(md, enableCompression)
l.md.handshakeTimeout = mdutil.GetDuration(md, handshakeTimeout)
l.md.readHeaderTimeout = mdutil.GetDuration(md, readHeaderTimeout)
l.md.readBufferSize = mdutil.GetInt(md, readBufferSize)
l.md.writeBufferSize = mdutil.GetInt(md, writeBufferSize)
l.md.enableCompression = mdutil.GetBool(md, enableCompression)
l.md.muxKeepAliveDisabled = mdx.GetBool(md, muxKeepAliveDisabled)
l.md.muxKeepAliveInterval = mdx.GetDuration(md, muxKeepAliveInterval)
l.md.muxKeepAliveTimeout = mdx.GetDuration(md, muxKeepAliveTimeout)
l.md.muxMaxFrameSize = mdx.GetInt(md, muxMaxFrameSize)
l.md.muxMaxReceiveBuffer = mdx.GetInt(md, muxMaxReceiveBuffer)
l.md.muxMaxStreamBuffer = mdx.GetInt(md, muxMaxStreamBuffer)
l.md.muxKeepAliveDisabled = mdutil.GetBool(md, muxKeepAliveDisabled)
l.md.muxKeepAliveInterval = mdutil.GetDuration(md, muxKeepAliveInterval)
l.md.muxKeepAliveTimeout = mdutil.GetDuration(md, muxKeepAliveTimeout)
l.md.muxMaxFrameSize = mdutil.GetInt(md, muxMaxFrameSize)
l.md.muxMaxReceiveBuffer = mdutil.GetInt(md, muxMaxReceiveBuffer)
l.md.muxMaxStreamBuffer = mdutil.GetInt(md, muxMaxStreamBuffer)
if mm := mdx.GetStringMapString(md, header); len(mm) > 0 {
if mm := mdutil.GetStringMapString(md, header); len(mm) > 0 {
hd := http.Header{}
for k, v := range mm {
hd.Add(k, v)

View File

@ -4,7 +4,7 @@ import (
"net/http"
mdata "github.com/go-gost/core/metadata"
mdx "github.com/go-gost/x/metadata"
mdutil "github.com/go-gost/core/metadata/util"
)
type metadata struct {
@ -16,7 +16,7 @@ func (l *obfsListener) parseMetadata(md mdata.Metadata) (err error) {
header = "header"
)
if mm := mdx.GetStringMapString(md, header); len(mm) > 0 {
if mm := mdutil.GetStringMapString(md, header); len(mm) > 0 {
hd := http.Header{}
for k, v := range mm {
hd.Add(k, v)

View File

@ -4,7 +4,7 @@ import (
"strings"
mdata "github.com/go-gost/core/metadata"
mdx "github.com/go-gost/x/metadata"
mdutil "github.com/go-gost/core/metadata/util"
)
const (
@ -30,20 +30,20 @@ func (l *phtListener) parseMetadata(md mdata.Metadata) (err error) {
backlog = "backlog"
)
l.md.authorizePath = mdx.GetString(md, authorizePath)
l.md.authorizePath = mdutil.GetString(md, authorizePath)
if !strings.HasPrefix(l.md.authorizePath, "/") {
l.md.authorizePath = defaultAuthorizePath
}
l.md.pushPath = mdx.GetString(md, pushPath)
l.md.pushPath = mdutil.GetString(md, pushPath)
if !strings.HasPrefix(l.md.pushPath, "/") {
l.md.pushPath = defaultPushPath
}
l.md.pullPath = mdx.GetString(md, pullPath)
l.md.pullPath = mdutil.GetString(md, pullPath)
if !strings.HasPrefix(l.md.pullPath, "/") {
l.md.pullPath = defaultPullPath
}
l.md.backlog = mdx.GetInt(md, backlog)
l.md.backlog = mdutil.GetInt(md, backlog)
if l.md.backlog <= 0 {
l.md.backlog = defaultBacklog
}

View File

@ -4,7 +4,7 @@ import (
"time"
mdata "github.com/go-gost/core/metadata"
mdx "github.com/go-gost/x/metadata"
mdutil "github.com/go-gost/core/metadata/util"
)
const (
@ -32,23 +32,23 @@ func (l *quicListener) parseMetadata(md mdata.Metadata) (err error) {
cipherKey = "cipherKey"
)
l.md.backlog = mdx.GetInt(md, backlog)
l.md.backlog = mdutil.GetInt(md, backlog)
if l.md.backlog <= 0 {
l.md.backlog = defaultBacklog
}
if key := mdx.GetString(md, cipherKey); key != "" {
if key := mdutil.GetString(md, cipherKey); key != "" {
l.md.cipherKey = []byte(key)
}
if mdx.GetBool(md, keepAlive) {
l.md.keepAlivePeriod = mdx.GetDuration(md, keepAlivePeriod)
if mdutil.GetBool(md, keepAlive) {
l.md.keepAlivePeriod = mdutil.GetDuration(md, keepAlivePeriod)
if l.md.keepAlivePeriod <= 0 {
l.md.keepAlivePeriod = 10 * time.Second
}
}
l.md.handshakeTimeout = mdx.GetDuration(md, handshakeTimeout)
l.md.maxIdleTimeout = mdx.GetDuration(md, maxIdleTimeout)
l.md.handshakeTimeout = mdutil.GetDuration(md, handshakeTimeout)
l.md.maxIdleTimeout = mdutil.GetDuration(md, maxIdleTimeout)
return
}

View File

@ -2,7 +2,7 @@ package tcp
import (
mdata "github.com/go-gost/core/metadata"
mdx "github.com/go-gost/x/metadata"
mdutil "github.com/go-gost/core/metadata/util"
)
type metadata struct {
@ -13,6 +13,6 @@ func (l *redirectListener) parseMetadata(md mdata.Metadata) (err error) {
const (
tproxy = "tproxy"
)
l.md.tproxy = mdx.GetBool(md, tproxy)
l.md.tproxy = mdutil.GetBool(md, tproxy)
return
}

View File

@ -4,7 +4,7 @@ import (
"time"
mdata "github.com/go-gost/core/metadata"
mdx "github.com/go-gost/x/metadata"
mdutil "github.com/go-gost/core/metadata/util"
)
const (
@ -23,12 +23,12 @@ func (l *redirectListener) parseMetadata(md mdata.Metadata) (err error) {
readBufferSize = "readBufferSize"
)
l.md.ttl = mdx.GetDuration(md, ttl)
l.md.ttl = mdutil.GetDuration(md, ttl)
if l.md.ttl <= 0 {
l.md.ttl = defaultTTL
}
l.md.readBufferSize = mdx.GetInt(md, readBufferSize)
l.md.readBufferSize = mdutil.GetInt(md, readBufferSize)
if l.md.readBufferSize <= 0 {
l.md.readBufferSize = defaultReadBufferSize
}

View File

@ -4,7 +4,7 @@ import (
"time"
mdata "github.com/go-gost/core/metadata"
mdx "github.com/go-gost/x/metadata"
mdutil "github.com/go-gost/core/metadata/util"
)
const (
@ -29,21 +29,21 @@ func (l *rudpListener) parseMetadata(md mdata.Metadata) (err error) {
backlog = "backlog"
)
l.md.ttl = mdx.GetDuration(md, ttl)
l.md.ttl = mdutil.GetDuration(md, ttl)
if l.md.ttl <= 0 {
l.md.ttl = defaultTTL
}
l.md.readBufferSize = mdx.GetInt(md, readBufferSize)
l.md.readBufferSize = mdutil.GetInt(md, readBufferSize)
if l.md.readBufferSize <= 0 {
l.md.readBufferSize = defaultReadBufferSize
}
l.md.readQueueSize = mdx.GetInt(md, readQueueSize)
l.md.readQueueSize = mdutil.GetInt(md, readQueueSize)
if l.md.readQueueSize <= 0 {
l.md.readQueueSize = defaultReadQueueSize
}
l.md.backlog = mdx.GetInt(md, backlog)
l.md.backlog = mdutil.GetInt(md, backlog)
if l.md.backlog <= 0 {
l.md.backlog = defaultBacklog
}

View File

@ -4,8 +4,8 @@ import (
"io/ioutil"
mdata "github.com/go-gost/core/metadata"
mdutil "github.com/go-gost/core/metadata/util"
ssh_util "github.com/go-gost/x/internal/util/ssh"
mdx "github.com/go-gost/x/metadata"
"golang.org/x/crypto/ssh"
)
@ -27,13 +27,13 @@ func (l *sshListener) parseMetadata(md mdata.Metadata) (err error) {
backlog = "backlog"
)
if key := mdx.GetString(md, privateKeyFile); key != "" {
if key := mdutil.GetString(md, privateKeyFile); key != "" {
data, err := ioutil.ReadFile(key)
if err != nil {
return err
}
pp := mdx.GetString(md, passphrase)
pp := mdutil.GetString(md, passphrase)
if pp == "" {
l.md.signer, err = ssh.ParsePrivateKey(data)
} else {
@ -51,7 +51,7 @@ func (l *sshListener) parseMetadata(md mdata.Metadata) (err error) {
l.md.signer = signer
}
if name := mdx.GetString(md, authorizedKeys); name != "" {
if name := mdutil.GetString(md, authorizedKeys); name != "" {
m, err := ssh_util.ParseAuthorizedKeysFile(name)
if err != nil {
return err
@ -59,7 +59,7 @@ func (l *sshListener) parseMetadata(md mdata.Metadata) (err error) {
l.md.authorizedKeys = m
}
l.md.backlog = mdx.GetInt(md, backlog)
l.md.backlog = mdutil.GetInt(md, backlog)
if l.md.backlog <= 0 {
l.md.backlog = defaultBacklog
}

View File

@ -4,8 +4,8 @@ import (
"io/ioutil"
mdata "github.com/go-gost/core/metadata"
mdutil "github.com/go-gost/core/metadata/util"
ssh_util "github.com/go-gost/x/internal/util/ssh"
mdx "github.com/go-gost/x/metadata"
"golang.org/x/crypto/ssh"
)
@ -27,13 +27,13 @@ func (l *sshdListener) parseMetadata(md mdata.Metadata) (err error) {
backlog = "backlog"
)
if key := mdx.GetString(md, privateKeyFile); key != "" {
if key := mdutil.GetString(md, privateKeyFile); key != "" {
data, err := ioutil.ReadFile(key)
if err != nil {
return err
}
pp := mdx.GetString(md, passphrase)
pp := mdutil.GetString(md, passphrase)
if pp == "" {
l.md.signer, err = ssh.ParsePrivateKey(data)
} else {
@ -51,7 +51,7 @@ func (l *sshdListener) parseMetadata(md mdata.Metadata) (err error) {
l.md.signer = signer
}
if name := mdx.GetString(md, authorizedKeys); name != "" {
if name := mdutil.GetString(md, authorizedKeys); name != "" {
m, err := ssh_util.ParseAuthorizedKeysFile(name)
if err != nil {
return err
@ -59,7 +59,7 @@ func (l *sshdListener) parseMetadata(md mdata.Metadata) (err error) {
l.md.authorizedKeys = m
}
l.md.backlog = mdx.GetInt(md, backlog)
l.md.backlog = mdutil.GetInt(md, backlog)
if l.md.backlog <= 0 {
l.md.backlog = defaultBacklog
}

View File

@ -2,8 +2,8 @@ package tap
import (
mdata "github.com/go-gost/core/metadata"
mdutil "github.com/go-gost/core/metadata/util"
tap_util "github.com/go-gost/x/internal/util/tap"
mdx "github.com/go-gost/x/metadata"
)
const (
@ -24,16 +24,16 @@ func (l *tapListener) parseMetadata(md mdata.Metadata) (err error) {
)
config := &tap_util.Config{
Name: mdx.GetString(md, name),
Net: mdx.GetString(md, netKey),
MTU: mdx.GetInt(md, mtu),
Gateway: mdx.GetString(md, gateway),
Name: mdutil.GetString(md, name),
Net: mdutil.GetString(md, netKey),
MTU: mdutil.GetInt(md, mtu),
Gateway: mdutil.GetString(md, gateway),
}
if config.MTU <= 0 {
config.MTU = DefaultMTU
}
for _, s := range mdx.GetStrings(md, routes) {
for _, s := range mdutil.GetStrings(md, routes) {
if s != "" {
config.Routes = append(config.Routes, s)
}

View File

@ -5,8 +5,8 @@ import (
"strings"
mdata "github.com/go-gost/core/metadata"
mdutil "github.com/go-gost/core/metadata/util"
tun_util "github.com/go-gost/x/internal/util/tun"
mdx "github.com/go-gost/x/metadata"
)
const (
@ -29,11 +29,11 @@ func (l *tunListener) parseMetadata(md mdata.Metadata) (err error) {
)
config := &tun_util.Config{
Name: mdx.GetString(md, name),
Net: mdx.GetString(md, netKey),
Peer: mdx.GetString(md, peer),
MTU: mdx.GetInt(md, mtu),
Gateway: mdx.GetString(md, gateway),
Name: mdutil.GetString(md, name),
Net: mdutil.GetString(md, netKey),
Peer: mdutil.GetString(md, peer),
MTU: mdutil.GetInt(md, mtu),
Gateway: mdutil.GetString(md, gateway),
}
if config.MTU <= 0 {
config.MTU = DefaultMTU
@ -41,7 +41,7 @@ func (l *tunListener) parseMetadata(md mdata.Metadata) (err error) {
gw := net.ParseIP(config.Gateway)
for _, s := range strings.Split(mdx.GetString(md, route), ",") {
for _, s := range strings.Split(mdutil.GetString(md, route), ",") {
var route tun_util.Route
_, ipNet, _ := net.ParseCIDR(strings.TrimSpace(s))
if ipNet == nil {
@ -53,7 +53,7 @@ func (l *tunListener) parseMetadata(md mdata.Metadata) (err error) {
config.Routes = append(config.Routes, route)
}
for _, s := range mdx.GetStrings(md, routes) {
for _, s := range mdutil.GetStrings(md, routes) {
ss := strings.SplitN(s, " ", 2)
if len(ss) == 2 {
var route tun_util.Route

View File

@ -4,7 +4,7 @@ import (
"time"
mdata "github.com/go-gost/core/metadata"
mdx "github.com/go-gost/x/metadata"
mdutil "github.com/go-gost/core/metadata/util"
)
const (
@ -31,25 +31,25 @@ func (l *udpListener) parseMetadata(md mdata.Metadata) (err error) {
ttl = "ttl"
)
l.md.ttl = mdx.GetDuration(md, ttl)
l.md.ttl = mdutil.GetDuration(md, ttl)
if l.md.ttl <= 0 {
l.md.ttl = defaultTTL
}
l.md.readBufferSize = mdx.GetInt(md, readBufferSize)
l.md.readBufferSize = mdutil.GetInt(md, readBufferSize)
if l.md.readBufferSize <= 0 {
l.md.readBufferSize = defaultReadBufferSize
}
l.md.readQueueSize = mdx.GetInt(md, readQueueSize)
l.md.readQueueSize = mdutil.GetInt(md, readQueueSize)
if l.md.readQueueSize <= 0 {
l.md.readQueueSize = defaultReadQueueSize
}
l.md.backlog = mdx.GetInt(md, backlog)
l.md.backlog = mdutil.GetInt(md, backlog)
if l.md.backlog <= 0 {
l.md.backlog = defaultBacklog
}
l.md.keepalive = mdx.GetBool(md, keepAlive)
l.md.keepalive = mdutil.GetBool(md, keepAlive)
return
}

View File

@ -5,7 +5,7 @@ import (
"time"
mdata "github.com/go-gost/core/metadata"
mdx "github.com/go-gost/x/metadata"
mdutil "github.com/go-gost/core/metadata/util"
)
const (
@ -40,23 +40,23 @@ func (l *wsListener) parseMetadata(md mdata.Metadata) (err error) {
header = "header"
)
l.md.path = mdx.GetString(md, path)
l.md.path = mdutil.GetString(md, path)
if l.md.path == "" {
l.md.path = defaultPath
}
l.md.backlog = mdx.GetInt(md, backlog)
l.md.backlog = mdutil.GetInt(md, backlog)
if l.md.backlog <= 0 {
l.md.backlog = defaultBacklog
}
l.md.handshakeTimeout = mdx.GetDuration(md, handshakeTimeout)
l.md.readHeaderTimeout = mdx.GetDuration(md, readHeaderTimeout)
l.md.readBufferSize = mdx.GetInt(md, readBufferSize)
l.md.writeBufferSize = mdx.GetInt(md, writeBufferSize)
l.md.enableCompression = mdx.GetBool(md, enableCompression)
l.md.handshakeTimeout = mdutil.GetDuration(md, handshakeTimeout)
l.md.readHeaderTimeout = mdutil.GetDuration(md, readHeaderTimeout)
l.md.readBufferSize = mdutil.GetInt(md, readBufferSize)
l.md.writeBufferSize = mdutil.GetInt(md, writeBufferSize)
l.md.enableCompression = mdutil.GetBool(md, enableCompression)
if mm := mdx.GetStringMapString(md, header); len(mm) > 0 {
if mm := mdutil.GetStringMapString(md, header); len(mm) > 0 {
hd := http.Header{}
for k, v := range mm {
hd.Add(k, v)