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