acme.sh 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #!/bin/bash
  2. # fonts color
  3. Green="\033[32m"
  4. Red="\033[31m"
  5. Yellow="\033[33m"
  6. GreenBG="\033[42;37m"
  7. RedBG="\033[41;37m"
  8. Font="\033[0m"
  9. # fonts color
  10. DOMAIN=$(cat /conf/account.conf | awk -F= '{if($1~"DOMAIN")print $2}')
  11. DNSAPI=$(cat /conf/account.conf | awk -F= '{if($1~"DNSAPI")print $2}')
  12. acme (){
  13. cat /conf/account.conf >/acme.sh/account.conf
  14. /root/.acme.sh/acme.sh --upgrade
  15. /root/.acme.sh/acme.sh --register-account -m [email protected] --server zerossl
  16. /root/.acme.sh/acme.sh --issue $* --keylength 2048 --dns ${DNSAPI} -d ${DOMAIN} -d \*.${DOMAIN}
  17. rm -rf /acme.sh/ca
  18. rm -rf /acme.sh/http.header
  19. if [ -f /acme.sh/${DOMAIN}/fullchain.cer ] && [ -f /acme.sh/${DOMAIN}/${DOMAIN}.key ]; then
  20. rm -rf /ssl/${DOMAIN}.cer
  21. rm -rf /ssl/${DOMAIN}.key
  22. cp /acme.sh/${DOMAIN}/fullchain.cer /ssl/${DOMAIN}.cer
  23. cp /acme.sh/${DOMAIN}/${DOMAIN}.key /ssl/${DOMAIN}.key
  24. mv /acme.sh/${DOMAIN} /acme.sh/${DOMAIN}-$(date +%Y)-$(date +%m)-$(date +%d)-${RANDOM}
  25. else
  26. echo "证书申请失败,已退出脚本,请重新尝试."
  27. rm -rf /acme.sh/${DOMAIN}
  28. exit 1
  29. fi
  30. }
  31. if [ ! -n "${DOMAIN}" ] ; then
  32. echo "请检查 account.conf 信息是否正确"
  33. else
  34. acme $*
  35. fi
  36. cat >/var/spool/cron/crontabs/root<<EOF
  37. 0 0 10 * * /conf/acme.sh >/dev/null 2>&1
  38. EOF