Files
MIXBOX-ARCHIVE/apps/ssserver/scripts/ssserver.sh
2018-12-31 23:47:47 +08:00

76 lines
1.5 KiB
Bash

#!/bin/sh
source /etc/mixbox/bin/base
eval `mbdb export ssserver`
binname="shadowsocks-libev"
start() {
[ -n "$(pidof ss-server)" ] && logsh "$service" "${appname}已经在运行!" && exit 1
logsh "$service" "正在启动${appname}服务... "
# cru a "${appname}" "0 6 * * * ${mbroot}/apps/${appname}/scripts/${appname}.sh restart"
# Scripts Here
cat > ${mbroot}/apps/${appname}/config/ss.json <<-EOF
{
"server":"0.0.0.0",
"server_port":${port},
"password":"$password",
"timeout":300,
"user":"nobody",
"method":"$method",
"nameserver":"223.5.5.5",
"mode":"tcp_and_udp"
}
EOF
open_port
write_firewall_start
daemon ${mbroot}/apps/${appname}/bin/ss-server -c ${mbroot}/apps/${appname}/config/ss.json
logsh "$service" "启动${appname}服务完成!"
}
stop() {
logsh "$service" "正在停止${appname}服务... "
[ "$enable" == '0' ] && destroy
close_port
remove_firewall_start
kill -9 "$(pidof ss-server)" &> /dev/null
}
destroy() {
# End app, Scripts here
# cru d "${appname}"
return
}
end() {
mbdb set $appname.main.enable=0
stop && exit 1
}
status() {
if [ -n "$(pidof ss-server)" ]; then
status="运行端口号:${port}|1"
else
status="未运行|0"
fi
mbdb set ${appname}.main.status="$status"
}
case "$1" in
start) start ;;
stop) stop ;;
restart) stop; start ;;
reload) close_port && open_port ;;
status) status ;;
esac