mirror of
https://github.com/juewuy/ShellCrash.git
synced 2026-03-12 00:11:31 +00:00
chore: invoke the common.sh componen
This commit is contained in:
@@ -12,11 +12,8 @@ set_dns_mod() {
|
||||
[ -z "$hosts_opt" ] && hosts_opt=ON
|
||||
[ -z "$dns_protect" ] && dns_protect=ON
|
||||
[ -z "$ecs_subnet" ] && ecs_subnet=OFF
|
||||
line_break
|
||||
separator_line "="
|
||||
content_line "$DNS_CURRENT_MODE\033[47;30m $dns_mod \033[0m"
|
||||
content_line "\033[33m$DNS_RESTART_NOTICE\033[0m"
|
||||
separator_line "="
|
||||
comp_box "$DNS_CURRENT_MODE\033[47;30m $dns_mod \033[0m" \
|
||||
"\033[33m$DNS_RESTART_NOTICE\033[0m"
|
||||
content_line "1) 设为MIX$COMMON_MOD:\t\033[32m$DNS_MODE_MIX_DESC\033[0m"
|
||||
content_line "2) 设为Route$COMMON_MOD:\t\033[32m$DNS_MODE_ROUTE_DESC\033[0m"
|
||||
content_line "3) 设为Redir$COMMON_MOD:\t\033[33m$DNS_MODE_REDIR_DESC\033[0m"
|
||||
@@ -37,40 +34,32 @@ set_dns_mod() {
|
||||
break
|
||||
;;
|
||||
1 | 2)
|
||||
line_break
|
||||
separator_line "="
|
||||
if echo "$crashcore" | grep -q 'singbox' || [ "$crashcore" = meta ]; then
|
||||
[ "$num" = 1 ] && dns_mod=mix || dns_mod=route
|
||||
setconfig dns_mod "$dns_mod"
|
||||
content_line "\033[36m$DNS_SET_OK:$dns_mod\033[0m"
|
||||
msg_alert "\033[36m$DNS_SET_OK:$dns_mod\033[0m"
|
||||
else
|
||||
econtent_line "\033[31m$DNS_CORE_UNSUPPORTED\033[0m"
|
||||
msg_alert "\033[31m$DNS_CORE_UNSUPPORTED\033[0m"
|
||||
fi
|
||||
separator_line "="
|
||||
sleep 1
|
||||
;;
|
||||
3)
|
||||
dns_mod=redir_host
|
||||
setconfig dns_mod "$dns_mod"
|
||||
line_break
|
||||
separator_line "="
|
||||
content_line "\033[36m$DNS_SET_OK:$dns_mod\033[0m"
|
||||
separator_line "="
|
||||
msg_alert "\033[36m$DNS_SET_OK:$dns_mod\033[0m"
|
||||
;;
|
||||
4)
|
||||
while true; do
|
||||
line_break
|
||||
separator_line "="
|
||||
if [ "$dns_protect" = ON ]; then
|
||||
content_line "当前\033[33m已启用\033[0mDNS防泄漏,是否确认禁用:"
|
||||
content_line "当前\033[33m已启用\033[0mDNS防泄漏,是否确认禁用?"
|
||||
else
|
||||
content_line "当前\033[33m已禁用\033[0mDNS防泄漏,是否确认启用:"
|
||||
content_line "当前\033[33m已禁用\033[0mDNS防泄漏,是否确认启用?"
|
||||
fi
|
||||
separator_line "="
|
||||
content_line "1) 是"
|
||||
content_line "2) 重置为默认值"
|
||||
content_line "0) 否,返回上级菜单"
|
||||
separator_line "="
|
||||
btm_box "1) 是" \
|
||||
"2) 重置为默认值" \
|
||||
"0) 否,返回上级菜单"
|
||||
read -r -p "$COMMON_INPUT> " num
|
||||
case "$num" in
|
||||
0)
|
||||
@@ -88,17 +77,11 @@ set_dns_mod() {
|
||||
;;
|
||||
*)
|
||||
errornum
|
||||
sleep 1
|
||||
continue
|
||||
;;
|
||||
esac
|
||||
setconfig dns_protect "$dns_protect"
|
||||
|
||||
line_break
|
||||
separator_line "="
|
||||
content_line "\033[32m操作成功\033[0m"
|
||||
separator_line "="
|
||||
sleep 1
|
||||
common_success
|
||||
done
|
||||
;;
|
||||
5)
|
||||
@@ -111,10 +94,9 @@ set_dns_mod() {
|
||||
content_line "当前\033[33m已禁用\033[0mHosts优化,是否确认启用:"
|
||||
fi
|
||||
separator_line "="
|
||||
content_line "1) 是"
|
||||
content_line "2) 重置为默认值"
|
||||
content_line "0) 否,返回上级菜单"
|
||||
separator_line "="
|
||||
btm_box "1) 是" \
|
||||
"2) 重置为默认值" \
|
||||
"0) 否,返回上级菜单"
|
||||
read -r -p "$COMMON_INPUT> " num
|
||||
case "$num" in
|
||||
0)
|
||||
@@ -132,17 +114,11 @@ set_dns_mod() {
|
||||
;;
|
||||
*)
|
||||
errornum
|
||||
sleep 1
|
||||
continue
|
||||
;;
|
||||
esac
|
||||
setconfig dns_protect "$hosts_opt"
|
||||
|
||||
line_break
|
||||
separator_line "="
|
||||
content_line "\033[32m操作成功\033[0m"
|
||||
separator_line "="
|
||||
sleep 1
|
||||
common_success
|
||||
done
|
||||
;;
|
||||
6)
|
||||
@@ -156,10 +132,9 @@ set_dns_mod() {
|
||||
content_line "当前\033[33m已禁用\033[0mHosts优化,是否确认启用:"
|
||||
fi
|
||||
separator_line "="
|
||||
content_line "1) 是"
|
||||
content_line "2) 重置为默认值"
|
||||
content_line "0) 否,返回上级菜单"
|
||||
separator_line "="
|
||||
btm_box "1) 是" \
|
||||
"2) 重置为默认值" \
|
||||
"0) 否,返回上级菜单"
|
||||
read -r -p "$COMMON_INPUT> " num
|
||||
case "$num" in
|
||||
0)
|
||||
@@ -177,30 +152,21 @@ set_dns_mod() {
|
||||
;;
|
||||
*)
|
||||
errornum
|
||||
sleep 1
|
||||
continue
|
||||
;;
|
||||
esac
|
||||
setconfig dns_protect "$ecs_subnet"
|
||||
|
||||
line_break
|
||||
separator_line "="
|
||||
content_line "\033[32m操作成功\033[0m"
|
||||
separator_line "="
|
||||
sleep 1
|
||||
common_success
|
||||
done
|
||||
;;
|
||||
7)
|
||||
while true; do
|
||||
line_break
|
||||
separator_line "="
|
||||
content_line "\033[31m$DNS_REDIR_WARN\033[0m"
|
||||
content_line "\033[33m$DNS_REDIR_HINT 127.0.0.1:$dns_port\033[0m"
|
||||
content_line ""
|
||||
content_line "请直接输入旁路由IPV4地址"
|
||||
content_line "或输入 r 重置DNS劫持端口"
|
||||
content_line "或输入 0 返回上级菜单"
|
||||
separator_line "="
|
||||
comp_box "\033[31m$DNS_REDIR_WARN\033[0m" \
|
||||
"\033[33m$DNS_REDIR_HINT 127.0.0.1:$dns_port\033[0m" \
|
||||
"" \
|
||||
"请直接输入旁路由IPV4地址" \
|
||||
"或输入 r 重置DNS劫持端口" \
|
||||
"或输入 0 返回上级菜单"
|
||||
read -r -p "请输入> " num
|
||||
case "$num" in
|
||||
0)
|
||||
@@ -209,33 +175,21 @@ set_dns_mod() {
|
||||
r)
|
||||
dns_redir_port="$dns_port"
|
||||
setconfig dns_redir_port
|
||||
|
||||
line_break
|
||||
separator_line "="
|
||||
content_line "\033[32m操作成功\033[0m"
|
||||
separator_line "="
|
||||
sleep 1
|
||||
common_success
|
||||
break
|
||||
;;
|
||||
*)
|
||||
if [ "$num" -ge 1 ] && [ "$num" -lt 65535 ]; then
|
||||
line_break
|
||||
separator_line "="
|
||||
if ckcmd netstat && netstat -ntul | grep -q ":$num "; then
|
||||
dns_redir_port="$num"
|
||||
setconfig dns_redir_port "$dns_redir_port"
|
||||
content_line "\033[32m操作成功\033[0m"
|
||||
separator_line "="
|
||||
sleep 1
|
||||
common_success
|
||||
break
|
||||
else
|
||||
content_line "\033[33m$DNS_REDIR_NO_SERVICE\033[0m"
|
||||
separator_line "="
|
||||
sleep 1
|
||||
msg_alert
|
||||
fi
|
||||
else
|
||||
errornum
|
||||
sleep 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
@@ -249,7 +203,6 @@ set_dns_mod() {
|
||||
;;
|
||||
*)
|
||||
errornum
|
||||
sleep 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
@@ -257,13 +210,9 @@ set_dns_mod() {
|
||||
|
||||
fake_ip_filter() {
|
||||
while true; do
|
||||
line_break
|
||||
separator_line "="
|
||||
content_line "\033[32m$DNS_FAKEIP_DESC\033[0m"
|
||||
content_line "\033[31m$DNS_FAKEIP_TIP\033[0m"
|
||||
content_line "\033[36m$DNS_FAKEIP_EXAMPLE\033[0m"
|
||||
|
||||
separator_line "="
|
||||
comp_box "\033[32m$DNS_FAKEIP_DESC\033[0m" \
|
||||
"\033[31m$DNS_FAKEIP_TIP\033[0m" \
|
||||
"\033[36m$DNS_FAKEIP_EXAMPLE\033[0m"
|
||||
if [ -s "$CRASHDIR/configs/fake_ip_filter" ]; then
|
||||
content_line "\033[33m$DNS_FAKEIP_EXIST\033[0m"
|
||||
content_line ""
|
||||
@@ -283,35 +232,27 @@ fake_ip_filter() {
|
||||
break
|
||||
;;
|
||||
*)
|
||||
line_break
|
||||
separator_line "="
|
||||
if [ "$input" -ge 1 ] 2>/dev/null; then
|
||||
if sed -i "${input}d" "$CRASHDIR/configs/fake_ip_filter"; then
|
||||
content_line "\033[32m移除成功\033[0m"
|
||||
msg_alert "\033[32m移除成功\033[0m"
|
||||
else
|
||||
content_line "\033[31m移除失败\033[0m"
|
||||
msg_alert "\033[31m移除失败\033[0m"
|
||||
fi
|
||||
else
|
||||
content_line "请确认需要添加的地址:\033[32m$input\033[0m"
|
||||
separator_line "="
|
||||
content_line "1) 确认无误"
|
||||
content_line "0) 返回上级菜单"
|
||||
separator_line "="
|
||||
comp_box "请确认需要添加的地址:\033[32m$input\033[0m"
|
||||
btm_box "1) 确认无误" \
|
||||
"0) 返回上级菜单"
|
||||
read -r -p "$COMMON_INPUT>" res
|
||||
if [ "$res" = 1 ]; then
|
||||
line_break
|
||||
separator_line "="
|
||||
if echo "$input" >>"$CRASHDIR/configs/fake_ip_filter"; then
|
||||
content_line "\033[32m添加成功\033[0m"
|
||||
msg_alert "\033[32m添加成功\033[0m"
|
||||
else
|
||||
content_line "\033[31m添加失败\033[0m"
|
||||
msg_alert "\033[31m添加失败\033[0m"
|
||||
fi
|
||||
else
|
||||
break
|
||||
fi
|
||||
fi
|
||||
separator_line "="
|
||||
sleep 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
@@ -320,46 +261,36 @@ fake_ip_filter() {
|
||||
# DNS详细设置
|
||||
set_dns_adv() {
|
||||
while true; do
|
||||
line_break
|
||||
separator_line "="
|
||||
content_line "\033[31m$DNS_ADV_SINGBOX_LIMIT\033[0m"
|
||||
content_line "$DNS_ADV_SPLIT"
|
||||
content_line "\033[33m$DNS_ADV_CERT\033[0m"
|
||||
content_line ""
|
||||
content_line "DIRECT-DNS:"
|
||||
content_line "\033[32m$dns_nameserver\033[0m"
|
||||
content_line ""
|
||||
|
||||
content_line "PROXY-DNS:"
|
||||
content_line "\033[36m$dns_fallback\033[0m"
|
||||
content_line ""
|
||||
|
||||
content_line "DEFAULT-DNS:"
|
||||
content_line "\033[33m$dns_resolver\033[0m"
|
||||
content_line ""
|
||||
|
||||
separator_line "="
|
||||
content_line "1) $DNS_ADV_EDIT_DIRECT"
|
||||
content_line "2) $DNS_ADV_EDIT_PROXY"
|
||||
content_line "3) $DNS_ADV_EDIT_DEFAULT"
|
||||
content_line "4) \033[32m$DNS_ADV_AUTO_ENCRYPT\033[0m"
|
||||
content_line "9) \033[33m$DNS_ADV_RESET\033[0m"
|
||||
content_line "0) $COMMON_BACK"
|
||||
separator_line "="
|
||||
read -r -p "$COMMON_INPUT > " num
|
||||
comp_box "\033[31m$DNS_ADV_SINGBOX_LIMIT\033[0m" \
|
||||
"$DNS_ADV_SPLIT" \
|
||||
"\033[33m$DNS_ADV_CERT\033[0m" \
|
||||
"" \
|
||||
"DIRECT-DNS:" \
|
||||
"\033[32m$dns_nameserver\033[0m" \
|
||||
"" \
|
||||
"PROXY-DNS:" \
|
||||
"\033[36m$dns_fallback\033[0m" \
|
||||
"" \
|
||||
"DEFAULT-DNS:" \
|
||||
"\033[33m$dns_resolver\033[0m" \
|
||||
""
|
||||
btm_box "1) $DNS_ADV_EDIT_DIRECT" \
|
||||
"2) $DNS_ADV_EDIT_PROXY" \
|
||||
"3) $DNS_ADV_EDIT_DEFAULT" \
|
||||
"4) \033[32m$DNS_ADV_AUTO_ENCRYPT\033[0m" \
|
||||
"9) \033[33m$DNS_ADV_RESET\033[0m" \
|
||||
"" \
|
||||
"0) $COMMON_BACK"
|
||||
read -r -p "$COMMON_INPUT> " num
|
||||
case "$num" in
|
||||
"" | 0)
|
||||
break
|
||||
;;
|
||||
1)
|
||||
line_break
|
||||
separator_line "="
|
||||
content_line "当前DIRECT-DNS:\033[32m$dns_nameserver\033[0m"
|
||||
separator_line "="
|
||||
content_line "请直接输入新的DIRECT-DNS地址"
|
||||
content_line "或输入 r 重置DIRECT-DNS地址"
|
||||
content_line "或输入 0 返回上级菜单"
|
||||
separator_line "="
|
||||
comp_box "当前DIRECT-DNS:\033[32m$dns_nameserver\033[0m"
|
||||
btm_box "\033[36m请直接输入新的DIRECT-DNS地址\033[0m" \
|
||||
"或输入 r 重置DIRECT-DNS地址" \
|
||||
"或输入 0 返回上级菜单"
|
||||
read -r -p "请输入> " res
|
||||
case "$res" in
|
||||
0)
|
||||
@@ -368,34 +299,24 @@ set_dns_adv() {
|
||||
r)
|
||||
dns_nameserver="127.0.0.1"
|
||||
setconfig dns_nameserver "'$dns_nameserver'"
|
||||
|
||||
line_break
|
||||
separator_line "="
|
||||
content_line "\033[32m操作成功\033[0m"
|
||||
common_success
|
||||
;;
|
||||
*)
|
||||
dns_nameserver=$(echo "$res" | sed 's#|#,\ #g')
|
||||
line_break
|
||||
separator_line "="
|
||||
if [ -n "$dns_nameserver" ]; then
|
||||
setconfig dns_nameserver "'$dns_nameserver'"
|
||||
content_line "\033[32m操作成功\033[0m"
|
||||
common_success
|
||||
else
|
||||
ontent_line "\033[32m操作失败\033[0m"
|
||||
common_failed
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
separator_line "="
|
||||
;;
|
||||
2)
|
||||
line_break
|
||||
separator_line "="
|
||||
content_line "当前PROXY-DNS:\033[32m$dns_fallback\033[0m"
|
||||
separator_line "="
|
||||
content_line "请直接输入新的PROXY-DNS地址"
|
||||
content_line "或输入 r 重置PROXY-DNS地址"
|
||||
content_line "或输入 0 返回上级菜单"
|
||||
separator_line "="
|
||||
comp_box "当前PROXY-DNS:\033[32m$dns_fallback\033[0m"
|
||||
btm_box "\033[36m请直接输入新的PROXY-DNS地址\033[0m" \
|
||||
"或输入 r 重置PROXY-DNS地址" \
|
||||
"或输入 0 返回上级菜单"
|
||||
read -r -p "请输入> " res
|
||||
case "$res" in
|
||||
0)
|
||||
@@ -404,32 +325,24 @@ set_dns_adv() {
|
||||
r)
|
||||
dns_fallback="1.1.1.1, 8.8.8.8"
|
||||
setconfig dns_fallback "'$dns_fallback'"
|
||||
line_break
|
||||
separator_line "="
|
||||
content_line "\033[32m操作成功\033[0m"
|
||||
common_success
|
||||
;;
|
||||
*)
|
||||
dns_fallback=$(echo "$res" | sed 's#|#,\ #g')
|
||||
line_break
|
||||
separator_line "="
|
||||
if [ -n "$dns_fallback" ]; then
|
||||
setconfig dns_fallback "'$dns_fallback'"
|
||||
content_line "\033[32m操作成功\033[0m"
|
||||
common_success
|
||||
else
|
||||
ontent_line "\033[32m操作失败\033[0m"
|
||||
common_failed
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
separator_line "="
|
||||
;;
|
||||
3)
|
||||
line_break
|
||||
separator_line "="
|
||||
content_line "当前DEFAULT-DNS:\033[32m$dns_resolver\033[0m"
|
||||
separator_line "="
|
||||
content_line "请直接输入新的DEFAULT-DNS地址"
|
||||
content_line "或输入 r 重置DEFAULT-DNS地址"
|
||||
content_line "或输入 0 返回上级菜单"
|
||||
comp_box "当前DEFAULT-DNS:\033[32m$dns_resolver\033[0m"
|
||||
btm_box "\033[36m请直接输入新的DEFAULT-DNS地址\033[0m" \
|
||||
"或输入 r 重置DEFAULT-DNS地址" \
|
||||
"或输入 0 返回上级菜单"
|
||||
separator_line "="
|
||||
read -r -p "请输入> " res
|
||||
case "$res" in
|
||||
@@ -439,23 +352,18 @@ set_dns_adv() {
|
||||
"r")
|
||||
dns_resolver="223.5.5.5, 2400:3200::1"
|
||||
setconfig dns_resolver "'$dns_resolver'"
|
||||
line_break
|
||||
separator_line "="
|
||||
content_line "\033[32m操作成功\033[0m"
|
||||
common_failed
|
||||
;;
|
||||
*)
|
||||
line_break
|
||||
separator_line "="
|
||||
if echo "$res" | grep -qE '://.*::'; then
|
||||
content_line "\033[31m$DNS_IPV6_NOT_SUPPORT\033[0m"
|
||||
msg_alert "\033[31m$DNS_IPV6_NOT_SUPPORT\033[0m"
|
||||
else
|
||||
dns_resolver=$(echo "$res" | sed 's#|#,\ #g')
|
||||
setconfig dns_resolver "'$dns_resolver'"
|
||||
content_line "\033[32m$COMMON_SUCCESS\033[0m"
|
||||
msg_alert "\033[32m$COMMON_SUCCESS\033[0m"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
separator_line "="
|
||||
;;
|
||||
4)
|
||||
line_break
|
||||
@@ -478,15 +386,11 @@ set_dns_adv() {
|
||||
setconfig dns_fallback
|
||||
setconfig dns_resolver
|
||||
. "$CRASHDIR/libs/get_config.sh"
|
||||
line_break
|
||||
separator_line "="
|
||||
content_line "\033[32m$COMMON_SUCCESS\033[0m"
|
||||
separator_line "="
|
||||
common_success
|
||||
;;
|
||||
*)
|
||||
errornum
|
||||
;;
|
||||
esac
|
||||
sleep 1
|
||||
done
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user