From 6957a4e709889bb1e7f3e660a8712dd75fe72bd9 Mon Sep 17 00:00:00 2001 From: AlphaJack Date: Sat, 16 Jul 2022 11:53:24 +0200 Subject: [PATCH] Updated librespeed-go to 1.1.5, updated systemd files and added favicon --- .SRCINFO | 25 ++++---- PKGBUILD | 65 ++++++++++++--------- librespeed.ico | Bin 0 -> 16958 bytes librespeed.service | 138 +++++++++++++++++++++++++++++++++++++++----- librespeed.tmpfiles | 1 - settings.toml | 29 ---------- 6 files changed, 171 insertions(+), 87 deletions(-) create mode 100644 librespeed.ico delete mode 100644 settings.toml diff --git a/.SRCINFO b/.SRCINFO index 2c3c259..51041b3 100644 --- a/.SRCINFO +++ b/.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 - diff --git a/PKGBUILD b/PKGBUILD index 3d94ac9..4d4a8a6 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -1,31 +1,37 @@ # Maintainer: AlphaJack 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" } diff --git a/librespeed.ico b/librespeed.ico new file mode 100644 index 0000000000000000000000000000000000000000..e50e89a3760609dcbbe5e8c019e00779b5a4a677 GIT binary patch literal 16958 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 literal 0 HcmV?d00001 diff --git a/librespeed.service b/librespeed.service index 5788b68..27d3ea6 100644 --- a/librespeed.service +++ b/librespeed.service @@ -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 diff --git a/librespeed.tmpfiles b/librespeed.tmpfiles index 0da2169..0a02261 100644 --- a/librespeed.tmpfiles +++ b/librespeed.tmpfiles @@ -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 diff --git a/settings.toml b/settings.toml deleted file mode 100644 index f2728a7..0000000 --- a/settings.toml +++ /dev/null @@ -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"