v1.0.0beta8fix2
~修复手动更新订阅功能出错的bug ~调整本机代理功能设置 ~修复GoogleHome无法使用的问题 ~调整启动脚本,适配部分采用openwrt12等旧版本的设备
This commit is contained in:
@@ -1,14 +1,15 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
# Example script
|
||||
# Copyright (C) 2007 OpenWrt.org
|
||||
|
||||
USE_PROCD=1
|
||||
START=92
|
||||
|
||||
SERVICE_DAEMONIZE=1
|
||||
SERVICE_WRITE_PID=1
|
||||
USE_PROCD=1
|
||||
|
||||
|
||||
start_service() {
|
||||
#开机加载环境变量保证找到文件路径
|
||||
source /etc/profile > /dev/null 2>&1
|
||||
#创建clash后台进程
|
||||
clashdir=$(cat /etc/profile|grep clashdir|awk -F "\"" '{print $2}')
|
||||
#使用procd创建clash后台进程
|
||||
procd_open_instance
|
||||
procd_set_param respawn
|
||||
procd_set_param stderr 1
|
||||
@@ -16,5 +17,18 @@ start_service() {
|
||||
procd_set_param command $clashdir/clash -d $clashdir
|
||||
procd_close_instance
|
||||
#其他设置
|
||||
sh $clashdir/start.sh afstart
|
||||
$clashdir/start.sh afstart
|
||||
}
|
||||
|
||||
start() {
|
||||
if [ -z "$(pidof procd)" ];then
|
||||
clashdir=$(cat /etc/profile|grep clashdir|awk -F "\"" '{print $2}')
|
||||
#创建后台进程
|
||||
service_start $clashdir/clash -d $clashdir
|
||||
#$clashdir/start.sh deamon
|
||||
#其他设置
|
||||
$clashdir/start.sh afstart
|
||||
else
|
||||
start_service
|
||||
fi
|
||||
}
|
||||
@@ -245,17 +245,20 @@ if [ "$res" = '1' ]; then
|
||||
tar -zxvf '/tmp/clashfm.tar.gz' -C $clashdir/ > /dev/null
|
||||
[ $? -ne 0 ] && echo "文件解压失败!" && exit 1
|
||||
#判断系统类型写入不同的启动文件
|
||||
if [ -n "$(cat /proc/version | grep -i openwrt)" ];then
|
||||
if [ -f /etc/rc.common ];then
|
||||
mv $clashdir/clashservice /etc/init.d/clash #将rc服务文件移动到系统目录
|
||||
chmod 777 /etc/init.d/clash #授予权限
|
||||
rm -rf $clashdir/clash.service
|
||||
else
|
||||
[ -d /etc/systemd/system ] && sysdir=/etc/systemd/system
|
||||
[ -d /usr/lib/systemd/system/ ] && sysdir=/usr/lib/systemd/system/
|
||||
mv $clashdir/clash.service $sysdir/clash.service #将service服务文件移动到系统目录
|
||||
sed -i "s%/etc/clash%${clashdir}%g" $sysdir/clash.service
|
||||
rm -rf $clashdir/clashservice
|
||||
rm -rf /etc/init.d/clash
|
||||
if [ -n "$sysdir" ];then
|
||||
mv $clashdir/clash.service $sysdir/clash.service #将service服务文件移动到系统目录
|
||||
sed -i "s%/etc/clash%${dir}/clash%g" $sysdir/clash.service
|
||||
else
|
||||
#设为保守模式
|
||||
sed -i '/start_old=*/'d $clashdir/mark
|
||||
sed -i "1i\start_old=已开启" $clashdir/mark
|
||||
fi
|
||||
fi
|
||||
#修饰文件及版本号
|
||||
shtype=sh && [ -n "$(ls -l /bin/sh|grep -o dash)" ] && shtype=bash
|
||||
|
||||
Reference in New Issue
Block a user