Files
shadowsocks-rust/debian/shadowsocks-rust.service
T
Klaaktu e33daa7114 systemd unit improvements (#2187)
* systemd: Use network-online.target for server

Fixes #2186
ss-server needs to wait for the network to be up to be able to bind to non-wildcard IPs. Interface is configured at `network-online.target` but not at `network.target`.

ss-local unit is kept the same, with `After=network.target` for proper ordering at shutdown - unit is stopped before network is shutdown.

* systemd unit: improvements

`exec` is [recommended](https://www.freedesktop.org/software/systemd/man/latest/systemd.service.html#Type=).
Add `NoNewPriviledges` which has been used in [Arch packaging](https://gitlab.archlinux.org/archlinux/packaging/packages/shadowsocks-rust/-/blob/main/shadowsocks-rust-server%40.service?ref_type=heads).
Add `CAP_NET_ADMIN` in ss-local which is needed for TUN mode.
Removed `CAP_NET_BIND_SERVICE` from ss-local. Do you really need to bind to priviledged port in *client*?
Debian unit left un-hardened. I'm not sure why it's different from the other ss-server unit.
2026-09-29 10:03:02 +08:00

21 lines
542 B
Desktop File

# This file is part of shadowsocks-rust.
#
# This file is default for Debian packaging. See also
# /etc/default/shadowsocks-rust for environment variables.
[Unit]
Description=Shadowsocks-rust Default Server Service
Documentation=https://github.com/shadowsocks/shadowsocks-rust
After=network-online.target
Wants=network-online.target
[Service]
Type=exec
EnvironmentFile=/etc/default/shadowsocks-rust
DynamicUser=yes
LimitNOFILE=32768
ExecStart=/usr/bin/ssservice server -c ${CONFFILE} ${DAEMON_ARGS}
[Install]
WantedBy=multi-user.target