mirror of
https://github.com/juewuy/ShellCrash.git
synced 2026-03-10 23:41:22 +00:00
~增加小米设备对autossh脚本的兼容
~增加小米设备/data/auto_start.sh文件,用于自定义开机启动项 ~增加Mihomo内核默认启用统一延迟功能 ~优化默认DNS,现在会默认使用localhost(如果可用)而不是阿里dns ~优化子菜单加载效率 ~优化部分设备的tun加载流程,修复因为未加载tun模块而导致的启动报错 ~优化dns界面显示 ~修复因为文件拆分路径改变导致的加载失败的一系列bug ~修复局域网过滤白名单失效的bug(需要重新启用) ~修复自定义入站启用失败的bug ~修复前台测试内核运行命令报错的bug ~修复卸载时的意外报错
This commit is contained in:
@@ -132,6 +132,7 @@ if [ "$systype" = "mi_snapshot" -o "$systype" = "ng_snapshot" ]; then
|
||||
path="/data/shellcrash_init.sh"
|
||||
setconfig CRASHDIR "$CRASHDIR" "$CRASHDIR"/starts/snapshot_init.sh
|
||||
mv -f "$CRASHDIR"/starts/snapshot_init.sh "$path"
|
||||
[ ! -f /data/auto_start.sh ] && echo '#用于自定义需要开机启动的功能或者命令,会在开机后自动运行' > /data/auto_start.sh
|
||||
else
|
||||
path="$CRASHDIR"/starts/snapshot_init.sh
|
||||
fi
|
||||
|
||||
@@ -9,3 +9,13 @@
|
||||
[ -z "$fwmark" ] && fwmark=$redir_port
|
||||
routing_mark=$((fwmark + 2))
|
||||
[ -z "$table" ] && table=100
|
||||
|
||||
[ -z "$dns_nameserver" ] && {
|
||||
dns_nameserver='223.5.5.5, 1.2.4.8'
|
||||
cat /proc/net/udp | grep -q '0035' && dns_nameserver='localhost'
|
||||
}
|
||||
[ -z "$dns_fallback" ] && dns_fallback="1.1.1.1, 8.8.8.8"
|
||||
[ -z "$dns_resolver" ] && {
|
||||
dns_resolver="223.5.5.5, 2400:3200::1"
|
||||
cat /proc/net/udp | grep -q '0035' && dns_resolver='localhost'
|
||||
}
|
||||
@@ -1,6 +1,9 @@
|
||||
#!/bin/sh
|
||||
# Copyright (C) Juewuy
|
||||
|
||||
[ -n "$__IS_MODULE_1_START_LOADED" ] && return
|
||||
__IS_MODULE_1_START_LOADED=1
|
||||
|
||||
#启动相关
|
||||
startover() {
|
||||
echo -ne " \r"
|
||||
@@ -24,7 +27,7 @@ start_core() {
|
||||
echo -e "\033[33m没有找到${crashcore}配置文件,尝试生成providers配置文件!\033[0m"
|
||||
[ "$crashcore" = singboxr ] && coretype=singbox
|
||||
[ "$crashcore" = meta -o "$crashcore" = clashpre ] && coretype=clash
|
||||
. "$CRASHDIR"/webget.sh && gen_${coretype}_providers
|
||||
. "$CRASHDIR"/menus/6_core_config.sh && gen_${coretype}_providers
|
||||
elif [ -s $core_config -o -n "$Url" -o -n "$Https" ]; then
|
||||
"$CRASHDIR"/start.sh start
|
||||
#设置循环检测以判定服务启动是否成功
|
||||
@@ -36,7 +39,7 @@ start_core() {
|
||||
}
|
||||
else
|
||||
echo -e "\033[31m没有找到${crashcore}配置文件,请先导入配置文件!\033[0m"
|
||||
. "$CRASHDIR"/webget.sh && set_core_config
|
||||
. "$CRASHDIR"/menus/6_core_config.sh && set_core_config
|
||||
fi
|
||||
}
|
||||
start_service() {
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
#!/bin/sh
|
||||
# Copyright (C) Juewuy
|
||||
|
||||
[ -n "$__IS_MODULE_2_SETTINGS_LOADED" ] && return
|
||||
__IS_MODULE_2_SETTINGS_LOADED=1
|
||||
|
||||
settings() { #功能设置
|
||||
#获取设置默认显示
|
||||
[ -z "$skip_cert" ] && skip_cert=已开启
|
||||
@@ -65,8 +68,8 @@ settings() { #功能设置
|
||||
if [ "$sniffer" = "未启用" ]; then
|
||||
if [ "$crashcore" = "clash" ]; then
|
||||
rm -rf ${TMPDIR}/CrashCore
|
||||
rm -rf ${CRASHDIR}/CrashCore
|
||||
rm -rf ${CRASHDIR}/CrashCore.tar.gz
|
||||
rm -rf "$CRASHDIR"/CrashCore
|
||||
rm -rf "$CRASHDIR"/CrashCore.tar.gz
|
||||
crashcore=meta
|
||||
setconfig crashcore $crashcore
|
||||
echo "已将ShellCrash内核切换为Meta内核!域名嗅探依赖Meta或者高版本clashpre内核!"
|
||||
@@ -86,7 +89,7 @@ settings() { #功能设置
|
||||
echo -e "\033[33m检测到服务正在运行,需要先停止服务!\033[0m"
|
||||
read -p "是否停止服务?(1/0) > " res
|
||||
if [ "$res" = "1" ]; then
|
||||
${CRASHDIR}/start.sh stop
|
||||
"$CRASHDIR"/start.sh stop
|
||||
set_adv_config
|
||||
fi
|
||||
else
|
||||
@@ -124,7 +127,7 @@ settings() { #功能设置
|
||||
fi
|
||||
elif [ "$num" = 3 ]; then
|
||||
mv -f "$CFG_PATH" "$CFG_PATH".bak
|
||||
. ${CRASHDIR}/init.sh >/dev/null
|
||||
. "$CRASHDIR"/init.sh >/dev/null
|
||||
echo -e "\033[32m脚本设置已重置!(旧文件已备份!)\033[0m"
|
||||
fi
|
||||
echo -e "\033[33m请重新启动脚本!\033[0m"
|
||||
@@ -143,7 +146,7 @@ set_redir_mod() { #路由模式设置
|
||||
echo "-----------------------------------------------"
|
||||
echo -e "\033[36m已设为 $redir_mod !!\033[0m"
|
||||
}
|
||||
[ -n "$(ls /dev/net/tun 2>/dev/null)" ] || ip tuntap >/dev/null 2>&1 && sup_tun=1
|
||||
[ -n "$(ls /dev/net/tun 2>/dev/null)" ] || ip tuntap >/dev/null 2>&1 || modprobe tun 2>/dev/null && sup_tun=1
|
||||
[ -z "$firewall_area" ] && firewall_area=1
|
||||
[ -z "$redir_mod" ] && [ "$USER" = "root" -o "$USER" = "admin" ] && redir_mod='Redir模式'
|
||||
[ -z "$redir_mod" ] && redir_mod='纯净模式'
|
||||
@@ -192,7 +195,7 @@ set_redir_mod() { #路由模式设置
|
||||
if [ -f /etc/init.d/qca-nss-ecm -a "$systype" = "mi_snapshot" ]; then
|
||||
read -p "xiaomi设备的QOS服务与本模式冲突,是否禁用相关功能?(1/0) > " res
|
||||
[ "$res" = '1' ] && {
|
||||
${CRASHDIR}/misnap_init.sh tproxyfix
|
||||
/data/shellcrash_init.sh tproxyfix
|
||||
redir_mod=Tproxy模式
|
||||
set_redir_config
|
||||
}
|
||||
@@ -283,7 +286,8 @@ set_fw_filter(){ #流量过滤
|
||||
[ -z "$common_ports" ] && common_ports=已开启
|
||||
[ -z "$quic_rj" ] && quic_rj=未开启
|
||||
[ -z "$cn_ip_route" ] && cn_ip_route=未开启
|
||||
[ -z "$(cat ${CRASHDIR}/configs/mac ${CRASHDIR}/configs/ip_filter 2>/dev/null)" ] && mac_return=未开启 || mac_return=已启用
|
||||
touch "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter
|
||||
[ -z "$(cat "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter 2>/dev/null)" ] && mac_return=未开启 || mac_return=已启用
|
||||
echo "-----------------------------------------------"
|
||||
echo -e " 1 过滤非常用端口: \033[36m$common_ports\033[0m ————用于过滤P2P流量"
|
||||
echo -e " 2 过滤局域网设备: \033[36m$mac_return\033[0m ————使用黑/白名单进行过滤"
|
||||
@@ -319,17 +323,17 @@ set_fw_filter(){ #流量过滤
|
||||
echo "-----------------------------------------------"
|
||||
if [ -n "$(pidof CrashCore)" ]; then
|
||||
read -p "切换时将停止服务,是否继续?(1/0) > " res
|
||||
[ "$res" = 1 ] && ${CRASHDIR}/start.sh stop && set_common_ports
|
||||
[ "$res" = 1 ] && "$CRASHDIR"/start.sh stop && set_common_ports
|
||||
else
|
||||
set_common_ports
|
||||
fi
|
||||
set_fw_filter
|
||||
;;
|
||||
2)
|
||||
checkcfg_mac=$(cat ${CRASHDIR}/configs/mac)
|
||||
checkcfg_mac=$(cat "$CRASHDIR"/configs/mac)
|
||||
fw_filter_lan
|
||||
if [ -n "$PID" ]; then
|
||||
checkcfg_mac_new=$(cat ${CRASHDIR}/configs/mac)
|
||||
checkcfg_mac_new=$(cat "$CRASHDIR"/configs/mac)
|
||||
[ "$checkcfg_mac" != "$checkcfg_mac_new" ] && checkrestart
|
||||
fi
|
||||
set_fw_filter
|
||||
@@ -444,7 +448,7 @@ fw_filter_lan() { #局域网设备过滤
|
||||
add_mac() {
|
||||
echo "-----------------------------------------------"
|
||||
echo 已添加的mac地址:
|
||||
cat ${CRASHDIR}/configs/mac 2>/dev/null
|
||||
cat "$CRASHDIR"/configs/mac 2>/dev/null
|
||||
echo "-----------------------------------------------"
|
||||
echo -e "\033[33m序号 设备IP 设备mac地址 设备名称\033[32m"
|
||||
cat $dhcpdir | awk '{print " "NR" "$3,$2,$4}'
|
||||
@@ -456,8 +460,8 @@ fw_filter_lan() { #局域网设备过滤
|
||||
if [ -z "$num" -o "$num" = 0 ]; then
|
||||
i=
|
||||
elif [ -n "$(echo $num | grep -aE '^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$')" ]; then
|
||||
if [ -z "$(cat ${CRASHDIR}/configs/mac | grep -E "$num")" ]; then
|
||||
echo $num | grep -oE '^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$' >>${CRASHDIR}/configs/mac
|
||||
if [ -z "$(cat "$CRASHDIR"/configs/mac | grep -E "$num")" ]; then
|
||||
echo $num | grep -oE '^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$' >>"$CRASHDIR"/configs/mac
|
||||
else
|
||||
echo "-----------------------------------------------"
|
||||
echo -e "\033[31m已添加的设备,请勿重复添加!\033[0m"
|
||||
@@ -465,8 +469,8 @@ fw_filter_lan() { #局域网设备过滤
|
||||
add_mac
|
||||
elif [ $num -le $(cat $dhcpdir 2>/dev/null | awk 'END{print NR}') ]; then
|
||||
macadd=$(cat $dhcpdir | awk '{print $2}' | sed -n "$num"p)
|
||||
if [ -z "$(cat ${CRASHDIR}/configs/mac | grep -E "$macadd")" ]; then
|
||||
echo $macadd >>${CRASHDIR}/configs/mac
|
||||
if [ -z "$(cat "$CRASHDIR"/configs/mac | grep -E "$macadd")" ]; then
|
||||
echo $macadd >>"$CRASHDIR"/configs/mac
|
||||
else
|
||||
echo "-----------------------------------------------"
|
||||
echo -e "\033[31m已添加的设备,请勿重复添加!\033[0m"
|
||||
@@ -481,7 +485,7 @@ fw_filter_lan() { #局域网设备过滤
|
||||
add_ip() {
|
||||
echo "-----------------------------------------------"
|
||||
echo "已添加的IP地址(段):"
|
||||
cat ${CRASHDIR}/configs/ip_filter 2>/dev/null
|
||||
cat "$CRASHDIR"/configs/ip_filter 2>/dev/null
|
||||
echo "-----------------------------------------------"
|
||||
echo -e "\033[33m序号 设备IP 设备名称\033[32m"
|
||||
cat $dhcpdir | awk '{print " "NR" "$3,$4}'
|
||||
@@ -494,8 +498,8 @@ fw_filter_lan() { #局域网设备过滤
|
||||
if [ -z "$num" -o "$num" = 0 ]; then
|
||||
i=
|
||||
elif [ -n "$(echo $num | grep -aE '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(/(3[0-2]|[12]?[0-9]))?$')" ]; then
|
||||
if [ -z "$(cat ${CRASHDIR}/configs/ip_filter | grep -E "$num")" ]; then
|
||||
echo $num | grep -oE '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(/(3[0-2]|[12]?[0-9]))?$' >>${CRASHDIR}/configs/ip_filter
|
||||
if [ -z "$(cat "$CRASHDIR"/configs/ip_filter | grep -E "$num")" ]; then
|
||||
echo $num | grep -oE '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(/(3[0-2]|[12]?[0-9]))?$' >>"$CRASHDIR"/configs/ip_filter
|
||||
else
|
||||
echo "-----------------------------------------------"
|
||||
echo -e "\033[31m已添加的地址,请勿重复添加!\033[0m"
|
||||
@@ -503,8 +507,8 @@ fw_filter_lan() { #局域网设备过滤
|
||||
add_ip
|
||||
elif [ $num -le $(cat $dhcpdir 2>/dev/null | awk 'END{print NR}') ]; then
|
||||
ipadd=$(cat $dhcpdir | awk '{print $3}' | sed -n "$num"p)
|
||||
if [ -z "$(cat ${CRASHDIR}/configs/mac | grep -E "$ipadd")" ]; then
|
||||
echo $ipadd >>${CRASHDIR}/configs/ip_filter
|
||||
if [ -z "$(cat "$CRASHDIR"/configs/mac | grep -E "$ipadd")" ]; then
|
||||
echo $ipadd >>"$CRASHDIR"/configs/ip_filter
|
||||
else
|
||||
echo "-----------------------------------------------"
|
||||
echo -e "\033[31m已添加的地址,请勿重复添加!\033[0m"
|
||||
@@ -518,14 +522,14 @@ fw_filter_lan() { #局域网设备过滤
|
||||
}
|
||||
del_all() {
|
||||
echo "-----------------------------------------------"
|
||||
if [ -z "$(cat ${CRASHDIR}/configs/mac ${CRASHDIR}/configs/ip_filter 2>/dev/null)" ]; then
|
||||
if [ -z "$(cat "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter 2>/dev/null)" ]; then
|
||||
echo -e "\033[31m列表中没有需要移除的设备!\033[0m"
|
||||
sleep 1
|
||||
else
|
||||
echo -e "请选择需要移除的设备:\033[36m"
|
||||
echo -e "\033[33m 设备IP 设备mac地址 设备名称\033[0m"
|
||||
i=1
|
||||
for dev in $(cat ${CRASHDIR}/configs/mac ${CRASHDIR}/configs/ip_filter 2>/dev/null); do
|
||||
for dev in $(cat "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter 2>/dev/null); do
|
||||
get_devinfo
|
||||
echo -e " $i \033[32m$dev_ip \033[36m$dev_mac \033[32m$dev_name\033[0m"
|
||||
i=$((i + 1))
|
||||
@@ -533,18 +537,18 @@ fw_filter_lan() { #局域网设备过滤
|
||||
echo "-----------------------------------------------"
|
||||
echo -e "\033[0m 0 或回车 结束删除"
|
||||
read -p "请输入需要移除的设备的对应序号 > " num
|
||||
mac_filter_rows=$(cat ${CRASHDIR}/configs/mac 2>/dev/null | wc -l)
|
||||
ip_filter_rows=$(cat ${CRASHDIR}/configs/ip_filter 2>/dev/null | wc -l)
|
||||
mac_filter_rows=$(cat "$CRASHDIR"/configs/mac 2>/dev/null | wc -l)
|
||||
ip_filter_rows=$(cat "$CRASHDIR"/configs/ip_filter 2>/dev/null | wc -l)
|
||||
if [ -z "$num" ] || [ "$num" -le 0 ]; then
|
||||
n=
|
||||
elif [ $num -le $mac_filter_rows ]; then
|
||||
sed -i "${num}d" ${CRASHDIR}/configs/mac
|
||||
sed -i "${num}d" "$CRASHDIR"/configs/mac
|
||||
echo "-----------------------------------------------"
|
||||
echo -e "\033[32m对应设备已移除!\033[0m"
|
||||
del_all
|
||||
elif [ $num -le $((mac_filter_rows + ip_filter_rows)) ]; then
|
||||
num=$((num - mac_filter_rows))
|
||||
sed -i "${num}d" ${CRASHDIR}/configs/ip_filter
|
||||
sed -i "${num}d" "$CRASHDIR"/configs/ip_filter
|
||||
echo "-----------------------------------------------"
|
||||
echo -e "\033[32m对应设备已移除!\033[0m"
|
||||
del_all
|
||||
@@ -561,8 +565,8 @@ fw_filter_lan() { #局域网设备过滤
|
||||
[ -z "$dhcpdir" ] && [ -f /tmp/dhcp.leases ] && dhcpdir='/tmp/dhcp.leases'
|
||||
[ -z "$dhcpdir" ] && [ -f /tmp/dnsmasq.leases ] && dhcpdir='/tmp/dnsmasq.leases'
|
||||
[ -z "$dhcpdir" ] && dhcpdir='/dev/null'
|
||||
[ -z "$fw_filter_lan_type" ] && fw_filter_lan_type='黑名单'
|
||||
if [ "$fw_filter_lan_type" = "黑名单" ]; then
|
||||
[ -z "$macfilter_type" ] && macfilter_type='黑名单'
|
||||
if [ "$macfilter_type" = "黑名单" ]; then
|
||||
fw_filter_lan_over='白名单'
|
||||
fw_filter_lan_scrip='不'
|
||||
else
|
||||
@@ -573,15 +577,15 @@ fw_filter_lan() { #局域网设备过滤
|
||||
echo -e "\033[30;47m请在此添加或移除设备\033[0m"
|
||||
echo -e "当前过滤方式为:\033[33m$fw_filter_lan_type模式\033[0m"
|
||||
echo -e "仅列表内设备流量\033[36m$fw_filter_lan_scrip经过\033[0m内核"
|
||||
if [ -n "$(cat ${CRASHDIR}/configs/mac)" ]; then
|
||||
if [ -n "$(cat "$CRASHDIR"/configs/mac)" ]; then
|
||||
echo "-----------------------------------------------"
|
||||
echo -e "当前已过滤设备为:\033[36m"
|
||||
echo -e "\033[33m 设备mac/ip地址 设备名称\033[0m"
|
||||
for dev in $(cat ${CRASHDIR}/configs/mac 2>/dev/null); do
|
||||
for dev in $(cat "$CRASHDIR"/configs/mac 2>/dev/null); do
|
||||
get_devinfo
|
||||
echo -e "\033[36m$dev_mac \033[0m$dev_name"
|
||||
done
|
||||
for dev in $(cat ${CRASHDIR}/configs/ip_filter 2>/dev/null); do
|
||||
for dev in $(cat "$CRASHDIR"/configs/ip_filter 2>/dev/null); do
|
||||
get_devinfo
|
||||
echo -e "\033[32m$dev_ip \033[0m$dev_name"
|
||||
done
|
||||
@@ -597,8 +601,8 @@ fw_filter_lan() { #局域网设备过滤
|
||||
case "$num" in
|
||||
0) ;;
|
||||
1)
|
||||
fw_filter_lan_type=$fw_filter_lan_over
|
||||
setconfig fw_filter_lan_type $fw_filter_lan_type
|
||||
macfilter_type=$fw_filter_lan_over
|
||||
setconfig macfilter_type $macfilter_type
|
||||
echo "-----------------------------------------------"
|
||||
echo -e "\033[32m已切换为$fw_filter_lan_type模式!\033[0m"
|
||||
fw_filter_lan
|
||||
@@ -616,8 +620,8 @@ fw_filter_lan() { #局域网设备过滤
|
||||
fw_filter_lan
|
||||
;;
|
||||
9)
|
||||
: >${CRASHDIR}/configs/mac
|
||||
: >${CRASHDIR}/configs/ip_filter
|
||||
: >"$CRASHDIR"/configs/mac
|
||||
: >"$CRASHDIR"/configs/ip_filter
|
||||
echo "-----------------------------------------------"
|
||||
echo -e "\033[31m设备列表已清空!\033[0m"
|
||||
fw_filter_lan
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
#!/bin/sh
|
||||
# Copyright (C) Juewuy
|
||||
|
||||
[ -n "$__IS_MODULE_4_SETBOOT_LOADED" ] && return
|
||||
__IS_MODULE_4_SETBOOT_LOADED=1
|
||||
|
||||
allow_autostart(){
|
||||
[ -f /etc/rc.common -a "$(cat /proc/1/comm)" = "procd" ] && /etc/init.d/shellcrash enable
|
||||
ckcmd systemctl && systemctl enable shellcrash.service >/dev/null 2>&1
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
#!/bin/ash
|
||||
# Copyright (C) Juewuy
|
||||
|
||||
[ -n "$__IS_MODULE_5_TASK_LOADED" ] && return
|
||||
__IS_MODULE_5_TASK_LOADED=1
|
||||
|
||||
#通用工具
|
||||
. "$CRASHDIR"/libs/set_config.sh
|
||||
. "$CRASHDIR"/libs/set_cron.sh
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
#!/bin/sh
|
||||
# Copyright (C) Juewuy
|
||||
|
||||
[ -n "$__IS_MODULE_6_CORECONFIG_LOADED" ] && return
|
||||
__IS_MODULE_6_CORECONFIG_LOADED=1
|
||||
|
||||
YAMLSDIR="$CRASHDIR"/yamls
|
||||
JSONSDIR="$CRASHDIR"/jsons
|
||||
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
#!/bin/sh
|
||||
# Copyright (C) Juewuy
|
||||
|
||||
[ -n "$__IS_MODULE_7_GATEWAY_LOADED" ] && return
|
||||
__IS_MODULE_7_GATEWAY_LOADED=1
|
||||
|
||||
. "$GT_CFG_PATH"
|
||||
. "$CRASHDIR"/menus/check_port.sh
|
||||
. "$CRASHDIR"/libs/gen_base64.sh
|
||||
@@ -242,7 +246,7 @@ set_vmess(){
|
||||
setconfig vms_service "$vms_service"
|
||||
else
|
||||
if [ -n "$vms_port" ] && [ -n "$vms_uuid" ];then
|
||||
vms_service=OFF
|
||||
vms_service=ON
|
||||
setconfig vms_service "$vms_service"
|
||||
else
|
||||
echo -e "\033[31m请先完成必选设置!\033[0m"
|
||||
@@ -352,7 +356,7 @@ set_shadowsocks(){
|
||||
setconfig sss_service "$sss_service"
|
||||
else
|
||||
if [ -n "$sss_port" ] && [ -n "$sss_cipher" ] && [ -n "$sss_pwd" ];then
|
||||
sss_service=OFF
|
||||
sss_service=ON
|
||||
setconfig sss_service "$sss_service"
|
||||
else
|
||||
echo -e "\033[31m请先完成必选设置!\033[0m"
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
#!/bin/sh
|
||||
# Copyright (C) Juewuy
|
||||
|
||||
[ -n "$__IS_MODULE_8_TOOLS_LOADED" ] && return
|
||||
__IS_MODULE_8_TOOLS_LOADED=1
|
||||
|
||||
. "$CRASHDIR"/libs/logger.sh
|
||||
. "$CRASHDIR"/libs/web_get_bin.sh
|
||||
|
||||
@@ -168,7 +171,7 @@ tools() {
|
||||
get_bin "$TMPDIR"/tun.ko bin/fix/tun.ko
|
||||
if [ "$?" = "0" ]; then
|
||||
mv -f "$TMPDIR"/tun.ko "$CRASHDIR"/tools/tun.ko &&
|
||||
"$CRASHDIR"/misnap_init.sh tunfix &&
|
||||
/data/shellcrash_init.sh tunfix &&
|
||||
echo -e "\033[32m设置成功!请重启服务!\033[0m"
|
||||
else
|
||||
echo -e "\033[31m文件下载失败,请重试!\033[0m"
|
||||
@@ -629,7 +632,7 @@ debug(){
|
||||
2)
|
||||
"$CRASHDIR"/start.sh stop
|
||||
"$CRASHDIR"/start.sh bfstart
|
||||
"$COMMAND"
|
||||
$COMMAND
|
||||
rm -rf "$TMPDIR"/CrashCore
|
||||
echo "-----------------------------------------------"
|
||||
exit
|
||||
@@ -758,15 +761,6 @@ userguide(){
|
||||
setconfig BINDIR /tmp/ShellCrash "$CRASHDIR"/configs/command.env
|
||||
}
|
||||
fi
|
||||
#设置加密DNS
|
||||
if [ -s $openssldir/certs/ca-certificates.crt ];then
|
||||
dns_nameserver='https://dns.alidns.com/dns-query, https://doh.pub/dns-query'
|
||||
dns_fallback='https://cloudflare-dns.com/dns-query, https://dns.google/dns-query, https://doh.opendns.com/dns-query'
|
||||
dns_resolver='https://223.5.5.5/dns-query, 2400:3200::1'
|
||||
setconfig dns_nameserver "'$dns_nameserver'"
|
||||
setconfig dns_fallback "'$dns_fallback'"
|
||||
setconfig dns_resolver "'$dns_resolver'"
|
||||
fi
|
||||
#启用推荐的自动任务配置
|
||||
. "$CRASHDIR"/menus/5_task.sh && task_recom
|
||||
#小米设备软固化
|
||||
|
||||
@@ -10,6 +10,7 @@ bot_tg_start(){
|
||||
bot_tg_stop(){
|
||||
cronset 'TG_BOT守护进程'
|
||||
[ -f "$TMPDIR/bot_tg.pid" ] && kill -TERM "$(cat "$TMPDIR/bot_tg.pid")"
|
||||
killall bot_tg.sh 2>/dev/null
|
||||
rm -f "$TMPDIR/bot_tg.pid"
|
||||
}
|
||||
bot_tg_cron(){
|
||||
|
||||
@@ -8,18 +8,16 @@ set_dns_mod() { #DNS模式设置
|
||||
echo -e "当前DNS运行模式为:\033[47;30m $dns_mod \033[0m"
|
||||
echo -e "\033[33m切换模式后需要手动重启服务以生效!\033[0m"
|
||||
echo "-----------------------------------------------"
|
||||
echo -e " 1 MIX模式: \033[32m防污染防泄露,响应快,推荐!\033[0m"
|
||||
echo -e " cn域名realip其他fakeip分流"
|
||||
echo -e " 2 Route模式:\033[32m防污染防泄露,全真实IP\033[0m"
|
||||
echo -e " cn域名realip其他dns2proxy分流"
|
||||
echo -e " 3 Redir模式:\033[33m不安全,易被污染\033[0m"
|
||||
echo -e " 建议搭配第三方DNS服务使用"
|
||||
echo -e " 1 MIX模式: \033[32mCN域名realip其他fake-ip分流\033[0m"
|
||||
echo -e " 2 Route模式:\033[32mCN域名realip其他dns2proxy分流\033[0m"
|
||||
echo -e " 3 Redir模式:\033[33m不安全,需搭配第三方DNS服务使用\033[0m"
|
||||
echo "-----------------------------------------------"
|
||||
echo -e " 4 DNS防泄漏: \033[36m$dns_protect\033[0m ———启用时少量网站可能连接卡顿"
|
||||
echo -e " 5 Hosts优化: \033[36m$hosts_opt\033[0m ———调用本机hosts并劫持NTP服务"
|
||||
[ "$dns_mod" = "mix" ] &&
|
||||
echo -e " 8 管理MIX模式Fake-ip过滤列表"
|
||||
echo -e " 9 \033[36mDNS进阶设置\033[0m"
|
||||
echo "-----------------------------------------------"
|
||||
echo " 0 返回上级菜单"
|
||||
read -p "请输入对应数字 > " num
|
||||
case "$num" in
|
||||
@@ -113,9 +111,6 @@ fake_ip_filter() {
|
||||
esac
|
||||
}
|
||||
set_dns_adv() { #DNS详细设置
|
||||
[ -z "$dns_nameserver" ] && dns_nameserver='223.5.5.5, 1.2.4.8'
|
||||
[ -z "$dns_fallback" ] && dns_fallback="1.1.1.1, 8.8.8.8"
|
||||
[ -z "$dns_resolver" ] && dns_resolver="223.5.5.5, 2400:3200::1"
|
||||
[ -z "$dns_no" ] && dns_no=未禁用
|
||||
echo "-----------------------------------------------"
|
||||
echo -e "当前基础DNS:\033[32m$dns_nameserver\033[0m"
|
||||
@@ -201,12 +196,10 @@ set_dns_adv() { #DNS详细设置
|
||||
set_dns_adv
|
||||
;;
|
||||
9)
|
||||
dns_nameserver=
|
||||
dns_fallback=
|
||||
dns_resolver=
|
||||
setconfig dns_nameserver
|
||||
setconfig dns_fallback
|
||||
setconfig dns_resolver
|
||||
. "$CRASHDIR"/libs/get_config.sh
|
||||
echo -e "\033[33mDNS配置已重置!!!\033[0m"
|
||||
sleep 1
|
||||
set_dns_adv
|
||||
|
||||
@@ -35,11 +35,11 @@ uninstall() {
|
||||
sed -i '/export CRASHDIR=*/'d /etc/profile 2>/dev/null
|
||||
sed -i '/export crashdir=*/'d /etc/profile 2>/dev/null
|
||||
[ -w ~/.zshrc ] && {
|
||||
sed -i "/alias $my_alias=*/"d ~/.zshrc
|
||||
sed -i '/export CRASHDIR=*/'d ~/.zshrc
|
||||
sed -i "/alias $my_alias=*/"d ~/.zshrc 2>/dev/null
|
||||
sed -i '/export CRASHDIR=*/'d ~/.zshrc 2>/dev/null
|
||||
}
|
||||
sed -i '/all_proxy/'d $profile
|
||||
sed -i '/ALL_PROXY/'d $profile
|
||||
sed -i '/all_proxy/'d /etc/profile 2>/dev/null
|
||||
sed -i '/ALL_PROXY/'d /etc/profile 2>/dev/null
|
||||
sed -i "/启用外网访问SSH服务/d" /etc/firewall.user 2>/dev/null
|
||||
sed -i '/ShellCrash初始化/'d /etc/storage/started_script.sh 2>/dev/null
|
||||
sed -i '/ShellCrash初始化/'d /jffs/.asusrouter 2>/dev/null
|
||||
@@ -50,7 +50,7 @@ uninstall() {
|
||||
rm -rf /www/clash
|
||||
rm -rf /tmp/ShellCrash
|
||||
rm -rf /usr/bin/crash
|
||||
sed -i '/0:7890/d' /etc/passwd
|
||||
sed -i '/0:7890/d' /etc/passwd 2>/dev/null
|
||||
userdel -r shellcrash 2>/dev/null
|
||||
nvram set script_usbmount="" 2>/dev/null
|
||||
nvram commit 2>/dev/null
|
||||
|
||||
@@ -129,6 +129,8 @@ fi
|
||||
echo "shellcrash:x:0:7890:::" >>/etc/passwd
|
||||
fi
|
||||
}
|
||||
#加载系统内核组件
|
||||
[ "$redir_mod" = "Tun模式" -o "$redir_mod" = "混合模式" ] && ckcmd modprobe && modprobe tun 2>/dev/null
|
||||
#清理debug日志
|
||||
rm -rf /tmp/ShellCrash/debug.log
|
||||
rm -rf "$CRASHDIR"/debug.log
|
||||
|
||||
@@ -1,10 +1,6 @@
|
||||
#!/bin/sh
|
||||
# Copyright (C) Juewuy
|
||||
|
||||
#默认dns
|
||||
[ -z "$dns_nameserver" ] && dns_nameserver='223.5.5.5, 1.2.4.8'
|
||||
[ -z "$dns_fallback" ] && dns_fallback="1.1.1.1, 8.8.8.8"
|
||||
[ -z "$dns_resolver" ] && dns_resolver="223.5.5.5, 2400:3200::1"
|
||||
#修饰clash配置文件
|
||||
modify_yaml() {
|
||||
##########需要变更的配置###########
|
||||
@@ -80,6 +76,7 @@ $exper
|
||||
$sniffer_set
|
||||
$find_process
|
||||
routing-mark: $routing_mark
|
||||
unified-delay: true
|
||||
EOF
|
||||
#读取本机hosts并生成配置文件
|
||||
if [ "$hosts_opt" != "OFF" ] && [ -z "$(grep -aE '^hosts:' "$CRASHDIR"/yamls/user.yaml 2>/dev/null)" ]; then
|
||||
@@ -198,7 +195,7 @@ EOF
|
||||
yaml_user="$CRASHDIR"/yamls/user.yaml
|
||||
#set和user去重,且优先使用user.yaml
|
||||
cp -f "$TMPDIR"/set.yaml "$TMPDIR"/set_bak.yaml
|
||||
for char in mode allow-lan log-level tun experimental external-ui-url interface-name dns store-selected; do
|
||||
for char in mode allow-lan log-level tun experimental external-ui-url interface-name dns store-selected unified-delay; do
|
||||
[ -n "$(grep -E "^$char" $yaml_user)" ] && sed -i "/^$char/d" "$TMPDIR"/set.yaml
|
||||
done
|
||||
}
|
||||
|
||||
@@ -1,10 +1,6 @@
|
||||
#!/bin/sh
|
||||
# Copyright (C) Juewuy
|
||||
|
||||
#默认dns
|
||||
[ -z "$dns_nameserver" ] && dns_nameserver='223.5.5.5'
|
||||
[ -z "$dns_fallback" ] && dns_fallback="1.1.1.1"
|
||||
[ -z "$dns_resolver" ] && dns_resolver="223.5.5.5"
|
||||
#修饰singbox配置文件
|
||||
parse_singbox_dns() { #dns转换
|
||||
first_dns=$(echo "$1" | cut -d',' -f1 | cut -d' ' -f1)
|
||||
|
||||
@@ -68,6 +68,10 @@ auto_start(){
|
||||
"$CRASHDIR"/start.sh start
|
||||
/etc/init.d/shellcrash enable
|
||||
fi
|
||||
#启动自定义服务
|
||||
[ -s /data/auto_start.sh ] && /data/auto_start.sh &
|
||||
#兼容auto_ssh脚本
|
||||
[ -s /data/auto_ssh/auto_ssh.sh ] && /bin/sh /data/auto_ssh/auto_ssh.sh &
|
||||
}
|
||||
init(){
|
||||
#等待启动完成
|
||||
|
||||
Reference in New Issue
Block a user