Files
netmaker/nm-proxy/common/common.go
2023-01-23 13:02:02 -05:00

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
}