diff --git a/pkg/api/api.go b/pkg/api/api.go index e546401..e003ba6 100644 --- a/pkg/api/api.go +++ b/pkg/api/api.go @@ -66,7 +66,7 @@ func (s Service) CheckToken(user string, token string, timestamp int64, stk stri } // CheckProxy 校验客户端代理 -func (s Service) CheckProxy(user string, pMsg *msg.NewProxy, timestamp int64, stk string, LoginMsg *msg.Login) (ok bool, err error) { +func (s Service) CheckProxy(user string, pMsg *msg.NewProxy, timestamp int64, stk string, loginMsg *msg.Login) (ok bool, err error) { domains, err := json.Marshal(pMsg.CustomDomains) if err != nil { @@ -86,20 +86,21 @@ func (s Service) CheckProxy(user string, pMsg *msg.NewProxy, timestamp int64, st values.Set("proxy_type", pMsg.ProxyType) // Proxies login info - values.Set("run_id", LoginMsg.RunID) + values.Set("run_id", loginMsg.RunID) // Load balance values.Set("group", pMsg.Group) values.Set("group_key", pMsg.GroupKey) - if pMsg.ProxyType == "http" || pMsg.ProxyType == "https" { - // Http Proxies + switch pMsg.ProxyType { + case "http", "https": + // Http代理 values.Set("domain", string(domains)) - } else if pMsg.ProxyType == "tcp" || pMsg.ProxyType == "udp" { - // Tcp & Udp + case "tcp", "udp": + // Tcp和Udp values.Set("remote_port", strconv.Itoa(pMsg.RemotePort)) - } else if pMsg.ProxyType == "stcp" || pMsg.ProxyType == "xtcp" { - // Stcp & Xtcp + case "stcp", "xtcp": + // Stcp和Xtcp values.Set("remote_port", strconv.Itoa(pMsg.RemotePort)) values.Set("sk", pMsg.Sk) } diff --git a/pkg/util/net/conn.go b/pkg/util/net/conn.go index e5ba91b..9f6aa2b 100644 --- a/pkg/util/net/conn.go +++ b/pkg/util/net/conn.go @@ -3,13 +3,12 @@ package net import ( "context" "errors" - "github.com/quic-go/quic-go" + "github.com/fatedier/frp/pkg/util/xlog" + quic "github.com/quic-go/quic-go" "io" "net" "sync/atomic" "time" - - "github.com/fatedier/frp/pkg/util/xlog" ) type ContextGetter interface { diff --git a/server/control.go b/server/control.go index fec786b..6c6a4a6 100644 --- a/server/control.go +++ b/server/control.go @@ -3,21 +3,11 @@ package server import ( "context" "fmt" - "github.com/fatedier/frp/pkg/api" - "github.com/fatedier/frp/pkg/limit" - "io" - "net" - "runtime/debug" - "sync" - "time" - - "github.com/fatedier/golib/control/shutdown" - "github.com/fatedier/golib/crypto" - "github.com/fatedier/golib/errors" - + api "github.com/fatedier/frp/pkg/api" "github.com/fatedier/frp/pkg/auth" "github.com/fatedier/frp/pkg/config" pkgerr "github.com/fatedier/frp/pkg/errors" + "github.com/fatedier/frp/pkg/limit" "github.com/fatedier/frp/pkg/msg" plugin "github.com/fatedier/frp/pkg/plugin/server" "github.com/fatedier/frp/pkg/transport" @@ -27,6 +17,14 @@ import ( "github.com/fatedier/frp/server/controller" "github.com/fatedier/frp/server/metrics" "github.com/fatedier/frp/server/proxy" + "github.com/fatedier/golib/control/shutdown" + "github.com/fatedier/golib/crypto" + "github.com/fatedier/golib/errors" + "io" + "net" + "runtime/debug" + "sync" + "time" ) type ControlManager struct { @@ -686,6 +684,5 @@ func (ctl *Control) CloseProxy(closeMsg *msg.CloseProxy) (err error) { go func() { _ = ctl.pluginManager.CloseProxy(notifyContent) }() - return } diff --git a/server/service.go b/server/service.go index c8d0525..04cef75 100644 --- a/server/service.go +++ b/server/service.go @@ -5,20 +5,8 @@ import ( "context" "crypto/tls" "fmt" - "github.com/fatedier/frp/pkg/api" - "io" - "net" - "net/http" - "regexp" - "sort" - "strconv" - "time" - - "github.com/fatedier/golib/net/mux" - fmux "github.com/hashicorp/yamux" - "github.com/quic-go/quic-go" - "github.com/fatedier/frp/assets" + api "github.com/fatedier/frp/pkg/api" "github.com/fatedier/frp/pkg/auth" "github.com/fatedier/frp/pkg/config" modelmetrics "github.com/fatedier/frp/pkg/metrics" @@ -39,6 +27,16 @@ import ( "github.com/fatedier/frp/server/ports" "github.com/fatedier/frp/server/proxy" "github.com/fatedier/frp/server/visitor" + "github.com/fatedier/golib/net/mux" + fmux "github.com/hashicorp/yamux" + quic "github.com/quic-go/quic-go" + "io" + "net" + "net/http" + "regexp" + "sort" + "strconv" + "time" ) const (