@@ -631,15 +631,17 @@ check_system_ip() {
631631 [ -n " $DEFAULT_LOCAL_IP6 " ] && local BIND_ADDRESS6=" --bind-address=$DEFAULT_LOCAL_IP6 "
632632 fi
633633
634- WAN4=$( wget $BIND_ADDRESS4 -qO- --no-check-certificate --tries=2 --timeout=2 http://api-ipv4.ip.sb)
635- [ -n " $WAN4 " ] && local IP4_JSON=$( wget -qO- --no-check-certificate --tries=2 --timeout=10 https://ip.forvps.gq/${WAN4}${IS_CHINESE} ) &&
636- COUNTRY4=$( sed -En ' s/.*"country":[ ]*"([^"]+)".*/\1/p' <<< " $IP4_JSON" ) &&
637- ASNORG4=$( sed -En ' s/.*"(isp|asn_org)":[ ]*"([^"]+)".*/\2/p' <<< " $IP4_JSON" )
638-
639- WAN6=$( wget $BIND_ADDRESS6 -qO- --no-check-certificate --tries=2 --timeout=2 http://api-ipv6.ip.sb)
640- [ -n " $WAN6 " ] && local IP6_JSON=$( wget -qO- --no-check-certificate --tries=2 --timeout=10 https://ip.forvps.gq/${WAN6}${IS_CHINESE} ) &&
641- COUNTRY6=$( sed -En ' s/.*"country":[ ]*"([^"]+)".*/\1/p' <<< " $IP6_JSON" ) &&
642- ASNORG6=$( sed -En ' s/.*"(isp|asn_org)":[ ]*"([^"]+)".*/\2/p' <<< " $IP6_JSON" )
634+ local IP4_JSON=$( wget $BIND_ADDRESS4 -4 -qO- --no-check-certificate --tries=2 --timeout=2 https://ip.cloudflare.nyc.mn${IS_CHINESE} ) &&
635+ WAN4=$( awk -F ' "' ' /"ip"/{print $4}' <<< " $IP4_JSON" ) &&
636+ COUNTRY4=$( awk -F ' "' ' /"country"/{print $4}' <<< " $IP4_JSON" ) &&
637+ EMOJI4=$( awk -F ' "' ' /"emoji"/{print $4}' <<< " $IP4_JSON" ) &&
638+ ASNORG4=$( awk -F ' "' ' /"isp"/{print $4}' <<< " $IP4_JSON" )
639+
640+ local IP6_JSON=$( wget $BIND_ADDRESS6 -6 -qO- --no-check-certificate --tries=2 --timeout=2 https://ip.cloudflare.nyc.mn${IS_CHINESE} ) &&
641+ WAN6=$( awk -F ' "' ' /"ip"/{print $4}' <<< " $IP6_JSON" ) &&
642+ COUNTRY6=$( awk -F ' "' ' /"country"/{print $4}' <<< " $IP6_JSON" ) &&
643+ EMOJI6=$( awk -F ' "' ' /"emoji"/{print $4}' <<< " $IP6_JSON" ) &&
644+ ASNORG6=$( awk -F ' "' ' /"isp"/{print $4}' <<< " $IP6_JSON" )
643645}
644646
645647# 获取 sing-box 最新版本
@@ -806,16 +808,18 @@ sing_box_variable() {
806808 WS_PATH=${WS_PATH:- " $WS_PATH_DEFAULT " }
807809
808810 # 输入节点名,以系统的 hostname 作为默认
811+ local EMOJI=" ${EMOJI4:- $EMOJI6 } "
812+ local EMOJI=" ${EMOJI}${EMOJI: + } "
809813 if [ -z " $NODE_NAME " ]; then
810814 if [ -x " $( type -p hostname) " ]; then
811- NODE_NAME_DEFAULT=" $( hostname) "
815+ local NODE_NAME_DEFAULT=" ${EMOJI} $( hostname) "
812816 elif [ -s /etc/hostname ]; then
813- NODE_NAME_DEFAULT=" $( cat /etc/hostname) "
817+ local NODE_NAME_DEFAULT=" ${EMOJI} $( cat /etc/hostname) "
814818 else
815- NODE_NAME_DEFAULT=" sba"
819+ local NODE_NAME_DEFAULT=" ${EMOJI} sba"
816820 fi
817821 ! grep -q ' noninteractive_install' <<< " $NONINTERACTIVE_INSTALL" && reading " \n (7/7) $( text 49) " NODE_NAME
818- NODE_NAME= " ${ NODE_NAME:- " $NODE_NAME_DEFAULT " }"
822+ grep -q ' ^$ ' <<< " $ NODE_NAME" && NODE_NAME= " $NODE_NAME_DEFAULT " || NODE_NAME= " ${EMOJI}${NODE_NAME }"
819823 fi
820824}
821825
@@ -1868,14 +1872,17 @@ fast_install_variables() {
18681872 WS_PATH=${WS_PATH:- " $WS_PATH_DEFAULT " }
18691873
18701874 # 输入节点名,以系统的 hostname 作为默认
1875+ check_system_ip
1876+ local EMOJI=" ${EMOJI4:- $EMOJI6 } "
1877+ local EMOJI=" ${EMOJI}${EMOJI: + } "
18711878 if [ -x " $( type -p hostname) " ]; then
1872- NODE_NAME_DEFAULT=" $( hostname) "
1879+ local NODE_NAME_DEFAULT=" ${EMOJI} $( hostname) "
18731880 elif [ -s /etc/hostname ]; then
1874- NODE_NAME_DEFAULT=" $( cat /etc/hostname) "
1881+ local NODE_NAME_DEFAULT=" ${EMOJI} $( cat /etc/hostname) "
18751882 else
1876- NODE_NAME_DEFAULT=" sba"
1883+ local NODE_NAME_DEFAULT=" ${EMOJI} sba"
18771884 fi
1878- NODE_NAME= ${ NODE_NAME:- " $NODE_NAME_DEFAULT " }
1885+ grep -q ' ^$ ' <<< " $ NODE_NAME" && NODE_NAME= " $NODE_NAME_DEFAULT " || NODE_NAME= " ${EMOJI}${NODE_NAME} "
18791886}
18801887
18811888# 判断当前 sba 的运行状态,并对应的给菜单和动作赋值
@@ -2034,8 +2041,8 @@ check_system_info
20342041check_arch
20352042check_brutal
20362043check_dependencies
2037- check_system_ip
2044+ [ " $NONINTERACTIVE_INSTALL " != ' noninteractive_install ' ] && check_system_ip
20382045check_install
20392046menu_setting
20402047
2041- [ " $NONINTERACTIVE_INSTALL " = ' noninteractive_install' ] && ACTION[2] || menu
2048+ [ " $NONINTERACTIVE_INSTALL " = ' noninteractive_install' ] && ACTION[2] || menu
0 commit comments