{"id":27224878,"url":"https://github.com/frankray78/speedtestconsole","last_synced_at":"2025-04-10T10:35:13.597Z","repository":{"id":271233296,"uuid":"900940691","full_name":"FrankRay78/SpeedTestConsole","owner":"FrankRay78","description":"An internet speed test CLI application; made beautiful with Specte.Console.","archived":false,"fork":false,"pushed_at":"2025-03-09T16:50:10.000Z","size":118,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-09T17:27:46.483Z","etag":null,"topics":["cli","dotnet","dotnet-library","library","speedtest","speedtest-cli"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FrankRay78.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-12-09T18:47:17.000Z","updated_at":"2025-03-09T16:50:09.000Z","dependencies_parsed_at":"2025-02-01T21:18:44.946Z","dependency_job_id":"d3e96337-3a03-4310-aceb-761738c1179d","html_url":"https://github.com/FrankRay78/SpeedTestConsole","commit_stats":null,"previous_names":["frankray78/speedtestconsole"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FrankRay78%2FSpeedTestConsole","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FrankRay78%2FSpeedTestConsole/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FrankRay78%2FSpeedTestConsole/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FrankRay78%2FSpeedTestConsole/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FrankRay78","download_url":"https://codeload.github.com/FrankRay78/SpeedTestConsole/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248199247,"owners_count":21063641,"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":["cli","dotnet","dotnet-library","library","speedtest","speedtest-cli"],"created_at":"2025-04-10T10:35:12.988Z","updated_at":"2025-04-10T10:35:13.584Z","avatar_url":"https://github.com/FrankRay78.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SpeedTestConsole\nAn internet speed test CLI application; made beautiful with [Spectre.Console](https://github.com/spectreconsole/spectre.console). \n\n\u003cp align=\"left\"\u003e\n    \u003ca href=\"https://github.com/FrankRay78/SpeedTestConsole/issues/new?labels=needs%20triage,bug\u0026template=bug-report---.md\"\u003eReport Bug\u003c/a\u003e\n    -\n    \u003ca href=\"https://github.com/FrankRay78/SpeedTestConsole/issues/new?labels=needs%20triage,enhancement\u0026template=feature-request---.md\"\u003eRequest Feature\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cbr /\u003e\n\n\n## About The Project\nA cross-platform command-line application for performing network speed tests, including server discovery, latency measurement, download and upload speed testing. \nThe core speed test library has also been designed for reuse in other projects and applications.\n\nSpeedTestConsole is not endorsed by or related to [Speedtest by Ookla](https://www.speedtest.net/) in any way, although their servers are used under the hood.\n\nThe obligatory screenshot (as of 6 March 2025):\n\n![2025-03-25 SpeedTestConsole](https://github.com/user-attachments/assets/b2df7f36-f620-4683-88ad-81b913b24070)\n\n\u003cbr /\u003e\n\n\n## Background\nThe idea for this project came from my experience as the Spectre.Console CLI sub-system maintainer, whilst never having used the library for my own production quality application. My motivation is to become expert at developing excellent command line applications, following best practices like the [Command Line Interface Guidelines](https://clig.dev/), and then taking the experience back into my maintainer role. \n\nThis is also known as 'dogfooding' in the tech industry ie. using your own product before expecting others to do the same.\n\n\u003cbr /\u003e\n\n\n## Getting Started\nI use Windows 10, Visual Studio 2022 Community, and Microsoft .Net 8.0 to develop and build the codebase - you will need the same, or similar.\n\nThen clone this repository locally and build.\n\n\u003cbr /\u003e\n\n\n## Usage\n`SpeedTestConsole --help` will display detailed usage instructions.\n\n```txt\nC:\\\u003eSpeedTestConsole.exe --help\n\n   _____                            __  ______                 __    ______                                  __\n  / ___/    ____   ___   ___   ____/ / /_  __/  ___    _____  / /_  / ____/  ____    ____    _____  ____    / /  ___\n  \\__ \\    / __ \\ / _ \\ / _ \\ / __  /   / /    / _ \\  / ___/ / __/ / /      / __ \\  / __ \\  / ___/ / __ \\  / /  / _ \\\n ___/ /   / /_/ //  __//  __// /_/ /   / /    /  __/ (__  ) / /_  / /___   / /_/ / / / / / (__  ) / /_/ / / /  /  __/\n/____/   / .___/ \\___/ \\___/ \\__,_/   /_/     \\___/ /____/  \\__/  \\____/   \\____/ /_/ /_/ /____/  \\____/ /_/   \\___/\n        /_/\n\nDESCRIPTION:\nInternet speed tester including server discovery, latency measurement, download and upload speed testing.\n\nUSAGE:\n    SpeedTestConsole [OPTIONS] [COMMAND]\n\nOPTIONS:\n                           DEFAULT\n    -h, --help                              Prints help information.\n        --csv                               Display minimal output in CSV format (always includes timestamp).\n        --csv-delimiter    ,                Single character delimiter to use in CSV output.\n        --no-download                       Do not perform download test.\n        --no-upload                         Do not perform upload test.\n    -t, --timestamp                         Include a timestamp.\n    -u, --unit             BitsPerSecond    The speed unit. \u003cBitsPerSecond, BytesPerSecond\u003e\n        --unit-system      SI               The speed unit system. \u003cSI, IEC\u003e\n                                            SI steps up in powers of 1000 (KB, MB, GB), common in networking, while IEC\n                                            uses powers of 1024 (KiB, MiB, GiB), standard in computing and storage.\n        --verbosity        Normal           The verbosity level. \u003cMinimal, Normal, Debug\u003e\n                                            Minimal is ideal for batch scripts and redirected output.\n\nCOMMANDS:\n    servers    Show the nearest speed test servers.\n```\n\n\u003cbr /\u003e\n\n\n## Roadmap\n- [X] Download speed test\n- [X] Upload speed test\n- [ ] User-configurable switches\n   - [X] BitsPerSecond or BytesPerSecond\n   - [X] SI or IEC\n   - [ ] Fixed speed unit (eg. Mbps, Gbps)\n   - [X] Verbosity of output\n   - [X] ~~`--plain` switch for minimal output~~ (nb. implemented by verbosity switch)\n   - [X] CSV output\n   - [ ] Maximum speed test (time)\n   - [ ] Maximum speed test (size transferred)\n- [ ] Periodically repeat tests\n- [ ] Run unit tests on PR\n- [ ] NuGet package for the core library\n\nSee the [open issues](https://github.com/FrankRay78/SpeedTestConsole/issues) for a full list of proposed features (and known issues).\n\n\u003cbr /\u003e\n\n\n##  Contributing\n\u003e [!IMPORTANT]\\\n\u003e I'm not currently accepting pull requests for this project. \n\nYou can contribute by [opening a new issue](https://github.com/FrankRay78/SpeedTestConsole/issues/new/choose) or commenting on existing issues, and you are most welcome to fork the repository for your own purposes. \n\nBut please **don't be offended** if I close or delete issues as I see fit.\n\n\u003cbr /\u003e\n\n\n## License\nDistributed under the MIT license. See `LICENSE` for more information.\n\n\u003cbr /\u003e\n\n\n## Contact\nFrank Ray - [LinkedIn](https://www.linkedin.com/in/frankray/) - [Better Software UK](https://bettersoftware.uk)\n\nProject Link: [https://github.com/FrankRay78/SpeedTestConsole](https://github.com/FrankRay78/SpeedTestConsole)\n\n\u003cbr /\u003e\n\n\n## Acknowledgments\n* [Spectre.Console](https://github.com/spectreconsole/spectre.console)\n* [SpeedTestSharp](https://github.com/manuelmayer-dev/SpeedTestSharp)\n* [Best-README-Template](https://github.com/othneildrew/Best-README-Template)\n* [Standard Readme](https://github.com/RichardLitt/standard-readme)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrankray78%2Fspeedtestconsole","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrankray78%2Fspeedtestconsole","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrankray78%2Fspeedtestconsole/lists"}