mirror of
				https://github.com/gravitl/netmaker.git
				synced 2025-10-31 04:06:37 +08:00 
			
		
		
		
	fixed windows, updated wgctrl
This commit is contained in:
		
							
								
								
									
										2
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								go.mod
									
									
									
									
									
								
							| @@ -28,7 +28,7 @@ require ( | |||||||
| 	golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e // indirect | 	golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e // indirect | ||||||
| 	golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect | 	golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect | ||||||
| 	golang.zx2c4.com/wireguard v0.0.0-20210805125648-3957e9b9dd19 // indirect | 	golang.zx2c4.com/wireguard v0.0.0-20210805125648-3957e9b9dd19 // indirect | ||||||
| 	golang.zx2c4.com/wireguard/wgctrl v0.0.0-20210803171230-4253848d036c | 	golang.zx2c4.com/wireguard/wgctrl v0.0.0-20210913210325-91d1988e44de | ||||||
| 	golang.zx2c4.com/wireguard/windows v0.4.5 // indirect | 	golang.zx2c4.com/wireguard/windows v0.4.5 // indirect | ||||||
| 	google.golang.org/genproto v0.0.0-20210201151548-94839c025ad4 // indirect | 	google.golang.org/genproto v0.0.0-20210201151548-94839c025ad4 // indirect | ||||||
| 	google.golang.org/grpc v1.35.0 | 	google.golang.org/grpc v1.35.0 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								go.sum
									
									
									
									
									
								
							| @@ -340,6 +340,8 @@ golang.zx2c4.com/wireguard/wgctrl v0.0.0-20200609130330-bd2cb7843e1b h1:l4mBVCYi | |||||||
| golang.zx2c4.com/wireguard/wgctrl v0.0.0-20200609130330-bd2cb7843e1b/go.mod h1:UdS9frhv65KTfwxME1xE8+rHYoFpbm36gOud1GhBe9c= | golang.zx2c4.com/wireguard/wgctrl v0.0.0-20200609130330-bd2cb7843e1b/go.mod h1:UdS9frhv65KTfwxME1xE8+rHYoFpbm36gOud1GhBe9c= | ||||||
| golang.zx2c4.com/wireguard/wgctrl v0.0.0-20210803171230-4253848d036c h1:ADNrRDI5NR23/TUCnEmlLZLt4u9DnZ2nwRkPrAcFvto= | golang.zx2c4.com/wireguard/wgctrl v0.0.0-20210803171230-4253848d036c h1:ADNrRDI5NR23/TUCnEmlLZLt4u9DnZ2nwRkPrAcFvto= | ||||||
| golang.zx2c4.com/wireguard/wgctrl v0.0.0-20210803171230-4253848d036c/go.mod h1:+1XihzyZUBJcSc5WO9SwNA7v26puQwOEDwanaxfNXPQ= | golang.zx2c4.com/wireguard/wgctrl v0.0.0-20210803171230-4253848d036c/go.mod h1:+1XihzyZUBJcSc5WO9SwNA7v26puQwOEDwanaxfNXPQ= | ||||||
|  | golang.zx2c4.com/wireguard/wgctrl v0.0.0-20210913210325-91d1988e44de h1:M9Jc92kgqmVmidpnOeegP2VgO2DfHEcsUWtWMmBwNFQ= | ||||||
|  | golang.zx2c4.com/wireguard/wgctrl v0.0.0-20210913210325-91d1988e44de/go.mod h1:+1XihzyZUBJcSc5WO9SwNA7v26puQwOEDwanaxfNXPQ= | ||||||
| golang.zx2c4.com/wireguard/windows v0.4.5 h1:btpw+5IM8UrSl5SILCODt1bXTM2qYpcaYArM6wDlwHA= | golang.zx2c4.com/wireguard/windows v0.4.5 h1:btpw+5IM8UrSl5SILCODt1bXTM2qYpcaYArM6wDlwHA= | ||||||
| golang.zx2c4.com/wireguard/windows v0.4.5/go.mod h1:LdS2bRTWu//RpztraGz5ZkPZul60cCbmgtLTPSKrS50= | golang.zx2c4.com/wireguard/windows v0.4.5/go.mod h1:LdS2bRTWu//RpztraGz5ZkPZul60cCbmgtLTPSKrS50= | ||||||
| google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= | google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= | ||||||
|   | |||||||
| @@ -64,7 +64,7 @@ func RunUserspaceDaemon() { | |||||||
| 		if err := CheckIn(cfg); err != nil { | 		if err := CheckIn(cfg); err != nil { | ||||||
| 			// pass | 			// pass | ||||||
| 		} | 		} | ||||||
| 		time.Sleep(30 * time.Second) | 		time.Sleep(15 * time.Second) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -131,15 +131,10 @@ func LeaveNetwork(network string) error { | |||||||
| 	} else { | 	} else { | ||||||
| 		wcclient = nodepb.NewNodeServiceClient(conn) | 		wcclient = nodepb.NewNodeServiceClient(conn) | ||||||
|  |  | ||||||
| 		ctx := context.Background() | 		ctx, err := auth.SetJWT(wcclient, network) | ||||||
| 		ctx, err = auth.SetJWT(wcclient, network) |  | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			log.Printf("Failed to authenticate: %v", err) | 			log.Printf("Failed to authenticate: %v", err) | ||||||
| 		} else { | 		} else { | ||||||
| 			if !ncutils.IsKernel() { |  | ||||||
| 				//wireguard.RemoveConf(node.Interface, true) |  | ||||||
| 				//ncutils.PrintLog("removed network tunnel "+node.Interface, 1) |  | ||||||
| 			} |  | ||||||
| 			node.SetID() | 			node.SetID() | ||||||
| 			var header metadata.MD | 			var header metadata.MD | ||||||
| 			_, err = wcclient.DeleteNode( | 			_, err = wcclient.DeleteNode( | ||||||
|   | |||||||
| @@ -323,7 +323,9 @@ func Copy(src, dst string) (int64, error) { | |||||||
|  |  | ||||||
| func RunCmd(command string, printerr bool) (string, error) { | func RunCmd(command string, printerr bool) (string, error) { | ||||||
| 	args := strings.Fields(command) | 	args := strings.Fields(command) | ||||||
| 	out, err := exec.Command(args[0], args[1:]...).CombinedOutput() | 	cmd := exec.Command(args[0], args[1:]...) | ||||||
|  | 	cmd.Wait() | ||||||
|  | 	out, err := cmd.CombinedOutput() | ||||||
| 	if err != nil && printerr { | 	if err != nil && printerr { | ||||||
| 		log.Println("error running command:", command) | 		log.Println("error running command:", command) | ||||||
| 		log.Println(strings.TrimSuffix(string(out), "\n")) | 		log.Println(strings.TrimSuffix(string(out), "\n")) | ||||||
|   | |||||||
| @@ -9,6 +9,7 @@ import ( | |||||||
| 	"runtime" | 	"runtime" | ||||||
| 	"strconv" | 	"strconv" | ||||||
| 	"strings" | 	"strings" | ||||||
|  | 	"time" | ||||||
|  |  | ||||||
| 	"github.com/gravitl/netmaker/models" | 	"github.com/gravitl/netmaker/models" | ||||||
| 	"github.com/gravitl/netmaker/netclient/config" | 	"github.com/gravitl/netmaker/netclient/config" | ||||||
| @@ -27,6 +28,7 @@ func SetPeers(iface string, keepalive int32, peers []wgtypes.PeerConfig) error { | |||||||
| 		ncutils.PrintLog("failed to start wgctrl", 0) | 		ncutils.PrintLog("failed to start wgctrl", 0) | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	device, err := client.Device(iface) | 	device, err := client.Device(iface) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		ncutils.PrintLog("failed to parse interface", 0) | 		ncutils.PrintLog("failed to parse interface", 0) | ||||||
| @@ -174,7 +176,12 @@ func InitWireguard(node *models.Node, privkey string, peers []wgtypes.PeerConfig | |||||||
| 			return err | 			return err | ||||||
| 		} | 		} | ||||||
| 		// spin up userspace / windows interface + apply the conf file | 		// spin up userspace / windows interface + apply the conf file | ||||||
| 		_ = RemoveConf(ifacename, false) // remove interface first | 		d, _ := wgclient.Device(ifacename) | ||||||
|  | 		for d != nil && d.Name == ifacename { | ||||||
|  | 			_ = RemoveConf(ifacename, false) // remove interface first | ||||||
|  | 			time.Sleep(time.Second >> 2) | ||||||
|  | 			d, _ = wgclient.Device(ifacename) | ||||||
|  | 		} | ||||||
| 		err = ApplyConf(confPath) | 		err = ApplyConf(confPath) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			ncutils.PrintLog("failed to create wireguard interface", 1) | 			ncutils.PrintLog("failed to create wireguard interface", 1) | ||||||
|   | |||||||
| @@ -3,7 +3,7 @@ package wireguard | |||||||
| import "github.com/gravitl/netmaker/netclient/ncutils" | import "github.com/gravitl/netmaker/netclient/ncutils" | ||||||
|  |  | ||||||
| func ApplyWindowsConf(confPath string) error { | func ApplyWindowsConf(confPath string) error { | ||||||
| 	if _, err := ncutils.RunCmd("wireguard.exe /installtunnelservice "+confPath, true); err != nil { | 	if _, err := ncutils.RunCmd("wireguard.exe /installtunnelservice "+confPath, false); err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
| 	return nil | 	return nil | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 0xdcarns
					0xdcarns