mirror of
https://github.com/juewuy/ShellCrash.git
synced 2026-03-11 07:51:45 +00:00
~脚本拆分后bug修复
This commit is contained in:
38
scripts/starts/shellcrash.procd
Normal file
38
scripts/starts/shellcrash.procd
Normal file
@@ -0,0 +1,38 @@
|
||||
#!/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() {
|
||||
if [ -n "$(cat $CRASHDIR/configs/ShellCrash.cfg | grep 'firewall_area=5')" ]; then
|
||||
"$CRASHDIR"/starts/fw_start.sh #主旁转发
|
||||
else
|
||||
#本机代理用户
|
||||
[ -n "$(grep 'shellcrash:x:0:7890' /etc/passwd)" ] && USER=shellcrash || USER=root
|
||||
#检测必须文件
|
||||
"$CRASHDIR"/starts/bfstart.sh
|
||||
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"/starts/afstart.sh &
|
||||
fi
|
||||
fi
|
||||
}
|
||||
stop_service() {
|
||||
procd_close_instance
|
||||
"$CRASHDIR"/starts/fw_stop.sh
|
||||
}
|
||||
Reference in New Issue
Block a user