Files
elmprodvpn/selective-vpn-api/app/transport_backends_config_helpers.go

116 lines
3.6 KiB
Go

package app
import transportcfg "selective-vpn-api/app/transportcfg"
func transportBackendUnit(client TransportClient) string {
return transportcfg.BackendUnit(transportCfgClient(client))
}
func defaultTransportBackendUnit(kind TransportClientKind) string {
return transportcfg.DefaultBackendUnit(string(kind))
}
func transportDNSTTSSHTunnelEnabled(client TransportClient) bool {
return transportcfg.DNSTTSSHTunnelEnabled(transportCfgClient(client))
}
func transportDNSTTSSHUnit(client TransportClient) string {
return transportcfg.DNSTTSSHUnit(transportCfgClient(client))
}
func transportRuntimeMode(cfg map[string]any) string {
return transportcfg.RuntimeMode(cfg)
}
func transportSystemdActionUnits(client TransportClient, action string) ([]string, string, string) {
return transportcfg.SystemdActionUnits(transportCfgClient(client), action)
}
func transportSystemdHealthUnits(client TransportClient) ([]string, string, string) {
return transportcfg.SystemdHealthUnits(transportCfgClient(client))
}
func transportConfigString(cfg map[string]any, key string) string {
return transportcfg.ConfigString(cfg, key)
}
func transportConfigBool(cfg map[string]any, key string) bool {
return transportcfg.ConfigBool(cfg, key)
}
func transportCfgClient(client TransportClient) transportcfg.Client {
return transportcfg.Client{
ID: client.ID,
Kind: string(client.Kind),
Config: client.Config,
}
}
func resolveTransportPrimaryExecStart(client TransportClient) (string, string, error) {
return transportcfg.ResolvePrimaryExecStart(
transportCfgClient(client),
transportSingBoxConfigPath(client),
defaultTransportConfigPath(client.ID, "client.toml"),
)
}
func buildTransportSingBoxCommand(client TransportClient) (string, error) {
return transportcfg.BuildSingBoxCommand(transportCfgClient(client), transportSingBoxConfigPath(client))
}
func buildTransportPhoenixClientCommand(client TransportClient) (string, error) {
return transportcfg.BuildPhoenixClientCommand(transportCfgClient(client), defaultTransportConfigPath(client.ID, "client.toml"))
}
func buildTransportDNSTTClientCommand(client TransportClient) (string, error) {
return transportcfg.BuildDNSTTClientCommand(transportCfgClient(client))
}
func defaultTransportConfigPath(clientID, fileName string) string {
return transportcfg.DefaultConfigPath(clientID, fileName, sanitizeID)
}
func resolveTransportBinary(cfg map[string]any, kind string, systemCandidates ...string) (string, error) {
return transportcfg.ResolveBinary(cfg, kind, systemCandidates...)
}
func validateRequiredBinary(cfg map[string]any, kind, bin string) error {
return transportcfg.ValidateRequiredBinary(cfg, kind, bin)
}
func transportPackagingProfile(cfg map[string]any) string {
return transportcfg.PackagingProfile(cfg)
}
func transportBinaryName(kind string) string {
return transportcfg.BinaryName(kind)
}
func firstExistingBinaryCandidate(candidates ...string) (string, bool) {
return transportcfg.FirstExistingBinaryCandidate(candidates...)
}
func findBinaryPath(candidate string) (string, bool) {
return transportcfg.FindBinaryPath(candidate)
}
func transportBinaryExists(candidate string) bool {
return transportcfg.BinaryExists(candidate)
}
func shellJoinArgs(args []string) string {
return transportcfg.ShellJoinArgs(args, shellQuoteArg)
}
func shellQuoteArg(in string) string {
return transportcfg.ShellQuoteArg(in)
}
func buildTransportSSHOverlayCommand(cfg map[string]any) (string, error) {
return transportcfg.BuildSSHOverlayCommand(cfg, transportConfigInt, shellQuoteArg)
}
func transportConfigInt(cfg map[string]any, key string, defaultVal int) int {
return transportcfg.ConfigInt(cfg, key, defaultVal)
}