23.08.03-update

main
jinqilin721 2023-08-03 13:20:01 +08:00
parent 307e5e056a
commit ffd3a04c09
2 changed files with 1074 additions and 47 deletions

View File

@ -3,6 +3,9 @@ PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH export PATH
LANG=en_US.UTF-8 LANG=en_US.UTF-8
_REPO_URL='https://git.xinac.net'
_BT_REPO_URL=$_REPO_URL'/github/btpanel-v7.7.0/raw/branch/main'
if [ $(whoami) != "root" ];then if [ $(whoami) != "root" ];then
echo "请使用root权限执行宝塔安装命令" echo "请使用root权限执行宝塔安装命令"
exit 1; exit 1;
@ -20,7 +23,7 @@ if [ "${Centos6Check}" ];then
fi fi
UbuntuCheck=$(cat /etc/issue|grep Ubuntu|awk '{print $2}'|cut -f 1 -d '.') UbuntuCheck=$(cat /etc/issue|grep Ubuntu|awk '{print $2}'|cut -f 1 -d '.')
if [ "${UbuntuCheck}" -lt "16" ];then if [ "${UbuntuCheck}" ] && [ "${UbuntuCheck}" -lt "16" ];then
echo "Ubuntu ${UbuntuCheck}不支持安装宝塔面板建议更换Ubuntu18/20安装宝塔面板" echo "Ubuntu ${UbuntuCheck}不支持安装宝塔面板建议更换Ubuntu18/20安装宝塔面板"
exit 1 exit 1
fi fi
@ -149,7 +152,8 @@ get_node_url(){
echo '---------------------------------------------'; echo '---------------------------------------------';
echo "Selected download node..."; echo "Selected download node...";
nodes=(http://dg2.bt.cn http://dg1.bt.cn http://125.90.93.52:5880 http://36.133.1.8:5880 http://123.129.198.197 http://38.34.185.130 http://116.213.43.206:5880 http://128.1.164.196); # nodes=(http://dg2.bt.cn http://dg1.bt.cn http://125.90.93.52:5880 http://36.133.1.8:5880 http://123.129.198.197 http://38.34.185.130 http://116.213.43.206:5880 http://128.1.164.196);
nodes=(https://dg2.bt.cn https://download.bt.cn https://ctcc1-node.bt.cn https://cmcc1-node.bt.cn https://ctcc2-node.bt.cn https://hk1-node.bt.cn https://na1-node.bt.cn https://jp1-node.bt.cn);
tmp_file1=/dev/shm/net_test1.pl tmp_file1=/dev/shm/net_test1.pl
tmp_file2=/dev/shm/net_test2.pl tmp_file2=/dev/shm/net_test2.pl
[ -f "${tmp_file1}" ] && rm -f ${tmp_file1} [ -f "${tmp_file1}" ] && rm -f ${tmp_file1}
@ -158,7 +162,7 @@ get_node_url(){
touch $tmp_file2 touch $tmp_file2
for node in ${nodes[@]}; for node in ${nodes[@]};
do do
NODE_CHECK=$(curl --connect-timeout 3 -m 3 2>/dev/null -w "%{http_code} %{time_total}" ${node}/net_test|xargs) NODE_CHECK=$(curl --connect-timeout 15 -m 3 2>/dev/null -w "%{http_code} %{time_total}" ${node}/net_test|xargs)
RES=$(echo ${NODE_CHECK}|awk '{print $1}') RES=$(echo ${NODE_CHECK}|awk '{print $1}')
NODE_STATUS=$(echo ${NODE_CHECK}|awk '{print $2}') NODE_STATUS=$(echo ${NODE_CHECK}|awk '{print $2}')
TIME_TOTAL=$(echo ${NODE_CHECK}|awk '{print $3 * 1000 - 500 }'|cut -d '.' -f 1) TIME_TOTAL=$(echo ${NODE_CHECK}|awk '{print $3 * 1000 - 500 }'|cut -d '.' -f 1)
@ -186,7 +190,7 @@ get_node_url(){
if [ -z "$NODE_URL" ];then if [ -z "$NODE_URL" ];then
NODE_URL=$(cat $tmp_file2|sort -g -t " " -k 1|head -n 1|awk '{print $2}') NODE_URL=$(cat $tmp_file2|sort -g -t " " -k 1|head -n 1|awk '{print $2}')
if [ -z "$NODE_URL" ];then if [ -z "$NODE_URL" ];then
NODE_URL='http://download.bt.cn'; NODE_URL='https://download.bt.cn';
fi fi
fi fi
rm -f $tmp_file1 rm -f $tmp_file1
@ -226,7 +230,7 @@ Install_RPM_Pack(){
#尝试同步时间(从bt.cn) #尝试同步时间(从bt.cn)
echo 'Synchronizing system time...' echo 'Synchronizing system time...'
getBtTime=$(curl -sS --connect-timeout 3 -m 60 http://www.bt.cn/api/index/get_time) getBtTime=$(curl -sS --connect-timeout 15 -m 60 http://www.bt.cn/api/index/get_time)
if [ "${getBtTime}" ];then if [ "${getBtTime}" ];then
date -s "$(date -d @$getBtTime +"%Y-%m-%d %H:%M:%S")" date -s "$(date -d @$getBtTime +"%Y-%m-%d %H:%M:%S")"
fi fi
@ -355,7 +359,7 @@ Get_Versions(){
fi fi
} }
Install_Python_Lib(){ Install_Python_Lib(){
curl -Ss --connect-timeout 3 -m 60 https://git.xinac.net/github/btpanel-v7.7.0/raw/branch/main/install/pip_select.sh|bash curl -Ss --connect-timeout 15 -m 60 $_BT_REPO_URL/install/pip_select.sh|bash
pyenv_path="/www/server/panel" pyenv_path="/www/server/panel"
if [ -f $pyenv_path/pyenv/bin/python ];then if [ -f $pyenv_path/pyenv/bin/python ];then
is_ssl=$($python_bin -c "import ssl" 2>&1|grep cannot) is_ssl=$($python_bin -c "import ssl" 2>&1|grep cannot)
@ -364,7 +368,7 @@ Install_Python_Lib(){
chmod -R 700 $pyenv_path/pyenv/bin chmod -R 700 $pyenv_path/pyenv/bin
is_package=$($python_bin -m psutil 2>&1|grep package) is_package=$($python_bin -m psutil 2>&1|grep package)
if [ "$is_package" = "" ];then if [ "$is_package" = "" ];then
wget -O $pyenv_path/pyenv/pip.txt $download_Url/install/pyenv/pip.txt -T 5 wget -O $pyenv_path/pyenv/pip.txt $download_Url/install/pyenv/pip.txt -T 15
$pyenv_path/pyenv/bin/pip install -U pip $pyenv_path/pyenv/bin/pip install -U pip
$pyenv_path/pyenv/bin/pip install -U setuptools $pyenv_path/pyenv/bin/pip install -U setuptools
$pyenv_path/pyenv/bin/pip install -r $pyenv_path/pyenv/pip.txt $pyenv_path/pyenv/bin/pip install -r $pyenv_path/pyenv/pip.txt
@ -376,7 +380,7 @@ Install_Python_Lib(){
fi fi
fi fi
py_version="3.7.8" py_version="3.7.16"
mkdir -p $pyenv_path mkdir -p $pyenv_path
echo "True" > /www/disk.pl echo "True" > /www/disk.pl
if [ ! -w /www/disk.pl ];then if [ ! -w /www/disk.pl ];then
@ -400,7 +404,7 @@ Install_Python_Lib(){
if [ "${os_version}" != "" ];then if [ "${os_version}" != "" ];then
pyenv_file="/www/pyenv.tar.gz" pyenv_file="/www/pyenv.tar.gz"
wget -O $pyenv_file $download_Url/install/pyenv/pyenv-${os_type}${os_version}-x${is64bit}.tar.gz -T 10 wget -O $pyenv_file $download_Url/install/pyenv/pyenv-${os_type}${os_version}-x${is64bit}.tar.gz -T 15
tmp_size=$(du -b $pyenv_file|awk '{print $1}') tmp_size=$(du -b $pyenv_file|awk '{print $1}')
if [ $tmp_size -lt 703460 ];then if [ $tmp_size -lt 703460 ];then
rm -f $pyenv_file rm -f $pyenv_file
@ -430,7 +434,7 @@ Install_Python_Lib(){
cd /www cd /www
python_src='/www/python_src.tar.xz' python_src='/www/python_src.tar.xz'
python_src_path="/www/Python-${py_version}" python_src_path="/www/Python-${py_version}"
wget -O $python_src $download_Url/src/Python-${py_version}.tar.xz -T 5 wget -O $python_src $download_Url/src/Python-${py_version}.tar.xz -T 15
tmp_size=$(du -b $python_src|awk '{print $1}') tmp_size=$(du -b $python_src|awk '{print $1}')
if [ $tmp_size -lt 10703460 ];then if [ $tmp_size -lt 10703460 ];then
rm -f $python_src rm -f $python_src
@ -448,8 +452,8 @@ Install_Python_Lib(){
fi fi
cd ~ cd ~
rm -rf $python_src_path rm -rf $python_src_path
wget -O $pyenv_path/pyenv/bin/activate $download_Url/install/pyenv/activate.panel -T 5 wget -O $pyenv_path/pyenv/bin/activate $download_Url/install/pyenv/activate.panel -T 15
wget -O $pyenv_path/pyenv/pip.txt $download_Url/install/pyenv/pip-3.7.8.txt -T 5 wget -O $pyenv_path/pyenv/pip.txt $download_Url/install/pyenv/pip-${py_version}.txt -T 15
ln -sf $pyenv_path/pyenv/bin/pip3.7 $pyenv_path/pyenv/bin/pip ln -sf $pyenv_path/pyenv/bin/pip3.7 $pyenv_path/pyenv/bin/pip
ln -sf $pyenv_path/pyenv/bin/python3.7 $pyenv_path/pyenv/bin/python ln -sf $pyenv_path/pyenv/bin/python3.7 $pyenv_path/pyenv/bin/python
ln -sf $pyenv_path/pyenv/bin/pip3.7 /usr/bin/btpip ln -sf $pyenv_path/pyenv/bin/pip3.7 /usr/bin/btpip
@ -488,9 +492,9 @@ Install_Bt(){
sleep 1 sleep 1
fi fi
wget -O /etc/init.d/bt https://git.xinac.net/github/btpanel-v7.7.0/raw/branch/main/install/src/bt6.init -T 10 wget -O /etc/init.d/bt $_BT_REPO_URL/install/src/bt6.init -T 15
wget -O /www/server/panel/install/public.sh https://git.xinac.net/github/btpanel-v7.7.0/raw/branch/main/install/public.sh -T 10 wget -O /www/server/panel/install/public.sh $_BT_REPO_URL/install/public.sh -T 15
wget -O panel.zip https://git.xinac.net/github/btpanel-v7.7.0/raw/branch/main/install/src/panel6.zip -T 10 wget -O panel.zip $_BT_REPO_URL/install/src/panel6.zip -T 15
if [ -f "${setup_path}/server/panel/data/default.db" ];then if [ -f "${setup_path}/server/panel/data/default.db" ];then
if [ -d "/${setup_path}/server/panel/old_data" ];then if [ -d "/${setup_path}/server/panel/old_data" ];then
@ -540,8 +544,8 @@ Install_Bt(){
chmod -R +x ${setup_path}/server/panel/script chmod -R +x ${setup_path}/server/panel/script
ln -sf /etc/init.d/bt /usr/bin/bt ln -sf /etc/init.d/bt /usr/bin/bt
echo "${panelPort}" > ${setup_path}/server/panel/data/port.pl echo "${panelPort}" > ${setup_path}/server/panel/data/port.pl
wget -O /etc/init.d/bt https://git.xinac.net/github/btpanel-v7.7.0/raw/branch/main/install/src/bt7.init -T 10 wget -O /etc/init.d/bt $_BT_REPO_URL/install/src/bt7.init -T 15
wget -O /www/server/panel/init.sh https://git.xinac.net/github/btpanel-v7.7.0/raw/branch/main/install/src/bt7.init -T 10 wget -O /www/server/panel/init.sh $_BT_REPO_URL/install/src/bt7.init -T 15
wget -O /www/server/panel/data/softList.conf ${download_Url}/install/conf/softList.conf wget -O /www/server/panel/data/softList.conf ${download_Url}/install/conf/softList.conf
} }
Set_Bt_Panel(){ Set_Bt_Panel(){
@ -580,11 +584,12 @@ Set_Firewall(){
if [ "${PM}" = "apt-get" ]; then if [ "${PM}" = "apt-get" ]; then
apt-get install -y ufw apt-get install -y ufw
if [ -f "/usr/sbin/ufw" ];then if [ -f "/usr/sbin/ufw" ];then
ufw allow 20/tcp # ufw allow 20/tcp
ufw allow 21/tcp # ufw allow 21/tcp
ufw allow 22/tcp ufw allow 22/tcp
ufw allow 80/tcp ufw allow 80/tcp
ufw allow 888/tcp ufw allow 443/tcp
# ufw allow 888/tcp
ufw allow ${panelPort}/tcp ufw allow ${panelPort}/tcp
ufw allow ${sshPort}/tcp ufw allow ${sshPort}/tcp
ufw allow 39000:40000/tcp ufw allow 39000:40000/tcp
@ -595,10 +600,11 @@ Set_Firewall(){
fi fi
else else
if [ -f "/etc/init.d/iptables" ];then if [ -f "/etc/init.d/iptables" ];then
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 20 -j ACCEPT # iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 20 -j ACCEPT
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT # iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport ${panelPort} -j ACCEPT iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport ${panelPort} -j ACCEPT
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport ${sshPort} -j ACCEPT iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport ${sshPort} -j ACCEPT
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 39000:40000 -j ACCEPT iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 39000:40000 -j ACCEPT
@ -621,10 +627,11 @@ Set_Firewall(){
systemctl enable firewalld systemctl enable firewalld
systemctl start firewalld systemctl start firewalld
firewall-cmd --set-default-zone=public > /dev/null 2>&1 firewall-cmd --set-default-zone=public > /dev/null 2>&1
firewall-cmd --permanent --zone=public --add-port=20/tcp > /dev/null 2>&1 # firewall-cmd --permanent --zone=public --add-port=20/tcp > /dev/null 2>&1
firewall-cmd --permanent --zone=public --add-port=21/tcp > /dev/null 2>&1 # firewall-cmd --permanent --zone=public --add-port=21/tcp > /dev/null 2>&1
firewall-cmd --permanent --zone=public --add-port=22/tcp > /dev/null 2>&1 firewall-cmd --permanent --zone=public --add-port=22/tcp > /dev/null 2>&1
firewall-cmd --permanent --zone=public --add-port=80/tcp > /dev/null 2>&1 firewall-cmd --permanent --zone=public --add-port=80/tcp > /dev/null 2>&1
firewall-cmd --permanent --zone=public --add-port=443/tcp > /dev/null 2>&1
firewall-cmd --permanent --zone=public --add-port=${panelPort}/tcp > /dev/null 2>&1 firewall-cmd --permanent --zone=public --add-port=${panelPort}/tcp > /dev/null 2>&1
firewall-cmd --permanent --zone=public --add-port=${sshPort}/tcp > /dev/null 2>&1 firewall-cmd --permanent --zone=public --add-port=${sshPort}/tcp > /dev/null 2>&1
firewall-cmd --permanent --zone=public --add-port=39000-40000/tcp > /dev/null 2>&1 firewall-cmd --permanent --zone=public --add-port=39000-40000/tcp > /dev/null 2>&1
@ -635,13 +642,13 @@ Set_Firewall(){
} }
Get_Ip_Address(){ Get_Ip_Address(){
getIpAddress="" getIpAddress=""
getIpAddress=$(curl -sS --connect-timeout 10 -m 60 https://www.bt.cn/Api/getIpAddress) getIpAddress=$(curl -sS --connect-timeout 15 -m 60 https://www.bt.cn/Api/getIpAddress)
if [ -z "${getIpAddress}" ] || [ "${getIpAddress}" = "0.0.0.0" ]; then if [ -z "${getIpAddress}" ] || [ "${getIpAddress}" = "0.0.0.0" ]; then
isHosts=$(cat /etc/hosts|grep 'www.bt.cn') isHosts=$(cat /etc/hosts|grep 'www.bt.cn')
if [ -z "${isHosts}" ];then if [ -z "${isHosts}" ];then
echo "" >> /etc/hosts echo "" >> /etc/hosts
echo "116.213.43.206 www.bt.cn" >> /etc/hosts echo "116.213.43.206 www.bt.cn" >> /etc/hosts
getIpAddress=$(curl -sS --connect-timeout 10 -m 60 https://www.bt.cn/Api/getIpAddress) getIpAddress=$(curl -sS --connect-timeout 15 -m 60 https://www.bt.cn/Api/getIpAddress)
if [ -z "${getIpAddress}" ];then if [ -z "${getIpAddress}" ];then
sed -i "/bt.cn/d" /etc/hosts sed -i "/bt.cn/d" /etc/hosts
fi fi
@ -667,7 +674,7 @@ Get_Ip_Address(){
LOCAL_IP=$(ip addr | grep -E -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -E -v "^127\.|^255\.|^0\." | head -n 1) LOCAL_IP=$(ip addr | grep -E -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -E -v "^127\.|^255\.|^0\." | head -n 1)
} }
Setup_Count(){ Setup_Count(){
curl -sS --connect-timeout 10 -m 60 https://www.bt.cn/Api/SetupCount?type=Linux\&o=$1 > /dev/null 2>&1 curl -sS --connect-timeout 15 -m 60 https://www.bt.cn/Api/SetupCount?type=Linux\&o=$1 > /dev/null 2>&1
if [ "$1" != "" ];then if [ "$1" != "" ];then
echo $1 > /www/server/panel/data/o.pl echo $1 > /www/server/panel/data/o.pl
cd /www/server/panel cd /www/server/panel
@ -741,4 +748,3 @@ endTime=`date +%s`
((outTime=($endTime-$startTime)/60)) ((outTime=($endTime-$startTime)/60))
echo -e "Time consumed:\033[32m $outTime \033[0mMinute!" echo -e "Time consumed:\033[32m $outTime \033[0mMinute!"

1021
install/install_panel_bt.sh Normal file

File diff suppressed because it is too large Load Diff