diff --git a/client/admin_api.go b/client/admin_api.go index 32ccba90..c08983d6 100644 --- a/client/admin_api.go +++ b/client/admin_api.go @@ -117,7 +117,7 @@ func NewProxyStatusResp(status *proxy.WorkingStatus, serverAddr string) ProxySta switch cfg := status.Cfg.(type) { case *config.TCPProxyConf: if cfg.LocalPort != 0 { - psr.LocalAddr = newAddress(cfg.LocalIp, cfg.LocalPort) + psr.LocalAddr = newAddress(cfg.LocalIP, cfg.LocalPort) } psr.Plugin = cfg.Plugin if status.Err != "" { @@ -127,7 +127,7 @@ func NewProxyStatusResp(status *proxy.WorkingStatus, serverAddr string) ProxySta } case *config.UDPProxyConf: if cfg.LocalPort != 0 { - psr.LocalAddr = newAddress(cfg.LocalIp, cfg.LocalPort) + psr.LocalAddr = newAddress(cfg.LocalIP, cfg.LocalPort) } if status.Err != "" { psr.RemoteAddr = newAddress(serverAddr, cfg.RemotePort) @@ -136,29 +136,29 @@ func NewProxyStatusResp(status *proxy.WorkingStatus, serverAddr string) ProxySta } case *config.HTTPProxyConf: if cfg.LocalPort != 0 { - psr.LocalAddr = newAddress(cfg.LocalIp, cfg.LocalPort) + psr.LocalAddr = newAddress(cfg.LocalIP, cfg.LocalPort) } psr.Plugin = cfg.Plugin psr.RemoteAddr = status.RemoteAddr case *config.HTTPSProxyConf: if cfg.LocalPort != 0 { - psr.LocalAddr = newAddress(cfg.LocalIp, cfg.LocalPort) + psr.LocalAddr = newAddress(cfg.LocalIP, cfg.LocalPort) } psr.Plugin = cfg.Plugin psr.RemoteAddr = status.RemoteAddr case *config.STCPProxyConf: if cfg.LocalPort != 0 { - psr.LocalAddr = newAddress(cfg.LocalIp, cfg.LocalPort) + psr.LocalAddr = newAddress(cfg.LocalIP, cfg.LocalPort) } psr.Plugin = cfg.Plugin case *config.XTCPProxyConf: if cfg.LocalPort != 0 { - psr.LocalAddr = newAddress(cfg.LocalIp, cfg.LocalPort) + psr.LocalAddr = newAddress(cfg.LocalIP, cfg.LocalPort) } psr.Plugin = cfg.Plugin case *config.SUDPProxyConf: if cfg.LocalPort != 0 { - psr.LocalAddr = newAddress(cfg.LocalIp, cfg.LocalPort) + psr.LocalAddr = newAddress(cfg.LocalIP, cfg.LocalPort) } psr.Plugin = cfg.Plugin } diff --git a/client/control.go b/client/control.go index ed0feca2..9ab780c2 100644 --- a/client/control.go +++ b/client/control.go @@ -17,7 +17,7 @@ package client import ( "context" "crypto/tls" - "github.com/fatedier/frp/utils/log" + "github.com/fatedier/frp/pkg/util/log" "io" "net" "runtime/debug" diff --git a/cmd/frp/frp.go b/cmd/frp/frp.go index a1347c32..6a038c7b 100644 --- a/cmd/frp/frp.go +++ b/cmd/frp/frp.go @@ -17,7 +17,7 @@ package frp import ( "github.com/fatedier/frp/cmd/frpc/sub" "github.com/fatedier/frp/cmd/frps/frps" - "github.com/fatedier/frp/utils/version" + "github.com/fatedier/frp/pkg/util/version" "github.com/fatedier/golib/crypto" "runtime/debug" ) diff --git a/cmd/frp/log.go b/cmd/frp/log.go index fed41359..845e8acc 100644 --- a/cmd/frp/log.go +++ b/cmd/frp/log.go @@ -1,6 +1,6 @@ package frp -import "github.com/fatedier/frp/utils/log" +import "github.com/fatedier/frp/pkg/util/log" type FrpLogListener interface { Log(log string) diff --git a/cmd/frpc/sub/root.go b/cmd/frpc/sub/root.go index 9b9b64ec..4474dc99 100644 --- a/cmd/frpc/sub/root.go +++ b/cmd/frpc/sub/root.go @@ -310,8 +310,8 @@ func startService( func returnService(cfg config.ClientCommonConf, pxyCfgs map[string]config.ProxyConf, visitorCfgs map[string]config.VisitorConf, cfgFile string) (svr *client.Service, err error) { log.InitLog(cfg.LogWay, cfg.LogFile, cfg.LogLevel, cfg.LogMaxDays, cfg.DisableLogColor) - if cfg.DnsServer != "" { - s := cfg.DnsServer + if cfg.DNSServer != "" { + s := cfg.DNSServer if !strings.Contains(s, ":") { s += ":53" } diff --git a/cmd/frps/frps/root.go b/cmd/frps/frps/root.go index 7f72bc02..b76db6b5 100644 --- a/cmd/frps/frps/root.go +++ b/cmd/frps/frps/root.go @@ -20,11 +20,12 @@ import ( "github.com/spf13/cobra" - "github.com/fatedier/frp/models/config" + "github.com/fatedier/frp/pkg/auth" + "github.com/fatedier/frp/pkg/config" + "github.com/fatedier/frp/pkg/util/log" + "github.com/fatedier/frp/pkg/util/util" + "github.com/fatedier/frp/pkg/util/version" "github.com/fatedier/frp/server" - "github.com/fatedier/frp/utils/log" - "github.com/fatedier/frp/utils/util" - "github.com/fatedier/frp/utils/version" ) const ( @@ -38,12 +39,12 @@ var ( bindAddr string bindPort int - bindUdpPort int + bindUDPPort int kcpBindPort int proxyBindAddr string - vhostHttpPort int - vhostHttpsPort int - vhostHttpTimeout int64 + vhostHTTPPort int + vhostHTTPSPort int + vhostHTTPTimeout int64 dashboardAddr string dashboardPort int dashboardUser string @@ -59,20 +60,21 @@ var ( allowPorts string maxPoolCount int64 maxPortsPerClient int64 + tlsOnly bool ) func init() { rootCmd.PersistentFlags().StringVarP(&cfgFile, "config", "c", "", "config file of frps") - rootCmd.PersistentFlags().BoolVarP(&showVersion, "version", "v", false, "version of frpc") + rootCmd.PersistentFlags().BoolVarP(&showVersion, "version", "v", false, "version of frps") rootCmd.PersistentFlags().StringVarP(&bindAddr, "bind_addr", "", "0.0.0.0", "bind address") rootCmd.PersistentFlags().IntVarP(&bindPort, "bind_port", "p", 7000, "bind port") - rootCmd.PersistentFlags().IntVarP(&bindUdpPort, "bind_udp_port", "", 0, "bind udp port") + rootCmd.PersistentFlags().IntVarP(&bindUDPPort, "bind_udp_port", "", 0, "bind udp port") rootCmd.PersistentFlags().IntVarP(&kcpBindPort, "kcp_bind_port", "", 0, "kcp bind udp port") rootCmd.PersistentFlags().StringVarP(&proxyBindAddr, "proxy_bind_addr", "", "0.0.0.0", "proxy bind address") - rootCmd.PersistentFlags().IntVarP(&vhostHttpPort, "vhost_http_port", "", 0, "vhost http port") - rootCmd.PersistentFlags().IntVarP(&vhostHttpsPort, "vhost_https_port", "", 0, "vhost https port") - rootCmd.PersistentFlags().Int64VarP(&vhostHttpTimeout, "vhost_http_timeout", "", 60, "vhost http response header timeout") + rootCmd.PersistentFlags().IntVarP(&vhostHTTPPort, "vhost_http_port", "", 0, "vhost http port") + rootCmd.PersistentFlags().IntVarP(&vhostHTTPSPort, "vhost_https_port", "", 0, "vhost https port") + rootCmd.PersistentFlags().Int64VarP(&vhostHTTPTimeout, "vhost_http_timeout", "", 60, "vhost http response header timeout") rootCmd.PersistentFlags().StringVarP(&dashboardAddr, "dashboard_addr", "", "0.0.0.0", "dasboard address") rootCmd.PersistentFlags().IntVarP(&dashboardPort, "dashboard_port", "", 0, "dashboard port") rootCmd.PersistentFlags().StringVarP(&dashboardUser, "dashboard_user", "", "admin", "dashboard user") @@ -86,6 +88,7 @@ func init() { rootCmd.PersistentFlags().StringVarP(&subDomainHost, "subdomain_host", "", "", "subdomain host") rootCmd.PersistentFlags().StringVarP(&allowPorts, "allow_ports", "", "", "allow ports") rootCmd.PersistentFlags().Int64VarP(&maxPortsPerClient, "max_ports_per_client", "", 0, "max ports per client") + rootCmd.PersistentFlags().BoolVarP(&tlsOnly, "tls_only", "", false, "frps tls only") } var rootCmd = &cobra.Command{ @@ -158,12 +161,12 @@ func parseServerCommonCfgFromCmd() (cfg config.ServerCommonConf, err error) { cfg.BindAddr = bindAddr cfg.BindPort = bindPort - cfg.BindUdpPort = bindUdpPort - cfg.KcpBindPort = kcpBindPort + cfg.BindUDPPort = bindUDPPort + cfg.KCPBindPort = kcpBindPort cfg.ProxyBindAddr = proxyBindAddr - cfg.VhostHttpPort = vhostHttpPort - cfg.VhostHttpsPort = vhostHttpsPort - cfg.VhostHttpTimeout = vhostHttpTimeout + cfg.VhostHTTPPort = vhostHTTPPort + cfg.VhostHTTPSPort = vhostHTTPSPort + cfg.VhostHTTPTimeout = vhostHTTPTimeout cfg.DashboardAddr = dashboardAddr cfg.DashboardPort = dashboardPort cfg.DashboardUser = dashboardUser @@ -171,8 +174,12 @@ func parseServerCommonCfgFromCmd() (cfg config.ServerCommonConf, err error) { cfg.LogFile = logFile cfg.LogLevel = logLevel cfg.LogMaxDays = logMaxDays - cfg.Token = token cfg.SubDomainHost = subDomainHost + cfg.TLSOnly = tlsOnly + + // Only token authentication is supported in cmd mode + cfg.ServerConfig = auth.GetDefaultServerConf() + cfg.Token = token if len(allowPorts) > 0 { // e.g. 1000-2000,2001,2002,3000-4000 ports, errRet := util.ParseRangeNumbers(allowPorts) @@ -202,11 +209,12 @@ func runServer(cfg config.ServerCommonConf) (err error) { if err != nil { return err } - log.Info("Start frps success") + log.Info("start frps success") svr.Run() return } + var service *server.Service func RunFrps(cfgFile string) error { @@ -232,7 +240,6 @@ func RunFrps(cfgFile string) error { } err = runBackgroundServer(cfg) - fmt.Println(err) return err } diff --git a/cmd/macFrp/frp.go b/cmd/macFrp/frp.go index 541b8376..a34718d7 100644 --- a/cmd/macFrp/frp.go +++ b/cmd/macFrp/frp.go @@ -12,7 +12,7 @@ import ( "github.com/fatedier/frp/cmd/frpc/sub" "github.com/fatedier/frp/cmd/frps/frps" - "github.com/fatedier/frp/utils/version" + "github.com/fatedier/frp/pkg/util/version" ) //export StopFrpc diff --git a/cmd/macFrp/log.go b/cmd/macFrp/log.go index a098f62a..56fa9070 100644 --- a/cmd/macFrp/log.go +++ b/cmd/macFrp/log.go @@ -28,7 +28,7 @@ import "C" import ( "time" - "github.com/fatedier/frp/utils/log" + "github.com/fatedier/frp/pkg/util/log" ) var l logForMacListener diff --git a/server/ports/ports.go b/server/ports/ports.go index e1044af2..34e75bd9 100644 --- a/server/ports/ports.go +++ b/server/ports/ports.go @@ -201,6 +201,6 @@ FOR: } // Stop Stop -func (pm *PortManager) Stop() { +func (pm *Manager) Stop() { pm.stop <- true } diff --git a/server/service.go b/server/service.go index 18d3ca91..df3561bc 100644 --- a/server/service.go +++ b/server/service.go @@ -353,8 +353,8 @@ func (svr *Service) Stop() error { } close(svr.closedCh) svr.Closed = true - svr.rc.TcpPortManager.Stop() - svr.rc.UdpPortManager.Stop() + svr.rc.TCPPortManager.Stop() + svr.rc.UDPPortManager.Stop() return err }