9 Commits

Author SHA1 Message Date
juewuy
38d081f40a Merge branch 'master' into dev
# Conflicts:
#	ShellCrash.tar.gz
#	bin/version
#	version
2026-01-27 17:35:43 +08:00
juewuy
6e41971725 ~1.9.4r1.3 pkg 2026-01-27 17:34:33 +08:00
juewuy
bbe711b1ce ~修复停止服务时未同步停止tg_bot进程的bug 2026-01-27 17:33:52 +08:00
juewuy
bae05042db ~bug fix 2026-01-27 17:17:39 +08:00
juewuy
ee523035a6 ~1.9.4r1.2 pkg 2026-01-27 15:25:07 +08:00
juewuy
aae0bd1880 ~1.9.5a6.3 pkg 2026-01-27 15:24:22 +08:00
juewuy
95909e84c2 Merge branch 'master' into dev 2026-01-27 15:23:41 +08:00
juewuy
847010399d ~修复小米自启动失败的bug 2026-01-27 15:23:25 +08:00
juewuy
517675ff53 ~1.9.5a6.2 pkg
~优化启动提示及配置文件管理部分说明
~修复singboxr本地生成配置文件无法正确拉取在线订阅文件的bug
2026-01-27 10:36:54 +08:00
11 changed files with 30 additions and 23 deletions

Binary file not shown.

View File

@@ -1,4 +1,4 @@
meta_v=v1.19.17 meta_v=v1.19.17
singboxr_v=1.13.0-alpha.27 singboxr_v=1.13.0-alpha.27
versionsh=1.9.5alpha6.1 versionsh=1.9.5alpha6.3
GeoIP_v=20251205 GeoIP_v=20251205

View File

@@ -1,7 +1,6 @@
# ===== 启动完成 ===== # ===== 启动完成 =====
START_SERVICE_OK="服务已启动!" START_SERVICE_OK="服务已启动!"
START_WEB_HINT="请前往" START_WEB_HINT="管理面板:"
START_WEB_HINT2="管理内置规则"
START_PAC_HINT="其他设备可使用 PAC 配置:" START_PAC_HINT="其他设备可使用 PAC 配置:"
START_PROXY_HINT="或使用 HTTP / SOCKS5 方式连接:" START_PROXY_HINT="或使用 HTTP / SOCKS5 方式连接:"

View File

@@ -1,7 +1,6 @@
# ===== Startup ===== # ===== Startup =====
START_SERVICE_OK="Service started successfully!" START_SERVICE_OK="Service started successfully!"
START_WEB_HINT="Please use" START_WEB_HINT="Dashboard:"
START_WEB_HINT2="manage built-in rules"
START_PAC_HINT="Other devices can connect using PAC configuration:" START_PAC_HINT="Other devices can connect using PAC configuration:"
START_PROXY_HINT="Or connect using HTTP / SOCKS5:" START_PROXY_HINT="Or connect using HTTP / SOCKS5:"

View File

