Advertisement
Guest User

Untitled

a guest
Jan 19th, 2019
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.54 KB | None | 0 0
  1. #!/bin/bash
  2. if [ $# -eq 0 ]; then
  3.     clear
  4.     echo "########################################################################"
  5.     echo -e "\n\n"
  6.     echo "No arguments provided! Usage $0 name.com a.name.com b.name.com"
  7.     echo -e "\n\n"
  8.     echo "########################################################################"
  9.     exit 1
  10. fi
  11.  
  12. port_state=$(iptables -nL --line-numbers | grep "^\d*.*ACCEPT.*tcp.*dpt:80.*ctstate.*NEW\,ESTABLISHED$" | awk '{ print $2 }')
  13. email="info@muffs.ru"
  14.  
  15. if [ ${port_state:-0} == "ACCEPT" ];
  16. then
  17.     echo "port check - OK;"
  18. else
  19.     echo "opening port 80;"
  20.     iptables -I INPUT 1 -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
  21. fi
  22.  
  23. domains=""
  24. for i in "${@:1}";
  25. do
  26.  domains="$domains -d $i"
  27. done
  28.  
  29. echo "Generating certificates for: $(echo $domains | sed 's/\-d//g')"
  30.  
  31. certbot-auto certonly --standalone --dry-run --expand --config-dir $(pwd)/certs/config --logs-dir $(pwd)/certs/logs --work-dir $(pwd)/certs/workdir $domains --preferred-challenges http --agree-tos -n -m $email --keep-until-expiring
  32.  
  33. dir=$(pwd)/certs_done/$1
  34. if [ ! -d $dir ];
  35. then
  36.   mkdir -p $dir
  37. fi
  38.  
  39. cat $(pwd)/certs/config/live/$1/chain.pem > $dir/chain.pem
  40. cat $(pwd)/certs/config/live/$1/cert.pem $(pwd)/certs/config/live/$1/privkey.pem > $dir/cert-key.pem
  41.  
  42. if [ ${port_state:-0} == "ACCEPT" ];
  43. then
  44.   echo "closing port 80;"
  45.   num=$(iptables -nL --line-numbers | grep "^\d*.*ACCEPT.*tcp.*dpt:80.*ctstate.*NEW\,ESTABLISHED$" | awk '{ print $1 }')
  46.   iptables -D INPUT $num
  47. fi
  48.  
  49. echo "done with $domains"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement