CLI Tools

Automate WakeLink with the Python CLI, local device registry, account subcommands, and EWSP-encrypted operational commands.

💡Tip

What you'll learn: install the CLI, register local or cloud agents, run wake and status commands, and authenticate account subcommands with environment variables.

Install

1Install the package

bash
pipx install wakelink-cli
# or
pip install wakelink-cli

2Install from source if needed

bash
git clone https://github.com/wakelink/wakelink-cli.git
cd wakelink-cli
pip install -e .
pip install -e ../ewsp/bindings/python

Registry

The CLI stores known agents in devices.json. It reads the current directory first, then ~/.wakelink/devices.json.

bash
# Local TCP agent
wakelink add desk --ip 192.168.1.50 --token "$AGENT_TOKEN"

# Cloud relay entry
wakelink register esp32-cloud --token "$AGENT_TOKEN" --mode cloud --api-url https://wakelink-project.org/api/v1

# Inspect or remove entries
wakelink list
wakelink remove desk

Operations

CommandPurpose
wakelink ping <device>
Round-trip check against the agent
wakelink info <device>
Return firmware, uptime, and network details
wakelink capabilities <device>
Show advertised agent capabilities
wakelink wake <device> <mac>
Send a Wake-on-LAN packet through the selected agent
wakelink reboot <device>
Restart the agent
wakelink ota <device> <url>
Trigger an OTA update from a hosted binary
bash
wakelink ping desk
wakelink info desk
wakelink capabilities desk
wakelink wake desk AA:BB:CC:DD:EE:FF
wakelink ota desk https://wakelink-project.org/downloads/wakelink-esp32.bin --sha256 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef

Account Commands

The account group talks to the relay REST API and can use explicit options or matching environment variables.

bash
export WAKELINK_SERVER=https://wakelink-project.org
export WAKELINK_TOKEN=wl_xxxxxxxxxxxxxxxxxxxx

wakelink account info
wakelink account telegram-link
wakelink account telegram-unlink

Environment Variables

VariablePurpose
WAKELINK_SERVER
Relay base URL for `wakelink account ...` commands
WAKELINK_TOKEN
WakeLink API token used by `wakelink account ...` commands

Continue reading