diff --git a/README.md b/README.md
index bfe7abe..504af92 100644
--- a/README.md
+++ b/README.md
@@ -1,45 +1,43 @@
-
-
# guac-install
Script for installing Guacamole 1.1.0 on Ubuntu 16.04 or newer (with MySQL, or remote MySQL). It should also work on pure [Debian](https://www.debian.org/), [Raspbian](https://www.raspberrypi.org/downloads/raspbian/) or [Kali Linux](https://www.kali.org/). I have tested this with Debian 10.3.0 (Buster). **If other versions don't work please open an issue.** It is likely due to a required library having a different name.
Run script, enter MySQL Root Password and Guacamole User password. Guacamole User is used to connect to the Guacamole Database.
-The script attempts to install tomcat9 by default. It will fall back on tomcat8 **if the available version is 8.5.x or newer**, otherwise it will fall back to tomcat7. If you want to manually specify a tomcat version there's a commented out line you can modify. Have at it.
+The script attempts to install `tomcat9` by default (it will fall back on `tomcat8` **if the available version is 8.5.x or newer**, otherwise it will fall back to `tomcat7`). If you want to manually specify a tomcat version there's a commented out line you can modify. Have at it.
If you're looking to also have NGINX / Let's Encrypt / HTTPS click [HERE](https://github.com/bigredthelogger/guacamole)
## MFA/2FA
-By default the script will not install MFA support (QR code for Google/Microsoft Authenticator, Duo Mobile, etc. or Duo Push), if you do want MFA support you need to specify the `-t` or `--totp` or for Duo `-d` or `--duo` flags on the command line. Or modify the script variables `installTOTP=true` or `installDuo=true`. **Do not install both**
+By default the script will not install MFA support (QR code for Google/Microsoft Authenticator, Duo Mobile, etc. or Duo Push), if you do want MFA support you can use the `-t` or `--totp` or for Duo `-d` or `--duo` flags on the command line. Or modify the script variables `installTOTP=true` or `installDuo=true`. **Do not install both**
## How to Run:
### Download file directly from here:
-wget https://git.io/fxZq5
+`wget https://git.io/fxZq5`
### Make it executable:
-chmod +x guac-install.sh
+`chmod +x guac-install.sh`
### Run it as root:
Interactive (asks for passwords):
-./guac-install.sh
+`./guac-install.sh`
Non-Interactive (values provided via cli):
-./guac-install.sh --mysqlpwd password --guacpwd password
+`./guac-install.sh --mysqlpwd password --guacpwd password --nomfa --installmysql`
OR
-./guac-install.sh -r password -gp password
+`./guac-install.sh -r password -gp password -o -i`
Once installation is done you can access Guacamole by browsing to: http://:8080/guacamole/
-The default credentials are guacadmin as both username and password. Please change them or disable guacadmin after install!
+The default credentials are `guacadmin` as both username and password. Please change them or disable guacadmin after install!
# guac-upgrade
@@ -51,43 +49,47 @@ If looks for the tomcat folder in /etc/ (E.G. `/etc/tomcat7` or `/etc/tomcat8`)
Install MySQL:
--i or --installmysql
+`-i or --installmysql`
Do *NOT* install MySQL:
--n or --nomysql
+`-n or --nomysql`
MySQL Host:
--h or --mysqlhost
+`-h or --mysqlhost`
MySQL Port:
--p or --mysqlport
+`-p or --mysqlport`
MySQL Root Password:
--r or --mysqlpwd
+`-r or --mysqlpwd`
Guacamole Database:
--db or --guacdb
+`-db or --guacdb`
Guacamole User:
--gu or --guacuser
+`-gu or --guacuser`
Guacamole User Password:
--gp or --guacpwd
+`-gp or --guacpwd`
+
+No MFA (No TOTP + Duo):
+
+`-o or --nomfa`
Install TOTP:
--t or --totp
+`-t or --totp`
Install Duo:
--d or --duo
+`-d or --duo`
NOTE: Only the switches for MySQL Host, MySQL Port and Guacamole Database are available in the upgrade script.
@@ -100,18 +102,18 @@ NOTE: Only the switches for MySQL Host, MySQL Port and Guacamole Database are av
### Download file directly from here:
-wget https://raw.githubusercontent.com/MysticRyuujin/guac-install/master/guac-upgrade.sh
+`wget https://raw.githubusercontent.com/MysticRyuujin/guac-install/master/guac-upgrade.sh`
### Make it executable:
-chmod +x guac-upgrade.sh
+`chmod +x guac-upgrade.sh`
### Run it as root:
Interactive (asks for passwords):
-./guac-upgrade.sh
+`./guac-upgrade.sh`
Non-Interactive (MySQL root password provided via cli):
-./guac-upgrade.sh --mysqlpwd password
+`./guac-upgrade.sh --mysqlpwd password`
diff --git a/guac-install.sh b/guac-install.sh
index 353549a..103a272 100755
--- a/guac-install.sh
+++ b/guac-install.sh
@@ -70,7 +70,7 @@ while [ "$1" != "" ]; do
;;
-gp | --guacpwd )
shift
- guacpwd="$1"
+ guacPwd="$1"
;;
# MFA selection
@@ -79,6 +79,11 @@ while [ "$1" != "" ]; do
;;
-d | --duo )
installDuo=true
+ ;;
+ -o | --nomfa )
+ installTOTP=false
+ installDuo=false
+ ;;
esac
shift
done
@@ -154,28 +159,36 @@ if [ -z "$guacDb" ]; then
guacDb="guacamole_db"
fi
-# Get MySQL "Root" and "Guacamole User" password
-while true; do
- echo
- read -s -p "Enter ${mysqlHost}'s MySQL root password: " mysqlRootPwd
- echo
- read -s -p "Confirm ${mysqlHost}'s MySQL root password: " PROMPT2
- echo
- [ "$mysqlRootPwd" = "$PROMPT2" ] && break
- echo "Passwords don't match. Please try again."
-done
+if [ -z "${mysqlRootPwd}" ]; then
+ # Get MySQL "Root" and "Guacamole User" password
+ while true; do
+ echo
+ read -s -p "Enter ${mysqlHost}'s MySQL root password: " mysqlRootPwd
+ echo
+ read -s -p "Confirm ${mysqlHost}'s MySQL root password: " PROMPT2
+ echo
+ [ "$mysqlRootPwd" = "$PROMPT2" ] && break
+ echo "Passwords don't match. Please try again."
+ done
+else
+ echo -e "${BLUE}Read MySQL password from command line argument${NC}"
+fi
echo
-while true; do
- echo -e "${BLUE}A new MySQL user will be created (${guacUser})${NC}"
- read -s -p "Enter ${mysqlHost}'s MySQL guacamole user password: " guacPwd
- echo
- read -s -p "Confirm ${mysqlHost}'s MySQL guacamole user password: " PROMPT2
- echo
- [ "$guacPwd" = "$PROMPT2" ] && break
- echo "Passwords don't match. Please try again."
- echo
-done
+if [ -z "${guacPwd}" ]; then
+ while true; do
+ echo -e "${BLUE}A new MySQL user will be created (${guacUser})${NC}"
+ read -s -p "Enter ${mysqlHost}'s MySQL guacamole user password: " guacPwd
+ echo
+ read -s -p "Confirm ${mysqlHost}'s MySQL guacamole user password: " PROMPT2
+ echo
+ [ "$guacPwd" = "$PROMPT2" ] && break
+ echo "Passwords don't match. Please try again."
+ echo
+ done
+else
+ echo -e "${BLUE}Read MySQL password from command line argument${NC}"
+fi
echo
if [ "$installMySQL" = true ]; then