Skip to content

A status page for AVM FRITZ!Box routers to easily check internet speed and availability

Notifications You must be signed in to change notification settings

maze404/fritzbox-status-page

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FRITZ!Box Status Page

A status page for AVM FRITZ!Box routers to easily check internet speed and availability

Overview Settings

CAUTION: BETA! You've been warned (works pretty well though)

Requirements:

Docker compose file:

services:
  fritzbox-status-page:
    image: ghcr.io/maze404/fritzbox-status-page:main
    container_name: fritzbox-status-page
    ports:
      - "8000:8080"
    volumes:
      - /YOUR/CUSTOM/PATH/config:/app/config #Optional, but will make the settings persistent
      - /YOUR/CUSTOM/PATH/log:/app/log #Optional, except if you want to have a look at the logs
    restart: unless-stopped

Docker run command:

docker run -d --name fritzbox-status-page -p 8000:8080 -v /YOUR/CUSTOM/PATH/config:/app/config -v /YOUR/CUSTOM/PATH/log:/app/log ghcr.io/maze404/fritzbox-status-page:main 

Run without Docker:

(Seriously why would you do that...)

  1. Download this repository
  2. Make sure you have Python 3.12.8 installed
  3. Upack the downloaded .zip folder and navigate into that folder using the commandline
  4. Install Python 3.12.8 (https://www.python.org/downloads/release/python-3128/)
  5. Run python -m venv .venv
  6. Run .\.venv\Scripts\Activate.ps1 in Windows, or source .venv/bin/activate in MacOS/Linux/Android/Amazon Fire TV Stick/etc.
  7. Run pip install -r requirements.txt
  8. Run python3 bin/main.py

This is highly unrecommended except you want to participate in developing this!

ToDo's:

  • Show if the router is currently connnected to the internet
  • Show upload and download speed
  • Show if DNS is working
  • Settings page for entering router IP and user credentials, DNS domain to check against, etc.
  • Implement a refresh interval that can be customized
  • Move settings to its own page instead of the overview page
  • Create docker build for this program
  • Toggle darkmode on/off
  • After setup, make top left logo redirect to router webinterface
  • Refine the UI for light/darkmode usage and readability
  • Show Diagrams for keeping track of the upload and download speeds (Idea taken from https://github.com/alexjustesen/speedtest-tracker )
  • Show router log messages on extra page
  • Add a button to restart the router if needed
    • Add an option to restart the router as soon as it looses internet connection
  • Add a button to enable or disable the router's wifi

I'm sorry if the code is messy, this is my first project in python and i have little to no clue about object orientation :)

If you have any more ideas, feel free to contribute to the project or send me a message!

If you're someone who works at AVM: Hi! I love your routers!