mirror of
https://github.com/bolucat/Archive.git
synced 2025-10-05 08:08:03 +08:00
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
|