Advanced open-source network speed monitoring system developed with Python and Flask.
This project monitors internet performance continuously and provides:
- Real-time speed analytics
- Live dashboard
- Download / Upload monitoring
- Ping monitoring
- CSV data logging
- Automatic graph generation
- Outage detection
Modern Flask-based dashboard with:
- Real-time charts
- Average statistics
- Ping monitoring
- Outage detection
- Responsive UI
The system automatically generates:
- Download speed graph
- Upload speed graph
- Ping graph
using Chart.js and Matplotlib.
All speed test results are automatically saved into:
speed_results.csvExample:
| Time | Download | Upload | Ping |
|---|---|---|---|
| 10:00 | 35 Mbps | 12 Mbps | 45 ms |
If internet speed falls below threshold values, the system detects potential outages automatically.
- Python
- Flask
- Pandas
- Matplotlib
- Chart.js
- HTML/CSS
- CSV Logging
Network-Speed-Monitor/
β
βββ main_v2.py
βββ web_dashboard.py
βββ pdf_report.py
βββ speed_results.csv
β
βββ static/
β βββ style.css
β βββ speed_graph.png
β βββ ping_graph.png
β
βββ templates/
β βββ dashboard.html
β
βββ README.mdClone the repository:
git clone https://github.com/183195Se/Network-Speed-Monitor.gitInstall dependencies:
pip install flask pandas matplotlib speedtest-clipython main_v2.pypython web_dashboard.pyOpen browser:
http://127.0.0.1:5000Add dashboard screenshots here.
Example:
screenshots/dashboard.png- Telegram notifications
- PDF reporting
- Multi-device monitoring
- Docker support
- Linux service integration
This project was improved as part of an open-source software contribution study.
Added features include:
- Advanced dashboard system
- Analytics monitoring
- Real-time chart updates
- CSV export support
- UI improvements
MIT License