mirror of
https://github.com/shadowsocks/shadowsocks-rust.git
synced 2026-02-09 01:59:16 +08:00
* debian: fix up postinst bad substitution Fix up postinst bad substitution caused by Bash string manipulation in the Dash script. * debian: update compat file Fix up the warning caused by compatibility levels before 10 are deprecated. * debian: replace user nobody in systemd file with dynamicuser * debian: remove dependency on apg and pwgen in control file * debian: update shadowsocks-rust-server@.service Add `DynamicUser=yes` in shadowsocks-rust-server@.service * debian: update shadowsocks-rust-local@.service Add `DynamicUser=yes` in shadowsocks-rust-local@.service --------- Co-authored-by: mesher2024 <mesher2024@users.noreply.github.com>
49 lines
1.1 KiB
Bash
49 lines
1.1 KiB
Bash
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
# POSIX-compliant maint function recommend by devref
|
|
# to check for the existence of a command
|
|
# https://www.debian.org/doc/manuals/developers-reference/ch06.html#bpp-debian-maint-scripts
|
|
pathfind() {
|
|
OLDIFS="$IFS"
|
|
IFS=:
|
|
for p in $PATH; do
|
|
if [ -x "$p/$*" ]; then
|
|
IFS="$OLDIFS"
|
|
return 0
|
|
fi
|
|
done
|
|
IFS="$OLDIFS"
|
|
return 1
|
|
}
|
|
|
|
case "$1" in
|
|
configure|reconfigure)
|
|
pathfind setcap && setcap \
|
|
cap_net_bind_service+ep /usr/bin/ssservice \
|
|
cap_net_bind_service+ep /usr/bin/sslocal \
|
|
cap_net_bind_service+ep /usr/bin/ssserver
|
|
if [ ! -f /etc/shadowsocks-rust/config.json ]; then
|
|
set +e
|
|
passwd=$(/usr/bin/ssservice genkey -m "chacha20-ietf-poly1305")
|
|
passwd=$(echo $passwd | sed "s/+/\\\\+/g" | sed "s/\\//\\\\\\//g")
|
|
set -e
|
|
mkdir -p /etc/shadowsocks-rust
|
|
sed "s/barfoo/$passwd/" /usr/share/shadowsocks-rust/config.json \
|
|
> /etc/shadowsocks-rust/config.json
|
|
fi
|
|
;;
|
|
abort-upgrade|abort-remove|abort-deconfigure)
|
|
exit 0
|
|
;;
|
|
*)
|
|
echo "postinst called with unknown argument \`$1'" >&2
|
|
exit 0
|
|
;;
|
|
esac
|
|
|
|
#DEBHELPER#
|
|
|
|
exit 0
|