This repository is a mirror. We do not accept Pull Requests or track Issues on GitHub.
All development, documentation, and community discussion takes place on GitLab.
👉 Click here to visit the official repository on GitLab
LibreSpeedy is an Android client for self-hosted LibreSpeed servers. It measures ping, jitter, download, and upload with a privacy-first design and a benchmark-tuned network engine.
This is a personal free-time project maintained by a single developer. There is no organisational backing and no guaranteed response SLA. Bug reports and contributions are welcome, but please set expectations accordingly.
- Built specifically for LibreSpeed PHP backends.
- Separate IPv4 and IPv6 test paths.
- One-way state flow with predictable UI updates.
- High-throughput engine based on OkHttp (HTTP/1.1, tuned dispatcher/pool settings).
- No analytics, no tracking SDKs, and minimal permissions.
- Ping + jitter measurement.
- Download and upload throughput tests with live metric cards.
- Live bandwidth chart with adaptive y-axis scaling.
- Protocol-overhead adjusted throughput display (raw + calculated values in state/tests).
- Reachability checks for both IPv4 and IPv6 before test start.
- Automatic test stop and re-check when Android reports real network transitions.
- Public server list — browse and select from the official librespeed.org sponsored servers, sorted by ping; each server shows its country flag resolved offline from the bundled DB-IP Country Lite database.
- Your Current IPs card — shows the device's active IPv4/IPv6 addresses with a country flag and one-tap clipboard copy.
- In-app language switcher — 10 languages (EN, DE, ES, FR, PT, IT, RU, ZH, JA, TR), accessible from the About screen (Android 13+).
- Android 12+ (API 31+).
- A reachable LibreSpeed backend URL.
LibreSpeedy accepts base URLs like:
https://speed.example.comhttps://speed.example.com/backend
The app normalizes to the expected backend path automatically.
Note: The app is currently in the testing phase on Google Play. You may need to join the testing programme to install it.
You can also download the latest release APK directly from:
Then install the APK on your Android device.
- Open the app.
- Enter a server URL manually, or tap the 🌐 globe button to load the official public LibreSpeed server list.
- If using the public list: pick a server from the sheet (sorted by ping). The URL field transforms in-place to show the server name; tap × to deselect.
- Wait for IPv4/IPv6 reachability checks.
- Start an IPv4 or IPv6 test.
This project was developed with AI coding assistance. All AI-generated code was reviewed and integrated by human contributors. See CONTRIBUTORS.md for details.
compileSdk = 36,targetSdk = 36,minSdk = 31- Gradle runtime: JDK 25
- App bytecode target: Java/Kotlin JVM 17
./gradlew :app:assembleDebug
./gradlew :app:testDebugUnitTestSpeedTestViewModel.kt: orchestration and UI state.SpeedTestEngine.kt: networking and benchmark logic.ServerBackend.kt: URL normalisation, endpoint resolution,ResolvedServerBackend.PublicServerListLoader.kt: fetches, parses, DNS-validates, latency-probes, and country-enriches the public server list.CountryLookupRepository.kt: offline ISO country-code lookup via the bundled DB-IP Country Lite MMDB (assets/dbip-country.mmdb).DnsResolver.kt/Pinger.kt: injectable interfaces for DNS and latency probing (facilitates unit testing without network).di/NetworkModule.kt: Hilt providers forOkHttpClient,DnsResolver,Pinger.ui/screen/: app screens (SpeedTestScreen.kt,LibreSpeedyAppRoot.kt).ui/components/: reusable Compose components (MetricCard.kt,SpeedBandwidthChart.kt,ServerSelectionSheet.kt).
CI runs on GitLab with a custom Android Docker image. See ci/README.md for pipeline and build-image details.
Contributions are welcome.
- Open an issue for larger changes.
- Submit a merge request with focused commits and passing tests.
Licensed under the Apache License 2.0. See LICENSE.
- LibreSpeed
- IP geolocation data by DB-IP, licensed under CC BY 4.0.
- This project is supported by GitLab through the GitLab for Open Source Program.
- Developed with AI coding assistance. All AI-generated code was reviewed by human contributors.
