serialize config sections to string;

add and update with different url
This commit is contained in:
2023-09-22 16:46:06 +08:00
parent 3daf3b8aa7
commit 5fc253b75a
5 changed files with 317 additions and 153 deletions

View File

@@ -1,6 +1,8 @@
package controller
import (
"github.com/fatedier/frp/pkg/config"
"github.com/vaughan0/go-ini"
"strings"
)
@@ -21,6 +23,33 @@ func stringContains(element string, data []string) bool {
return false
}
func (c *HandleController) reloadFrpc() error {
return nil
func (c *HandleController) parseConfigure(content, proxyType string) (interface{}, error) {
currentProxies := make(map[string]ini.Section)
clientProxies = make(map[string]ini.Section)
common, err := config.UnmarshalClientConfFromIni(content)
if err != nil {
return nil, err
}
cfg, err := ini.Load(strings.NewReader(content))
if err != nil {
return nil, err
}
for name, section := range cfg {
if name == "common" {
clientCommon = section
continue
}
if strings.ToLower(section["type"]) == strings.ToLower(proxyType) {
currentProxies[name] = section
}
clientProxies[name] = section
delete(clientProxies[name], "name")
}
if proxyType == "none" {
return common, nil
}
return currentProxies, nil
}