feat(脚本): 增加完全重新安装、修改提示语

pull/534/merge
mack-a 2020-07-01 20:48:57 +08:00
parent dedc636f3f
commit 70e4cbf49a
1 changed files with 44 additions and 13 deletions

View File

@ -49,7 +49,13 @@ fixBug(){
installTools(){
# echo "export LC_ALL=en_US.UTF-8" >> /etc/profile
# source /etc/profile
echoContent yellow "删除Nginx、V2Ray、acme"
# kill lock
if [[ ! -z `ps -ef|grep -v grep|grep apt` ]]
then
ps -ef|grep -v grep|grep apt|awk '{print $2}'|xargs kill -9
fi
echoContent yellow "删除Nginx、V2Ray请等待--->"
if [[ ! -z `find /usr/sbin/ -name nginx` ]]
then
if [[ ! -z `ps -ef|grep nginx|grep -v grep` ]]
@ -84,7 +90,7 @@ installTools(){
rm -rf /etc/systemd/system/v2ray.service
systemctl daemon-reload
rm -rf ~/.acme.sh > /dev/null
# rm -rf ~/.acme.sh > /dev/null
echoContent green " 删除完成"
echoContent skyBlue "检查、安装工具包:"
@ -112,7 +118,7 @@ installTools(){
echoContent yellow "检查、安装crontabs--->"
progressTool crontabs &
if [[ "${release}" = "ubuntu" ]]
if [[ "${release}" = "ubuntu" ]] || [[ "${release}" = "debian" ]]
then
${installType} cron > /dev/null
else
@ -146,7 +152,8 @@ installNginx(){
if [[ ! -z `ps -ef|grep -v grep|grep nginx` ]]
then
ps -ef|grep nginx|grep -v grep|awk '{print $2}'|xargs kill -9
nginx -s stop
# ps -ef|grep -v grep|grep nginx|awk '{print $2}'|xargs kill -9
fi
# 修改配置
@ -174,14 +181,15 @@ installNginx(){
ps -ef|grep nginx|grep -v grep|awk '{print $2}'|xargs kill -9
installTLS ${domain}
else
echoContent red " 无法正常访问服务器,请检域名的DNS解析以及防火墙设置是否正确--->"
echoContent red " 无法正常访问服务器,请检测域名是否正确、域名的DNS解析以及防火墙设置是否正确--->"
exit 0;
fi
fi
}
# 安装TLS
installTLS(){
mkdir -p /etc/nginx/v2ray-agent-https/
touch /etc/nginx/v2ray-agent-https/config
if [[ -z `find /tmp -name "$1*"` ]]
then
echoContent yellow "安装TLS证书--->"
@ -190,8 +198,6 @@ installTLS(){
echoContent green " acme安装完毕--->"
echoContent yellow "生成TLS证书中请等待--->"
sudo ~/.acme.sh/acme.sh --issue -d $1 --standalone -k ec-256 >/dev/null
mkdir -p /etc/nginx/v2ray-agent-https/
touch /etc/nginx/v2ray-agent-https/config
~/.acme.sh/acme.sh --installcert -d $1 --fullchainpath /etc/nginx/v2ray-agent-https/$1.crt --keypath /etc/nginx/v2ray-agent-https/$1.key --ecc >/dev/null
if [[ -z `cat /etc/nginx/v2ray-agent-https/$1.crt` ]]
then
@ -205,6 +211,7 @@ installTLS(){
echoContent green " TLS生成成功--->"
echo $1 `date +%s` > /etc/nginx/v2ray-agent-https/config
mkdir -p /tmp/tls
cp -R /etc/nginx/v2ray-agent-https/config /tmp/tls/config
cp -R /etc/nginx/v2ray-agent-https/$1.crt /tmp/tls/$1.crt
cp -R /etc/nginx/v2ray-agent-https/$1.key /tmp/tls/$1.key
echoContent green " TLS证书备份成功证书位置/tmp/tls--->"
@ -214,9 +221,10 @@ installTLS(){
rm -rf /tmp/tls
installTLS $1
else
echoContent yellow "检测到备份证书,如需重新生成,请执行 [rm -rf /tmp/tls],然后重新执行脚本--->"
echoContent yellow "检测到备份证书,使用--->"
cp -R /tmp/tls/$1.crt /etc/nginx/v2ray-agent-https/$1.crt
cp -R /tmp/tls/$1.key /etc/nginx/v2ray-agent-https/$1.key
cp -R /tmp/tls/config /etc/nginx/v2ray-agent-https/config
fi
# nginxInstallLine=`cat /etc/nginx/nginx.conf|grep -n "}"|awk -F "[:]" 'END{print $1-1}'`
@ -264,7 +272,7 @@ installV2Ray(){
fi
echoContent green " V2Ray安装成功--->"
else
echoContent yellow "检测到V2Ray安装程序如需重新安装,请执行[rm -rf /tmp/v2ray],然后重新执行脚本--->\n"
echoContent yellow "检测到V2Ray安装程序使用--->\n"
mkdir -p /usr/bin/v2ray/
cp /tmp/v2ray/v2ray /usr/bin/v2ray/ && cp /tmp/v2ray/v2ctl /usr/bin/v2ray/
fi
@ -461,9 +469,11 @@ init(){
echoContent green "\nV2Ray信息"
mkdir -p /usr/bin/v2ray
mkdir -p /etc/v2ray/
v2rayStatus=0
if [[ ! -z `ls -F /usr/bin/v2ray/|grep "v2ray"` ]] && [[ ! -z `find /etc/v2ray/ -name "config.json"` ]]
then
v2rayVersion=`/usr/bin/v2ray/v2ray -version|awk '{print $2}'|head -1`
v2rayStatus=1
echoContent yellow " version${v2rayVersion}"
echoContent yellow " 安装路径:/usr/bin/v2ray/"
echoContent yellow " 日志路径:"
@ -472,10 +482,12 @@ init(){
else
echoContent yellow " 暂未安装"
fi
tlsStatus=0
echoContent green "\nTLS证书状态"
mkdir -p /etc/nginx/v2ray-agent-https/
if [[ ! -z `find /etc/nginx/v2ray-agent-https/ -name config` ]] && [[ ! -z `cat /etc/nginx/v2ray-agent-https/config` ]]
then
tlsStatus=1
domain=`cat /etc/nginx/v2ray-agent-https/config|awk '{print $1}'`
tlsCreateTime=`cat /etc/nginx/v2ray-agent-https/config|awk '{print $2}'`
currentTime=`date +%s`
@ -492,24 +504,43 @@ init(){
echoContent green " 2.如果使用此脚本生成过TLS证书、V2Ray会继续使用上次生成、安装的内容。"
echoContent green " 3.会删除、卸载已经安装的应用包括V2Ray、Nginx。"
echoContent green " 4.如果显示Nginx不可用请检查防火墙端口是否开放。"
echoContent green " 5.如果证书过期则执行[rm -rf /tmp/tls]后重新执行该脚本即可"
echoContent green " 5.证书会在每天的0点31分检查更新"
echoContent red "=============================================================="
echoContent red "错误处理【这里请仔细阅读】"
echoContent yellow "Debian"
echoContent green " 错误1WARNING: apt does not have a stable CLI interface. Use with caution in scripts.【这个错误无需处理】"
echoContent green " 错误2如果错误很多且安装失败则需要重启vps无需重新安装OS。这种情况是在安装过程中意外断开导致。"
echoContent red "=============================================================="
echoContent yellow " 1.安装"
echoContent yellow " 2.BBR安装[推荐BBR+FQ 或者 BBR+Cake]"
installSelect=0
if [[ ${tlsStatus} = "1" ]] && [[ ${v2rayStatus} = "1" ]]
then
echoContent red "检测到已使用本脚本安装"
echoContent yellow " 1.重新安装【使用缓存的文件TLS证书、V2Ray】"
echoContent yellow " 2.完全重装【会清理tmp缓存文件TLS证书、V2Ray】"
else
echoContent red "未监测到使用本脚本安装"
echoContent yellow " 1.安装"
echoContent yellow " 2.完全安装【会清理tmp缓存文件TLS证书、V2Ray】"
fi
echoContent yellow " 3.BBR安装[推荐BBR+FQ 或者 BBR+Cake]"
echoContent red "=============================================================="
echoContent green "请输入上列数字,[任意]结束:"
read installStatus
if [[ "${installStatus}" = "1" ]]
then
rm -rf /etc/v2ray/usersv2ray.conf
installTools
installNginx
elif [[ "${installStatus}" = "2" ]]
then
rm -rf /tmp/v2ray
rm -rf /tmp/tls
rm -rf /etc/v2ray/usersv2ray.conf
installTools
installNginx
elif [[ "${installStatus}" = "3" ]]
then
echoContent red "=============================================================="
echoContent green "BBR脚本用的[ylx2016]的成熟作品,地址[https://github.com/ylx2016/Linux-NetSpeed/releases/download/sh/tcp.sh],请熟知"