Files
justme 29d998bc94
ci/woodpecker/push/web-build Pipeline was successful
ci/woodpecker/push/verify Pipeline failed
ci/woodpecker/push/dev-image unknown status
build(quic): bundle Linux runtime libraries [CI]
2026-10-10 04:01:24 +08:00

45 lines
1.1 KiB
Desktop File

[Unit]
Description=MoShiro agent (network line quality collector)
After=network-online.target
Wants=network-online.target
[Service]
Type=exec
User=moshiro
Group=moshiro
Environment=LD_LIBRARY_PATH=/usr/lib/moshiro
ExecStart=/usr/lib/moshiro/moshiro-agent --config /etc/moshiro/agent.json
Restart=always
RestartSec=5
# The agent is a pure collector: it reads its config and identity, never writes files, never starts processes.
ReadOnlyPaths=/etc/moshiro
NoNewPrivileges=yes
ProtectSystem=strict
ProtectHome=yes
PrivateTmp=yes
PrivateDevices=yes
ProtectKernelTunables=yes
ProtectKernelModules=yes
ProtectKernelLogs=yes
ProtectControlGroups=yes
ProtectClock=yes
ProtectHostname=yes
RestrictAddressFamilies=AF_INET AF_INET6
RestrictNamespaces=yes
RestrictRealtime=yes
LockPersonality=yes
# NativeAOT does not JIT, so writable+executable memory is never needed.
MemoryDenyWriteExecute=yes
SystemCallArchitectures=native
# CAP_NET_RAW only for ICMP target tasks. Ports below 1024 need CAP_NET_BIND_SERVICE (add it in a drop-in).
CapabilityBoundingSet=CAP_NET_RAW
AmbientCapabilities=CAP_NET_RAW
MemoryMax=128M
TasksMax=64
LimitNOFILE=4096
[Install]
WantedBy=multi-user.target