diff --git a/README.md b/README.md index 34e6b31..9687047 100644 --- a/README.md +++ b/README.md @@ -38,4 +38,48 @@ duckduckgo.com // IP resolved 1.2.3.4 ``` -* see also: [my personal asset](https://codeberg.org/postscriptum/psocks-list) \ No newline at end of file +* 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`