Code Monkey home page Code Monkey logo

speedtest-android's Introduction

LibreSpeed-Android Logo

LibreSpeed Android Template

The LibreSpeed Android template allows you to configure and distribute an Android app that performs a speedtest using your existing LibreSpeed server(s).

The template is easy to configure, customize and distribute.

Try it

Get it on F-Droid

Alternatively, you can download a demo APK

Compatibility

Android 4.0.3 and up (SDK 15), all architectures.

Features

  • Download
  • Upload
  • Ping
  • Jitter
  • IP Address, ISP, distance from server (optional)
  • Telemetry (optional)
  • Results sharing (optional)
  • Multiple Points of Test (optional)

Screenshot

Server requirements

One or more servers with LibreSpeed installed.

Donate

Donate with Liberapay
Donate with PayPal

License

Copyright (C) 2020 Federico Dossena

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see https://www.gnu.org/licenses/lgpl.

speedtest-android's People

Contributors

adolfintel avatar poussinou avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

speedtest-android's Issues

Issue with making my own server work on the app

Hi there

I know I'm probably doing something stupid but for the life of me I cannot get the server working on my own custom version of this software.

I have the normal web version working just fine (dantecampbell.org/speedtest)
But I cannot get the android app to use that as a server, these are my servers settings in the android app:
{
"name":"mytestserver",
"server":"http://dantecampbell.org/speedtest",
"dlURL":"backend/garbage.php",
"ulURL":"backend/empty.php",
"pingURL":"backend/empty.php",
"getIpURL":"backend/getIP.php"
}

Please if any of you see something obvious I am missing help me.

Source Code

Please take the program source code to GitLab.

Configuration error: Failed to load server list

When you open the app you get this error message:
Configuration error: Failed to load server list
And the app is unusable.

The librespeed.org website is also unusable with this message:
No servers available

Make a separate, independent java library out of the `core` package

Currently, this repository contains two things:

  1. the core package which provides an interface to execute speedtests
  2. an Android application template that uses this interface

I suggest that you separate these two things into two separate repositories. One for the speedtest library and one for the android app template.

This would give the following advantages:

  • It would be easier to use the library (core package), not only in android apps but also in any java app
  • It would offer the possibility to publish the speedtest library to maven
  • It would make the licensing clearer. You could for example publish the library under LGPL and the application template under MIT license
  • It would make it easier to contribute to the projects

A good alternative to multiple repositories could also be multiple branches inside one repository.

Improve repeated server testing UX

Current UX is that after completing your first speed test and clicking "New test", you're then booted to the home screen which then is "Selecting servers" for a few seconds again, and then it picks a new server for you.

A few changes could be made here:

  • It doesn't need to be "Selecting servers" for the second (or third, or fourth, etc) time in the same session. Remember what servers exist for at least the duration the app is open (but ideally it'd only be required to check again after say 24 hours).
  • Remember the server that was selected for the first test. For the second test it automatically picked a server for me which was several countries away when I had already tested with a server in my own country.
  • Show a table for the last few tests made (date/time column, server selected, then the speed values).

Download .apk from github directly with Obtainium

I would like to pull the latest .apk directly from github using Obtainium. In order to do this, the latest released .apk would have to be listed under Releases. Would this be possible or is there another way to get the latest .apk directly from github?

Clarify what Mbps means

Mbps is sometimes Megabyte and sometimes megabit. What does it mean?

I would like it there for example:

  • metadata description
  • about/settings
  • when I click on Mbps, I would like it to swap with the other unit.

How does it relate to MBps? (1000/1024 based)

movie

is it possible to record a video teaching us how to configure the template and create the app? i tried all the ways via android studio and i have many errors in java

Multi-data source download

Excuse me, I would like to ask you a question, yours is a single data source speed measurement, if I need multiple data sources to download speed measurement, what do I need to do

Feature: allow Select-All/Copy/Paste of test results & data (plaintext/markdown)

Currently I seem unable to do so.
The only way is to use the "Share" feature...
... but doing so just provides a URL w the results,
not the actual results themselves.

Purpose:
I want to store the results data locally.
(esp my external internet IP address)

p.s.
Thank you for this app!
It seems to be the only opensource app i can find (at least in fdroid-compatible repos) that shows my external IP address.

Abort button

When a test has already started and you maybe want to switch servers or just cancel the speed test, it would be very convenient to have an Abort button, like on the website.

Please implement/show an Abort button when a test is in progress.

Multiple tests + statistics

Hi,
Would be possible to implement the option to test multiple times and extract statistics after loop is complete?
This could be interesting when testing own server and/or network.
Thank you

App presents wrong results in cell phone

When I tried the App in two cell phones, I got high ping delays, low download speed and extremely low upload speed.

From one cell phone to Helsinki:

ping 290ms
jitter 253ms
download 7.65 Mbps
upload 0.72 Mpps

From Emulator to Helsinki (computer running the emulator is connected to the same router as the cell phone)

ping 133ms
jitter 1.32ms
download 41.4 Mpbs
upload 35.0 Mbps

Measuring my internet speed using from the cell phone to Google, using chrome in the cell phone)

latency 9ms
download 39.9 Mbps
upload 28.3 Mbps

Measuring my internet speed using from computer to Google, using chrome in the computer

latency 9ms
download 89.9 Mbps
upload 52.5 Mbps

So, results using the app are always slower then using Chrome, but in the cell phone the effect is much stronger.

Allow end users to specify servers by URL

It is too inefficient for the server operator to send a pull request for each new LibreSpeed server.
There are several Librespeed servers in my country, but none of them are listed in the app.

Feature Request: Add Optional GPS Location

What do you think about adding GPS location as an option when using telemetry on the servers? I think adding GPS location would be possible by using the telemetry_extra advanced parameter (https://github.com/librespeed/speedtest/blob/master/doc.md about half way down the page) to add it to the tests. Could be made so that the option to include GPS as a boolean setting if used when customizing the template. This would be a great help vs. geolocation via IP address.

Thank you for your work on this project and consideration on this proposed feature.

Server auto-select prefers a distant server to a nearer one

Whenever the app auto-selects its server, it choses one in Germany, even though I am in the UK and there is a UK server in the list. (I am not using a VPN.)

Thank you for your software. I have version 'demo-1.2.3' (which is the 'suggested' build). I am using a phone running Android 12.

READ THIS BEFORE OPENING AN ISSUE!

When you should open an issue:

  • You want a feature added
  • You found a bug (for instance, a parameter not being parsed correctly, or the test not working on a system that should be supported)
  • Suggestions for improving a feature
  • You want to discuss a design choice or want to know more about something regarding the test

When you should NOT open an issue:

If you open an issue:

  • Try to describe your problem/suggestion thoroughly
  • For a bug report, I need to know about your server (OS, server, configuration, network, ...) as well as your client (Model and OS at least). Post screenshots if necessary.

Why is web page speedtest always higher than Android?

After many test data comparisons, in the same device and the same network environment, the download and upload values of web page speed measurement are higher than Android. Why?
Web page refers to librespeed speedtest HTML.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.