Skip to content
Snippets Groups Projects
Commit a45d99f2 authored by meskio's avatar meskio :tent: Committed by Kali Kaneko
Browse files

[feat] autoconnect if is the first run or was not manually stopped

- Resolves: #23
parent 2d0f7c1a
No related branches found
No related tags found
No related merge requests found
......@@ -38,6 +38,7 @@ type systrayConfig struct {
LastNotification time.Time
Donated time.Time
SelectWateway bool
UserStoppedVPN bool
}
func parseConfig() *systrayConfig {
......@@ -45,6 +46,7 @@ func parseConfig() *systrayConfig {
f, err := os.Open(configPath)
if err != nil {
conf.save()
return &conf
}
defer f.Close()
......@@ -55,6 +57,11 @@ func parseConfig() *systrayConfig {
return &conf
}
func (c *systrayConfig) setUserStoppedVPN(vpnStopped bool) error {
c.UserStoppedVPN = vpnStopped
return c.save()
}
func (c *systrayConfig) parseFlags() {
flag.BoolVar(&c.SelectWateway, "select-gateway", false, "Enable gateway selection")
flag.Parse()
......
......@@ -54,6 +54,7 @@ func main() {
log.Printf("Is bitmask running? %v", err)
return
}
maybeStartVPN(b, conf)
run(b, conf)
}
......@@ -77,6 +78,18 @@ func checkAndInstallHelpers(b *bitmask.Bitmask, notify *notificator) error {
return nil
}
func maybeStartVPN(b *bitmask.Bitmask, conf *systrayConfig) {
if conf.UserStoppedVPN {
return
}
err := b.StartVPN(provider)
if err != nil {
log.Println("Error starting VPN: ", err)
}
conf.setUserStoppedVPN(false)
}
func initPrinter() {
locale, err := go_locale.DetectLocale()
if err != nil {
......
......@@ -97,12 +97,15 @@ func (bt *bmTray) onReady() {
case <-bt.mTurnOn.ClickedCh:
log.Println("on")
bt.bm.StartVPN(provider)
bt.conf.setUserStoppedVPN(false)
case <-bt.mTurnOff.ClickedCh:
log.Println("off")
bt.bm.StopVPN()
bt.conf.setUserStoppedVPN(true)
case <-bt.mCancel.ClickedCh:
log.Println("cancel")
bt.bm.StopVPN()
bt.conf.setUserStoppedVPN(true)
case <-mHelp.ClickedCh:
open.Run("https://riseup.net/vpn")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment