Skip to content

ndfred/iperf-ios

Repository files navigation

iPerf iOS Build Status

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

Screenshot

Download

Download on the App Store.

Why?

This UniFi forum thread explains 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 app is only 126 KB.
  • modern: It is based on iPerf 3.6.
  • stable: Albeit a new project, it does work, and the aim is to write tests for everything.
  • fast: No memory leaks, CPU mostly doing system calls instead of app code, and the bandwidth test is in a high priority background thread, with another thread for the UI.
  • simple: Get straight to iPerf parameters.
  • libre: Use, study. change and share
  • copyleft: with everyone, always.

Testing

Join the beta program and test the latest version before App Store release, by opening this TestFlight link. Leave feedback on the UniFi forum thread, as an issue on GitHub or over e-mail from within the TestFlight app.

The App Store release milestone tracks all issues blocking it.

Contributing

Pull requests and opened issues are welcomed heartily. Documenting issues is also needed, feel free to pick one up. Translations and app / icon design contributions are welcome too!

To upgrade iPerf, edit and run sync.sh to pull the latest changes from upstream into the app.

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 sending + reception test.
  • Latency test.
  • Switch unit from "Mbits/s" to "MB/s" when tapping on the number.
  • Ship to the App Store.
  • Public database of results by device.
  • Guide to run a server.
  • macOS version.
  • Parse iOS Wi-Fi logs to diagnose roaming and connectivity issues.
  • Suggest expected speed from device database (number of antennas, 2.4 GHz and 5 GHz tests).
  • Crash and error reporting.
  • UDP test.