https://github.com/mcbobke/PSSpeedTest
A module for testing network bandwidth over the internet as well as private networks.
https://github.com/mcbobke/PSSpeedTest
Last synced: 4 months ago
JSON representation
A module for testing network bandwidth over the internet as well as private networks.
- Host: GitHub
- URL: https://github.com/mcbobke/PSSpeedTest
- Owner: mcbobke
- License: bsd-3-clause
- Created: 2018-05-29T18:07:58.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2019-07-27T03:46:43.000Z (over 5 years ago)
- Last Synced: 2024-08-13T07:05:08.805Z (8 months ago)
- Language: PowerShell
- Size: 179 KB
- Stars: 13
- Watchers: 2
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- jimsghstars - mcbobke/PSSpeedTest - A module for testing network bandwidth over the internet as well as private networks. (PowerShell)
README
# PSSpeedTest
A module for testing network bandwidth over the internet as well as private networks.
Author: Matthew Bobke
[](https://ci.appveyor.com/project/MatthewBobke/psspeedtest/branch/master)
## Description
Whenever I've needed to run a network bandwidth test, I've defaulted to services such as [Speedtest by Ookla](http://www.speedtest.net/) and [fast.com](https://fast.com/en/). While effective, I spend a lot of time in the shell and I don't want to have to open an internet browser just to see if my network speeds are slow. [iPerf3](https://iperf.fr/) is a simple command-line utility for testing network bandwidth and has been combined with PowerShell to form `PSSpeedTest`. Behind the scenes, the executable is retrieved using the [ChocolateyGet](https://github.com/jianyunt/ChocolateyGet) `PackageProvider`.
## Installation
`Install-Module -Name PSSpeedTest -Repository PSGallery`
**NOTE:** Installing this module will not automatically install `ChocolateyGet` or `iPerf3`. Running `Invoke-SpeedTest` or `Install-SpeedTestServer` will prompt for the installation of these two items **if** they are not installed **and** the global `$ConfirmationPreference` is not `'None'`.
## Usage (Public Functions)
`Get-Help FunctionName -Full` for detailed help.
### Get-SpeedTestConfig
Returns a list of your configured default speed test servers/ports for `Invoke-SpeedTest`.
### Set-SpeedTestConfig
Used to set the default speed test servers/ports for `Invoke-SpeedTest` when using the `-Internet` or `-Local` switch arguments.
### Invoke-SpeedTest
Runs a speed test against a server that is running iPerf3. The `-Internet` or `-Local` switches will use stored defaults, or a server can be specified with `-Server` and `-Port`.
`-Port` can be left out to use the default iPerf3 port 5201.### Install-SpeedTestServer
Sets up iPerf3 as a server process on the local computer. This performs the following:
* Installs the `ChocolateyGet` PackageProvider if not already present.
* Installs the `iPerf3` package if not already present.
* Sets the inbound/outbound firewall rules for the given port (5201 if the `-Port` parameter is not used.)
* Creates a Scheduled Task to run `iperf3.exe` with the necessary parameters for server usage on computer startup.### Remove-SpeedTestServer
Removes all items configured by `Install-SpeedTestServer` with the exception of the `ChocolateyGet` PackageProvider.
## Building
`.\build.ps1`
## Testing
`.\build.ps1 -Task Test`
## Contributing
Contributions are welcome and encouraged. Please submit issues and pull requests!