add systemd example

This commit is contained in:
postscriptum 2026-03-22 13:17:52 +02:00
parent 630c026b8c
commit 6b77f63a23

View file

@ -38,4 +38,48 @@ duckduckgo.com
// IP resolved // IP resolved
1.2.3.4 1.2.3.4
``` ```
* see also: [my personal asset](https://codeberg.org/postscriptum/psocks-list) * see also: [my personal asset](https://codeberg.org/postscriptum/psocks-list)
### systemd
``` bash
git clone https://codeberg.org/postscriptum/psocks.git
cd psocks
cargo build --release --locked
sudo install target/release/psocks /usr/local/bin
sudo useradd -s /usr/sbin/nologin -Mr psocks
sudo mkdir /var/lib/psocks && sudo chown psocks:psocks /var/lib/psocks
sudo mkdir /var/log/psocks && sudo chown psocks:psocks /var/log/psocks
```
``` /etc/systemd/system/psocks.service
#/etc/systemd/system/psocks.service
[Unit]
After=network-online.target
Wants=network-online.target
[Service]
User=psocks
Group=psocks
WorkingDirectory=/var/lib/psocks
ExecStart=/usr/local/bin/psocks \
-a=https://codeberg.org/postscriptum/psocks-list/raw/branch/main/allow/internet.txt \
-c=/var/lib/psocks/cache.txt \
no-auth
Restart=always
Environment="RUST_LOG=warn"
Environment="NO_COLOR=1"
StandardOutput=file:///var/log/psocks/debug.log
StandardError=file:///var/log/psocks/error.log
[Install]
WantedBy=multi-user.target
```
* `sudo systemctl restart psocks`
* `sudo systemctl enable psocks`
* `sudo systemctl status psocks`