v-list-sys-config 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. #!/bin/bash
  2. # info: list system configuration
  3. # options: [FORMAT]
  4. # labels:
  5. #
  6. # example: v-list-sys-config json
  7. #
  8. # The function for obtaining the list of system parameters.
  9. #----------------------------------------------------------#
  10. # Variable&Function #
  11. #----------------------------------------------------------#
  12. # Argument definition
  13. format=${1-shell}
  14. source $HESTIA/func/main.sh
  15. source $HESTIA/conf/hestia.conf
  16. # JSON list function
  17. json_list() {
  18. echo '{
  19. "config": {
  20. "WEB_SYSTEM": "'$WEB_SYSTEM'",
  21. "WEB_RGROUPS": "'$WEB_RGROUPS'",
  22. "WEB_PORT": "'$WEB_PORT'",
  23. "WEB_SSL": "'$WEB_SSL'",
  24. "WEB_SSL_PORT": "'$WEB_SSL_PORT'",
  25. "WEB_BACKEND": "'$WEB_BACKEND'",
  26. "PROXY_SYSTEM": "'$PROXY_SYSTEM'",
  27. "PROXY_PORT": "'$PROXY_PORT'",
  28. "PROXY_SSL_PORT": "'$PROXY_SSL_PORT'",
  29. "FTP_SYSTEM": "'$FTP_SYSTEM'",
  30. "MAIL_SYSTEM": "'$MAIL_SYSTEM'",
  31. "IMAP_SYSTEM": "'$IMAP_SYSTEM'",
  32. "ANTIVIRUS_SYSTEM": "'$ANTIVIRUS_SYSTEM'",
  33. "ANTISPAM_SYSTEM": "'$ANTISPAM_SYSTEM'",
  34. "DB_SYSTEM": "'$DB_SYSTEM'",
  35. "DNS_SYSTEM": "'$DNS_SYSTEM'",
  36. "DNS_CLUSTER": "'$DNS_CLUSTER'",
  37. "STATS_SYSTEM": "'$STATS_SYSTEM'",
  38. "BACKUP_SYSTEM": "'$BACKUP_SYSTEM'",
  39. "CRON_SYSTEM": "'$CRON_SYSTEM'",
  40. "DISK_QUOTA": "'$DISK_QUOTA'",
  41. "FIREWALL_SYSTEM": "'$FIREWALL_SYSTEM'",
  42. "FIREWALL_EXTENSION": "'$FIREWALL_EXTENSION'",
  43. "FILE_MANAGER": "'$FILE_MANAGER'",
  44. "REPOSITORY": "'$REPOSITORY'",
  45. "VERSION": "'$VERSION'",
  46. "RELEASE_BRANCH": "'$RELEASE_BRANCH'",
  47. "UPGRADE_SEND_EMAIL": "'$UPGRADE_SEND_EMAIL'",
  48. "UPGRADE_SEND_EMAIL_LOG": "'$UPGRADE_SEND_EMAIL_LOG'",
  49. "SMTP_RELAY": "'$SMTP_RELAY'",
  50. "SMTP_RELAY_HOST": "'$SMTP_RELAY_HOST'",
  51. "SMTP_RELAY_PORT": "'$SMTP_RELAY_PORT'",
  52. "SMTP_RELAY_USER": "'$SMTP_RELAY_USER'",
  53. "DEMO_MODE": "'$DEMO_MODE'",
  54. "THEME": "'$THEME'",
  55. "LANGUAGE": "'$LANGUAGE'",
  56. "BACKUP_GZIP": "'$BACKUP_GZIP'",
  57. "BACKUP": "'$BACKUP'",
  58. "BACKUP_MODE": "'$BACKUP_MODE'",
  59. "WEBMAIL_ALIAS": "'$WEBMAIL_ALIAS'",
  60. "WEBMAIL_SYSTEM": "'$WEBMAIL_SYSTEM'",
  61. "DB_PMA_ALIAS": "'$DB_PMA_ALIAS'",
  62. "DB_PGA_ALIAS": "'$DB_PGA_ALIAS'",
  63. "LOGIN_STYLE": "'$LOGIN_STYLE'",
  64. "INACTIVE_SESSION_TIMEOUT": "'$INACTIVE_SESSION_TIMEOUT'",
  65. "PHPMYADMIN_KEY": "'$PHPMYADMIN_KEY'",
  66. "ENFORCE_SUBDOMAIN_OWNERSHIP": "'$ENFORCE_SUBDOMAIN_OWNERSHIP'"
  67. }
  68. }'
  69. }
  70. # Shell list
  71. shell_list() {
  72. if [ ! -z "$WEB_SYSTEM" ]; then
  73. echo "Web Server: $WEB_SYSTEM:$WEB_PORT ($WEB_RGROUPS)"
  74. echo "SSL Support: $WEB_SSL:$WEB_SSL_PORT"
  75. fi
  76. if [ ! -z "$WEB_BACKEND" ]; then
  77. echo "Web Backend: $WEB_BACKEND"
  78. fi
  79. if [ ! -z "$PROXY_SYSTEM" ]; then
  80. echo "Proxy Server: $PROXY_SYSTEM:$PROXY_PORT"
  81. echo "Proxy SSL: $PROXY_SYSTEM:$PROXY_SSL_PORT"
  82. fi
  83. if [ ! -z "$STATS_SYSTEM" ]; then
  84. echo "Statistics Engine: ${STATS_SYSTEM//,/, }"
  85. fi
  86. if [ ! -z "$FTP_SYSTEM" ]; then
  87. echo "FTP Server: $FTP_SYSTEM"
  88. fi
  89. if [ ! -z "$MAIL_SYSTEM" ]; then
  90. echo -n "Mail Server: $MAIL_SYSTEM"
  91. if [ ! -z "$IMAP_SYSTEM" ]; then
  92. echo -n " + $IMAP_SYSTEM"
  93. fi
  94. if [ ! -z "$ANTIVIRUS_SYSTEM" ]; then
  95. echo -n " + $ANTIVIRUS_SYSTEM"
  96. fi
  97. if [ ! -z "$ANTISPAM_SYSTEM" ]; then
  98. echo -n " + $ANTISPAM_SYSTEM"
  99. fi
  100. echo
  101. if [ ! -z "$WEBMAIL_ALIAS" ]; then
  102. echo "Webmail alias: $WEBMAIL_ALIAS"
  103. fi
  104. fi
  105. if [ ! -z "$DB_SYSTEM" ]; then
  106. echo "Database: ${DB_SYSTEM//,/, }"
  107. if [ ! -z "$DB_PMA_ALIAS" ]; then
  108. echo "phpMyAdmin Alias: $DB_PMA_ALIAS"
  109. fi
  110. if [ ! -z "$DB_PGA_ALIAS" ]; then
  111. echo "phpPgAdmin Alias: $DB_PGA_ALIAS"
  112. fi
  113. fi
  114. if [ ! -z "$DNS_SYSTEM" ]; then
  115. echo -n "DNS Server: $DNS_SYSTEM"
  116. if [ ! -z "$DNS_CLUSTER" ]; then
  117. echo -n " (cluster)"
  118. fi
  119. echo
  120. fi
  121. if [ ! -z "$CRON_SYSTEM" ]; then
  122. echo "CRON daemon: $CRON_SYSTEM"
  123. fi
  124. if [ ! -z "$FIREWALL_SYSTEM" ]; then
  125. echo -n "Firewall: $FIREWALL_SYSTEM"
  126. if [ ! -z "$FIREWALL_EXTENSION" ]; then
  127. echo -n "+ $FIREWALL_EXTENSION"
  128. fi
  129. echo
  130. fi
  131. if [ ! -z "$BACKUP_SYSTEM" ]; then
  132. echo "Backups: ${BACKUP_SYSTEM//,/, }"
  133. echo "Backup Directory: $BACKUP"
  134. fi
  135. if [ ! -z "$DISK_QUOTA" ]; then
  136. echo "Disk Quota enabled: $DISK_QUOTA"
  137. fi
  138. if [ ! -z "$LANGUAGE" ] && [ "$LANGUAGE" != 'en' ]; then
  139. echo "System Language: $LANGUAGE"
  140. fi
  141. echo "Version: $VERSION"
  142. if [ ! -z "$DEMO_MODE" ]; then
  143. echo "Demo Mode: $DEMO_MODE"
  144. fi
  145. if [ ! -z "$FILE_MANAGER" ]; then
  146. echo "File Manager enabled: $FILE_MANAGER"
  147. fi
  148. if [ ! -z "$SMTP_RELAY" ] && [ "$SMTP_RELAY" != 'false' ]; then
  149. echo "SMTP Relay enabled: $SMTP_RELAY"
  150. echo "SMTP Relay Server: $SMTP_RELAY_HOST"
  151. echo "SMTP Relay Port: $SMTP_RELAY_PORT"
  152. echo "SMTP Relay User: $SMTP_RELAY_USER"
  153. fi
  154. echo "Release Branch: $RELEASE_BRANCH"
  155. echo "Theme: $THEME"
  156. echo "Updates: Notify by email: $UPGRADE_SEND_EMAIL"
  157. echo "Updates: Email install log: $UPGRADE_SEND_EMAIL_LOG"
  158. }
  159. # PLAIN list function
  160. plain_list() {
  161. echo -ne "$WEB_SYSTEM\t$WEB_RGROUPS\t$WEB_PORT\t$WEB_SSL\t"
  162. echo -ne "$WEB_SSL_PORT\t$WEB_BACKEND\t$PROXY_SYSTEM\t$PROXY_PORT\t"
  163. echo -ne "$PROXY_SSL_PORT\t$FTP_SYSTEM\t$MAIL_SYSTEM\t$IMAP_SYSTEM\t"
  164. echo -ne "$ANTIVIRUS_SYSTEM\t$ANTISPAM_SYSTEM\t$DB_SYSTEM\t"
  165. echo -ne "$DNS_SYSTEM\t$DNS_CLUSTER\t$STATS_SYSTEM\t$BACKUP_SYSTEM\t"
  166. echo -ne "$CRON_SYSTEM\t$DISK_QUOTA\t$FIREWALL_SYSTEM\t$FIREWALL_EXTENSION\t"
  167. echo -ne "$FILE_MANAGER\t$REPOSITORY\t$VERSION\t$DEMO_MODE\t$RELEASE_BRANCH\t"
  168. echo -ne "$SMTP_RELAY_HOST\t$SMTP_RELAY_PORT\t$SMTP_RELAY_USER\t"
  169. echo -ne "$UPGRADE_SEND_EMAIL\t$UPGRADE_SEND_EMAIL_LOG\t$THEME\t$LANGUAGE\t$BACKUP_GZIP\t"
  170. echo -e "$BACKUP\t$WEBMAIL_ALIAS\t$DB_PMA_URL\t$DB_PGA_URL"
  171. }
  172. # CSV list
  173. csv_list() {
  174. echo -n "'WEB_SYSTEM','WEB_RGROUPS','WEB_PORT','WEB_SSL',"
  175. echo -n "'WEB_SSL_PORT','WEB_BACKEND','PROXY_SYSTEM','PROXY_PORT',"
  176. echo -n "'PROXY_SSL_PORT','FTP_SYSTEM','MAIL_SYSTEM','IMAP_SYSTEM',"
  177. echo -n "'ANTIVIRUS_SYSTEM','ANTISPAM_SYSTEM','DB_SYSTEM',"
  178. echo -n "'DNS_SYSTEM','DNS_CLUSTER','STATS_SYSTEM','BACKUP_SYSTEM',"
  179. echo -n "'CRON_SYSTEM','DISK_QUOTA','FIREWALL_SYSTEM',"
  180. echo -n "'FIREWALL_EXTENSION','FILE_MANAGER','REPOSITORY',"
  181. echo -n "'VERSION','DEMO_MODE','RELEASE_BRANCH',"
  182. echo -n "'SMTP_RELAY','SMTP_RELAY_HOST','SMTP_RELAY_PORT','SMTP_RELAY_USER',"
  183. echo -n "'UPGRADE_SEND_EMAIL','UPGRADE_SEND_EMAIL_LOG',"
  184. echo -n "'THEME', 'LANGUAGE','BACKUP_GZIP','BACKUP','WEBMAIL_ALIAS',"
  185. echo -n "'DB_PMA_ALIAS','DB_PGA_ALIAS'"
  186. echo
  187. echo -n "'$WEB_SYSTEM','$WEB_RGROUPS','$WEB_PORT','$WEB_SSL',"
  188. echo -n "'$WEB_SSL_PORT','$WEB_BACKEND','$PROXY_SYSTEM','$PROXY_PORT',"
  189. echo -n "'$PROXY_SSL_PORT','$FTP_SYSTEM','$MAIL_SYSTEM','$IMAP_SYSTEM',"
  190. echo -n "'$ANTIVIRUS_SYSTEM','$ANTISPAM_SYSTEM','$DB_SYSTEM','$DNS_SYSTEM',"
  191. echo -n "'$DNS_CLUSTER','$STATS_SYSTEM','$BACKUP_SYSTEM','$CRON_SYSTEM',"
  192. echo -n "'$DISK_QUOTA','$FIREWALL_SYSTEM','$FIREWALL_EXTENSION','$FILE_MANAGER',"
  193. echo -n "'$REPOSITORY', '$VERSION','$DEMO_MODE','$RELEASE_BRANCH',"
  194. echo -n "'$SMTP_RELAY','$SMTP_RELAY_HOST','$SMTP_RELAY_PORT','$SMTP_RELAY_USER',"
  195. echo -n "'$UPGRADE_SEND_EMAIL','$UPGRADE_SEND_EMAIL_LOG','$THEME','$LANGUAGE',"
  196. echo -n "'$BACKUP_GZIP','$BACKUP','$WEBMAIL_ALIAS','$DB_PMA_URL','$DB_PGA_URL'"
  197. echo
  198. }
  199. #----------------------------------------------------------#
  200. # Action #
  201. #----------------------------------------------------------#
  202. # Listing data
  203. case $format in
  204. json) json_list ;;
  205. plain) shell_list ;;
  206. csv) csv_list ;;
  207. shell) shell_list ;;
  208. esac
  209. #----------------------------------------------------------#
  210. # Hestia #
  211. #----------------------------------------------------------#
  212. exit