irene 3ba11330cc
CI / Analyze & Test (push) Failing after 2m25s
feat: add CI workflow and update README
- Add GitHub Actions CI workflow for analyze and tests
- Update README with project structure, build instructions, and license info
- Document iperf3 binary bundling process
2026-08-24 08:24:39 +09:00

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

Building iperf3 binaries

To rebuild the bundled iperf3 binaries, use the NDK:

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.

S
Description
No description provided
Readme MIT 2 MiB
2026-08-26 13:44:11 +00:00
Languages
C 70.4%
Makefile 11.5%
Dart 7.8%
C++ 2.6%
Roff 2.5%
Other 5.2%