0xdcarns vor 3 Jahren
Ursprung
Commit
d09d3dee63
1 geänderte Dateien mit 32 neuen und 27 gelöschten Zeilen
  1. 32 27
      netclient/wireguard/common.go

+ 32 - 27
netclient/wireguard/common.go

@@ -19,6 +19,11 @@ import (
 	"gopkg.in/ini.v1"
 )
 
+const (
+	section_interface = "Interface"
+	section_peers     = "Peer"
+)
+
 // SetPeers - sets peers on a given WireGuard interface
 func SetPeers(iface string, keepalive int32, peers []wgtypes.PeerConfig) error {
 
@@ -298,40 +303,40 @@ func WriteWgConfig(cfg config.ClientConfig, privateKey string, peers []wgtypes.P
 		AllowShadows:           true,
 	}
 	wireguard := ini.Empty(options)
-	wireguard.Section("Interface").Key("PrivateKey").SetValue(privateKey)
-	wireguard.Section("Interface").Key("ListenPort").SetValue(strconv.Itoa(int(cfg.Node.ListenPort)))
+	wireguard.Section(section_interface).Key("PrivateKey").SetValue(privateKey)
+	wireguard.Section(section_interface).Key("ListenPort").SetValue(strconv.Itoa(int(cfg.Node.ListenPort)))
 	if cfg.Node.Address != "" {
-		wireguard.Section("Interface").Key("Address").SetValue(cfg.Node.Address)
+		wireguard.Section(section_interface).Key("Address").SetValue(cfg.Node.Address)
 	}
 	if cfg.Node.Address6 != "" {
-		wireguard.Section("Interface").Key("Address").SetValue(cfg.Node.Address6)
+		wireguard.Section(section_interface).Key("Address").SetValue(cfg.Node.Address6)
 	}
 	if cfg.Node.DNSOn == "yes" {
-		wireguard.Section("Interface").Key("DNS").SetValue(cfg.Server.CoreDNSAddr)
+		wireguard.Section(section_interface).Key("DNS").SetValue(cfg.Server.CoreDNSAddr)
 	}
 	if cfg.Node.PostUp != "" {
-		wireguard.Section("Interface").Key("PostUp").SetValue(cfg.Node.PostUp)
+		wireguard.Section(section_interface).Key("PostUp").SetValue(cfg.Node.PostUp)
 	}
 	if cfg.Node.PostDown != "" {
-		wireguard.Section("Interface").Key("PostDown").SetValue(cfg.Node.PostDown)
+		wireguard.Section(section_interface).Key("PostDown").SetValue(cfg.Node.PostDown)
 	}
 	for i, peer := range peers {
-		wireguard.SectionWithIndex("Peer", i).Key("PublicKey").SetValue(peer.PublicKey.String())
+		wireguard.SectionWithIndex(section_peers, i).Key("PublicKey").SetValue(peer.PublicKey.String())
 		if peer.PresharedKey.String() != "" {
-			wireguard.SectionWithIndex("Peer", i).Key("PreSharedKey").SetValue(peer.PresharedKey.String())
+			wireguard.SectionWithIndex(section_peers, i).Key("PreSharedKey").SetValue(peer.PresharedKey.String())
 		}
 		if peer.AllowedIPs != nil {
 			var allowedIPs string
 			for _, ip := range peer.AllowedIPs {
 				allowedIPs = allowedIPs + ", " + ip.String()
 			}
-			wireguard.SectionWithIndex("Peer", i).Key("AllowedIps").SetValue(allowedIPs)
+			wireguard.SectionWithIndex(section_peers, i).Key("AllowedIps").SetValue(allowedIPs)
 		}
 		if peer.Endpoint != nil {
-			wireguard.SectionWithIndex("Peer", i).Key("Endpoint").SetValue(peer.Endpoint.String())
+			wireguard.SectionWithIndex(section_peers, i).Key("Endpoint").SetValue(peer.Endpoint.String())
 		}
 	}
-	if err := wireguard.SaveTo("/etc/netclient/config" + cfg.Node.Interface + ".conf"); err != nil {
+	if err := wireguard.SaveTo(ncutils.GetNetclientPathSpecific() + cfg.Node.Interface + ".conf"); err != nil {
 		return err
 	}
 	return nil
@@ -340,25 +345,25 @@ func WriteWgConfig(cfg config.ClientConfig, privateKey string, peers []wgtypes.P
 // UpdateWgPeers - updates the peers of a network
 func UpdateWgPeers(wgInterface string, peers []wgtypes.Peer) error {
 	//update to get path properly
-	file := "/etc/netclient/config/" + wgInterface + ".conf"
+	file := ncutils.GetNetclientPathSpecific() + wgInterface + ".conf"
 	wireguard, err := ini.ShadowLoad(file)
 	if err != nil {
 		return err
 	}
 	for i, peer := range peers {
-		wireguard.SectionWithIndex("Peer", i).Key("PublicKey").SetValue(peer.PublicKey.String())
+		wireguard.SectionWithIndex(section_peers, i).Key("PublicKey").SetValue(peer.PublicKey.String())
 		if peer.PresharedKey.String() != "" {
-			wireguard.SectionWithIndex("Peer", i).Key("PreSharedKey").SetValue(peer.PresharedKey.String())
+			wireguard.SectionWithIndex(section_peers, i).Key("PreSharedKey").SetValue(peer.PresharedKey.String())
 		}
 		if peer.AllowedIPs != nil {
 			var allowedIPs string
 			for _, ip := range peer.AllowedIPs {
 				allowedIPs = allowedIPs + ", " + ip.String()
 			}
-			wireguard.SectionWithIndex("Peer", i).Key("AllowedIps").SetValue(allowedIPs)
+			wireguard.SectionWithIndex(section_peers, i).Key("AllowedIps").SetValue(allowedIPs)
 		}
 		if peer.Endpoint != nil {
-			wireguard.SectionWithIndex("Peer", i).Key("Endpoint").SetValue(peer.Endpoint.String())
+			wireguard.SectionWithIndex(section_peers, i).Key("Endpoint").SetValue(peer.Endpoint.String())
 		}
 	}
 	if err := wireguard.SaveTo(file); err != nil {
@@ -370,27 +375,27 @@ func UpdateWgPeers(wgInterface string, peers []wgtypes.Peer) error {
 // UpdateWgInterface - updates the interface section of a wireguard config file
 func UpdateWgInterface(wgInterface, privateKey, nameserver string, node models.Node) error {
 	//update to get path properly
-	file := "/etc/netclient/config/" + wgInterface + ".conf"
+	file := ncutils.GetNetclientPathSpecific() + wgInterface + ".conf"
 	wireguard, err := ini.ShadowLoad(file)
 	if err != nil {
 		return err
 	}
-	wireguard.Section("Interface").Key("PrivateKey").SetValue(privateKey)
-	wireguard.Section("Interface").Key("ListenPort").SetValue(strconv.Itoa(int(node.ListenPort)))
+	wireguard.Section(section_interface).Key("PrivateKey").SetValue(privateKey)
+	wireguard.Section(section_interface).Key("ListenPort").SetValue(strconv.Itoa(int(node.ListenPort)))
 	if node.Address != "" {
-		wireguard.Section("Interface").Key("Address").SetValue(node.Address)
+		wireguard.Section(section_interface).Key("Address").SetValue(node.Address)
 	}
 	if node.Address6 != "" {
-		wireguard.Section("Interface").Key("Address").SetValue(node.Address6)
+		wireguard.Section(section_interface).Key("Address").SetValue(node.Address6)
 	}
 	if node.DNSOn == "yes" {
-		wireguard.Section("Interface").Key("DNS").SetValue(nameserver)
+		wireguard.Section(section_interface).Key("DNS").SetValue(nameserver)
 	}
 	if node.PostUp != "" {
-		wireguard.Section("Interface").Key("PostUp").SetValue(node.PostUp)
+		wireguard.Section(section_interface).Key("PostUp").SetValue(node.PostUp)
 	}
 	if node.PostDown != "" {
-		wireguard.Section("Interface").Key("PostDown").SetValue(node.PostDown)
+		wireguard.Section(section_interface).Key("PostDown").SetValue(node.PostDown)
 	}
 	if err := wireguard.SaveTo(file); err != nil {
 		return err
@@ -401,12 +406,12 @@ func UpdateWgInterface(wgInterface, privateKey, nameserver string, node models.N
 // UpdatePrivateKey - updates the private key of a wireguard config file
 func UpdatePrivateKey(wgInterface, privateKey string) error {
 	//update to get path properly
-	file := "/etc/netclient/config/" + wgInterface + ".conf"
+	file := ncutils.GetNetclientPathSpecific() + wgInterface + ".conf"
 	wireguard, err := ini.ShadowLoad(file)
 	if err != nil {
 		return err
 	}
-	wireguard.Section("Interface").Key("PrivateKey").SetValue(privateKey)
+	wireguard.Section(section_interface).Key("PrivateKey").SetValue(privateKey)
 	if err := wireguard.SaveTo(file); err != nil {
 		return err
 	}