{"id":17809742,"url":"https://github.com/zeroxbrock/xfinite","last_synced_at":"2026-01-20T04:32:17.988Z","repository":{"id":72749019,"uuid":"199127923","full_name":"zeroXbrock/xfinite","owner":"zeroXbrock","description":"The easiest and most portable way to bitch at Comcast.","archived":false,"fork":false,"pushed_at":"2019-07-31T11:14:41.000Z","size":39,"stargazers_count":1,"open_issues_count":5,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-13T17:35:20.181Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zeroXbrock.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-27T06:49:18.000Z","updated_at":"2021-01-25T05:12:36.000Z","dependencies_parsed_at":"2023-03-19T11:07:21.986Z","dependency_job_id":null,"html_url":"https://github.com/zeroXbrock/xfinite","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeroXbrock%2Fxfinite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeroXbrock%2Fxfinite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeroXbrock%2Fxfinite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeroXbrock%2Fxfinite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zeroXbrock","download_url":"https://codeload.github.com/zeroXbrock/xfinite/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247675609,"owners_count":20977378,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-27T15:21:36.607Z","updated_at":"2026-01-20T04:32:17.982Z","avatar_url":"https://github.com/zeroXbrock.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# xfinite\n\nThis 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).\n\n## Get Started\n\n1. Make a .env file.\n```sh\ncp src/.env.example src/.env\n```\n\n2. Create a Twitter App and replace variables in `.env` with your own keys from Twitter.\n\n### Run script once\nInstall dependencies and run...\n```sh\ncd src/\n./start.sh\n./run.sh\n```\n\n### Or... Run xfinite Daemon\nTo run a daemonized version that reports every half hour, [install docker](https://www.google.com/search?q=install+docker\u0026rlz=1C5CHFA_enUS754US754\u0026oq=install+docker), and run:\n```sh\n# assuming docker is installed and you're in the project root\n\n# required: build daemon image\n./build-daemon.sh\n\n# option 1: run in background\n./run-daemon.sh\n\n# to stop daemon (background only):\n./stop-daemon.sh\n\n# OR...\n\n# option 2: run in foreground (good for debugging; automatically stops on CTRL-C)\n./run-daemon.sh -f\n```\n\n## Edit crontab\nThe 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. \n\nRemember to re-run `./build-daemon.sh` after changing the crontab file.\n\n## Closing remarks\nIf 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.\n\n## Upcoming Changes\n\n* ✅ Daemonize (post every hour|day|week|...)\n* Thresholds (don't tweet if within X% of advertised speed)\n* Choose arguments (up \u0026 down only, etc.)\n* Determine YOUR provider and tweet @ appropriately\n* ✅ Post speedtest image w/ tweet\n* Provide server-side reporting on clients' behalf (so n00bs can use it)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeroxbrock%2Fxfinite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzeroxbrock%2Fxfinite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeroxbrock%2Fxfinite/lists"}