add rtcp
This commit is contained in:
@ -9,7 +9,6 @@ import (
|
||||
"net/http"
|
||||
"net/http/httputil"
|
||||
"net/url"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/go-gost/gost/pkg/connector"
|
||||
@ -111,22 +110,3 @@ func (c *httpConnector) Connect(ctx context.Context, conn net.Conn, network, add
|
||||
|
||||
return conn, nil
|
||||
}
|
||||
|
||||
func (c *httpConnector) parseMetadata(md md.Metadata) (err error) {
|
||||
c.md.connectTimeout = md.GetDuration(connectTimeout)
|
||||
c.md.UserAgent, _ = md.Get(userAgent).(string)
|
||||
if c.md.UserAgent == "" {
|
||||
c.md.UserAgent = defaultUserAgent
|
||||
}
|
||||
|
||||
if v := md.GetString(auth); v != "" {
|
||||
ss := strings.SplitN(v, ":", 2)
|
||||
if len(ss) == 1 {
|
||||
c.md.User = url.User(ss[0])
|
||||
} else {
|
||||
c.md.User = url.UserPassword(ss[0], ss[1])
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
@ -2,13 +2,10 @@ package http
|
||||
|
||||
import (
|
||||
"net/url"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
const (
|
||||
connectTimeout = "timeout"
|
||||
userAgent = "userAgent"
|
||||
auth = "auth"
|
||||
md "github.com/go-gost/gost/pkg/metadata"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -20,3 +17,28 @@ type metadata struct {
|
||||
UserAgent string
|
||||
User *url.Userinfo
|
||||
}
|
||||
|
||||
func (c *httpConnector) parseMetadata(md md.Metadata) (err error) {
|
||||
const (
|
||||
connectTimeout = "timeout"
|
||||
userAgent = "userAgent"
|
||||
auth = "auth"
|
||||
)
|
||||
|
||||
c.md.connectTimeout = md.GetDuration(connectTimeout)
|
||||
c.md.UserAgent, _ = md.Get(userAgent).(string)
|
||||
if c.md.UserAgent == "" {
|
||||
c.md.UserAgent = defaultUserAgent
|
||||
}
|
||||
|
||||
if v := md.GetString(auth); v != "" {
|
||||
ss := strings.SplitN(v, ":", 2)
|
||||
if len(ss) == 1 {
|
||||
c.md.User = url.User(ss[0])
|
||||
} else {
|
||||
c.md.User = url.UserPassword(ss[0], ss[1])
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
@ -5,7 +5,6 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"net"
|
||||
"net/url"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
@ -114,13 +113,3 @@ func (c *socks4Connector) Connect(ctx context.Context, conn net.Conn, network, a
|
||||
|
||||
return conn, nil
|
||||
}
|
||||
|
||||
func (c *socks4Connector) parseMetadata(md md.Metadata) (err error) {
|
||||
if v := md.GetString(auth); v != "" {
|
||||
c.md.User = url.User(v)
|
||||
}
|
||||
c.md.connectTimeout = md.GetDuration(connectTimeout)
|
||||
c.md.disable4a = md.GetBool(disable4a)
|
||||
|
||||
return
|
||||
}
|
||||
|
@ -3,12 +3,8 @@ package v4
|
||||
import (
|
||||
"net/url"
|
||||
"time"
|
||||
)
|
||||
|
||||
const (
|
||||
connectTimeout = "timeout"
|
||||
auth = "auth"
|
||||
disable4a = "disable4a"
|
||||
md "github.com/go-gost/gost/pkg/metadata"
|
||||
)
|
||||
|
||||
type metadata struct {
|
||||
@ -16,3 +12,19 @@ type metadata struct {
|
||||
User *url.Userinfo
|
||||
disable4a bool
|
||||
}
|
||||
|
||||
func (c *socks4Connector) parseMetadata(md md.Metadata) (err error) {
|
||||
const (
|
||||
connectTimeout = "timeout"
|
||||
auth = "auth"
|
||||
disable4a = "disable4a"
|
||||
)
|
||||
|
||||
if v := md.GetString(auth); v != "" {
|
||||
c.md.User = url.User(v)
|
||||
}
|
||||
c.md.connectTimeout = md.GetDuration(connectTimeout)
|
||||
c.md.disable4a = md.GetBool(disable4a)
|
||||
|
||||
return
|
||||
}
|
||||
|
@ -6,8 +6,6 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"net"
|
||||
"net/url"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/go-gost/gosocks5"
|
||||
@ -172,19 +170,3 @@ func (c *socks5Connector) connectUDP(ctx context.Context, conn net.Conn, network
|
||||
|
||||
return socks.UDPTunClientConn(conn, addr), nil
|
||||
}
|
||||
|
||||
func (c *socks5Connector) parseMetadata(md md.Metadata) (err error) {
|
||||
if v := md.GetString(auth); v != "" {
|
||||
ss := strings.SplitN(v, ":", 2)
|
||||
if len(ss) == 1 {
|
||||
c.md.User = url.User(ss[0])
|
||||
} else {
|
||||
c.md.User = url.UserPassword(ss[0], ss[1])
|
||||
}
|
||||
}
|
||||
|
||||
c.md.connectTimeout = md.GetDuration(connectTimeout)
|
||||
c.md.noTLS = md.GetBool(noTLS)
|
||||
|
||||
return
|
||||
}
|
||||
|
@ -3,13 +3,10 @@ package v5
|
||||
import (
|
||||
"crypto/tls"
|
||||
"net/url"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
const (
|
||||
connectTimeout = "timeout"
|
||||
auth = "auth"
|
||||
noTLS = "notls"
|
||||
md "github.com/go-gost/gost/pkg/metadata"
|
||||
)
|
||||
|
||||
type metadata struct {
|
||||
@ -18,3 +15,25 @@ type metadata struct {
|
||||
tlsConfig *tls.Config
|
||||
noTLS bool
|
||||
}
|
||||
|
||||
func (c *socks5Connector) parseMetadata(md md.Metadata) (err error) {
|
||||
const (
|
||||
connectTimeout = "timeout"
|
||||
auth = "auth"
|
||||
noTLS = "notls"
|
||||
)
|
||||
|
||||
if v := md.GetString(auth); v != "" {
|
||||
ss := strings.SplitN(v, ":", 2)
|
||||
if len(ss) == 1 {
|
||||
c.md.User = url.User(ss[0])
|
||||
} else {
|
||||
c.md.User = url.UserPassword(ss[0], ss[1])
|
||||
}
|
||||
}
|
||||
|
||||
c.md.connectTimeout = md.GetDuration(connectTimeout)
|
||||
c.md.noTLS = md.GetBool(noTLS)
|
||||
|
||||
return
|
||||
}
|
||||
|
Reference in New Issue
Block a user