au.sh 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. #!/bin/bash
  2. #ywdblog@gmail.com 欢迎关注我的书《深入浅出HTTPS:从原理到实战》
  3. #填写腾讯云的AccessKey ID及AccessKey Secret
  4. #如何申请见https://help.aliyun.com/knowledge_detail/38738.html
  5. ALY_KEY=""
  6. ALY_TOKEN=""
  7. #填写腾讯云的SecretId及SecretKey
  8. #如何申请见https://console.cloud.tencent.com/cam/capi
  9. TXY_KEY=""
  10. TXY_TOKEN=""
  11. #GoDaddy的SecretId及SecretKey
  12. #如何申请见https://developer.godaddy.com/getstarted
  13. GODADDY_KEY=""
  14. GODADDY_TOKEN=""
  15. PATH=$(cd `dirname $0`; pwd)
  16. # 命令行参数
  17. # 第一个参数:使用什么语言环境
  18. # 第二个参数:使用那个 DNS 的 API
  19. # 第三个参数:add or clean
  20. plang=$1 #python or php
  21. pdns=$2 #aly or txy
  22. paction=$3 #add or clean
  23. #PHP 命令行路径,如果有需要可以修改
  24. phpcmd="/usr/bin/php"
  25. #Python 命令行路径,如果有需要可以修改
  26. pythoncmd="/usr/bin/python"
  27. #内部变量
  28. cmd=""
  29. key=""
  30. token=""
  31. if [[ "$paction" != "clean" ]]; then
  32. paction="add"
  33. fi
  34. case $plang in
  35. "php")
  36. cmd=$phpcmd
  37. if [[ "$pdns" == "aly" ]]; then
  38. dnsapi=$PATH"/php-version/alydns.php"
  39. key=$ALY_KEY
  40. token=$ALY_TOKEN
  41. elif [[ "$pdns" == "txy" ]] ;then
  42. dnsapi="$PATH/php-version/txydns.php"
  43. key=$TXY_KEY
  44. token=$TXY_TOKEN
  45. else
  46. dnsapi="$PATH/php-version/godaddydns.php"
  47. key=$GODADDY_KEY
  48. token=$GODADDY_TOKEN
  49. fi
  50. ;;
  51. "python")
  52. cmd=$pythoncmd
  53. if [[ "$pdns" == "aly" ]]; then
  54. dnsapi=$PATH"/python-version/alydns.py"
  55. key=$ALY_KEY
  56. token=$ALY_TOKEN
  57. elif [[ "$pdns" == "txy" ]] ;then
  58. dnsapi=$PATH"/python-version/txydns.py"
  59. key=$TXY_KEY
  60. token=$TXY_TOKEN
  61. else
  62. key=$GODADDY_KEY
  63. token=$GODADDY_TOKEN
  64. echo "目前不支持python版本的非阿里云DNS处理"
  65. exit
  66. fi
  67. ;;
  68. esac
  69. $cmd $dnsapi $paction $CERTBOT_DOMAIN "_acme-challenge" $CERTBOT_VALIDATION $key $token >>"/var/log/certd.log"
  70. if [[ "$paction" == "add" ]]; then
  71. # DNS TXT 记录刷新时间
  72. /bin/sleep 20
  73. fi