|
@@ -17,7 +17,6 @@ package sub
|
|
|
import (
|
|
|
"context"
|
|
|
"fmt"
|
|
|
- "io/ioutil"
|
|
|
"net"
|
|
|
"os"
|
|
|
"os/signal"
|
|
@@ -27,7 +26,6 @@ import (
|
|
|
"time"
|
|
|
|
|
|
"github.com/spf13/cobra"
|
|
|
- ini "github.com/vaughan0/go-ini"
|
|
|
|
|
|
"github.com/fatedier/frp/client"
|
|
|
"github.com/fatedier/frp/g"
|
|
@@ -111,9 +109,9 @@ func handleSignal(svr *client.Service) {
|
|
|
os.Exit(0)
|
|
|
}
|
|
|
|
|
|
-func parseClientCommonCfg(fileType int, filePath string) (err error) {
|
|
|
+func parseClientCommonCfg(fileType int, content string) (err error) {
|
|
|
if fileType == CfgFileTypeIni {
|
|
|
- err = parseClientCommonCfgFromIni(filePath)
|
|
|
+ err = parseClientCommonCfgFromIni(content)
|
|
|
} else if fileType == CfgFileTypeCmd {
|
|
|
err = parseClientCommonCfgFromCmd()
|
|
|
}
|
|
@@ -121,8 +119,6 @@ func parseClientCommonCfg(fileType int, filePath string) (err error) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- g.GlbClientCfg.CfgFile = cfgFile
|
|
|
-
|
|
|
err = g.GlbClientCfg.ClientCommonConf.Check()
|
|
|
if err != nil {
|
|
|
return
|
|
@@ -130,13 +126,7 @@ func parseClientCommonCfg(fileType int, filePath string) (err error) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-func parseClientCommonCfgFromIni(filePath string) (err error) {
|
|
|
- b, err := ioutil.ReadFile(filePath)
|
|
|
- if err != nil {
|
|
|
- return err
|
|
|
- }
|
|
|
- content := string(b)
|
|
|
-
|
|
|
+func parseClientCommonCfgFromIni(content string) (err error) {
|
|
|
cfg, err := config.UnmarshalClientConfFromIni(&g.GlbClientCfg.ClientCommonConf, content)
|
|
|
if err != nil {
|
|
|
return err
|
|
@@ -175,17 +165,19 @@ func parseClientCommonCfgFromCmd() (err error) {
|
|
|
}
|
|
|
|
|
|
func runClient(cfgFilePath string) (err error) {
|
|
|
- err = parseClientCommonCfg(CfgFileTypeIni, cfgFilePath)
|
|
|
+ var content string
|
|
|
+ content, err = config.GetRenderedConfFromFile(cfgFilePath)
|
|
|
if err != nil {
|
|
|
return
|
|
|
}
|
|
|
+ g.GlbClientCfg.CfgFile = cfgFilePath
|
|
|
|
|
|
- conf, err := ini.LoadFile(cfgFilePath)
|
|
|
+ err = parseClientCommonCfg(CfgFileTypeIni, content)
|
|
|
if err != nil {
|
|
|
- return err
|
|
|
+ return
|
|
|
}
|
|
|
|
|
|
- pxyCfgs, visitorCfgs, err := config.LoadAllConfFromIni(g.GlbClientCfg.User, conf, g.GlbClientCfg.Start)
|
|
|
+ pxyCfgs, visitorCfgs, err := config.LoadAllConfFromIni(g.GlbClientCfg.User, content, g.GlbClientCfg.Start)
|
|
|
if err != nil {
|
|
|
return err
|
|
|
}
|