summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuben Pollan <meskio@sindominio.net>2019-02-04 23:36:37 +0100
committerRuben Pollan <meskio@sindominio.net>2019-02-04 23:36:37 +0100
commitd0703ec25f2625ffd61489da4e2f45a7bc1be29b (patch)
treed0b77fdabf3a4c46ebef4bd868e6af2b74d87775
parentb9ef49b51c6e2570ef3aae824ab44374997b6b25 (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.go8
-rw-r--r--pkg/systray/config.go6
-rw-r--r--pkg/systray/run.go2
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
}