mirror of
https://github.com/juewuy/ShellCrash.git
synced 2024-11-16 03:32:34 +08:00
85f01c987a
~修复procd启动本机代理回环的bug
36 lines
958 B
Bash
36 lines
958 B
Bash
#!/bin/sh /etc/rc.common
|
|
|
|
START=99
|
|
|
|
SERVICE_DAEMONIZE=1
|
|
SERVICE_WRITE_PID=1
|
|
USE_PROCD=1
|
|
#获取目录
|
|
CRASHDIR=$(cat /etc/profile | grep CRASHDIR | awk -F "\"" '{print $2}')
|
|
[ -z "$CRASHDIR" ] && CRASHDIR=$(cat ~/.bashrc | grep CRASHDIR | awk -F "\"" '{print $2}')
|
|
source ${CRASHDIR}/configs/command.env #加载启动命令和启动目录
|
|
|
|
start_service() {
|
|
#检测必须文件
|
|
$CRASHDIR/start.sh bfstart
|
|
#本机代理用户
|
|
[ -n "$(grep -E 'local_type.*增强模式' ${CRASHDIR}/configs/ShellCrash.cfg)" ] && USER=shellcrash || USER=root
|
|
if [ "$?" = "0" ];then
|
|
#使用procd创建clash后台进程
|
|
procd_open_instance
|
|
procd_set_param user $USER
|
|
procd_set_param respawn
|
|
procd_set_param command $COMMAND
|
|
procd_set_param stderr 0
|
|
procd_set_param stdout 0
|
|
procd_close_instance
|
|
#启动结束执行
|
|
$CRASHDIR/start.sh afstart
|
|
fi
|
|
}
|
|
stop_service(){
|
|
procd_close_instance
|
|
$CRASHDIR/start.sh stop_firewall
|
|
$CRASHDIR/start.sh unset_proxy
|
|
}
|