#!/bin/bash set -e SCRIPT_URL="https://git.zakscode.com/ztimson/fallback-ap/raw/branch/master/fallback-ap.sh" INSTALL_PATH="/usr/local/bin/fallback-ap" if [ "$EUID" -ne 0 ]; then echo "This installer needs to run as root, e.g.:" echo " curl -sL https://git.zakscode.com/ztimson/fallback-ap/raw/branch/master/install.sh | sudo bash" exit 1 fi prompt() { local __var="$1" __question="$2" __default="$3" __answer="" read -r -p "$__question [$__default]: " __answer < /dev/tty || __answer="" printf -v "$__var" '%s' "${__answer:-$__default}" } EXISTING_CONFIG="/etc/fallback-ap.conf" if [ -f "$EXISTING_CONFIG" ]; then # shellcheck disable=SC1090 source "$EXISTING_CONFIG" fi DEFAULT_SSID="${SAVED_SSID:-$(hostname)}" DEFAULT_PASSWORD="${SAVED_PASSWORD:-abcd1234}" DEFAULT_CIDR="${SAVED_CIDR:-10.10.10.1/24}" DEFAULT_DHCP_START_OCTET="${SAVED_DHCP_START_OCTET:-100}" DEFAULT_DHCP_END_OCTET="${SAVED_DHCP_END_OCTET:-250}" [ -z "${FALLBACK_AP_SSID:-}" ] && prompt FALLBACK_AP_SSID "Access point SSID" "$DEFAULT_SSID" [ -z "${FALLBACK_AP_PASSWORD:-}" ] && prompt FALLBACK_AP_PASSWORD "Access point passphrase" "$DEFAULT_PASSWORD" [ -z "${FALLBACK_AP_CIDR:-}" ] && prompt FALLBACK_AP_CIDR "Access point subnet (CIDR)" "$DEFAULT_CIDR" [ -z "${FALLBACK_AP_DHCP_START_OCTET:-}" ] && prompt FALLBACK_AP_DHCP_START_OCTET "DHCP range start (last octet)" "$DEFAULT_DHCP_START_OCTET" [ -z "${FALLBACK_AP_DHCP_END_OCTET:-}" ] && prompt FALLBACK_AP_DHCP_END_OCTET "DHCP range end (last octet)" "$DEFAULT_DHCP_END_OCTET" export FALLBACK_AP_SSID FALLBACK_AP_PASSWORD FALLBACK_AP_CIDR FALLBACK_AP_DHCP_START_OCTET FALLBACK_AP_DHCP_END_OCTET echo "Downloading fallback-ap..." curl -fsSL "$SCRIPT_URL" -o "$INSTALL_PATH" chmod +x "$INSTALL_PATH" echo "Running installer..." "$INSTALL_PATH" install