Go wol - tool on GO to connect desktops via Wake-On-Lan

How can I develop a tool on GO to connect desktops via Wake-On-Lan?

Expected features:

  • Application via the web, without the need for login and password (we will control access via IPs without reverse proxy of our infrastructure)
  • Desktop list application
  • Next to each workspace, information if it is enabled or disabled
  • Button to turn on the desktop

Details:

  • To list the desktops, we can have a settings file with the name of the desktop and the MAC that has WoL configured.
  • To check if the desktop is turned on, we can study the use of “pings” via MAC (example of tool in Linux: arping).
  • To connect the desktop, we can use a library that issues WoL packages or even call external commands that we already use manually.
  • let’s use go modules and not gopath.