a31cdef775b9111c4ad364dd4a067cdde1484b99
Two root causes prevented iperf3 tests from running: 1. argv[0] bug: iperf_parse_arguments() expects argv[0] to be the program name. We passed Dart args directly, so argv[0] was '-c', which iperf3 misinterpreted as the program name → 'Argument parse error: must either be a client (-c) or server (-s)'. Fixed by prepending "iperf3" as argv[0] and shifting user args to argv[1+]. 2. Signal handling: iperf_catch_sigend() installs handlers that use longjmp() to a jmp_buf, but we never initialized the buffer with setjmp(). Any signal during iperf_run_client() caused SIGSEGV or hang. Added setjmp/longjmp wrapper matching main.c's pattern, SIGPIPE=SIG_IGN, and a 30s connect_timeout to avoid DNS hangs. Also extracted iperf_cleanup_and_signal() to deduplicate the normal-return and longjmp paths. Added diagnostic logging to IperfRunner.kt's library loading for faster future debugging.
iperf3-gui
A Flutter-based Android GUI wrapper for iperf3, the popular network performance measurement tool.
Features
- Client-mode network throughput testing
- Simple UI: enter server address, port, and press GO
- Raw iperf3 output display
- Bundled iperf3 v3.21 binaries for arm64-v8a and armeabi-v7a
Architecture
lib/
├── domain/
│ ├── models/ # TestConfiguration, Iperf3Result
│ └── services/ # Iperf3Service (Process runner)
├── ui/
│ └── features/
│ └── test_run/ # TestRunScreen, TestRunViewModel
├── main.dart # App entry point
└── pubspec.yaml # Dependencies: provider, path_provider
Building
Prerequisites:
- Flutter 3.47+
- Android SDK with platform android-36
- JDK 17
flutter create . --org novoyuuparosk --project-name iperf3gui
flutter pub get
flutter analyze
flutter build apk --debug
iperf3 Binaries
Pre-compiled binaries are sourced from davidBar-On/android-iperf3
and bundled in assets/iperf3/ (arm64-v8a and armeabi-v7a for Android 28+).
License
MIT — bundled iperf3 v3.21 is BSD-3-Clause licensed.
Releases
1
iperf3-gui v0.1.0
Latest
Languages
C
70.4%
Makefile
11.5%
Dart
7.8%
C++
2.6%
Roff
2.5%
Other
5.2%