https://github.com/gcclinux/broadband
https://github.com/gcclinux/broadband
Last synced: 12 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/gcclinux/broadband
- Owner: gcclinux
- Created: 2024-05-03T08:08:55.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-03T12:37:19.000Z (almost 2 years ago)
- Last Synced: 2025-01-22T23:44:16.016Z (about 1 year ago)
- Language: Go
- Size: 4.88 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Broadband (go)
----------------------------------------------------------------
#### The go Broadband app / code was writen to satisfy my own requirements to monitor my internet speed regularly
You can run this app/code as is and it will return the output on the screen or you have an option to store the data into a PostgreSQL database, with minor changes you can use other DBs like MySQL & SQLite but I have only included a config and tested on PostgreSQL
Output Example:
```
WanIP: 123.123.123.123, Latency: 0.013298, Download: 22.330900, Upload: 6.632200, (Manchester (United Kingdom) by Vodafone UK)
```
PostgreSQL Table:
```
CREATE TABLE IF NOT EXISTS public.broadband
(
id SERIAL PRIMARY KEY,
created timestamp without time zone NOT NULL DEFAULT now(),
address character varying(32),
latency DOUBLE PRECISION,
downloadspeed DOUBLE PRECISION,
uploadspeed DOUBLE PRECISION,
isp character varying(256)
)
```
To be able to store the data into your database you will need to create the above tables, add the details in the config and set SaveToDB to true!
Config Example:
```
{
"DB_HOST": [""],
"DB_PORT": [""],
"DB_USER": [""],
"DB_PASS": [""],
"DB_NAME": [""],
"TB_NAME": [""],
"Verbose": [true],
"SaveToDB": [false]
}
```
You can run by downloading the source code and execute the ```$./run.sh``` script you can also run it like this ```$ go run main.go``` or you can compile the source code into a binary like this ``` $ go build -o broadband-$(uname)-$(uname -m) *.go```
INFO: Rename / copy the ```conf-template.json``` into ```conf.json``` in the same folder.
In the future I may add to run this as a service, add a graphic representation of the collected data, but this is just an initial idea for my current requirements.