add socks5 udp relay

This commit is contained in:
ginuerzh
2021-11-07 23:39:35 +08:00
parent e8f040cbdf
commit 16f34d3e94
39 changed files with 728 additions and 131 deletions

View File

@ -8,6 +8,7 @@ import (
"time"
"github.com/go-gost/gost/pkg/internal/utils"
util_tls "github.com/go-gost/gost/pkg/internal/utils/tls"
"github.com/go-gost/gost/pkg/listener"
"github.com/go-gost/gost/pkg/logger"
md "github.com/go-gost/gost/pkg/metadata"
@ -173,7 +174,7 @@ func (l *h2Listener) upgrade(w http.ResponseWriter, r *http.Request) (*conn, err
}
func (l *h2Listener) parseMetadata(md md.Metadata) (err error) {
l.md.tlsConfig, err = utils.LoadTLSConfig(
l.md.tlsConfig, err = util_tls.LoadTLSConfig(
md.GetString(certFile),
md.GetString(keyFile),
md.GetString(caFile),

View File

@ -6,6 +6,7 @@ import (
"net/http"
"github.com/go-gost/gost/pkg/internal/utils"
util_tls "github.com/go-gost/gost/pkg/internal/utils/tls"
"github.com/go-gost/gost/pkg/listener"
"github.com/go-gost/gost/pkg/logger"
md "github.com/go-gost/gost/pkg/metadata"
@ -126,7 +127,7 @@ func (l *http2Listener) handleFunc(w http.ResponseWriter, r *http.Request) {
}
func (l *http2Listener) parseMetadata(md md.Metadata) (err error) {
l.md.tlsConfig, err = utils.LoadTLSConfig(
l.md.tlsConfig, err = util_tls.LoadTLSConfig(
md.GetString(certFile),
md.GetString(keyFile),
md.GetString(caFile),

View File

@ -4,7 +4,7 @@ import (
"net"
"time"
"github.com/go-gost/gost/pkg/internal/utils"
utils "github.com/go-gost/gost/pkg/internal/utils/kcp"
"github.com/go-gost/gost/pkg/listener"
"github.com/go-gost/gost/pkg/logger"
md "github.com/go-gost/gost/pkg/metadata"

View File

@ -4,7 +4,7 @@ import (
"context"
"net"
"github.com/go-gost/gost/pkg/internal/utils"
utils "github.com/go-gost/gost/pkg/internal/utils/quic"
"github.com/go-gost/gost/pkg/listener"
"github.com/go-gost/gost/pkg/logger"
md "github.com/go-gost/gost/pkg/metadata"

View File

@ -5,6 +5,7 @@ import (
"net"
"github.com/go-gost/gost/pkg/internal/utils"
util_tls "github.com/go-gost/gost/pkg/internal/utils/tls"
"github.com/go-gost/gost/pkg/listener"
"github.com/go-gost/gost/pkg/logger"
md "github.com/go-gost/gost/pkg/metadata"
@ -56,7 +57,7 @@ func (l *tlsListener) Init(md md.Metadata) (err error) {
}
func (l *tlsListener) parseMetadata(md md.Metadata) (err error) {
l.md.tlsConfig, err = utils.LoadTLSConfig(
l.md.tlsConfig, err = util_tls.LoadTLSConfig(
md.GetString(certFile),
md.GetString(keyFile),
md.GetString(caFile),

View File

@ -4,7 +4,7 @@ import (
"crypto/tls"
"net"
"github.com/go-gost/gost/pkg/internal/utils"
util_tls "github.com/go-gost/gost/pkg/internal/utils/tls"
"github.com/go-gost/gost/pkg/listener"
"github.com/go-gost/gost/pkg/logger"
md "github.com/go-gost/gost/pkg/metadata"
@ -127,7 +127,7 @@ func (l *mtlsListener) Accept() (conn net.Conn, err error) {
}
func (l *mtlsListener) parseMetadata(md md.Metadata) (err error) {
l.md.tlsConfig, err = utils.LoadTLSConfig(
l.md.tlsConfig, err = util_tls.LoadTLSConfig(
md.GetString(certFile),
md.GetString(keyFile),
md.GetString(caFile),

View File

@ -5,7 +5,8 @@ import (
"net"
"net/http"
"github.com/go-gost/gost/pkg/internal/utils"
util_tls "github.com/go-gost/gost/pkg/internal/utils/tls"
"github.com/go-gost/gost/pkg/internal/utils/ws"
"github.com/go-gost/gost/pkg/listener"
"github.com/go-gost/gost/pkg/logger"
md "github.com/go-gost/gost/pkg/metadata"
@ -115,7 +116,7 @@ func (l *wsListener) Addr() net.Addr {
}
func (l *wsListener) parseMetadata(md md.Metadata) (err error) {
l.md.tlsConfig, err = utils.LoadTLSConfig(
l.md.tlsConfig, err = util_tls.LoadTLSConfig(
md.GetString(certFile),
md.GetString(keyFile),
md.GetString(caFile),
@ -135,7 +136,7 @@ func (l *wsListener) upgrade(w http.ResponseWriter, r *http.Request) {
}
select {
case l.connChan <- utils.WebsocketServerConn(conn):
case l.connChan <- ws.WebsocketServerConn(conn):
default:
conn.Close()
l.logger.Warn("connection queue is full")

View File

@ -5,7 +5,8 @@ import (
"net"
"net/http"
"github.com/go-gost/gost/pkg/internal/utils"
util_tls "github.com/go-gost/gost/pkg/internal/utils/tls"
"github.com/go-gost/gost/pkg/internal/utils/ws"
"github.com/go-gost/gost/pkg/listener"
"github.com/go-gost/gost/pkg/logger"
md "github.com/go-gost/gost/pkg/metadata"
@ -111,7 +112,7 @@ func (l *mwsListener) Addr() net.Addr {
}
func (l *mwsListener) parseMetadata(md md.Metadata) (err error) {
l.md.tlsConfig, err = utils.LoadTLSConfig(
l.md.tlsConfig, err = util_tls.LoadTLSConfig(
md.GetString(certFile),
md.GetString(keyFile),
md.GetString(caFile),
@ -130,7 +131,7 @@ func (l *mwsListener) upgrade(w http.ResponseWriter, r *http.Request) {
return
}
l.mux(utils.WebsocketServerConn(conn))
l.mux(ws.WebsocketServerConn(conn))
}
func (l *mwsListener) mux(conn net.Conn) {