This repository contains a Go application that periodically tests internet speed and latency, stores the results in a database, and generates graphs to visualize performance over time.
.vscode | ||
database | ||
flag | ||
js | ||
models | ||
routes | ||
view | ||
.gitignore | ||
.prettierrc | ||
go.mod | ||
go.sum | ||
LICENSE | ||
main.go | ||
Makefile | ||
package-lock.json | ||
package.json | ||
README.md | ||
tailwind.config.js |
Internet Speed tester
This project provides a comprehensive internet speed monitoring solution by:
- Testing: Regularly measures download speed, upload speed, latency (ping), and packet loss using the speedtest-go library.
- Data Storage: Saves the collected data in a chosen database for historical analysis.
- Visualization: Generates graphs to visualize the internet performance over time, allowing you to identify periods of slowdowns or instability.
- Web Interface: Integrates with a web interface to display the generated graphs in a browser for easy access and monitoring.
Why
Internet speed monitoring is crucial for:
- Identifying service quality issues with your ISP
- Detecting patterns in connection degradation
- Having historical data to support ISP complaints
- Understanding peak usage times and their impact
- Ensuring you get the internet speeds you're paying for
- Meeting German legal requirements for ISP complaints, which require documented proof of persistent connection issues
Usage
- Go to the releases tab
- download the latest version
- execute the binary
- wait for data (like 5min)
- open http://localhost:7331 to view graphs
Contributing
We welcome contributions from the community! If you find any issues or have improvements to suggest, feel free to open an issue.
To get started with development or contribute to the project, follow these steps:
-
Clone the Repository:
httpsgit clone https://gitea.zokki.net/zokki/speed-tester.git
sshgit clone gitea@zokki.net:zokki/speed-tester.git
-
Install Dependencies:
cd speed-tester go mod download
-
Run the Development Server:
make live
This will start a local development server. Open your browser and navigate to http://localhost:7331 to view the website.
License
AGPL-3.0 © Tim-Niclas Oelschläger