A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/librespeed/speedtest-go below:

librespeed/speedtest-go: Go backend for LibreSpeed

No Flash, No Java, No WebSocket, No Bullshit.

This is a very lightweight speed test implemented in JavaScript, using XMLHttpRequest and Web Workers.

Take a speed test

All modern browsers are supported: IE11, latest Edge, latest Chrome, latest Firefox, latest Safari. Works with mobile versions too.

Install using prebuilt binaries
  1. Download the appropriate binary file from the releases page.
  2. Unzip the archive.
  3. Make changes to the configuration.
  4. Run the binary.
  5. Optional: Setup a systemd service file.
Use Ansible for automatic installation

You can use an Ansible role for installing speedtest-go easily. You can find the role on the Ansible galaxy. There is a separate repository for documentation about the Ansible role.

You need Go 1.16+ to compile the binary. If you have an older version of Go and don't want to install the tarball manually, you can install newer version of Go into your GOPATH:

  1. Install Go 1.17

    $ go get golang.org/dl/go1.17.1
    # Assuming your GOPATH is default (~/go), Go 1.17.1 will be installed in ~/go/bin
    $ ~/go/bin/go1.17.1 version
    go version go1.17.1 linux/amd64
    
  2. Clone this repository:

    $ git clone github.com/librespeed/speedtest-go
    
  3. Build

    # Change current working directory to the repository
    $ cd speedtest-go
    # Compile
    $ go build -ldflags "-w -s" -trimpath -o speedtest main.go
    
  4. Copy the assets directory, settings.toml file along with the compiled speedtest binary into a single directory

  5. If you have telemetry enabled,

  6. Put assets folder under the same directory as your compiled binary.

  7. Change settings.toml according to your environment:

    # bind address, use empty string to bind to all interfaces
    bind_address="127.0.0.1"
    # backend listen port, default is 8989
    listen_port=8989
    # proxy protocol port, use 0 to disable
    proxyprotocol_port=0
    # Server location, use zeroes to fetch from API automatically
    server_lat=0
    server_lng=0
    # ipinfo.io API key, if applicable
    ipinfo_api_key=""
    
    # assets directory path, defaults to `assets` in the same directory
    # if the path cannot be found, embedded default assets will be used
    assets_path="./assets"
    
    # password for logging into statistics page, change this to enable stats page
    statistics_password="PASSWORD"
    # redact IP addresses
    redact_ip_addresses=false
    
    # database type for statistics data, currently supports: none, memory, bolt, mysql, postgresql
    # if none is specified, no telemetry/stats will be recorded, and no result PNG will be generated
    database_type="postgresql"
    database_hostname="localhost"
    database_name="speedtest"
    database_username="postgres"
    database_password=""
    
    # if you use `bolt` as database, set database_file to database file location
    database_file="speedtest.db"
    
    # TLS and HTTP/2 settings. TLS is required for HTTP/2
    enable_tls=false
    enable_http2=false
    
    # if you use HTTP/2 or TLS, you need to prepare certificates and private keys
    # tls_cert_file="cert.pem"
    # tls_key_file="privkey.pem"
Differences between Go and PHP implementation and caveats

Copyright (C) 2016-2020 Federico Dossena Copyright (C) 2020 Maddie Zhan

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.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4