31 lines
564 B
Go
31 lines
564 B
Go
package web
|
|
|
|
import (
|
|
"fmt"
|
|
"miniwol/config"
|
|
"miniwol/lib"
|
|
"net/http"
|
|
"strings"
|
|
)
|
|
|
|
func wake(w http.ResponseWriter, r *http.Request) {
|
|
if checkAuthentication(w, r) != nil {
|
|
return
|
|
}
|
|
|
|
for i, device := range config.Config.Device {
|
|
if r.FormValue("alias") == device.Alias && r.FormValue("index") == fmt.Sprint(i) {
|
|
if !strings.Contains(device.IP, ":") {
|
|
device.IP += ":9"
|
|
}
|
|
err := lib.SendPacket(":0", device.IP, device.MAC)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
w.Write([]byte("Successfuly woke up " + device.Alias))
|
|
return
|
|
}
|
|
}
|
|
}
|