Enhance SERVER_NAME handling with reverse DNS fallback
This commit is contained in:
committed by
GitHub
parent
a0387422b3
commit
ed0e7b027e
+28
-5
@@ -14,8 +14,9 @@ GUAC_DB="guacamole_db"
|
|||||||
TOMCAT_VER=9.0.109
|
TOMCAT_VER=9.0.109
|
||||||
CRED_FILE="/root/guacamole-credentials.txt"
|
CRED_FILE="/root/guacamole-credentials.txt"
|
||||||
|
|
||||||
# --- Parameters (env or interactive) ---
|
# --- Parameters (env, interactive, or reverse DNS fallback) ---
|
||||||
SERVER_NAME=${SERVER_NAME:-}
|
SERVER_NAME=${SERVER_NAME:-}
|
||||||
|
|
||||||
if [ -z "$SERVER_NAME" ]; then
|
if [ -z "$SERVER_NAME" ]; then
|
||||||
if [ -t 0 ]; then
|
if [ -t 0 ]; then
|
||||||
while true; do
|
while true; do
|
||||||
@@ -24,8 +25,25 @@ if [ -z "$SERVER_NAME" ]; then
|
|||||||
echo -e "${RED}Server name cannot be empty!${NC}"
|
echo -e "${RED}Server name cannot be empty!${NC}"
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
echo -e "${RED}ERROR: SERVER_NAME not provided and no TTY available${NC}"
|
echo -e "${YELLOW}No SERVER_NAME provided, running non-interactively...${NC}"
|
||||||
exit 1
|
PUBIP=$(curl -s ifconfig.me || echo "")
|
||||||
|
if [ -n "$PUBIP" ]; then
|
||||||
|
if command -v dig >/dev/null 2>&1; then
|
||||||
|
REVNAME=$(dig +short -x $PUBIP 2>/dev/null | sed 's/\.$//' || true)
|
||||||
|
else
|
||||||
|
REVNAME=$(host $PUBIP 2>/dev/null | awk '{print $5}' | sed 's/\.$//' || true)
|
||||||
|
fi
|
||||||
|
if [ -n "$REVNAME" ]; then
|
||||||
|
SERVER_NAME=$REVNAME
|
||||||
|
echo -e "${GREEN}Using reverse DNS for server name: ${SERVER_NAME}${NC}"
|
||||||
|
else
|
||||||
|
SERVER_NAME=$PUBIP
|
||||||
|
echo -e "${YELLOW}No reverse DNS found, using IP: ${SERVER_NAME}${NC}"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo -e "${RED}Unable to detect public IP. Please set SERVER_NAME explicitly.${NC}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -37,7 +55,7 @@ GUACADMIN_PWD=${GUACADMIN_PWD:-$(openssl rand -base64 20)}
|
|||||||
echo -e "${BLUE}>>> Installing base packages...${NC}"
|
echo -e "${BLUE}>>> Installing base packages...${NC}"
|
||||||
apt-get update -y
|
apt-get update -y
|
||||||
DEBIAN_FRONTEND=noninteractive apt-get install -yq \
|
DEBIAN_FRONTEND=noninteractive apt-get install -yq \
|
||||||
xfce4 xfce4-goodies tightvncserver ufw curl wget zsh firefox \
|
xfce4 xfce4-goodies tightvncserver ufw curl wget zsh firefox dnsutils \
|
||||||
build-essential libjpeg-turbo8-dev libpng-dev libossp-uuid-dev \
|
build-essential libjpeg-turbo8-dev libpng-dev libossp-uuid-dev \
|
||||||
libavcodec-dev libavformat-dev libavutil-dev libswscale-dev \
|
libavcodec-dev libavformat-dev libavutil-dev libswscale-dev \
|
||||||
freerdp2-dev libpango1.0-dev libssh2-1-dev libtelnet-dev \
|
freerdp2-dev libpango1.0-dev libssh2-1-dev libtelnet-dev \
|
||||||
@@ -258,7 +276,12 @@ echo -e "${BLUE}>>> Installing Tailscale...${NC}"
|
|||||||
curl -fsSL https://tailscale.com/install.sh | sh
|
curl -fsSL https://tailscale.com/install.sh | sh
|
||||||
systemctl enable --now tailscaled
|
systemctl enable --now tailscaled
|
||||||
|
|
||||||
read -p "Enter Tailscale auth key (leave blank for interactive login): " TSKEY || true
|
if [ -t 0 ]; then
|
||||||
|
read -p "Enter Tailscale auth key (leave blank for interactive login): " TSKEY || true
|
||||||
|
else
|
||||||
|
TSKEY=""
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -n "${TSKEY:-}" ]; then
|
if [ -n "${TSKEY:-}" ]; then
|
||||||
tailscale up --authkey=${TSKEY} --ssh
|
tailscale up --authkey=${TSKEY} --ssh
|
||||||
else
|
else
|
||||||
|
|||||||
Reference in New Issue
Block a user