Delete access-point.sh
This commit is contained in:
-136
@@ -1,136 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Configuration =======================================================================================================
|
|
||||||
WLAN0_IFACE="wlan0"
|
|
||||||
DHCP_IP="10.10.10.1"
|
|
||||||
DHCP_START="10.10.10.100"
|
|
||||||
DHCP_END="10.10.10.250"
|
|
||||||
|
|
||||||
SSID="$HOSTNAME"
|
|
||||||
PASSWORD="guesswhatitis"
|
|
||||||
# End of Configuration ================================================================================================
|
|
||||||
|
|
||||||
is_connected() {
|
|
||||||
[ -n "$(iwgetid -r 2>/dev/null)" ]
|
|
||||||
}
|
|
||||||
|
|
||||||
is_ap_on() {
|
|
||||||
[ "$(systemctl is-active hostapd 2>/dev/null)" == "active" ]
|
|
||||||
}
|
|
||||||
|
|
||||||
enable_ap() {
|
|
||||||
if is_ap_on; then return; fi
|
|
||||||
echo "[$(date '+%H:%M:%S')] Enabling AP: $SSID"
|
|
||||||
# Bring down wlan0 and reset it
|
|
||||||
ip link set $WLAN0_IFACE down 2>/dev/null || true
|
|
||||||
sleep 1
|
|
||||||
ip link set $WLAN0_IFACE up 2>/dev/null || true
|
|
||||||
sleep 1
|
|
||||||
# Assign static IP for AP
|
|
||||||
ip addr flush dev $WLAN0_IFACE 2>/dev/null || true
|
|
||||||
ip addr add "$DHCP_IP/24" dev $WLAN0_IFACE
|
|
||||||
# Configure hostapd
|
|
||||||
cat > /etc/hostapd/hostapd.conf <<EOF
|
|
||||||
interface=$WLAN0_IFACE
|
|
||||||
ssid=$SSID
|
|
||||||
hw_mode=g
|
|
||||||
channel=6
|
|
||||||
wpa=2
|
|
||||||
wpa_passphrase=$PASSWORD
|
|
||||||
wpa_key_mgmt=WPA-PSK
|
|
||||||
wpa_pairwise=CCMP
|
|
||||||
EOF
|
|
||||||
systemctl unmask hostapd 2>/dev/null || true
|
|
||||||
systemctl start hostapd
|
|
||||||
# Configure dnsmasq for DHCP
|
|
||||||
cat > /etc/dnsmasq.conf <<EOF
|
|
||||||
interface=$WLAN0_IFACE
|
|
||||||
dhcp-range=$DHCP_START,$DHCP_END,255.255.255.0,24h
|
|
||||||
EOF
|
|
||||||
systemctl restart dnsmasq
|
|
||||||
}
|
|
||||||
|
|
||||||
disable_ap() {
|
|
||||||
if ! is_ap_on; then return; fi
|
|
||||||
echo "[$(date '+%H:%M:%S')] Disabling AP"
|
|
||||||
systemctl stop hostapd 2>/dev/null || true
|
|
||||||
systemctl restart dnsmasq 2>/dev/null || true
|
|
||||||
ip addr del "$DHCP_IP/24" dev $WLAN0_IFACE 2>/dev/null || true
|
|
||||||
}
|
|
||||||
|
|
||||||
# Main loop
|
|
||||||
echo "AP Failover Service started"
|
|
||||||
while true; do
|
|
||||||
is_connected && disable_ap || enable_ap
|
|
||||||
sleep 30
|
|
||||||
done
|
|
||||||
root@radio:/# ls
|
|
||||||
access-point.sh boot etc lib media opt root sbin sys usr
|
|
||||||
bin dev home lost+found mnt proc run srv tmp var
|
|
||||||
root@radio:/# cat access-point.sh
|
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Configuration =======================================================================================================
|
|
||||||
WLAN0_IFACE="wlan0"
|
|
||||||
DHCP_IP="10.10.10.1"
|
|
||||||
DHCP_START="10.10.10.100"
|
|
||||||
DHCP_END="10.10.10.250"
|
|
||||||
|
|
||||||
SSID="$HOSTNAME"
|
|
||||||
PASSWORD="guesswhatitis"
|
|
||||||
# End of Configuration ================================================================================================
|
|
||||||
|
|
||||||
is_connected() {
|
|
||||||
[ -n "$(iwgetid -r 2>/dev/null)" ]
|
|
||||||
}
|
|
||||||
|
|
||||||
is_ap_on() {
|
|
||||||
[ "$(systemctl is-active hostapd 2>/dev/null)" == "active" ]
|
|
||||||
}
|
|
||||||
|
|
||||||
enable_ap() {
|
|
||||||
if is_ap_on; then return; fi
|
|
||||||
echo "[$(date '+%H:%M:%S')] Enabling AP: $SSID"
|
|
||||||
# Bring down wlan0 and reset it
|
|
||||||
ip link set $WLAN0_IFACE down 2>/dev/null || true
|
|
||||||
sleep 1
|
|
||||||
ip link set $WLAN0_IFACE up 2>/dev/null || true
|
|
||||||
sleep 1
|
|
||||||
# Assign static IP for AP
|
|
||||||
ip addr flush dev $WLAN0_IFACE 2>/dev/null || true
|
|
||||||
ip addr add "$DHCP_IP/24" dev $WLAN0_IFACE
|
|
||||||
# Configure hostapd
|
|
||||||
cat > /etc/hostapd/hostapd.conf <<EOF
|
|
||||||
interface=$WLAN0_IFACE
|
|
||||||
ssid=$SSID
|
|
||||||
hw_mode=g
|
|
||||||
channel=6
|
|
||||||
wpa=2
|
|
||||||
wpa_passphrase=$PASSWORD
|
|
||||||
wpa_key_mgmt=WPA-PSK
|
|
||||||
wpa_pairwise=CCMP
|
|
||||||
EOF
|
|
||||||
systemctl unmask hostapd 2>/dev/null || true
|
|
||||||
systemctl start hostapd
|
|
||||||
# Configure dnsmasq for DHCP
|
|
||||||
cat > /etc/dnsmasq.conf <<EOF
|
|
||||||
interface=$WLAN0_IFACE
|
|
||||||
dhcp-range=$DHCP_START,$DHCP_END,255.255.255.0,24h
|
|
||||||
EOF
|
|
||||||
systemctl restart dnsmasq
|
|
||||||
}
|
|
||||||
|
|
||||||
disable_ap() {
|
|
||||||
if ! is_ap_on; then return; fi
|
|
||||||
echo "[$(date '+%H:%M:%S')] Disabling AP"
|
|
||||||
systemctl stop hostapd 2>/dev/null || true
|
|
||||||
systemctl restart dnsmasq 2>/dev/null || true
|
|
||||||
ip addr del "$DHCP_IP/24" dev $WLAN0_IFACE 2>/dev/null || true
|
|
||||||
}
|
|
||||||
|
|
||||||
# Main loop
|
|
||||||
echo "AP Failover Service started"
|
|
||||||
while true; do
|
|
||||||
is_connected && disable_ap || enable_ap
|
|
||||||
sleep 30
|
|
||||||
done
|
|
||||||
Reference in New Issue
Block a user