// +build windows // Copyright (C) 2018 LEAP // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . package main import ( "log" "net/http" "os" "os/exec" ) const ( openvpnPath = `C:\Program Files\RiseupVPN\openvpn.exe` chocoOpenvpnPath = `C:\Program Files\OpenVPN\bin\openvpn.exe` ) func getOpenvpnPath() string { if _, err := os.Stat(openvpnPath); !os.IsNotExist(err) { return openvpnPath } else if _, err := os.Stat(chocoOpenvpnPath); !os.IsNotExist(err) { return chocoOpenvpnPath } return "openvpn.exe" } func kill(cmd *exec.Cmd) error { return cmd.Process.Kill() } type firewallT struct{} func (firewall *firewallT) start(w http.ResponseWriter, r *http.Request) { log.Println("Start firewall: do nothing, not implemented") } func (firewall *firewallT) stop(w http.ResponseWriter, r *http.Request) { log.Println("Stop firewall: do nothing, not implemented") }