mikkeli fb6ec3af37 feat(ui): show live output, add a stop button and duration/stream inputs
The screen could only start a 10s single-stream test and read the result
afterwards. It now renders the transcript as it arrives in a scrolling
monospace view that follows the newest line, exposes the duration and
parallel-stream settings TestConfiguration already carried, can stop a run in
progress, and copies the transcript to the clipboard.

The output field previously built a TextEditingController inside build(), so
every rebuild — one per output line now that output streams — discarded and
replaced it. Replaced with SelectableText, which needs no controller.

Seeds the inputs from TestConfiguration's own defaults rather than a second
hardcoded server address, so there is one default to change.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-26 19:03:22 +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

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.

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%