v-list-letsencrypt-user 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. #!/bin/bash
  2. # info: list letsencrypt key
  3. # options: USER [FORMAT]
  4. #
  5. # The function for obtaining the letsencrypt key thumbprint
  6. #----------------------------------------------------------#
  7. # Variable&Function #
  8. #----------------------------------------------------------#
  9. # Argument definition
  10. user=$1
  11. format=${2-shell}
  12. # Includes
  13. source $HESTIA/func/main.sh
  14. # JSON list function
  15. json_list() {
  16. echo '{'
  17. echo ' "'$user'": {
  18. "EMAIL": "'$EMAIL'",
  19. "EXPONENT": "'$EXPONENT'",
  20. "MODULUS": "'$MODULUS'",
  21. "THUMB": "'$THUMB'",
  22. "KID": "'$KID'"
  23. }'
  24. echo '}'
  25. }
  26. # SHELL list function
  27. shell_list() {
  28. echo "USER: $user"
  29. echo "EMAIL: $EMAIL"
  30. echo "THUMB: $THUMB"
  31. echo "EXPONENT: $EXPONENT"
  32. echo "MODULUS: $MODULUS"
  33. echo "KID: $KID"
  34. }
  35. # PLAIN list function
  36. plain_list() {
  37. echo -e "$user\t$EMAIL\t$EXPONENT\t$MODULUS\t$THUMB\t$KID"
  38. }
  39. # CSV list function
  40. csv_list() {
  41. echo "USER,EMAIL,EXPONENT,MODULUS,THUMB,KID"
  42. echo "$user,$EMAIL,$EXPONENT,$MODULUS,$THUMB,$KID"
  43. }
  44. #----------------------------------------------------------#
  45. # Verifications #
  46. #----------------------------------------------------------#
  47. check_args '1' "$#" 'USER [FORMAT]'
  48. is_format_valid 'user'
  49. is_object_valid 'user' 'USER' "$user"
  50. if [ ! -e "$USER_DATA/ssl/le.conf" ]; then
  51. check_result $E_NOTEXIST "LetsEncrypt user account doesn't exist"
  52. fi
  53. #----------------------------------------------------------#
  54. # Action #
  55. #----------------------------------------------------------#
  56. source $USER_DATA/ssl/le.conf
  57. # Listing data
  58. case $format in
  59. json) json_list ;;
  60. plain) plain_list ;;
  61. csv) csv_list ;;
  62. shell) shell_list ;;
  63. esac
  64. #----------------------------------------------------------#
  65. # Hestia #
  66. #----------------------------------------------------------#
  67. exit