From 8b0ad0c146015cfeef6abd4373ca99a3b4e57826 Mon Sep 17 00:00:00 2001 From: Ruben Pollan Date: Tue, 26 Jun 2018 19:15:52 +0200 Subject: [feat] first implementation of the helper in go --- helper/windows.go | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 helper/windows.go (limited to 'helper/windows.go') diff --git a/helper/windows.go b/helper/windows.go new file mode 100644 index 0000000..1a19cd2 --- /dev/null +++ b/helper/windows.go @@ -0,0 +1,52 @@ +// +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:\bitmask\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") +} -- cgit v1.2.3