https://github.com/zeroxbrock/xfinite
The easiest and most portable way to bitch at Comcast.
https://github.com/zeroxbrock/xfinite
Last synced: 6 months ago
JSON representation
The easiest and most portable way to bitch at Comcast.
- Host: GitHub
- URL: https://github.com/zeroxbrock/xfinite
- Owner: zeroXbrock
- Created: 2019-07-27T06:49:18.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2019-07-31T11:14:41.000Z (almost 7 years ago)
- Last Synced: 2025-02-13T17:35:20.181Z (over 1 year ago)
- Language: Python
- Homepage:
- Size: 38.1 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# xfinite
This thing does a speed test and tweets the result @Comcast. To use it, you'll need to make a Twitter app and get your own access keys. See [Twitter Developers](https://developer.twitter.com/en/docs/basics/apps/overview.html).
## Get Started
1. Make a .env file.
```sh
cp src/.env.example src/.env
```
2. Create a Twitter App and replace variables in `.env` with your own keys from Twitter.
### Run script once
Install dependencies and run...
```sh
cd src/
./start.sh
./run.sh
```
### Or... Run xfinite Daemon
To run a daemonized version that reports every half hour, [install docker](https://www.google.com/search?q=install+docker&rlz=1C5CHFA_enUS754US754&oq=install+docker), and run:
```sh
# assuming docker is installed and you're in the project root
# required: build daemon image
./build-daemon.sh
# option 1: run in background
./run-daemon.sh
# to stop daemon (background only):
./stop-daemon.sh
# OR...
# option 2: run in foreground (good for debugging; automatically stops on CTRL-C)
./run-daemon.sh -f
```
## Edit crontab
The crontab file (which dictates the schedule for xfinite to run) is here: `cron/xfinite-cron`. Feel free to change it as you see fit. I use [crontab.guru](https://crontab.guru/) to check my cron expressions.
Remember to re-run `./build-daemon.sh` after changing the crontab file.
## Closing remarks
If you're actually going to run this, don't be a dick. Run it from a computer with a dedicated line to your router/modem because WiFi *does* slow it down.
## Upcoming Changes
* ✅ Daemonize (post every hour|day|week|...)
* Thresholds (don't tweet if within X% of advertised speed)
* Choose arguments (up & down only, etc.)
* Determine YOUR provider and tweet @ appropriately
* ✅ Post speedtest image w/ tweet
* Provide server-side reporting on clients' behalf (so n00bs can use it)