A Python tool to remotely wake up devices on your network using your AVM FRITZ!Box router's web interface.
- Python 3.1+
- AVM FRITZ!Box Router (tested with FRITZ!OS 7.x and 8.x)
- Required Python packages:
requests- HTTP librarylxml- XML processingpackaging- Version comparison
git clone https://github.com/Victini378/fritzbox-wol.git
cd fritzbox-wolpip install -r requirements.txtCreate a wakeup.json configuration file in the project directory:
{
"host": "your_hostname_or_ip",
"port": 443,
"username": "your_fritzbox_username",
"password": "your_fritzbox_password",
"devices": {
"default": "AA:BB:CC:DD:EE:FF",
"desktop": "11:22:33:44:55:66",
"server": "AA:11:BB:22:CC:33",
"laptop": "DD:EE:FF:00:11:22",
"nas": "99:88:77:66:55:44"
}
}| Option | Type | Required | Description |
|---|---|---|---|
host |
string | ✅ Yes | FRITZ!Box hostname or IP address |
port |
integer | ✅ Yes | HTTPS port (usually 443) |
username |
string | ✅ Yes | FRITZ!Box admin username |
password |
string | ❌ No | Password (will prompt if not provided) |
devices |
object | ✅ Yes | Device name to MAC address mapping |
💡 Tip: For security, omit the
passwordfield to be prompted at runtime!
# Wake up a device
python wakeup.py desktoppython wakeup.py laptop --config /path/to/custom.jsonpython wakeup.py desktop --ssl-no-verify
⚠️ Warning: Only use--ssl-no-verifyfor testing! It's not secure for production.
This project was inspired by n0rc.
This project is licensed under the MIT License - see the LICENSE file for details.