Skip to content

Latest commit

 

History

History
92 lines (61 loc) · 2.57 KB

README.md

File metadata and controls

92 lines (61 loc) · 2.57 KB

Wake-On-Lan-Python

wol.py is A small Python 3 script to allow the sending of a WOL Magic packet so that LAN clients can be remotely switched on from another machine on the same subnet. Rather than needing to know the MAC address of the desired machine, the script allows you to specify by hostname, so long as that host is included in the configuration file.

For a quick and lazy way to create the configuration file, see The Wake On Lan section of my router build documentation, or run the command without arguments to create a default config file in ~/.config/bentasker.Wake-On-Lan-Python/wol_config.ini

This is based on a recipe from http://code.activestate.com/recipes/358449-wake-on-lan/ which was then ameded to use a config file and hostnames.

Usage

wol.py [-p] [hostname|list]

-p            Prompt for input before exiting
list          List configured hosts
[hostname]    hostname to wake (as listed in list)

or

wol.py list

Usage: Docker

It is also possible to run the utility with Docker, however there is a small additional configuration step required the first time that it's run

Run list:

docker run \
--rm \
-v ~/.config/bentasker.Wake-On-Lan-Python/:/wol_config \
bentasker12/wake-on-lan-python list

Edit the generated configuration file

vi ~/.config/bentasker.Wake-On-Lan-Python/wol_config.ini

You will find that the broadcast address is for the wrong network, replace this with the correct prefix

[General]
broadcast = 172.0.1.255

becomes

[General]
broadcast = 192.168.1.255

Subsequent runs should then run as desired

docker run \
--rm \
-v ~/.config/bentasker.Wake-On-Lan-Python/:/wol_config \
bentasker12/wake-on-lan-python myPC

Configuration File

The configuration file is just a basic INI file, containing one section per host;

By default, the configuration file is located at ~/.config/bentasker.Wake-On-Lan-Python/wol_config.ini

The location can be overridden via environment variable WOL_CONFIG_DIR:

export WOL_CONFIG_DIR="/some/path/wol_config

If it does not exist, it will be created and wol_config.ini created within it.

The following is an example of hosts save in wol_config.ini

[General]
broadcast=192.168.1.255

[MyPc]
mac=00:13:0d:e4:60:61

License

Copyright (c) Fadly Tabrani, B Tasker, released under PSF v2, see LICENSE