List FritzBox network devices and wake one with Wake-on-LAN.
Project description
fritzWOL
A small text-based tool that connects to a FRITZ!Box — on your local network or remotely through myFritz — lists the devices on your network and lets you pick one to turn on via Wake-on-LAN.
It talks to the router over AVM's TR-064 interface using
fritzconnection.
Requirements
- uv
- A FRITZ!Box user with the "FRITZ!Box Settings" permission.
- The target device must support Wake-on-LAN and have it enabled in its
own network adapter / BIOS-UEFI settings, and be known to the FritzBox
(it appears under
Home Network > Network). - For remote access: an active myFritz account and enabled internet access
(
Internet > MyFRITZ! Account).
The per-device "Auto Wake" option ("Automatically wake up ... when it is accessed from the internet") is not required. That setting only triggers a wake automatically on inbound internet traffic; this tool instead sends a wake packet on demand via the same mechanism as the device's "Start Computer" button (
X_AVM-DE_WakeOnLANByMACAddress).
Install
Install it as a command you can run from anywhere:
uv tool install . # or: pipx install .
This puts a fritzwol command on your PATH. To install straight from GitHub
without cloning first:
uv tool install git+https://github.com/jesperschlegel/fritzWOL.git
For local development instead of a global install:
uv sync
uv run fritzwol # or: uv run fritzwol.py
Usage
Interactive (you will be prompted for anything not supplied):
fritzwol
Remote access through myFritz (TLS on, port 49443 are the defaults):
fritzwol --address xxxxxxxxxxxxxxxx.myfritz.net --user myuser
The TR-064 interface uses port 49443 over TLS (not the myFritz web-UI port 443). This is the default, so you normally don't need
--port.
Local access on your home network:
fritzwol --address fritz.box --no-tls --user myuser
Just list devices without waking anything:
fritzwol --list
Show only offline devices (the usual wake candidates):
fritzwol --offline-only
Wake a specific MAC address directly (no menu):
fritzwol --mac 00:11:22:33:44:55
Configuration via environment variables
Instead of flags you can set:
| Variable | Meaning |
|---|---|
FRITZ_ADDRESS |
FritzBox address or myfritz hostname |
FRITZ_PORT |
TR-064 port (default 49443 TLS / 49000 not) |
FRITZ_USER |
FritzBox user name |
FRITZ_PASSWORD |
FritzBox password |
FRITZ_TLS |
true/false — use TLS (default true) |
The password is prompted for securely if it is not provided.
How it works
- Connects with
fritzconnection(use_tls=Truefor myFritz). - Reads the host list via the
HostsTR-064 service (get_hosts_info). - Sends
X_AVM-DE_WakeOnLANByMACAddressfor the chosen device's MAC.
A woken device may take a moment to appear as online.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fritzwol-0.1.0.tar.gz.
File metadata
- Download URL: fritzwol-0.1.0.tar.gz
- Upload date:
- Size: 23.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f17abacc8c41f259f4318939f660096f906946651d9519e3d5466426fe489247
|
|
| MD5 |
078a6b4ceff41aba8263d4d15f4e4dd3
|
|
| BLAKE2b-256 |
211a81842d7dd3c75b5d382715c70b13ee6d5775c4339352b9fcbb1bb1b84b29
|
Provenance
The following attestation bundles were made for fritzwol-0.1.0.tar.gz:
Publisher:
release.yml on jesperschlegel/fritzWOL
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fritzwol-0.1.0.tar.gz -
Subject digest:
f17abacc8c41f259f4318939f660096f906946651d9519e3d5466426fe489247 - Sigstore transparency entry: 2068780444
- Sigstore integration time:
-
Permalink:
jesperschlegel/fritzWOL@bc90aa58127acc7def709e05ca7f66556ace911f -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/jesperschlegel
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@bc90aa58127acc7def709e05ca7f66556ace911f -
Trigger Event:
release
-
Statement type:
File details
Details for the file fritzwol-0.1.0-py3-none-any.whl.
File metadata
- Download URL: fritzwol-0.1.0-py3-none-any.whl
- Upload date:
- Size: 6.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
93b55e8dcbabfb47c60bf937c3be87ae0b639243db73295e11dc4cef7b17225a
|
|
| MD5 |
7bbea1a39fd45f7a666b39434bb3a4d5
|
|
| BLAKE2b-256 |
d01b7d07b546b3a999b62a5a9a9b18a7516d910f0516a7625d08b4455668d206
|
Provenance
The following attestation bundles were made for fritzwol-0.1.0-py3-none-any.whl:
Publisher:
release.yml on jesperschlegel/fritzWOL
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fritzwol-0.1.0-py3-none-any.whl -
Subject digest:
93b55e8dcbabfb47c60bf937c3be87ae0b639243db73295e11dc4cef7b17225a - Sigstore transparency entry: 2068780604
- Sigstore integration time:
-
Permalink:
jesperschlegel/fritzWOL@bc90aa58127acc7def709e05ca7f66556ace911f -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/jesperschlegel
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@bc90aa58127acc7def709e05ca7f66556ace911f -
Trigger Event:
release
-
Statement type: