mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-05 16:57:51 +08:00
45 lines
1004 B
Go
45 lines
1004 B
Go
package common
|
|
|
|
import (
|
|
"log"
|
|
"os/exec"
|
|
"strings"
|
|
|
|
"github.com/gravitl/netmaker/nm-proxy/models"
|
|
)
|
|
|
|
var IsRelay bool
|
|
var IsIngressGateway bool
|
|
var IsRelayed bool
|
|
var IsServer bool
|
|
var InterfaceName string
|
|
var BehindNAT bool
|
|
|
|
var WgIfaceMap = models.WgIfaceConf{
|
|
Iface: nil,
|
|
PeerMap: make(map[string]*models.Conn),
|
|
}
|
|
|
|
var PeerKeyHashMap = make(map[string]models.RemotePeer)
|
|
|
|
//var WgIfaceKeyMap = make(map[string]models.RemotePeer)
|
|
|
|
var RelayPeerMap = make(map[string]map[string]models.RemotePeer)
|
|
|
|
var ExtClientsWaitTh = make(map[string]models.ExtClientPeer)
|
|
|
|
var ExtSourceIpMap = make(map[string]models.RemotePeer)
|
|
|
|
// RunCmd - runs a local command
|
|
func RunCmd(command string, printerr bool) (string, error) {
|
|
args := strings.Fields(command)
|
|
cmd := exec.Command(args[0], args[1:]...)
|
|
cmd.Wait()
|
|
out, err := cmd.CombinedOutput()
|
|
if err != nil && printerr {
|
|
log.Println("error running command: ", command)
|
|
log.Println(strings.TrimSuffix(string(out), "\n"))
|
|
}
|
|
return string(out), err
|
|
}
|