immortalwrt/package/ctcgfw/subweb/files/subweb.init
2020-07-19 15:32:19 +08:00

53 lines
1.2 KiB
Bash
Executable File

#!/bin/sh /etc/rc.common
START=99
USE_PROCD=1
BIN=/etc/subweb/subweb.sh
PID=
getPid(){
local pid=$(ps| grep /etc/subweb/api.py | grep python3 | sed "s/^[ \s]\{1,\}//g;s/[ \s]\{1,\}$//g" | cut -d ' ' -f1)
PID=$pid
}
start_service() {
getPid
local pid=$PID
if [ ! -z "$pid" ]; then
echo "Subweb has already run, PID is "$pid
return 0
fi
[ ! -e /etc/subweb/config/subconverter ] && ln -fs /usr/bin/subconverter /etc/subweb/config/subconverter
local ipInConf=$(cat /etc/subweb/api/aff.py| grep apiip | cut -d "'" -f2 | cut -d ":" -f2 | cut -d "/" -f3)
local ipOfLan=$(uci get network.lan.ipaddr)
echo IP in conf is $ipInConf, LAN ip is $ipOfLan
if [ "$ipOfLan" != "$ipInConf" ]; then
echo IP mismatch. Change ip in /etc/subweb/api/aff.py
sed -i 's/'$ipInConf'/'$ipOfLan'/' /etc/subweb/api/aff.py
fi
procd_open_instance
procd_set_param command $BIN
procd_set_param respawn
procd_set_param stderr 1
procd_close_instance
echo Subweb started.
}
stop_service() {
getPid
local pid=$PID
if [ ! -z "$pid" ]; then
echo Found subweb process, which PID is $pid
kill $pid
echo Subweb process has been terminated.
else
echo No subweb process found.
return 0
fi
}
reload_service() {
stop
start
}