Internet speed testing application for your website?


OPTION #1 (Speed Test from Openspeedtest.com Server)


 You can use our FULLVERSION application for free!

   The same technology we using at openspeedtest.com will be used on this application. It is Free for personal and commercial use.

 How this works?

This application is an exact copy of openspeedtest.com & this will use our premium servers to test user line speed. You are adding this application as a widget on your webpage. Instead of sending your visitors to other websites for testing internet speed you can have this application on your website itself.


Live DEMO
For HTTP/HTTPS version of this application
Copy this HTML code.

  

You can create a new page for this application or you can use it on existing page! application is now fully responsive! you can use any width and height as per your design!. Paste our HTML code on your webpage!


Automatic Speedtest?


You can run a speed test automatically by adding "?Auto=10" to your widget code! Widget URL looks like "http://openspeedtest.com/Get-widget.php?Auto=10"


Self-Hosted speedtest application!


OPTION #2 (Speed Test from you own server!)


Same version of the Internet Speedtest tool we are using to tests network speeds. It is a quick and easy tool for testing the speed from your server. It can be used on connections up to 10Gbps. This speed testing application will use your server to test download and upload speed. We store each resuls to our database and a dedicated reporting system which shows you tests that have been performed via your server. Signup here to view results (Only for OPTION #2).
This Self-Hosted version is Free for personal and commercial use.

Openspeedtest dashboard

Live DEMO
Install this application on your website.[HTTPS Support Added!]
Copy this HTML code.


 Guide to setup Self-Hosted speed test application for your server.
  

You can create a new page for this application or you can use it on existing page! application is now fully responsive! you can use any width and height as per your design!. Paste our HTML code on your webpage!


Simple and Easy way! Install Docker and run the following command!
 
docker run --restart=unless-stopped --name=openspeedtest -d -p 80:8080 openspeedtest/latest

Now Visit http://localhost/hosted.html or http://YOUR-IP/hosted.html

Use our Docker Image or Follow the steps.

Step 1)

Create a domain/subdomain for your server.


Step 2)

Create index.php (or a page from the same domain) file and paste our widget code.


Step 3)

Upload both files (File 1 & File 2) to your server and change the permissions to 755.


Step 4)

You need to make few changes on your server. Enable Cross-origin resource sharing with http://openspeedtest.com
Your server should accept 'GET, POST, OPTIONS' from "http://openspeedtest.com" & POST Content-Type:application/octet-stream, Content Length is dynamic. so server should accept POST content length of 200MB or more. And turn off Gzip!



If your are using this app on speedtest.example.com. the files should be accessible form speedtest.example.com/downloading & speedtest.example.com/upload. This application will look at the host name only. So eg: hostname/downloading will be the correct destination for test files. mostly it will be the root web dir of your website


This is Nginx configuration.

 
                    server {

listen   8080;
listen   3000;
root /usr/share/nginx/html/;
index index.html;
server_name localhost;

location / {
    access_log off;
    gzip off;
    fastcgi_read_timeout 999;
    client_max_body_size 9999M;
    log_not_found  off;
    server_tokens off;
    error_page  405     =200 $uri;
    error_log /dev/null;
    tcp_nodelay on;
    tcp_nopush on;
    sendfile on;
    open_file_cache max=200000 inactive=20s;
    open_file_cache_valid 30s;
    open_file_cache_min_uses 2;
    open_file_cache_errors on;

if ($http_origin ~* (https?://[^/]*\.openspeedtest\.com(:[0-9]+)?|https?://openspeedtest\.com(:[0-9]+)?)) {
add_header 'Access-Control-Allow-Origin' "$http_origin" always;
add_header 'Access-Control-Allow-Headers' 'Accept,Authorization,Cache-Control,Content-Type,DNT,If-Modified-Since,Keep-Alive,Origin,User-Agent,X-Mx-ReqToken,X-Requested-With' always;
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;
 
}

if ($request_method = OPTIONS ) {
add_header Access-Control-Allow-Credentials "true";
add_header 'Access-Control-Allow-Headers' 'Accept,Authorization,Cache-Control,Content-Type,DNT,If-Modified-Since,Keep-Alive,Origin,User-Agent,X-Mx-ReqToken,X-Requested-With' always;
add_header 'Access-Control-Allow-Origin' "$http_origin" always;        
add_header Access-Control-Allow-Methods "GET, POST, OPTIONS" always;
return 204;
    }

     
    

}
}


If your server is not Nginx you need to make similar configuration on your server


Setting CORS (cross-origin resource sharing) on Apache. Create .htaccess file with this config.

 
# Always set these headers.
Header always set Access-Control-Allow-Origin "http://openspeedtest.com"
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS"
Header always set Access-Control-Max-Age "1000"
Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token"
 
# Added a rewrite to respond with a 200 SUCCESS on every OPTIONS request.
RewriteEngine On
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L]
#Don't forget to activate the apache module headers a2enmod headers

Configuration for ubuntu server with apache2



1. Make sure you have the mod_headers Apache module installed. to do this check out /etc/apache2/mods-enabled/ and see if there’s a ‘headers.load’ in there. If there isn’t then just sudo ln -s /etc/apache2/mods-available/headers.load /etc/apache2/mods-enabled/headers.load



2. Add the Access-Control-Allow-Origin header to all HTTP responses.

go to /etc/apache2/sites-available/default file and add the folowing code under the <Directory> section of your configuration file.



 
Header always set Access-Control-Allow-Origin "http://openspeedtest.com"
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS"
Header always set Access-Control-Max-Age "1000"
Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token"

3. Reload apache server.

 
sudo /etc/init.d/apache2 reload

Download HTML5 Network Speed Test Application


OPTION #3 (Speedtest for Home/Office LAN! [Runs Offline!])


1) Download HTML5 Network Speed Test Server [Executable File]


An application for launching a quick speed test server. Without using any commands!


First test your local network speed before pointing fingers towards your ISP for slow and sluggish internet experience. Introducing Network Speed Test Server for Windows , Mac & Linux!. For professionals docker image and source code available.


This is An Experimental Application and not signed. So you may see Unidentified Developer Warning!. Make sure you know how to run apps with Unidentified Developer Warning!. If not Please watch this Video Tutorial.


Download SpeedTest-Server For Windows

Download SpeedTest-Server For MacOS

Download SpeedTest-Server For Linux


2) Install and config your own server Download Source Code! [CODE]


Download source code and config your own server. Make sure you follow the server configuration as per the Nginx config inside the zip file.


Download Source Code


3) Install Docker and run the following command! [Official Docker Image]


 
docker run --restart=unless-stopped --name=openspeedtest -d -p 80:8080 openspeedtest/latest

Now Visit http://localhost/ or http://YOUR-IP/

This docker image contains the same application running at http://openspeedtest.com. This can run offline! So you can use it to test your Local Area Network/WiFi or put it on a server to test your line speed to that server. By Testing your WiFi speed you can decide where you need to place your router! or in which direction your need to add a repeater!. Currently optimised to test speeds up to 1~2 Gbps. You can change the values and files inside this docker and can test even faster connection.


Index.html will be used by default. (Can Run Without Internet Connection)


If you need you can use hosted.html which will only run with an Internet connection and it will save results to our database.


You can view results by registering here http://openspeedtest.com/admin



Please Send Us Your Feedback @openspeedtest or support@openspeedtest.com





Useful Links


FAQs

About us

Contact us

Please Be Our Friend

Subscribe For...

Subscribe to our newsletter and get exclusive broadband deals you wont find anywhere else straight to your inbox!