diff --git a/configs.json b/configs.json index 0561bd7..7485545 100644 --- a/configs.json +++ b/configs.json @@ -7,11 +7,13 @@ "args": [ "http_proxy" ], + "surround": "\"", "type": "variable" }, { "args": [ "https_proxy" ], + "surround": "\"", "type": "variable" } ], diff --git a/proxy/util.go b/proxy/util.go index 59f0e14..8e25fff 100644 --- a/proxy/util.go +++ b/proxy/util.go @@ -2,6 +2,7 @@ package proxy import ( "errors" + "fmt" "strings" "github.com/Baipyrus/ProxySwitcher/util" @@ -31,6 +32,11 @@ func applyProxy(configArgs []string, configCmd, proxyServer string, variant *uti return configArgs, configCmd } + // Surround 'proxyServer' with any given string, if provided + if variant.Surround != "" { + proxyServer = fmt.Sprintf("%[1]s%[2]s%[1]s", variant.Surround, proxyServer) + } + // Insert proxy only on last VARIABLE type if variant.Type == util.VARIABLE && strings.Count(configCmd, "$PRSW_ARG") == 1 { configCmd = strings.Replace(configCmd, "$PRSW_ARG", proxyServer, 1) diff --git a/util/types.go b/util/types.go index 5c87de4..711f7dc 100644 --- a/util/types.go +++ b/util/types.go @@ -18,6 +18,7 @@ type Variant struct { Arguments []string `json:"args"` Type VariantType `json:"type,omitempty"` Equator string `json:"equator,omitempty"` + Surround string `json:"surround,omitempty"` DiscardProxy bool `json:"discard,omitempty"` }