Skip to main content

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

  1. Connects with fritzconnection (use_tls=True for myFritz).
  2. Reads the host list via the Hosts TR-064 service (get_hosts_info).
  3. Sends X_AVM-DE_WakeOnLANByMACAddress for the chosen device's MAC.

A woken device may take a moment to appear as online.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fritzwol-0.1.0.tar.gz (23.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fritzwol-0.1.0-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

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

Hashes for fritzwol-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f17abacc8c41f259f4318939f660096f906946651d9519e3d5466426fe489247
MD5 078a6b4ceff41aba8263d4d15f4e4dd3
BLAKE2b-256 211a81842d7dd3c75b5d382715c70b13ee6d5775c4339352b9fcbb1bb1b84b29

See more details on using hashes here.

Provenance

The following attestation bundles were made for fritzwol-0.1.0.tar.gz:

Publisher: release.yml on jesperschlegel/fritzWOL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for fritzwol-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 93b55e8dcbabfb47c60bf937c3be87ae0b639243db73295e11dc4cef7b17225a
MD5 7bbea1a39fd45f7a666b39434bb3a4d5
BLAKE2b-256 d01b7d07b546b3a999b62a5a9a9b18a7516d910f0516a7625d08b4455668d206

See more details on using hashes here.

Provenance

The following attestation bundles were made for fritzwol-0.1.0-py3-none-any.whl:

Publisher: release.yml on jesperschlegel/fritzWOL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page