mirror of
https://github.com/juewuy/ShellCrash.git
synced 2024-11-16 19:55:57 +08:00
2d00da175f
~优化文件结构,清理工作目录 -/configs————脚本配置文件相关 -/yamls————clash配置文件相关 -/tools————脚本工具相关 -卸载时增加是否保留配置文件确认 -更新时将自动清理部分无用文件 ~配置文件覆写代码优化 -增加去重逻辑,防止user.yaml内容冲突 -现在生成的配置直接在缓存中执行 -修复自定义配置出错时无法正确还原配置文件的问题 -修复others.yaml不会被正确读取的bug ~增加公共维护列表/public,欢迎提交pr -servers.list————用于维护内置订阅转换规则/服务器、更新服务器 -fake_ip_filter.list————用于fake-ip地址过滤 -fallback-filter.list————用于fallback-DNS域名解析筛选 -在线配置生成后端部分地址替换 ~重写DNS生成逻辑 -尝试使用fake-ip模拟redir-host,以兼容更多内核 -兼容fake_ip_filter.list及fallback-filter.list -修复bing、领英官网自动跳转cn的问题 ~新手引导增加自动配置ipv6路由 ~屏蔽QUIC功能增加ipv6支持 ~修复局域网过滤功能不会提示重启的bug ~修复公网访问功能导致iptables不停累加的bug
47 lines
1.1 KiB
Bash
47 lines
1.1 KiB
Bash
#!/bin/sh /etc/rc.common
|
|
|
|
START=99
|
|
|
|
SERVICE_DAEMONIZE=1
|
|
SERVICE_WRITE_PID=1
|
|
USE_PROCD=1
|
|
#获取目录
|
|
DIR=$(cat /etc/profile | grep clashdir | awk -F "\"" '{print $2}')
|
|
[ -z "$DIR" ] && DIR=$(cat ~/.bashrc | grep clashdir | awk -F "\"" '{print $2}')
|
|
BINDIR=$(cat $DIR/configs/ShellClash.cfg | grep bindir | awk -F "=" '{print $2}')
|
|
[ -z "$BINDIR" ] && BINDIR=$DIR
|
|
TMPDIR=/tmp/clash_$USER
|
|
|
|
start_service() {
|
|
#检测必须文件
|
|
$DIR/start.sh bfstart
|
|
if [ "$?" = "0" ];then
|
|
#使用procd创建clash后台进程
|
|
procd_open_instance
|
|
procd_set_param respawn
|
|
procd_set_param stderr 0
|
|
procd_set_param stdout 0
|
|
procd_set_param command $BINDIR/clash -d $BINDIR -f $TMPDIR/config.yaml
|
|
procd_close_instance
|
|
#其他设置
|
|
$DIR/start.sh afstart
|
|
fi
|
|
}
|
|
|
|
start() {
|
|
if [ -z "$(pidof procd)" ];then
|
|
#检测必须文件
|
|
$DIR/start.sh bfstart
|
|
if [ "$?" = "0" ];then
|
|
#创建后台进程
|
|
service_start $BINDIR/clash -d $BINDIR -f $TMPDIR/config.yaml
|
|
#其他设置
|
|
$DIR/start.sh afstart
|
|
#设置守护进程
|
|
$DIR/start.sh daemon
|
|
fi
|
|
else
|
|
start_service
|
|
fi
|
|
}
|