更新 trojan.sh

This commit is contained in:
2023-11-22 04:53:43 +08:00
parent 1b639dafe3
commit d387daf79c

View File

@@ -11,7 +11,7 @@ function red(){
function version_lt(){
test "$(echo "$@" | tr " " "\n" | sort -rV | head -n 1)" != "$1";
}
source /etc/os-release
RELEASE=$ID
VERSION=$VERSION_ID
@@ -26,7 +26,7 @@ elif [ "$RELEASE" == "ubuntu" ]; then
systemPackage="apt-get"
fi
systempwd="/etc/systemd/system/"
function install_trojan(){
$systemPackage install -y nginx
if [ ! -d "/etc/nginx/" ]; then
@@ -102,7 +102,7 @@ EOF
mkdir /usr/src/trojan-cert/$your_domain
~/.acme.sh/acme.sh --register-account -m myemail@example.com --server zerossl
~/.acme.sh/acme.sh --issue -d $your_domain --nginx
if test -s /root/.acme.sh/$your_domain/fullchain.cer; then
if test -s /root/.acme.sh/$your_domain_ecc/fullchain.cer; then
cert_success="1"
fi
fi
@@ -286,7 +286,7 @@ EOF
fi
}
function preinstall_check(){
nginx_status=`ps -aux | grep "nginx: worker" |grep -v "grep"`
if [ -n "$nginx_status" ]; then
systemctl stop nginx
@@ -406,7 +406,7 @@ function preinstall_check(){
fi
fi
}
function repair_cert(){
systemctl stop nginx
#iptables -I INPUT -p tcp --dport 80 -j ACCEPT
@@ -427,19 +427,34 @@ function repair_cert(){
real_addr=`ping ${your_domain} -c 1 | sed '1{s/[^(]*(//;s/).*//;q}'`
local_addr=`curl ipv4.icanhazip.com`
if [ $real_addr == $local_addr ] ; then
~/.acme.sh/acme.sh --register-account -m myemail@example.com --server zerossl
~/.acme.sh/acme.sh --issue -d $your_domain --standalone
~/.acme.sh/acme.sh --installcert -d $your_domain \
--key-file /usr/src/trojan-cert/$your_domain/private.key \
--fullchain-file /usr/src/trojan-cert/$your_domain/fullchain.cer \
--reloadcmd "systemctl restart trojan"
if test -s /usr/src/trojan-cert/$your_domain/fullchain.cer; then
green "证书申请成功"
systemctl restart trojan
systemctl start nginx
else
red "申请证书失败"
fi
if [ -f "/usr/src/trojan-cert/$your_domain/fullchain.cer" ]; then
cd /usr/src/trojan-cert/$your_domain
create_time=`stat -c %Y fullchain.cer`
now_time=`date +%s`
minus=$(($now_time - $create_time ))
if [ $minus -gt 5184000 ]; then
~/.acme.sh/acme.sh --register-account -m myemail@example.com --server zerossl
~/.acme.sh/acme.sh --issue -d $your_domain --standalone
~/.acme.sh/acme.sh --installcert -d $your_domain \
--key-file /usr/src/trojan-cert/$your_domain/private.key \
--fullchain-file /usr/src/trojan-cert/$your_domain/fullchain.cer \
--reloadcmd "systemctl restart trojan"
if test -s /usr/src/trojan-cert/$your_domain/fullchain.cer; then
green "证书申请成功"
systemctl restart trojan
systemctl start nginx
else
red "申请证书失败"
fi
else
~/.acme.sh/acme.sh --installcert -d $your_domain \
--key-file /usr/src/trojan-cert/$your_domain/private.key \
--fullchain-file /usr/src/trojan-cert/$your_domain/fullchain.cer \
--reloadcmd "systemctl restart trojan"
green "检测到域名$your_domain证书存在且未超过60天,无需重新申请"
cert_success="1"
fi
fi
else
red "================================"
red "域名解析地址与本VPS IP地址不一致"
@@ -447,7 +462,7 @@ function repair_cert(){
red "================================"
fi
}
function remove_trojan(){
red "================================"
red "即将卸载trojan"
@@ -475,7 +490,7 @@ function remove_trojan(){
green "trojan删除完毕"
green "=============="
}
function update_trojan(){
/usr/src/trojan/trojan -v 2>trojan.tmp
curr_version=`cat trojan.tmp | grep "trojan" | awk '{print $4}'`
@@ -500,9 +515,9 @@ function update_trojan(){
}
function install_acme(){
file_path="~/.acme.sh/acme.sh/"
file_path="/root/.acme.sh/acme.sh"
if [ -f "$file_path" ]
then
red "$file_path 已存在"
@@ -511,7 +526,7 @@ function install_acme(){
curl https://get.acme.sh | sh
fi
}
start_menu(){
clear
green " ======================================="
@@ -557,5 +572,5 @@ start_menu(){
;;
esac
}
start_menu
start_menu