Updated librespeed-go to 1.1.5, updated systemd files and added favicon
This commit is contained in:
parent
fe668dc108
commit
6957a4e709
25
.SRCINFO
25
.SRCINFO
@ -1,6 +1,6 @@
|
||||
pkgbase = librespeed-go
|
||||
pkgdesc = Very lightweight speed test implemented in Javascript, using XMLHttpRequest and Web Workers.
|
||||
pkgver = 1.1.3
|
||||
pkgdesc = Very lightweight speed test implemented in Javascript, using XMLHttpRequest and Web Workers
|
||||
pkgver = 1.1.5
|
||||
pkgrel = 1
|
||||
url = https://github.com/librespeed/speedtest-go
|
||||
arch = i386
|
||||
@ -10,22 +10,21 @@ pkgbase = librespeed-go
|
||||
arch = armv6h
|
||||
arch = armv7h
|
||||
license = LGPL3
|
||||
makedepends = go>=1.13
|
||||
optdepends = mariadb: database
|
||||
optdepends = postgresql: database
|
||||
makedepends = go>=1.16
|
||||
optdepends = mariadb: alternative database to bolt
|
||||
optdepends = postgresql: alternative database to bolt
|
||||
conflicts = librespeed-go-bin
|
||||
backup = etc/librespeed/settings.toml
|
||||
backup = var/lib/librespeed/speedtest.db
|
||||
source = https://github.com/librespeed/speedtest-go/archive/v1.1.3.zip
|
||||
backup = usr/share/librespeed/assets/index.html
|
||||
source = https://github.com/librespeed/speedtest-go/archive/v1.1.5.zip
|
||||
source = librespeed.ico
|
||||
source = librespeed.service
|
||||
source = librespeed.sysusers
|
||||
source = librespeed.tmpfiles
|
||||
source = settings.toml
|
||||
sha256sums = b4bf0a88df3ba87643b8be567fda0cf4cdfc234102c21c9103e8303518e25b62
|
||||
sha256sums = c9db604a942f3fcc25f75b8e630fdb95916bf604721d0d1dbd70f29554ab766c
|
||||
sha256sums = f481669c460713f3fc1c4fafbbd7ef5c5afbb21ef60221d36cea11a127e73a3c
|
||||
sha256sums = 4a0d7a5a4aa43eeb967dff70c899de820cb725c74841a5b5eea37cea78ca1d42
|
||||
sha256sums = 8bcbda327d2be9a4fc8195f39b5876c7e48562af2f5956417ad78d857183ce75
|
||||
sha256sums = d2cdcfd2a5d4ed1b482915c65e38a3aa06e34e967510a3721ea95180fe31c83f
|
||||
sha256sums = ef3ee7877738f801edc83a56ef83ed49cef2f6a7431641a55f3f6d5c8967059e
|
||||
sha256sums = 5a7daa3e93243d780379438dd13e112844b9e5064e9d89d1fb4d97e52e89138a
|
||||
sha256sums = 36cb69ea0ca1ed28e608e54202fa319ba25bbd8fc111d47eb345d34d182b91d4
|
||||
|
||||
pkgname = librespeed-go
|
||||
|
||||
|
65
PKGBUILD
65
PKGBUILD
@ -1,31 +1,37 @@
|
||||
# Maintainer: AlphaJack <alphajack at tuta dot io>
|
||||
|
||||
pkgname="librespeed-go"
|
||||
pkgver=1.1.3
|
||||
pkgver=1.1.5
|
||||
pkgrel=1
|
||||
pkgdesc="Very lightweight speed test implemented in Javascript, using XMLHttpRequest and Web Workers."
|
||||
pkgdesc="Very lightweight speed test implemented in Javascript, using XMLHttpRequest and Web Workers"
|
||||
url="https://github.com/librespeed/speedtest-go"
|
||||
license=("LGPL3")
|
||||
arch=("i386" "x86_64" "aarch64" "armv5h" "armv6h" "armv7h")
|
||||
conflicts=("librespeed-go-bin")
|
||||
makedepends=("go>=1.13")
|
||||
optdepends=("mariadb: database"
|
||||
"postgresql: database")
|
||||
makedepends=("go>=1.16")
|
||||
optdepends=("mariadb: alternative database to bolt"
|
||||
"postgresql: alternative database to bolt")
|
||||
source=("https://github.com/librespeed/speedtest-go/archive/v$pkgver.zip"
|
||||
"librespeed.ico"
|
||||
"librespeed.service"
|
||||
"librespeed.sysusers"
|
||||
"librespeed.tmpfiles"
|
||||
"settings.toml")
|
||||
sha256sums=("b4bf0a88df3ba87643b8be567fda0cf4cdfc234102c21c9103e8303518e25b62"
|
||||
"c9db604a942f3fcc25f75b8e630fdb95916bf604721d0d1dbd70f29554ab766c"
|
||||
"d2cdcfd2a5d4ed1b482915c65e38a3aa06e34e967510a3721ea95180fe31c83f"
|
||||
"ef3ee7877738f801edc83a56ef83ed49cef2f6a7431641a55f3f6d5c8967059e"
|
||||
"5a7daa3e93243d780379438dd13e112844b9e5064e9d89d1fb4d97e52e89138a")
|
||||
backup=("etc/librespeed/settings.toml" "var/lib/librespeed/speedtest.db")
|
||||
"librespeed.tmpfiles")
|
||||
sha256sums=('f481669c460713f3fc1c4fafbbd7ef5c5afbb21ef60221d36cea11a127e73a3c'
|
||||
'4a0d7a5a4aa43eeb967dff70c899de820cb725c74841a5b5eea37cea78ca1d42'
|
||||
'8bcbda327d2be9a4fc8195f39b5876c7e48562af2f5956417ad78d857183ce75'
|
||||
'd2cdcfd2a5d4ed1b482915c65e38a3aa06e34e967510a3721ea95180fe31c83f'
|
||||
'36cb69ea0ca1ed28e608e54202fa319ba25bbd8fc111d47eb345d34d182b91d4')
|
||||
backup=("etc/librespeed/settings.toml" "usr/share/librespeed/assets/index.html")
|
||||
|
||||
prepare(){
|
||||
cd "speedtest-go-$pkgver/assets"
|
||||
sed -i "s/LibreSpeed Example/LibreSpeed/" *.html
|
||||
cd "speedtest-go-$pkgver"
|
||||
# use arch linux paths
|
||||
sed -i "settings.toml" \
|
||||
-e 's|^assets_path=.*|assets_path="/usr/share/librespeed/assets"|' \
|
||||
-e 's|database_file=.*|database_file="/var/lib/librespeed/speedtest.db"|'
|
||||
# remove "Example" from html pages
|
||||
sed -i "web/assets/"*.html \
|
||||
-e "s|LibreSpeed Example|LibreSpeed Speedtest|g"
|
||||
}
|
||||
|
||||
build(){
|
||||
@ -34,21 +40,24 @@ build(){
|
||||
}
|
||||
|
||||
package(){
|
||||
install -D -m 644 "librespeed.service" "$pkgdir/usr/lib/systemd/system/librespeed.service"
|
||||
install -D -m 644 "librespeed.sysusers" "$pkgdir/usr/lib/sysusers.d/librespeed.conf"
|
||||
install -D -m 644 "librespeed.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/librespeed.conf"
|
||||
install -D -m 640 "settings.toml" "$pkgdir/etc/librespeed/settings.toml"
|
||||
|
||||
cd "speedtest-go-$pkgver"
|
||||
# binary file
|
||||
install -D "speedtest" "$pkgdir/usr/bin/librespeed"
|
||||
# configuration
|
||||
install -D -m 640 "settings.toml" "$pkgdir/etc/librespeed/settings.toml"
|
||||
# database
|
||||
install -d -m 750 "$pkgdir/var/lib/librespeed"
|
||||
#touch "$pkgdir/var/lib/librespeed/speedtest.db"
|
||||
# webapp files
|
||||
install -d "$pkgdir/usr/share/librespeed"
|
||||
install -m 644 "database/mysql/telemetry_mysql.sql" "$pkgdir/usr/share/librespeed"
|
||||
install -m 644 "database/postgresql/telemetry_postgresql.sql" "$pkgdir/usr/share/librespeed"
|
||||
cp -r "assets" "$pkgdir/usr/share/librespeed"
|
||||
|
||||
install -D "speedtest" "$pkgdir/usr/bin/librespeed"
|
||||
|
||||
install -d -m 750 "$pkgdir/var/lib/librespeed"
|
||||
touch "$pkgdir/var/lib/librespeed/speedtest.db"
|
||||
|
||||
install -D -m 644 "LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
|
||||
# html pages
|
||||
install -D -m 644 "web/assets/example-singleServer-full.html" "web/assets/index.html"
|
||||
install -D -m 644 "$srcdir/librespeed.ico" "web/assets/favicon.ico"
|
||||
cp -r "web/assets" "$pkgdir/usr/share/librespeed"
|
||||
# systemd files
|
||||
install -D -m 644 "$srcdir/librespeed.service" "$pkgdir/usr/lib/systemd/system/librespeed.service"
|
||||
install -D -m 644 "$srcdir/librespeed.sysusers" "$pkgdir/usr/lib/sysusers.d/librespeed.conf"
|
||||
install -D -m 644 "$srcdir/librespeed.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/librespeed.conf"
|
||||
}
|
||||
|
BIN
librespeed.ico
Normal file
BIN
librespeed.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 17 KiB |
@ -1,29 +1,135 @@
|
||||
# Systemd unit file for librespeed-go. The defaults below are suitable for
|
||||
# running all configurations in a medium-security environment. See comments
|
||||
# below for addtional caveats - particularly those labelled "IMPORTANT".
|
||||
|
||||
# You can edit this file, or alternatively you may prefer to use systemd's
|
||||
# "override" mechanisms, to avoid editing this file e.g. using:
|
||||
|
||||
# systemctl edit librespeed.service
|
||||
|
||||
[Unit]
|
||||
Description=Librespeed speed test
|
||||
After=network.target
|
||||
Description=LibreSpeed Server
|
||||
After=syslog.target network-online.target
|
||||
|
||||
# Default to using socket activation (see accompanying socket unit file to
|
||||
# configure the bind address etc.).
|
||||
#Requires=librespeed.socket
|
||||
#After=librespeed.socket
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
# The paths to the installed binary and configuration file:
|
||||
|
||||
ExecStart=/usr/bin/librespeed -c /etc/librespeed/settings.toml
|
||||
WorkingDirectory=/var/lib/librespeed
|
||||
Restart=on-failure
|
||||
#RestartSec=5
|
||||
|
||||
# IMPORTANT!
|
||||
# If you use a database file (not server), then you will need to disable the
|
||||
# DynamicUser setting, and manually create the UNIX user and group specified
|
||||
# below, to ensure the file is accessible across multiple invocations of the
|
||||
# service.
|
||||
#DynamicUser=true
|
||||
|
||||
# You may prefer to use a different user or group name on your system.
|
||||
User=librespeed
|
||||
Group=librespeed
|
||||
WorkingDirectory=/usr/share/librespeed/
|
||||
ExecStart=/usr/bin/librespeed -c /etc/librespeed/settings.toml
|
||||
|
||||
DevicePolicy=closed
|
||||
|
||||
# The following options will work for all configurations, but are not the
|
||||
# most secure, so you are advised to customise them as described below:
|
||||
|
||||
# If NOT using socket activation, or if using socket activation AND
|
||||
# connecting to an external database server (MySQL, postgres) via TCP:
|
||||
RestrictAddressFamilies=AF_INET AF_INET6
|
||||
|
||||
# If connecting to an external database via unix domain sockets (MySQL
|
||||
# default to this mode of operation):
|
||||
RestrictAddressFamilies=AF_UNIX
|
||||
|
||||
# If using 'none', 'memory', or 'bolt' database types, and socket activation
|
||||
# then the process will not need to bind to any new sockets, so we can remove
|
||||
# the earlier AF_UNIX option again. In systemd versions before 249 this is
|
||||
# the only way to say "Restrict the use of all address families":
|
||||
RestrictAddressFamilies=AF_UNIX
|
||||
RestrictAddressFamilies=~AF_UNIX
|
||||
# ...in systemd version 249 and later, we can instead use the much clearer:
|
||||
#RestrictAddressFamilies=none
|
||||
|
||||
# The following options are available (in systemd v247) to restrict the
|
||||
# actions of the librespeed server for reasons of increased security.
|
||||
|
||||
# As a whole, the purpose of these are to provide an additional layer of
|
||||
# security by mitigating any unknown security vulnerabilities which may exist
|
||||
# in librespeed or in the libraries, tools and operating system components
|
||||
# which it relies upon.
|
||||
|
||||
# IMPORTANT!
|
||||
# The following line must be customised to your individual requirements.
|
||||
# e.g. if using the 'bolt' in-process database type:
|
||||
ReadWritePaths=/var/lib/librespeed
|
||||
|
||||
# Makes created files group-readable, but inaccessible by others
|
||||
UMask=027
|
||||
|
||||
# Many of the following options are desribed in the systemd.resource-control(5)
|
||||
# manual page.
|
||||
|
||||
# The following may be useful in your environment:
|
||||
#IPAddressDeny=
|
||||
#IPAddressAllow=
|
||||
#IPAccounting=true
|
||||
#IPIngressFilterPath=
|
||||
#SocketBindAllow=
|
||||
|
||||
# If your system doesn't support all of the features below (e.g. because of
|
||||
# the use of a version of systemd older than 247), you may need to comment-out
|
||||
# some of the following lines.
|
||||
|
||||
# n.b. It may be possible to further restrict librespeed, but this is a good
|
||||
# start, and will guard against many potential zero-day vulnerabilities.
|
||||
|
||||
# See the output of `systemd-analyze security librespeed.service` for further
|
||||
# opportunities. Patches welcome!
|
||||
|
||||
CapabilityBoundingSet=
|
||||
LockPersonality=true
|
||||
MemoryDenyWriteExecute=true
|
||||
NoNewPrivileges=yes
|
||||
PrivateTmp=yes
|
||||
PrivateUsers=yes
|
||||
ProtectControlGroups=yes
|
||||
ProtectKernelModules=yes
|
||||
ProtectKernelTunables=yes
|
||||
RestrictNamespaces=yes
|
||||
RestrictRealtime=yes
|
||||
ReadWritePaths=/var/lib/librespeed
|
||||
ReadWritePaths=/etc/librespeed/settings.toml
|
||||
PrivateDevices=yes
|
||||
PrivateDevices=true
|
||||
PrivateUsers=true
|
||||
ProtectSystem=strict
|
||||
ProtectHome=true
|
||||
MemoryDenyWriteExecute=yes
|
||||
ProtectHome=yes
|
||||
ProtectClock=true
|
||||
ProtectControlGroups=true
|
||||
ProtectKernelLogs=true
|
||||
ProtectKernelModules=true
|
||||
ProtectKernelTunables=true
|
||||
ProtectProc=invisible
|
||||
ProtectHostname=true
|
||||
RemoveIPC=true
|
||||
RestrictNamespaces=true
|
||||
RestrictSUIDSGID=true
|
||||
RestrictRealtime=true
|
||||
SystemCallArchitectures=native
|
||||
SystemCallFilter=@system-service
|
||||
|
||||
# Additionally, you may wish to use some of the systemd options documented in
|
||||
# systemd.resource-control(5) to limit the CPU, memory, file-system I/O and
|
||||
# network I/O that the librespeed server is permitted to consume according to
|
||||
# the individual requirements of your installation.
|
||||
|
||||
#CPUQuota=25%
|
||||
#MemoryMax=bytes
|
||||
#MemorySwapMax=bytes
|
||||
#TasksMax=N
|
||||
#IOReadBandwidthMax=device bytes
|
||||
#IOWriteBandwidthMax=device bytes
|
||||
#IOReadIOPSMax=device IOPS, IOWriteIOPSMax=device IOPS
|
||||
#IPAccounting=true
|
||||
#IPAddressAllow=
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
@ -1,3 +1,2 @@
|
||||
d /var/lib/librespeed 0750 librespeed librespeed
|
||||
f /etc/librespeed/settings.toml 0640 root librespeed
|
||||
f /var/lib/librespeed/speedtest.db 0640 librespeed librespeed
|
||||
|
@ -1,29 +0,0 @@
|
||||
# bind address, use empty string to bind to all interfaces
|
||||
bind_address=""
|
||||
# backend listen port
|
||||
listen_port=8989
|
||||
# proxy protocol port, use 0 to disable
|
||||
proxyprotocol_port=0
|
||||
# Server location
|
||||
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
|
||||
assets_path="/usr/share/librespeed/assets"
|
||||
|
||||
# password for logging into statistics page
|
||||
statistics_password="PASSWORD"
|
||||
# redact IP addresses
|
||||
redact_ip_addresses=false
|
||||
|
||||
# database type for statistics data, currently supports: bolt, mysql, postgresql
|
||||
database_type="bolt"
|
||||
database_hostname=""
|
||||
database_name=""
|
||||
database_username=""
|
||||
database_password=""
|
||||
|
||||
# if you use `bolt` as database, set database_file to database file location
|
||||
database_file="/var/lib/librespeed/speedtest.db"
|
Loading…
Reference in New Issue
Block a user