All Projects → miquels → Speedtest

miquels / Speedtest

HTML5 speedtest, javascript client and golang server. Responsive interface, can be used on desktop, tablets and phones. Uses the same algorithm as Ookla / speedtest.net, and gives approximately the same results.

Projects that are alternatives of or similar to Speedtest

Vue
Stars: ✭ 65 (-15.58%)
Mutual labels:  vuex
Lottery Project
彩票项目
Stars: ✭ 72 (-6.49%)
Mutual labels:  vuex
Vue2 Admin
基于vue-element-admin、Vue2 权限、监控、管理系统(包含地图等嵌套)
Stars: ✭ 74 (-3.9%)
Mutual labels:  vuex
Vue Web Extension
🛠️ A Vue CLI 3+ preset (previously a Vue CLI 2 boilerplate) for quickly starting a web extension with Vue, Babel, ESLint and more!
Stars: ✭ 1,147 (+1389.61%)
Mutual labels:  vuex
Speedtest
A way to run speed tests on Docker.
Stars: ✭ 72 (-6.49%)
Mutual labels:  speedtest
Laravel Vuetify Spa
Laravel-Vue SPA starter project template with Vuetify frontend.
Stars: ✭ 73 (-5.19%)
Mutual labels:  vuex
Vue Cnode
基于vue2 + vue-router + vuet + ES6 + less + flex.css重写vue版cnode社区,使用webpack2打包
Stars: ✭ 1,134 (+1372.73%)
Mutual labels:  vuex
Kanban Board
A sample application demonstrating a basic kanban board, seeded with vue-cli
Stars: ✭ 76 (-1.3%)
Mutual labels:  vuex
Vue Awesome Template
☀基于[email protected]的[email protected] 项目模板;集成各种常用组件、轮子、最佳实践;
Stars: ✭ 70 (-9.09%)
Mutual labels:  vuex
Wxappstore
微信小程序全局状态管理,并提供Vuex的开发体验
Stars: ✭ 74 (-3.9%)
Mutual labels:  vuex
Cordovue
A sample Apache Cordova application using VueJS.
Stars: ✭ 66 (-14.29%)
Mutual labels:  vuex
Vue Studymaps
使用 Vue.js 开发的聚合应用。通过爬虫抓取平时浏览的网站,省去逐个点开网页的时间。
Stars: ✭ 71 (-7.79%)
Mutual labels:  vuex
Element Vue Admin
vue admin template base on element 2
Stars: ✭ 73 (-5.19%)
Mutual labels:  vuex
Vue State Management Alternative
Vuex state management alternative for both Vue 1.x & 2.x
Stars: ✭ 67 (-12.99%)
Mutual labels:  vuex
Putongoj Fe
The front end of the Putong Online Judge -- An online judge with nothing special
Stars: ✭ 74 (-3.9%)
Mutual labels:  vuex
Vue Admin
基于Vue2、element ui、vue-cli、vuex、vue-router、axios 、echarts后台管理系统demo. 权限管理,用户管理,菜单管理。无限级菜单,下拉树形选择框
Stars: ✭ 1,135 (+1374.03%)
Mutual labels:  vuex
Docker Vue
Frontend for DockerRails, built with Vue.js
Stars: ✭ 72 (-6.49%)
Mutual labels:  vuex
Vuex Multi Tab State
💾🔗🖥️ Share, synchronize and persist state between multiple tabs with this plugin for Vuex. TypeScript types included.
Stars: ✭ 77 (+0%)
Mutual labels:  vuex
Vue Cli3 Multipage
由vue-cli3搭建的多页面多路由初始化项目包,包含ESlint,Axios,vue-router,vuex,babel,以及自己封装的异步请求API接口。
Stars: ✭ 76 (-1.3%)
Mutual labels:  vuex
Vue Mall
微信公众号测试项目
Stars: ✭ 74 (-3.9%)
Mutual labels:  vuex

speedtest

HTML5 Speedtest

This speedtest uses the same algorithm as the Ookla / speedtest.net test. Because of that it gives about the same results.

It has a responsive interface, and can be used on desktop, tablets and phones.

speedtest-dark

Development / Build Setup

  • as usual, you need nodejs and yarn.
  • you need to have Rust (compiler + cargo) installed, version 1.40 or later.

Right now no Linux distributions come with a recent enough Rust. You need to install it manually. Instructions can be found on https://rustup.rs/, but for Linux and macos it boils down to:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Then clone the repo and build:

# clone repo
git clone https://github.com/miquels/speedtest.git
cd speedtest

# install dependencies
yarn

# install configuration file
cp public/config.json.example public/config.json
vim public/config.json

# serve with hot reload at localhost:8080
yarn serve

Run the backend server

# build backend server
cd server
source ~/.cargo/env # should not be needed, but try if the below fails.
cargo build --release
cd ..

# run server
server/target/release/speedtest-server

If you point yout browser at localhost:8080, you should see the webinterface.

If it doesn't work, use your browsers debugger/inspector, and look at the javascript console - that should give you a hint as to what is going on. For example, Chrome on OSX, press Option + Command + J.

Production use

# build and minify.
yarn build

# copy files to your webservers root. change /path/to/www/html to the
# actual path on your system (e.g. debian: /var/www/html).
cp -av dist/* /path/to/www/html/

Before you can use the app, you need to run the backend server as well.

Running the backend server.

If you have compiled the server as described above, its binary needs to be copied to a generic location, for example:

cp server/target/release/speedtest-server /usr/local/sbin/speedtest-server

The server needs to be run as a daemon. That's OS specific, and no sysv / systemd / whatever files have been included yet. The easiest solution is to run it in a screen session for now :)

screen
/usr/local/sbin/speedtest-server
# Press "Control-a d" to detach
# Use "screen -x" to re-attach

There are several command line options you can use, such as:

  • --key, --chain: options for TLS (SSL) support
  • --dir: serve the entire app, not just the speedtest backend
  • --listen: address/port to listen on (default 4000)
  • --help: get a list of all options.

For example, to serve TLS on port 443:

/usr/local/sbin/speedtest-server --key certificate.key \
        --chain certificate.pem --listen 443 --dir /var/www/html/speedtest
# Note: set `apiport` in `config.json` to 443, or just comment it out.

Note that the server does not write any access logs. If you do need access logs, you can get them (at least for the application itself, html/css/javascripts/assets) by serving the application using a generic webserver like Apache or Nginx, and running the api server on a separate port.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].