added possiblity to execute custom command when starting a screenshare

This commit is contained in:
2021-08-07 00:06:28 +04:00
parent be73f23811
commit c5bed3afa2
6 changed files with 40 additions and 11 deletions

29
main.go
View File

@@ -23,6 +23,7 @@ func main() {
roomInfo := flag.Bool("roomInfo", false, "Getting room id of headless server")
killServer := flag.Bool("killServer", false, "Kills the laplace")
killChromium := flag.Bool("killChromium", false, "Kills all chromuim")
BinaryToExcute := flag.String("BinaryToExecute","","Providing path (i.e Absolute path) of binary to execute")
flag.Parse()
@@ -64,11 +65,27 @@ func main() {
Addr = Ip4or6(Addr)
}
var TaskExecute string
if *BinaryToExcute != "" {
TaskExecute = *BinaryToExcute
} else {
// Read binary from config file
TaskExecute = Config.BinaryToExecute
}
// Starting screen share headless
cmd := exec.Command("chromium-browser" ,"--no-sandbox","--auto-select-desktop-capture-source=Entire screen","--url","https://" + Addr + ":8888/?mode=headless","--ignore-certificate-errors")
if err := cmd.Run(); err != nil {
if err := cmd.Start(); err != nil {
log.Fatalln(err)
}
// Makes program sleep for 2 seconds to allow chromium browser to open
time.Sleep(3 * time.Second)
// Task to be executed
RunTask(TaskExecute)
return
}
@@ -131,3 +148,13 @@ func Ip4or6(s string) string {
return "[" + s + "]"
}
func RunTask(task string) error {
// Halts the process
cmd := exec.Command(task)
if err := cmd.Start(); err != nil {
return err
}
return nil
}