From 5c01db2b9053d55e727a91e56498e7ea1a0469fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20G=C3=B6llnitz?= Date: Thu, 4 Sep 2025 21:23:52 +0200 Subject: [PATCH] systemd/systemd-services: add vnstat service MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Monitoring the network usage due to mobile connections being metred is probably interesting to more users. vnstat is also the basis for Usage's optional network view. Signed-off-by: Markus Göllnitz Part-of: --- .../postmarketos-base-systemd/APKBUILD | 4 +-- ...r-lib-systemd-system-preset-90-base.preset | 3 ++ extra-repos/systemd/systemd-services/APKBUILD | 8 +++-- .../systemd-services/system-vnstat.service | 36 +++++++++++++++++++ 4 files changed, 47 insertions(+), 4 deletions(-) create mode 100644 extra-repos/systemd/systemd-services/system-vnstat.service diff --git a/extra-repos/systemd/postmarketos-base-systemd/APKBUILD b/extra-repos/systemd/postmarketos-base-systemd/APKBUILD index 571d0e7d1..faf472bfe 100644 --- a/extra-repos/systemd/postmarketos-base-systemd/APKBUILD +++ b/extra-repos/systemd/postmarketos-base-systemd/APKBUILD @@ -2,7 +2,7 @@ # Co-maintainer: Clayton Craft # pmbootstrap installs this, if systemd is selected in "pmbootstrap init". pkgname=postmarketos-base-systemd -pkgver=52 +pkgver=53 pkgrel=0 pkgdesc="Meta package for running postmarketOS with systemd" url="https://postmarketos.org" @@ -105,7 +105,7 @@ sha512sums=" 2faac294bb632762e247b850f09ff4b544ccff6c462efd8d4faca71ba30bdfa9c460377a0dc88e92c5dbbe251017d164064a56ac0e0410f224b45d4f5f81866c rootfs-etc-systemd-logind.conf 15423bfda57c90ab62fe69865ca4072a0aeb83bf77d9c278257e346f4da81843d010b41003c91ae9f3fcb1c67447645e7c19078eea2bf11312051e6ad7523ad1 rootfs-usr-share-mkinitfs-files-extra-01-initramfs-base-systemd.files 94063e3a3f983b7613d9de6bfc067096f79b12688f45667faf968f9a9bae194c4c8e554311f2ab5614edcc4d4499f6d30aa965a67b7417c26ce4d07edc847178 rootfs-usr-lib-NetworkManager-conf.d-50-dns.conf -5cde069bb04a4241341ea3d7f3ff1d61baefb45770d6f4f8945d34cc37e004fcc6e7c7baff9dcc6b08aaf7c82909ae0adfa25ff7f6165784ba11115cc424171d rootfs-usr-lib-systemd-system-preset-90-base.preset +5863dcdd949d03ba2ea4810bb7bd60c342fa813a1e6e1d0508d06010d0d8d59df24ada3e184423e360f666e4c3378d07a1167c12db7632dbebf9c8dd0c5c0fd8 rootfs-usr-lib-systemd-system-preset-90-base.preset 1458d526e3d68c052126f648a33c3f22af10e3a4d479dded824c2b18b2022b43232ea6f8c2061f051927b2d612750017a2ecf7e1a19680b71ca2dc112d5bd3f6 rootfs-usr-lib-systemd-system-system.slice.d-10-oomd-defaults.conf eec660310e5dd9782aaedeb0895844b2815a61169526f8ff6a21265f8167ef279004a973971308c2f0af8824e734f8556bd78cfabb908d742aaf7798e60e761e rootfs-usr-lib-systemd-user-preset-90-base.preset 1458d526e3d68c052126f648a33c3f22af10e3a4d479dded824c2b18b2022b43232ea6f8c2061f051927b2d612750017a2ecf7e1a19680b71ca2dc112d5bd3f6 rootfs-usr-lib-systemd-user-slice.d-10-oomd-defaults.conf diff --git a/extra-repos/systemd/postmarketos-base-systemd/rootfs-usr-lib-systemd-system-preset-90-base.preset b/extra-repos/systemd/postmarketos-base-systemd/rootfs-usr-lib-systemd-system-preset-90-base.preset index 56805e17c..53e6c751b 100644 --- a/extra-repos/systemd/postmarketos-base-systemd/rootfs-usr-lib-systemd-system-preset-90-base.preset +++ b/extra-repos/systemd/postmarketos-base-systemd/rootfs-usr-lib-systemd-system-preset-90-base.preset @@ -51,6 +51,9 @@ enable sddm.service ## gnome enable gdm.service +## optional dependency of gnome-usage +enable vnstat.service + ## fbkeyboard enable fbkeyboard.service diff --git a/extra-repos/systemd/systemd-services/APKBUILD b/extra-repos/systemd/systemd-services/APKBUILD index bf7482236..3a8484ef8 100644 --- a/extra-repos/systemd/systemd-services/APKBUILD +++ b/extra-repos/systemd/systemd-services/APKBUILD @@ -7,8 +7,8 @@ # How to add a new service file (5 steps): pkgname=systemd-services # 1. bump pkgver -pkgver=92 -pkgrel=1 +pkgver=93 +pkgrel=0 pkgdesc="Systemd service files" url="https://postmarketos.org" # armhf: pmb#2618 @@ -99,6 +99,7 @@ subpackages=" udisks2-systemd:_service udiskie-systemd:_service usb-moded-systemd:_service + vnstat-systemd:_service vvmd-systemd:_service watchdog-kick-systemd:_service waydroid-sensors-systemd:_service @@ -231,6 +232,7 @@ _udisks2_sources="system/udisks2.service" # From https://github.com/storaged-pro _udiskie_sources="user/udiskie.service" # created, no unit file upstream _usb_moded_sources="system/usb_moded.service" # From usb_moded upstream _vvmd_sources="user/vvmd.service" # From https://salsa.debian.org/DebianOnMobile-team/vvmd/-/blob/debian/latest/debian/vvmd.user.service +_vnstat_sources="system/vnstat.service" # From https://github.com/vergoh/vnstat/blob/master/examples/systemd/vnstat.service _watchdog_kick_sources="system/watchdog-kick.service" _waydroid_sources="system/waydroid-container.service" _waydroid_sensors_sources="system/waydroid-sensors.service" @@ -347,6 +349,7 @@ source="$(flatpath \ $_udiskie_sources \ $_usb_moded_sources \ $_vvmd_sources \ + $_vnstat_sources \ $_watchdog_kick_sources \ $_waydroid_sensors_sources \ $_waydroid_sources \ @@ -506,6 +509,7 @@ c7ea2b18c9d8f82306fbaca6d07b7019de3819d7898c3f50c3d0aceef4da4d311ed3bf31385e2f89 4c43a308e9e653914e534d92fc8caaf8c60cd21ae57bdbbf2fa591c1bd6a41e502268b6e0ff17b19cbe301fc7cfa1ad43070f13b372376fa3ddee9d11bf76f5a user-udiskie.service be47b824125cc54d2e1c879f59421f3c549e3f42c92a53f7117968a861403edf60c9e3bf54fd54a69997ccb22dce6f891d993aec606070884e3ff6da2ac8a5b1 system-usb_moded.service 6029a2cc1e7fbc00fea0b2abe9d4be6fa2a03cee4b7aceaecb2bbc94ddf1ed3127f1ce99a2e38c0e901261ed36aa3a616390da22364b40370b820023dc2b4a8e user-vvmd.service +b7cbb806669929182855dccc8cc6a606d829457dbe78320e13aaa2fcfbfbf0891fa624a499c4f1ba21d15dd8f712f7fb8797119b8bdfbfe55e2c21c673389d28 system-vnstat.service bef07aeb8d5d31d8f0d34e44e8db06f4a0aa1cb77245ca7e11e8775c935e3a3b3dcd923300192b0145c81e50bca76a97cfbee28e0af1e521ace794d26786eeaf system-watchdog-kick.service 841caa793d256cacea7eb651f3d77039b1c0ddb22727100d6cca74230e528aee09e945e1fdf20eaf40abbe3eaec9210eb7fa27144dc906cab65f8078b36921f9 system-waydroid-sensors.service 023fc89481f9079ac2d2d6b8a9ab212cb13a6b309caaa92b336df4c6ee9cff05538f035f8411fd8f6b87ca73b400172f56022edbf02d3776ab6f2aa7af2eebef system-waydroid-container.service diff --git a/extra-repos/systemd/systemd-services/system-vnstat.service b/extra-repos/systemd/systemd-services/system-vnstat.service new file mode 100644 index 000000000..82441e67a --- /dev/null +++ b/extra-repos/systemd/systemd-services/system-vnstat.service @@ -0,0 +1,36 @@ +[Unit] +Description=vnStat network traffic monitor +Documentation=man:vnstatd(8) man:vnstat(1) man:vnstat.conf(5) +After=network.target +StartLimitIntervalSec=20 +StartLimitBurst=4 + +[Service] +ExecStart=/usr/sbin/vnstatd --nodaemon +ExecReload=/bin/kill -HUP $MAINPID +Restart=on-failure +RestartSec=2 + +# Hardening +CapabilityBoundingSet= +LockPersonality=yes +MemoryDenyWriteExecute=yes +NoNewPrivileges=yes +PrivateDevices=yes +PrivateTmp=yes +ProtectClock=yes +ProtectControlGroups=yes +ProtectHome=yes +ProtectKernelLogs=yes +ProtectKernelModules=yes +ProtectKernelTunables=yes +ProtectSystem=strict +ReadWritePaths=/var/lib +RestrictNamespaces=yes +RestrictRealtime=yes +RestrictSUIDSGID=yes +StateDirectory=vnstat + +[Install] +WantedBy=multi-user.target +Alias=vnstatd.service