diff options
author | Ruben Pollan <meskio@sindominio.net> | 2019-02-04 23:36:37 +0100 |
---|---|---|
committer | Ruben Pollan <meskio@sindominio.net> | 2019-02-04 23:36:37 +0100 |
commit | d0703ec25f2625ffd61489da4e2f45a7bc1be29b (patch) | |
tree | d0b77fdabf3a4c46ebef4bd868e6af2b74d87775 | |
parent | b9ef49b51c6e2570ef3aae824ab44374997b6b25 (diff) |
[feat] Add -start-vpn flag
The -start-vpn flag can be set to on or off to turn the vpn on or off
just after launching bitmask-vpn. So it doesn't depend on the status of
the vpn of the last run.
- Resolves: #114
-rw-r--r-- | cmd/bitmask-vpn/main.go | 8 | ||||
-rw-r--r-- | pkg/systray/config.go | 6 | ||||
-rw-r--r-- | pkg/systray/run.go | 2 |
3 files changed, 11 insertions, 5 deletions
diff --git a/cmd/bitmask-vpn/main.go b/cmd/bitmask-vpn/main.go index ad85b0e..77ace31 100644 --- a/cmd/bitmask-vpn/main.go +++ b/cmd/bitmask-vpn/main.go @@ -51,12 +51,20 @@ func main() { selectGateway := flag.Bool("select-gateway", false, "Enable gateway selection") disableAutostart := flag.Bool("disable-autostart", false, "Disable the autostart for the next run") + startVPN := flag.String("start-vpn", "", "Start the vpn in turned 'on' or 'off'") versionFlag := flag.Bool("version", false, "Version of the bitmask-systray") flag.Parse() if *versionFlag { fmt.Println(version) os.Exit(0) } + if *startVPN != "" { + if *startVPN != "on" && *startVPN != "off" { + fmt.Println("-start-vpn should be 'on' or 'off'") + os.Exit(1) + } + conf.StartVPN = *startVPN == "on" + } if *selectGateway { conf.SelectGateway = *selectGateway } diff --git a/pkg/systray/config.go b/pkg/systray/config.go index 2755851..e53dea9 100644 --- a/pkg/systray/config.go +++ b/pkg/systray/config.go @@ -45,6 +45,7 @@ type Config struct { } SelectGateway bool DisableAustostart bool + StartVPN bool Version string Printer *message.Printer } @@ -65,6 +66,7 @@ func ParseConfig() *Config { conf.SelectGateway = conf.file.SelectGateway conf.DisableAustostart = conf.file.DisableAustostart + conf.StartVPN = !conf.file.UserStoppedVPN return &conf } @@ -73,10 +75,6 @@ func (c *Config) setUserStoppedVPN(vpnStopped bool) error { return c.save() } -func (c *Config) wasUserStopped() bool { - return c.file.UserStoppedVPN -} - func (c *Config) hasDonated() bool { return c.file.Donated.Add(oneMonth).After(time.Now()) } diff --git a/pkg/systray/run.go b/pkg/systray/run.go index 2878928..172b9e8 100644 --- a/pkg/systray/run.go +++ b/pkg/systray/run.go @@ -98,7 +98,7 @@ func checkAndInstallHelpers(b bitmask.Bitmask, notify *notificator) error { } func maybeStartVPN(b bitmask.Bitmask, conf *Config) error { - if conf.wasUserStopped() { + if !conf.StartVPN { return nil } |