diff --git a/internal/cli/update.go b/internal/cli/update.go index b50b8564..668bb024 100644 --- a/internal/cli/update.go +++ b/internal/cli/update.go @@ -78,7 +78,7 @@ func (c *CLI) Update(ctx context.Context, args []string, logger UpdaterLogger) e options.Providers = strings.Split(csvProviders, ",") } - options.SetDefaults() + options.SetDefaults(options.Providers[0]) err := options.Validate() if err != nil { diff --git a/internal/configuration/settings/settings.go b/internal/configuration/settings/settings.go index 048a0ee8..04a5d49e 100644 --- a/internal/configuration/settings/settings.go +++ b/internal/configuration/settings/settings.go @@ -124,9 +124,9 @@ func (s *Settings) SetDefaults() { s.PublicIP.setDefaults() s.Shadowsocks.setDefaults() s.System.setDefaults() - s.Updater.SetDefaults() s.Version.setDefaults() s.VPN.setDefaults() + s.Updater.SetDefaults(*s.VPN.Provider.Name) s.Pprof.SetDefaults() } diff --git a/internal/configuration/settings/updater.go b/internal/configuration/settings/updater.go index 8857aecc..41999bbe 100644 --- a/internal/configuration/settings/updater.go +++ b/internal/configuration/settings/updater.go @@ -89,10 +89,13 @@ func (u *Updater) overrideWith(other Updater) { u.CLI = helpers.MergeWithBool(u.CLI, other.CLI) } -func (u *Updater) SetDefaults() { +func (u *Updater) SetDefaults(vpnProvider string) { u.Period = helpers.DefaultDuration(u.Period, 0) u.DNSAddress = helpers.DefaultIP(u.DNSAddress, net.IPv4(1, 1, 1, 1)) u.CLI = helpers.DefaultBool(u.CLI, false) + if len(u.Providers) == 0 { + u.Providers = []string{vpnProvider} + } } func (u Updater) String() string { @@ -100,7 +103,7 @@ func (u Updater) String() string { } func (u Updater) toLinesNode() (node *gotree.Node) { - if *u.Period == 0 { + if *u.Period == 0 || len(u.Providers) == 0 { return nil } diff --git a/internal/configuration/sources/env/updater.go b/internal/configuration/sources/env/updater.go index 4d573d92..061f7458 100644 --- a/internal/configuration/sources/env/updater.go +++ b/internal/configuration/sources/env/updater.go @@ -7,7 +7,6 @@ import ( "time" "github.com/qdm12/gluetun/internal/configuration/settings" - "github.com/qdm12/gluetun/internal/constants" ) func readUpdater() (updater settings.Updater, err error) { @@ -21,13 +20,7 @@ func readUpdater() (updater settings.Updater, err error) { return updater, err } - // TODO use current provider being used - for _, provider := range constants.AllProviders() { - if provider == constants.Custom { - continue - } - updater.Providers = append(updater.Providers, provider) - } + updater.Providers = envToCSV("UPDATER_VPN_SERVICE_PROVIDERS") return updater, nil }