# 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 ```bash flutter create . --org novoyuuparosk --project-name iperf3gui flutter pub get flutter analyze flutter build apk --debug ``` ### Building iperf3 binaries To rebuild the bundled iperf3 binaries, use the NDK: ```bash cd /tmp wget https://github.com/esnet/iperf/archive/refs/tags/3.21.tar.gz tar -xzf 3.21.tar.gz cd iperf-3.21 # Configure for Android arm64-v8a ./configure --host=aarch64-linux-android \ --with-openssl=/opt/android-sdk/ndk/27.0.12077973/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr \ --disable-sctp # Build make CC=aarch64-linux-android21-clang \ AR=aarch64-linux-android-ar \ AR=aarch64-linux-android-ld # Copy to project cp src/iperf3 /path/to/iperf3-gui/assets/iperf3/arm64-v8a/iperf3 ``` ## License MIT — bundled iperf3 v3.21 is BSD-3-Clause licensed.