mirror of
https://github.com/juewuy/ShellCrash.git
synced 2026-03-10 23:41:22 +00:00
~修复管理配置文件功能的若干bug
~优化管理配置文件功能列表显示 ~add content_list() for tui
This commit is contained in:
@@ -16,11 +16,12 @@ 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 |
|
||||||
|
awk '{print $1 " \t" substr($2,1,30)}')
|
||||||
comp_box "\033[30;47m配置文件管理\033[0m"
|
comp_box "\033[30;47m配置文件管理\033[0m"
|
||||||
[ -s "$CRASHDIR"/configs/providers.cfg ] || [ -s "$CRASHDIR"/configs/providers_uri.cfg ] && {
|
[ -n "$list" ] && {
|
||||||
echo -e "\033[36m输入数字可管理对应提供者\033[0m"
|
content_line "\033[36m输入数字可管理对应提供者\033[0m"
|
||||||
cat "$CRASHDIR"/configs/providers.cfg "$CRASHDIR"/configs/providers_uri.cfg 2>/dev/null |
|
content_list "$list" '...'
|
||||||
awk '{print " " NR ") " $1 " \t\t" substr($2,1,30) "..."}'
|
|
||||||
separator_line "-"
|
separator_line "-"
|
||||||
}
|
}
|
||||||
content_line "a) \033[32m添加提供者\033[0m(支持订阅/分享链接及本地文件)"
|
content_line "a) \033[32m添加提供者\033[0m(支持订阅/分享链接及本地文件)"
|
||||||
@@ -75,7 +76,7 @@ set_core_config() {
|
|||||||
;;
|
;;
|
||||||
e)
|
e)
|
||||||
checkcfg=$(cat $CFG_PATH)
|
checkcfg=$(cat $CFG_PATH)
|
||||||
override
|
. "$CRASHDIR"/menus/override.sh && override
|
||||||
if [ -n "$PID" ]; then
|
if [ -n "$PID" ]; then
|
||||||
checkcfg_new=$(cat $CFG_PATH)
|
checkcfg_new=$(cat $CFG_PATH)
|
||||||
[ "$checkcfg" != "$checkcfg_new" ] && checkrestart
|
[ "$checkcfg" != "$checkcfg_new" ] && checkrestart
|
||||||
@@ -117,23 +118,18 @@ setproviders() {
|
|||||||
comp_box "\033[36m支持添加订阅链接/分享链接/本地文件作为提供者\033[0m"
|
comp_box "\033[36m支持添加订阅链接/分享链接/本地文件作为提供者\033[0m"
|
||||||
content_line "1) 设置\033[36m名称或代号\033[0m \033[32m$name\033[0m"
|
content_line "1) 设置\033[36m名称或代号\033[0m \033[32m$name\033[0m"
|
||||||
content_line "2) 设置\033[32m链接或路径\033[0m: \033[36m$link_info...\033[0m"
|
content_line "2) 设置\033[32m链接或路径\033[0m: \033[36m$link_info...\033[0m"
|
||||||
[ -n "$link" ] && {
|
[ -n "$link" ] &&
|
||||||
separator_line '-'
|
content_line "4) 设置\033[33m本地生成覆写\033[0m"
|
||||||
content_line "3) 设置\033[33m健康检查间隔\033[0m:\t\033[47;30m$interval\033[0m"
|
|
||||||
content_line "4) 设置\033[36m自动更新间隔\033[0m:\t\033[47;30m$interval2\033[0m"
|
|
||||||
content_line "5) 设置\033[31m排除节点正则\033[0m:\t\033[47;30m$exclude_w\033[0m"
|
|
||||||
content_line "6) 设置\033[32m包含节点正则\033[0m:\t\033[47;30m$include_w\033[0m"
|
|
||||||
echo "$link" | grep -q '^http' &&
|
|
||||||
content_line "7) 设置\033[33m虚拟浏览器UA\033[0m:\t\033[47;30m$ua\033[0m"
|
|
||||||
}
|
|
||||||
separator_line "-"
|
separator_line "-"
|
||||||
content_line "a) \033[36m保存此提供者\033[0m"
|
content_line "a) \033[36m保存此提供者\033[0m"
|
||||||
[ -n "$link" ] &&
|
[ -n "$link" ] &&
|
||||||
content_line "b) \033[32m本地生成\033[0m仅包含此提供者的配置文件"
|
content_line "b) \033[32m本地生成\033[0m仅包含此提供者的配置文件"
|
||||||
echo "$link$link_uri" | grep -q '://' &&
|
echo "$link$link_uri" | grep -q '://' &&
|
||||||
content_line "c) \033[33m在线生成\033[0m仅包含此提供者的配置文件"
|
content_line "c) \033[33m在线生成\033[0m仅包含此提供者的配置文件"
|
||||||
[ -n "$link" ] &&
|
echo "$link" | grep -q '^http' &&
|
||||||
content_line "e) 直接使用此配置文件(不经过转换)"
|
content_line "e) 从此订阅链接直接拉取配置文件(不经过订阅转换)"
|
||||||
|
echo "$link" | grep -q '^./providers' &&
|
||||||
|
content_line "e) 直接使用此文件作为配置文件(不经过本地生成)"
|
||||||
content_line "d) \033[31m删除此提供者\033[0m"
|
content_line "d) \033[31m删除此提供者\033[0m"
|
||||||
common_back
|
common_back
|
||||||
read -r -p "请输入对应数字> " num
|
read -r -p "请输入对应数字> " num
|
||||||
@@ -165,14 +161,10 @@ setproviders() {
|
|||||||
[ "$f" = "$CRASHDIR"/providers/uri_group ] && continue
|
[ "$f" = "$CRASHDIR"/providers/uri_group ] && continue
|
||||||
[ -f "$f" ] || continue
|
[ -f "$f" ] || continue
|
||||||
printf '%s\n' "${f##*/}"
|
printf '%s\n' "${f##*/}"
|
||||||
done | sort -V
|
done | sort
|
||||||
)
|
)
|
||||||
if [ -n "$list" ];then
|
if [ -n "$list" ];then
|
||||||
i=1
|
content_list "$list"
|
||||||
printf '%s\n' "$list" | while IFS= read -r f; do
|
|
||||||
content_line "$i) $f"
|
|
||||||
i=$((i+1))
|
|
||||||
done
|
|
||||||
separator_line "-"
|
separator_line "-"
|
||||||
read -r -p "请选择对应文件或输入具体链接 > " text
|
read -r -p "请选择对应文件或输入具体链接 > " text
|
||||||
else
|
else
|
||||||
@@ -184,6 +176,7 @@ setproviders() {
|
|||||||
#处理订阅链接
|
#处理订阅链接
|
||||||
text=$(echo "$text" | sed 's/ *(.*)//g; s/#.*//g') #处理注释及超链接
|
text=$(echo "$text" | sed 's/ *(.*)//g; s/#.*//g') #处理注释及超链接
|
||||||
link="$text"
|
link="$text"
|
||||||
|
link_uri=''
|
||||||
common_success
|
common_success
|
||||||
;;
|
;;
|
||||||
[1-9] | [1-9][0-9])
|
[1-9] | [1-9][0-9])
|
||||||
@@ -191,6 +184,7 @@ 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="$file"
|
||||||
|
link_uri=''
|
||||||
common_success
|
common_success
|
||||||
else
|
else
|
||||||
errornum
|
errornum
|
||||||
@@ -200,6 +194,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=''
|
||||||
[ -z "$name" ] && name=$(echo "$text" | grep -o '#.*$' | cut -c2-)
|
[ -z "$name" ] && name=$(echo "$text" | grep -o '#.*$' | cut -c2-)
|
||||||
common_success
|
common_success
|
||||||
else
|
else
|
||||||
@@ -209,55 +204,7 @@ setproviders() {
|
|||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
3)
|
3)
|
||||||
read -p "请输入健康检查间隔(单位:分钟) > " num
|
custproviders
|
||||||
if [ -n "$num" ]; then
|
|
||||||
interval="$num"
|
|
||||||
else
|
|
||||||
errornum
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
4)
|
|
||||||
read -p "请输入自动更新间隔(单位:小时) > " num
|
|
||||||
if [ -n "$num" ]; then
|
|
||||||
interval2="$num"
|
|
||||||
else
|
|
||||||
errornum
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
5)
|
|
||||||
read -p "请输入需要排除的节点关键字(支持正则,不支持空格,输入0删除) > " text
|
|
||||||
text=$(echo "$text" | sed 's/ //g') #去空格
|
|
||||||
case "$text" in
|
|
||||||
0)
|
|
||||||
exclude_w=''
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
exclude_w="$text"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
6)
|
|
||||||
read -p "请输入需要筛选使用的节点关键字(支持正则,不支持空格,输入0删除) > " text
|
|
||||||
text=$(echo "$text" | sed 's/ //g') #去空格
|
|
||||||
case "$text" in
|
|
||||||
0)
|
|
||||||
include_w=''
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
include_w="$text"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
7)
|
|
||||||
read -p "请输入浏览器UA(输入0重置) > " text
|
|
||||||
case "$text" in
|
|
||||||
0)
|
|
||||||
include_w='clash.meta'
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
include_w="$text"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
;;
|
;;
|
||||||
a)
|
a)
|
||||||
addproviders && common_success
|
addproviders && common_success
|
||||||
@@ -301,10 +248,13 @@ setproviders() {
|
|||||||
content_line "\033[31m请确认你完全理解自己在做什么\033[0m"
|
content_line "\033[31m请确认你完全理解自己在做什么\033[0m"
|
||||||
read -p "我确认遇到问题可以自行解决(1/0) > " res
|
read -p "我确认遇到问题可以自行解决(1/0) > " res
|
||||||
[ "$res" = "1" ] && {
|
[ "$res" = "1" ] && {
|
||||||
if [ -s "$CRASHDIR/$link" ]; then
|
file=$(echo "$CRASHDIR/$link" | sed 's|\./||')
|
||||||
|
if [ -f "$file" ]; then
|
||||||
[ -n "$name" ] && addproviders
|
[ -n "$name" ] && addproviders
|
||||||
ln -sf "$CRASHDIR/$link" "$CONFIG_PATH"
|
ln -sf "$file" "$CONFIG_PATH"
|
||||||
elif [ -n "$link" ]; then
|
common_success
|
||||||
|
break
|
||||||
|
elif echo "$link" | grep -q '^http'; then
|
||||||
[ -n "$name" ] && addproviders
|
[ -n "$name" ] && addproviders
|
||||||
Https="$link"
|
Https="$link"
|
||||||
Url=''
|
Url=''
|
||||||
@@ -312,10 +262,14 @@ setproviders() {
|
|||||||
setconfig Url
|
setconfig Url
|
||||||
# 获取在线文件
|
# 获取在线文件
|
||||||
jump_core_config
|
jump_core_config
|
||||||
|
break
|
||||||
|
else
|
||||||
|
content_line "\033[31m请先完成必填选项!\033[0m"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
content_line "\033[31m$请先完成必填选项!\033[0m"
|
content_line "\033[31m请先完成必填选项!\033[0m"
|
||||||
|
sleep 1
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
@@ -342,6 +296,80 @@ addproviders() {
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
custproviders() {
|
||||||
|
while true; do
|
||||||
|
separator_line '-'
|
||||||
|
content_line "1) 设置\033[33m健康检查间隔\033[0m:\t\033[47;30m$interval\033[0m"
|
||||||
|
content_line "2) 设置\033[36m自动更新间隔\033[0m:\t\033[47;30m$interval2\033[0m"
|
||||||
|
echo "$link" | grep -q '^http' &&
|
||||||
|
content_line "3) 设置\033[33m虚拟浏览器UA\033[0m:\t\033[47;30m$ua\033[0m"
|
||||||
|
content_line "4) 设置\033[31m排除节点正则\033[0m:\t\033[47;30m$exclude_w\033[0m"
|
||||||
|
content_line "5) 设置\033[32m包含节点正则\033[0m:\t\033[47;30m$include_w\033[0m"
|
||||||
|
common_back
|
||||||
|
read -r -p "请输入对应数字> " num
|
||||||
|
case "$num" in
|
||||||
|
"" | 0)
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
1)
|
||||||
|
read -p "请输入健康检查间隔(单位:分钟) > " num
|
||||||
|
if [ -n "$num" ]; then
|
||||||
|
interval="$num"
|
||||||
|
else
|
||||||
|
errornum
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
read -p "请输入自动更新间隔(单位:小时) > " num
|
||||||
|
if [ -n "$num" ]; then
|
||||||
|
interval2="$num"
|
||||||
|
else
|
||||||
|
errornum
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
3)
|
||||||
|
read -p "请输入浏览器UA(输入0重置) > " text
|
||||||
|
case "$text" in
|
||||||
|
0)
|
||||||
|
include_w='clash.meta'
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
include_w="$text"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
4)
|
||||||
|
read -p "请输入需要排除的节点关键字(支持正则,不支持空格,输入0删除) > " text
|
||||||
|
text=$(echo "$text" | sed 's/ //g') #去空格
|
||||||
|
case "$text" in
|
||||||
|
0)
|
||||||
|
exclude_w=''
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
exclude_w="$text"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
5)
|
||||||
|
read -p "请输入需要筛选使用的节点关键字(支持正则,不支持空格,输入0删除) > " text
|
||||||
|
text=$(echo "$text" | sed 's/ //g') #去空格
|
||||||
|
case "$text" in
|
||||||
|
0)
|
||||||
|
include_w=''
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
include_w="$text"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
error_letter
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
}
|
||||||
# 调用工具在线获取配置文件
|
# 调用工具在线获取配置文件
|
||||||
jump_core_config() {
|
jump_core_config() {
|
||||||
. "$CRASHDIR"/starts/core_config.sh && get_core_config
|
. "$CRASHDIR"/starts/core_config.sh && get_core_config
|
||||||
|
|||||||
@@ -20,38 +20,37 @@ providers() {
|
|||||||
provider_temp_des=$(grep "$provider_temp_file" "$CRASHDIR"/configs/${CORE_TYPE}_providers.list | awk '{print $1}')
|
provider_temp_des=$(grep "$provider_temp_file" "$CRASHDIR"/configs/${CORE_TYPE}_providers.list | awk '{print $1}')
|
||||||
[ -z "$provider_temp_des" ] && provider_temp_des=$provider_temp_file
|
[ -z "$provider_temp_des" ] && provider_temp_des=$provider_temp_file
|
||||||
fi
|
fi
|
||||||
echo "-----------------------------------------------"
|
separator_line "-"
|
||||||
echo -e "\033[33msingboxr与mihomo内核的providers配置文件不互通!\033[0m"
|
content_line "1) \033[32m生成\033[0m包含全部提供者的配置文件"
|
||||||
echo "-----------------------------------------------"
|
content_line "2) 选择\033[33m规则模版\033[0m \033[32m$provider_temp_des\033[0m"
|
||||||
echo -e " 1 \033[32m生成\033[0m包含全部节点/订阅的配置文件"
|
content_line "3) \033[33m清理\033[0mproviders目录文件"
|
||||||
echo -e " 2 选择\033[33m规则模版\033[0m \033[32m$provider_temp_des\033[0m"
|
separator_line "-"
|
||||||
echo -e " 3 \033[33m清理\033[0mproviders目录文件"
|
common_back
|
||||||
echo "-----------------------------------------------"
|
|
||||||
echo -e " 0 返回上级菜单"
|
|
||||||
read -p "请输入对应字母或数字 > " num
|
read -p "请输入对应字母或数字 > " num
|
||||||
case "$num" in
|
case "$num" in
|
||||||
"" | 0)
|
"" | 0)
|
||||||
break
|
break
|
||||||
;;
|
;;
|
||||||
1)
|
1)
|
||||||
echo "-----------------------------------------------"
|
separator_line "-"
|
||||||
if [ -s "$CRASHDIR"/configs/providers.cfg ] || [ -s "$CRASHDIR"/configs/providers_uri.cfg ]; then
|
if [ -s "$CRASHDIR"/configs/providers.cfg ] || [ -s "$CRASHDIR"/configs/providers_uri.cfg ]; then
|
||||||
. "$CRASHDIR/menus/providers_$CORE_TYPE.sh"
|
. "$CRASHDIR/menus/providers_$CORE_TYPE.sh"
|
||||||
gen_providers
|
gen_providers
|
||||||
else
|
else
|
||||||
echo -e "\033[31m你还未添加链接或本地配置文件,请先添加!\033[0m"
|
content_line "\033[31m你还未添加链接或本地配置文件,请先添加!\033[0m"
|
||||||
sleep 1
|
sleep 1
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
2)
|
2)
|
||||||
echo "-----------------------------------------------"
|
list=$(cat "$CRASHDIR/configs/${CORE_TYPE}_providers.list" | awk '{print $1}')
|
||||||
echo -e "当前规则模版为:\033[32m$provider_temp_des\033[0m"
|
separator_line "-"
|
||||||
echo -e "\033[33m请选择在线模版:\033[0m"
|
content_line "当前规则模版为:\033[32m$provider_temp_des\033[0m"
|
||||||
echo "-----------------------------------------------"
|
content_line "\033[33m请选择在线模版:\033[0m"
|
||||||
cat "$CRASHDIR/configs/$CORE_TYPE_providers.list" | awk '{print " "NR" "$1}'
|
separator_line "-"
|
||||||
echo "-----------------------------------------------"
|
content_list "$list"
|
||||||
echo -e " a 使用\033[36m本地模版\033[0m"
|
separator_line "-"
|
||||||
echo "-----------------------------------------------"
|
content_line "a) 使用\033[36m本地模版\033[0m"
|
||||||
|
common_back
|
||||||
read -p "请输入对应字母或数字 > " num
|
read -p "请输入对应字母或数字 > " num
|
||||||
case "$num" in
|
case "$num" in
|
||||||
"" | 0) ;;
|
"" | 0) ;;
|
||||||
@@ -60,9 +59,9 @@ providers() {
|
|||||||
if [ -s $dir ]; then
|
if [ -s $dir ]; then
|
||||||
provider_temp_file=$dir
|
provider_temp_file=$dir
|
||||||
setconfig provider_temp_"$CORE_TYPE" "$provider_temp_file"
|
setconfig provider_temp_"$CORE_TYPE" "$provider_temp_file"
|
||||||
echo -e "\033[32m设置成功!\033[0m"
|
content_line "\033[32m设置成功!\033[0m"
|
||||||
else
|
else
|
||||||
echo -e "\033[31m输入错误,找不到对应模版文件!\033[0m"
|
content_line "\033[31m输入错误,找不到对应模版文件!\033[0m"
|
||||||
fi
|
fi
|
||||||
sleep 1
|
sleep 1
|
||||||
;;
|
;;
|
||||||
@@ -78,7 +77,7 @@ providers() {
|
|||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
3)
|
3)
|
||||||
echo -e "\033[33m将清空 $CRASHDIR/providers 目录下所有内容\033[0m"
|
content_line "\033[33m将清空 $CRASHDIR/providers 目录下所有内容\033[0m"
|
||||||
read -p "是否继续?(1/0) > " res
|
read -p "是否继续?(1/0) > " res
|
||||||
[ "$res" = "1" ] && rm -rf "$CRASHDIR"/providers && common_success
|
[ "$res" = "1" ] && rm -rf "$CRASHDIR"/providers && common_success
|
||||||
;;
|
;;
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ __IS_MODULE_SUBCONVERTER=1
|
|||||||
subconverter() {
|
subconverter() {
|
||||||
while true; do
|
while true; do
|
||||||
separator_line "-"
|
separator_line "-"
|
||||||
content_line "1) \033[36m开始生成配置文件\033[0m"
|
content_line "1) \033[32m生成\033[0m包含全部节点/订阅的配置文件"
|
||||||
content_line "2) 设置\033[31m排除节点正则\033[0m \033[47;30m$exclude\033[0m"
|
content_line "2) 设置\033[31m排除节点正则\033[0m \033[47;30m$exclude\033[0m"
|
||||||
content_line "3) 设置\033[32m包含节点正则\033[0m \033[47;30m$include\033[0m"
|
content_line "3) 设置\033[32m包含节点正则\033[0m \033[47;30m$include\033[0m"
|
||||||
content_line "4) 选择\033[33m在线规则模版\033[0m"
|
content_line "4) 选择\033[33m在线规则模版\033[0m"
|
||||||
@@ -24,10 +24,11 @@ subconverter() {
|
|||||||
break
|
break
|
||||||
;;
|
;;
|
||||||
1)
|
1)
|
||||||
providers_link=$(grep -v '^#' "$CRASHDIR"/configs/providers.cfg 2>/dev/null |awk '{print $2}' |paste -sd '|')
|
providers_link=$(grep -v '\./providers/' "$CRASHDIR"/configs/providers.cfg 2>/dev/null |awk '{print $2}' |paste -sd '|')
|
||||||
uri_link=$(grep -v '^#' "$CRASHDIR"/configs/providers_uri.cfg 2>/dev/null |awk -F '#' '{print $1}' |paste -sd '|')
|
uri_link=$(grep -v '^#' "$CRASHDIR"/configs/providers_uri.cfg 2>/dev/null |awk -F '#' '{print $1}' |paste -sd '|')
|
||||||
Url=$(echo "$providers_link|$uri_link" |sed 's/^|// ; s/|$//')
|
Url=$(echo "$providers_link|$uri_link" |sed 's/^|// ; s/|$//')
|
||||||
setconfig Url "'$Url'"
|
setconfig Url "'$Url'"
|
||||||
|
Https=''
|
||||||
setconfig Https
|
setconfig Https
|
||||||
# 获取在线文件
|
# 获取在线文件
|
||||||
jump_core_config
|
jump_core_config
|
||||||
@@ -98,11 +99,14 @@ gen_link_ele() { # 包含节点正则
|
|||||||
}
|
}
|
||||||
|
|
||||||
gen_link_config() { #选择在线规则模版
|
gen_link_config() { #选择在线规则模版
|
||||||
|
list=$(grep -aE '^5' "$CRASHDIR"/configs/servers.list | awk '{print $2$4}')
|
||||||
|
now=$(grep -aE '^5' "$CRASHDIR"/configs/servers.list | sed -n ""$rule_link"p" | awk '{print $2}')
|
||||||
separator_line "-"
|
separator_line "-"
|
||||||
echo 当前使用规则为:$(grep -aE '^5' "$CRASHDIR"/configs/servers.list | sed -n ""$rule_link"p" | awk '{print $2}')
|
content_line "当前使用规则为:\033[33m$now\033[0m"
|
||||||
grep -aE '^5' "$CRASHDIR"/configs/servers.list | awk '{print " "NR" "$2$4}'
|
|
||||||
separator_line "-"
|
separator_line "-"
|
||||||
echo 0 返回上级菜单
|
content_list "$list"
|
||||||
|
separator_line "-"
|
||||||
|
common_back
|
||||||
read -r -p "请输入对应数字 > " num
|
read -r -p "请输入对应数字 > " num
|
||||||
totalnum=$(grep -acE '^5' "$CRASHDIR"/configs/servers.list )
|
totalnum=$(grep -acE '^5' "$CRASHDIR"/configs/servers.list )
|
||||||
if [ -z "$num" ] || [ "$num" -gt "$totalnum" ];then
|
if [ -z "$num" ] || [ "$num" -gt "$totalnum" ];then
|
||||||
@@ -119,11 +123,14 @@ gen_link_config() { #选择在线规则模版
|
|||||||
}
|
}
|
||||||
|
|
||||||
gen_link_server() { #选择Subconverter服务器
|
gen_link_server() { #选择Subconverter服务器
|
||||||
|
list=$(grep -aE '^3|^4' "$CRASHDIR"/configs/servers.list | awk '{print $3" "$2}')
|
||||||
|
now=$(grep -aE '^3|^4' "$CRASHDIR"/configs/servers.list | sed -n ""$server_link"p" | awk '{print $3}')
|
||||||
separator_line "-"
|
separator_line "-"
|
||||||
content_line "\033[36m以下为互联网采集的第三方服务器,具体安全性请自行斟酌!\033[0m"
|
content_line "\033[36m以下为互联网采集的第三方服务器,具体安全性请自行斟酌!\033[0m"
|
||||||
content_line "\033[32m感谢以下作者的无私奉献!!!\033[0m"
|
content_line "\033[32m感谢以下作者的无私奉献!!!\033[0m"
|
||||||
echo 当前使用后端为:$(grep -aE '^3|^4' "$CRASHDIR"/configs/servers.list | sed -n ""$server_link"p" | awk '{print $3}')
|
content_line "当前使用后端为:\033[33m$now\033[0m"
|
||||||
grep -aE '^3|^4' "$CRASHDIR"/configs/servers.list | awk '{print " "NR" "$3" "$2}'
|
separator_line "-"
|
||||||
|
content_list "$list"
|
||||||
common_back
|
common_back
|
||||||
read -r -p "请输入对应数字 > " num
|
read -r -p "请输入对应数字 > " num
|
||||||
totalnum=$(grep -acE '^3|^4' "$CRASHDIR"/configs/servers.list )
|
totalnum=$(grep -acE '^3|^4' "$CRASHDIR"/configs/servers.list )
|
||||||
|
|||||||
@@ -146,3 +146,12 @@ separator_line() {
|
|||||||
line_break() {
|
line_break() {
|
||||||
printf "\n\n"
|
printf "\n\n"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
content_list() {
|
||||||
|
i=1
|
||||||
|
printf '%s\n' "$1" | while IFS= read -r f; do
|
||||||
|
content_line "$i) $f$2"
|
||||||
|
i=$(( i + 1 ))
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -14,3 +14,11 @@ separator_line() {
|
|||||||
line_break() {
|
line_break() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
content_list() {
|
||||||
|
i=1
|
||||||
|
printf '%s\n' "$1" | while IFS= read -r f; do
|
||||||
|
content_line "$i) $f$2"
|
||||||
|
i=$(( i + 1 ))
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user