stephenyin / iperf-ios

iPerf 3 library and app for iOS

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

iPerf iOS Build Status

Run an iPerf3 client on your iPhone or iPad, including reverse mode and multiple streams selection:

Screenshot

Download

Download on the App Store.

Why?

See the Unifi forum thread for a bit of back story, basically there are quite a few iPerf 3 apps (like iPerf, HE.NET, Fleet and WifiPerfEndPoint) out there but:

  • none of them use a recent iPerf 3 codebase which includes a fix to make results more reliable
  • most of them are pretty crashy
  • few of them support server mode, which can be leveraged to query a bunch of iOS devices from a wired computer when testing across a wide array of clients

What you should expect from this new iPerf app:

  • tiny: the current app download is 126k
  • modern: based on the latest stable iPerf 3.6 codebase
  • stable: we'd like for it to go under heavy dogfooding / testing (see the TestFlight program below) so we can iron out most of the bugs and make this super solid
  • fast: after instrumentation it has no memory leaks that we could see, the vast majority of the CPU is going to system calls and not the app's code, and the bandwidth test is using a high priority background thread to utilize the second CPU core while the other one drives the UI
  • simple: see the screenshot, the UI is really simple (if not bare bones) and maps straight to iPerf parameters
  • open source: no surprises, you can look at the source code which is what I use to build the app

Testing

If you would like to join the beta program and test the latest version of the app before App Store release, please open this TestFlight link. You can leave feedback on the Unifi forum thread, as an issue on GitHub or over email from within the TestFlight app.

The App Store Release milestone tracks all the issues that are blocking, you guessed it, App Store release.

Contributing

Please send a pull request or open an issue, we happily welcome contributions! We also try and document issues, feel free to pick one up and contribute there. Translations and app / icon design contributions are welcome too!

If a new version of iPerf comes out and you'd like to update the app, edit and run sync.sh to pull the latest changes from upstream.

Travis CI is set up to build the app continuously and run tests.

Wishlist

These should eventually be tracked as issues:

  • See open issues
  • Add a cancel button
  • Graphs and progress bar
  • Indefinite test duration, stop when confidence is high enough
  • Nicer UI with localization
  • Server mode with UPnP to allow external access
  • Public iPerf3 servers
  • Report lost packets and stability
  • Scan LAN for iPerf servers
  • Combined send + Receive test
  • Latency test,
  • Switch unit from Mbits/s to MB/s when taping on the number
  • Ship to the App Store
  • Public database of results by device
  • Guide to run a server
  • MacOS version
  • Parse iOS Wifi logs to diagnose roaming and connectivity issues
  • Suggest expected speed from device database (number of antennas, 2.4GHz and 5GHz tests)
  • Crash and error reporting
  • UDP test

About

iPerf 3 library and app for iOS

License:Other


Languages

Language:C 94.5%Language:Objective-C 4.9%Language:C++ 0.3%Language:Makefile 0.2%Language:Shell 0.2%