23.08.03-update
parent
307e5e056a
commit
ffd3a04c09
|
@ -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!"
|
||||||
|
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue