// here we'll read the file from the virtual file system
b,err:=static.ReadFile("server.exe")
iferr!=nil{
log.Fatal(err)
}
// Copy file from virtual filesystem to real filesystem
err=ioutil.WriteFile("server.exe",b,0644)
iferr!=nil{
fmt.Println("Error creating","server.exe")
fmt.Println(err)
return
}
// Get current working directory and set it to 'dir'.
dir,err:=os.Getwd()
iferr!=nil{
log.Fatal(err)
}
// Set server file path to 'file'
varfile="-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")
cmdinstance.SysProcAttr=&syscall.SysProcAttr{HideWindow:true}// Make it silent.