diff --git a/Bin/checkdelay.exe b/Bin/checkdelay.exe deleted file mode 100644 index d32951c..0000000 Binary files a/Bin/checkdelay.exe and /dev/null differ diff --git a/Bin/cygcrypto-3.dll b/Bin/cygcrypto-3.dll new file mode 100644 index 0000000..5bc0237 Binary files /dev/null and b/Bin/cygcrypto-3.dll differ diff --git a/Bin/cyggcc_s-seh-1.dll b/Bin/cyggcc_s-seh-1.dll deleted file mode 100644 index d9b9434..0000000 Binary files a/Bin/cyggcc_s-seh-1.dll and /dev/null differ diff --git a/Bin/cygstdc++-6.dll b/Bin/cygstdc++-6.dll deleted file mode 100644 index 365a62a..0000000 Binary files a/Bin/cygstdc++-6.dll and /dev/null differ diff --git a/Bin/cygwin1.dll b/Bin/cygwin1.dll index d3bfc3d..2ac18de 100644 Binary files a/Bin/cygwin1.dll and b/Bin/cygwin1.dll differ diff --git a/Bin/cygz.dll b/Bin/cygz.dll new file mode 100644 index 0000000..b224585 Binary files /dev/null and b/Bin/cygz.dll differ diff --git a/Bin/iperf.exe b/Bin/iperf.exe deleted file mode 100644 index 5383a1b..0000000 Binary files a/Bin/iperf.exe and /dev/null differ diff --git a/Bin/iperf2.exe b/Bin/iperf2.exe new file mode 100644 index 0000000..7e7b713 Binary files /dev/null and b/Bin/iperf2.exe differ diff --git a/Bin/iperf3.exe b/Bin/iperf3.exe index 2efa342..9348dd2 100644 Binary files a/Bin/iperf3.exe and b/Bin/iperf3.exe differ diff --git a/PPerf.ps1 b/PPerf.ps1 index bbe5143..3673b82 100644 --- a/PPerf.ps1 +++ b/PPerf.ps1 @@ -1,4 +1,4 @@ -#requires -Version 3 +#requires -Version 5 param($Work) # restart PowerShell with -noexit, the same script, and 1 @@ -89,7 +89,7 @@ $UiPowerShell = [PowerShell]::Create().AddScript( $ErrorActionPreferenceOrg = $ErrorActionPreference if ($IperfVersion -eq 2) { - 'Time,localIp,localPort,RemoteIp,RemotePort,Id,Interval,Transfer,Bandwidth' | Out-File -FilePath $CsvFilePath + 'Time,localIp,localPort,RemoteIp,RemotePort,Id,Interval,Transfer,Bitrate' | Out-File -FilePath $CsvFilePath Write-Status -Text ((Invoke-Expression -Command "$IperfExe -v") 2>&1) -Colore 'Blue' $ErrorActionPreference = 'stop' Invoke-Expression -Command $Command | Out-File -FilePath $CsvFilePath -Append @@ -179,7 +179,7 @@ $UiPowerShell = [PowerShell]::Create().AddScript( $AnalyzerDataLength = 0 $ChartDataAction0 = [Action]{ - $SyncHash.Chart.Series['Bandwidth (Mbits/sec)'].Points.Clear() + $SyncHash.Chart.Series['Bitrate (Mbits/sec)'].Points.Clear() $SyncHash.Chart.Series['Transfer (MBytes)'].Points.Clear() $SyncHash.host.ui.WriteVerboseLine('Clear Data: ' + ($SyncHash.Chart.Series['Transfer (MBytes)'].Points.Count | Out-String)) } @@ -194,7 +194,7 @@ $UiPowerShell = [PowerShell]::Create().AddScript( { foreach ($Line in $_) { - if ($Line -like '*Bandwidth*') + if ($Line -like '*Bitrate*') { $Header = $Line -split ',' } @@ -211,7 +211,7 @@ $UiPowerShell = [PowerShell]::Create().AddScript( } $CsvLine = $Line | ConvertFrom-Csv -Header $Header - $CsvLine.Bandwidth = $CsvLine.Bandwidth /1Mb + $CsvLine.Bitrate = $CsvLine.Bitrate /1Mb $CsvLine.Transfer = $CsvLine.Transfer /1Mb if (!($CsvLine.Interval).StartsWith('0.0-') -or ($CsvLine.Interval -eq '0.0-1.0')) { @@ -288,7 +288,7 @@ $UiPowerShell = [PowerShell]::Create().AddScript( if ($AnalyzerDataLength -eq 0 -and $AnalyzerData.Count -gt 1) { $ChartDataAction1 = [Action]{ - $SyncHash.Chart.Series['Bandwidth (Mbits/sec)'].Points.DataBindXY($AnalyzerData.Interval, $AnalyzerData.Bandwidth) + $SyncHash.Chart.Series['Bitrate (Mbits/sec)'].Points.DataBindXY($AnalyzerData.Interval, $AnalyzerData.Bitrate) $SyncHash.Chart.Series['Transfer (MBytes)'].Points.DataBindXY($AnalyzerData.Interval, $AnalyzerData.Transfer) $SyncHash.host.ui.WriteVerboseLine('Show Data: ' + ($SyncHash.Chart.Series['Transfer (MBytes)'].Points.Count | Out-String)) } @@ -299,13 +299,13 @@ $UiPowerShell = [PowerShell]::Create().AddScript( $ChartDataAction2 = [Action]{ while ($AnalyzerDataLength + $AnalyzerData.Count -gt $LastX -and $LastX -gt 0) { - $SyncHash.Chart.Series['Bandwidth (Mbits/sec)'].Points.RemoveAt(0) + $SyncHash.Chart.Series['Bitrate (Mbits/sec)'].Points.RemoveAt(0) $SyncHash.Chart.Series['Transfer (MBytes)'].Points.RemoveAt(0) $Global:AnalyzerDataLength -- } foreach ($Point in $AnalyzerData) { - $SyncHash.Chart.Series['Bandwidth (Mbits/sec)'].Points.AddXY($Point.Interval, $Point.Bandwidth) + $SyncHash.Chart.Series['Bitrate (Mbits/sec)'].Points.AddXY($Point.Interval, $Point.Bitrate) $SyncHash.Chart.Series['Transfer (MBytes)'].Points.AddXY($Point.Interval, $Point.Transfer) $SyncHash.host.ui.WriteVerboseLine('Add Data Point: ' + ($SyncHash.Chart.Series['Transfer (MBytes)'].Points.Count | Out-String)) } @@ -354,7 +354,7 @@ $UiPowerShell = [PowerShell]::Create().AddScript( { $IperfVersionParams = ' -y c' $Global:IperfVersion = 2 - $Global:IperfExe = '.\iperf.exe' + $Global:IperfExe = '.\iperf2.exe' } else { @@ -404,8 +404,8 @@ $UiPowerShell = [PowerShell]::Create().AddScript( - - + + @@ -460,14 +460,14 @@ $UiPowerShell = [PowerShell]::Create().AddScript( $SyncHash.ChartArea = New-Object -TypeName System.Windows.Forms.DataVisualization.Charting.ChartArea $SyncHash.Chart.ChartAreas.Add($SyncHash.ChartArea) - [void]$SyncHash.Chart.Series.Add('Bandwidth (Mbits/sec)') + [void]$SyncHash.Chart.Series.Add('Bitrate (Mbits/sec)') [void]$SyncHash.Chart.Series.Add('Transfer (MBytes)') # Display the chart on a form #$SyncHash.Chart.Anchor = [System.Windows.Forms.AnchorStyles]::Bottom -bor [System.Windows.Forms.AnchorStyles]::Right -bor [System.Windows.Forms.AnchorStyles]::Top -bor [System.Windows.Forms.AnchorStyles]::Left #$SyncHash.Chart.Location = New-Object -TypeName System.Drawing.Size -ArgumentList (0, 100) $SyncHash.Chart.BackColor = [System.Drawing.Color]::Transparent - $SyncHash.Chart.Series['Bandwidth (Mbits/sec)'].ChartType = [System.Windows.Forms.DataVisualization.Charting.SeriesChartType]::'Line' + $SyncHash.Chart.Series['Bitrate (Mbits/sec)'].ChartType = [System.Windows.Forms.DataVisualization.Charting.SeriesChartType]::'Line' $SyncHash.Chart.Series['Transfer (MBytes)'].ChartType = [System.Windows.Forms.DataVisualization.Charting.SeriesChartType]::'Line' $SyncHash.Chart.Width = 800 $SyncHash.ChartLegend = New-Object -TypeName System.Windows.Forms.DataVisualization.Charting.Legend @@ -558,7 +558,7 @@ $UiPowerShell = [PowerShell]::Create().AddScript( Set-IperfCommand - Write-Status -Text 'PPerf Version 3.2' -Colore 'Blue' + Write-Status -Text 'PPerf Version 4.0' -Colore 'Blue' # Shows the form $null = $SyncHash.Form.ShowDialog() diff --git a/README.md b/README.md index 518a8a5..1ba9e1b 100644 --- a/README.md +++ b/README.md @@ -3,9 +3,14 @@ PowerShell Iperf GUI A PowerShell script to start iperf and show the output (similar to Jperf) -(This is not a finished product but it generally working) +You'll need PowerShell 5 or above for it to work ## ChangeLog +#### Version 4.0 +* Updated iPerf3 to 3.17.1 +* Updated iperf2 to 2.2.n +* Updated Powershell script to reflect changes in iPerf3 + #### Version 3.1 * iPerf 3 Support Added @@ -14,13 +19,6 @@ A PowerShell script to start iperf and show the output (similar to Jperf) * New iPerf 2 version * Many Fixes -## To do list -* ~~Add iperf3 option (no CSV support problem)~~ -* Add more iperf parameters to interface -* ~~Rearrange interface~~ -* ~~Fix know Bugs~~ -* ~~Clean and improve the code~~ - ## Contributing Just fork and send pull requests, Thank you!