@@ -10,7 +10,7 @@ startover() {
line_break line_break
separator_line "=" separator_line "="
content_line "\033[32m$START_SERVICE_OK\033[0m" content_line "\033[32m$START_SERVICE_OK\033[0m"
content_line "$START_WEB_HINT \033[4;36mhttp://$host$hostdir\033[0m $START_WEB_HINT2" content_line "$START_WEB_HINT \033[4;36mhttp://$host$hostdir\033[0m"
if [ "$firewall_area" = 4 ]; then if [ "$firewall_area" = 4 ]; then
content_line "" content_line ""

View File

@@ -17,14 +17,15 @@ URI_EXP='ss|vmess|vless|trojan|tuic|anytls|shadowtls|hysteria(2)?'
set_core_config() { set_core_config() {
while true; do while true; do
list=$(cat "$CRASHDIR"/configs/providers.cfg "$CRASHDIR"/configs/providers_uri.cfg 2>/dev/null | list=$(cat "$CRASHDIR"/configs/providers.cfg "$CRASHDIR"/configs/providers_uri.cfg 2>/dev/null |
awk '{ LC_ALL=C awk '{
f1 = $1 f1 = $1
f2 = $2 f2 = $2
gsub(/\360[\200-\277][\200-\277][\200-\277]/,"",f1)
if (length(f1) > 12) if (length(f1) > 12)
f1 = substr(f1, 1, 9) ".." f1 = substr(f1, 1, 8) ".."
if (length(f2) > 39) if (length(f2) > 30)
f2 = substr(f2, 1, 36) "..." f2 = substr(f2, 1, 30) "..."
printf "%-10s\t%-30s\n", f1, f2 printf "%-7s \t%-28s\n", f1, f2
}') }')
comp_box "\033[30;47m配置文件管理\033[0m" comp_box "\033[30;47m配置文件管理\033[0m"
[ -n "$list" ] && { [ -n "$list" ] && {
@@ -150,11 +151,11 @@ setproviders() {
;; ;;
1) 1)
separator_line "=" separator_line "="
content_line "注意:名称或代号不可重复,不支持纯数字!" content_line "注意:不可重复,不支持纯数字,且不要超过4个汉字"
separator_line "-" separator_line "-"
read -p "请输入具体名称或代号 > " text read -r -p "请输入具体名称或代号 > " text
text=$(echo $text | sed 's/ //g') #去空格 text=$(printf "%.12s" "$text" | sed 's/ //g') #截断12字符+去空格
if [ -n "$text" ] && [ -z "$(echo "$text" | grep -E '^[0-9]+$')" ] && ! grep -q "$text" "$CRASHDIR"/configs/providers.cfg; then if [ -n "$text" ] && [ -z "$(echo "$text" | grep -E '^[0-9]+$')" ] && ! grep -q "^$text " "$CRASHDIR"/configs/providers.cfg; then
name="$text" name="$text"
else else
error_input error_input
@@ -194,7 +195,8 @@ setproviders() {
#处理本地文件 #处理本地文件
file=$(printf '%s\n' "$list" | sed -n "${text}p") file=$(printf '%s\n' "$list" | sed -n "${text}p")
if [ -s "$CRASHDIR/providers/$file" ]; then if [ -s "$CRASHDIR/providers/$file" ]; then
link="$file" link="./providers/$file"
[ -z "$name" ] && name="_$(printf "%.12s" "$file" | sed 's/ //g')"
link_uri='' link_uri=''
common_success common_success
else else
@@ -206,7 +208,7 @@ setproviders() {
if [ -n "$(echo $text | grep -E "^$URI_EXP")" ]; then if [ -n "$(echo $text | grep -E "^$URI_EXP")" ]; then
link_uri=$(echo "$text" | sed 's/#.*//g') # 删除注释 link_uri=$(echo "$text" | sed 's/#.*//g') # 删除注释
link='' link=''
[ -z "$name" ] && name=$(printf '%b\n' "$(printf '%s' "$text" | sed 's/+/ /g; s/%/\\x/g')" | sed 's/.*#//') [ -z "$name" ] && name=$(printf '%b' "$(printf '%s' "$text" | sed 's/+/ /g; s/%/\\x/g')" | sed 's/.*#//')
common_success common_success
else else
error_input error_input

View File

@@ -9,7 +9,7 @@ bot_tg_start(){
} }
bot_tg_stop(){ bot_tg_stop(){
cronset 'TG_BOT守护进程' cronset 'TG_BOT守护进程'
[ -f "$TMPDIR/bot_tg.pid" ] && kill -TERM "$(cat "$TMPDIR/bot_tg.pid")" [ -f "$TMPDIR/bot_tg.pid" ] && kill -TERM "$(cat "$TMPDIR/bot_tg.pid")" 2>/dev/null
killall bot_tg.sh 2>/dev/null killall bot_tg.sh 2>/dev/null
rm -f "$TMPDIR/bot_tg.pid" rm -f "$TMPDIR/bot_tg.pid"
} }

View File

@@ -89,6 +89,8 @@ gen_providers_txt(){
ua=${5:-clash.meta} ua=${5:-clash.meta}
exclude=${6#\#} exclude=${6#\#}
include=${7#\#} include=${7#\#}
[ -n "$exclude" ] && exclude_ele="\"exclude\": \"$exclude\","
[ -n "$include" ] && include_ele="\"include\": \"$include\","
if [ -n "$(echo $2|grep -E '^./')" ];then if [ -n "$(echo $2|grep -E '^./')" ];then
cat >> "$TMPDIR"/providers/providers.json <<EOF cat >> "$TMPDIR"/providers/providers.json <<EOF
{ {
@@ -105,8 +107,8 @@ EOF
"path": "./providers/$tag.yaml", "path": "./providers/$tag.yaml",
"user_agent": "$ua", "user_agent": "$ua",
"update_interval": "${interval2}h", "update_interval": "${interval2}h",
"exclude": "$exclude", $exclude_ele
"include": "$include", $include_ele
EOF EOF
fi fi
#通用部分生成 #通用部分生成

View File

@@ -71,9 +71,11 @@ stop)
cronset '保守模式守护进程' cronset '保守模式守护进程'
cronset '运行时每' cronset '运行时每'
cronset '流媒体预解析' cronset '流媒体预解析'
#停止tg_bot
. "$CRASHDIR"/menus/bot_tg_service.sh && bot_tg_stop
#多种方式结束进程 #多种方式结束进程
if [ -f "$TMPDIR/shellcrash.pid" ];then if [ -f "$TMPDIR/shellcrash.pid" ];then
kill -TERM "$(cat "$TMPDIR/shellcrash.pid")" kill -TERM "$(cat "$TMPDIR/shellcrash.pid")" 2>/dev/null
rm -f "$TMPDIR/shellcrash.pid" rm -f "$TMPDIR/shellcrash.pid"
stop_firewall stop_firewall
elif [ "$USER" = "root" ] && grep -q 'systemd' /proc/1/comm; then elif [ "$USER" = "root" ] && grep -q 'systemd' /proc/1/comm; then

View File

@@ -62,7 +62,10 @@ auto_start(){
chmod 755 /etc/init.d/shellcrash chmod 755 /etc/init.d/shellcrash
} }
#初始化环境变量 #初始化环境变量
grep -q '^export CRASHDIR=' '/etc/profile' && . "$CRASHDIR"/libs/set_profile.sh && set_profile '/etc/profile' grep -q '^export CRASHDIR=' '/etc/profile' || {
. "$CRASHDIR"/libs/set_profile.sh
set_profile '/etc/profile'
}
#启动服务 #启动服务
if [ ! -f "$CRASHDIR"/.dis_startup ]; then if [ ! -f "$CRASHDIR"/.dis_startup ]; then
#AX6S/AX6000修复tun功能 #AX6S/AX6000修复tun功能

View File

@@ -1 +1 @@
1.9.5alpha6.1 1.9.5alpha6.3