diff --git a/All/setup.go b/All/setup.go index c4bd56e..a42a37d 100644 --- a/All/setup.go +++ b/All/setup.go @@ -44,8 +44,8 @@ func main() { // Set server file path to 'file' var file = "-Program '" + dir + "\\server.exe'" - //Create firewall rule - cmdinstance := exec.Command("powershell.exe", "-WindowStyle", "Hidden", "-Command", "New-NetFirewallRule", "-DisplayName", "'Go Web Server'", "-Direction", "Inbound", file, "-Action", "Allow") + //Create firewall rule if no firewall rule exists. + cmdinstance := exec.Command("powershell.exe", "-WindowStyle", "Hidden", "-Command", "$r", "=", "Get-NetFirewallRule", "-DisplayName", "'Go Web Server'", "2>", "$null;", "if", "($r)", "{write-host 'found rule';}", "else", "{New-NetFirewallRule", "-DisplayName", "'Go Web Server'", "-Direction", "Inbound", file, "-Action", "Allow}") cmdinstance.SysProcAttr = &syscall.SysProcAttr{HideWindow: true} // Make it silent. cmdinstance2 := exec.Command("cmd", "/C", "start", "http://localhost:8100") cmdinstance2.SysProcAttr = &syscall.SysProcAttr{HideWindow: true} // Make it silent.