Files
scripts/pixel3a/localhotspot
T

109 lines
2.4 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/sh
# Local-only Wi-Fi hotspot for Kali NetHunter / Android
# SSID: vegeta black
# Password: supermarioinreallife
IFACE="wlan1" # Change if needed (check with: ip link / iw dev)
SSID="vegeta black"
PSK="supermarioinreallife"
CHANNEL="6"
AP_IP="192.168.43.1"
DHCP_RANGE="192.168.43.10,192.168.43.50,12h"
# Check root
if [ "$(id -u)" -ne 0 ]; then
echo "This script must be run as root"
exit 1
fi
echo "[*] Hard reset of Wi-Fi stack..."
# Full path to Android's svc
/system/bin/svc wifi disable 2>/dev/null
killall hostapd dnsmasq wpa_supplicant wificond 2>/dev/null
sleep 1
pkill -9 hostapd
sleep 3
# Delete the interface
iw dev $IFACE del 2>/dev/null
sleep 1
# Create a fresh AP interface
iw phy phy0 interface add $IFACE type __ap 2>/dev/null || \
iw phy phy0 interface add $IFACE type ap 2>/dev/null
sleep 1
ip link set $IFACE down 2>/dev/null
ip addr flush dev $IFACE 2>/dev/null
ip link set $IFACE up
sleep 1
# Create hostapd config
cat > /tmp/hostapd-"$IFACE".conf <<EOF
interface=$IFACE
driver=nl80211
ssid=$SSID
hw_mode=g
channel=$CHANNEL
ieee80211n=1
wmm_enabled=1
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=$PSK
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
EOF
# Start hostapd
hostapd -B /tmp/hostapd-"$IFACE".conf || {
echo "hostapd failed to start"
exit 1
}
# Assign static IP to the AP interface
ip addr add "$AP_IP/24" dev "$IFACE"
ip link set "$IFACE" up
# Remove any previous rules/routes
ip rule del pref 50 2>/dev/null
ip rule del from "$AP_IP"/32 table 200 2>/dev/null
ip route flush table 200 2>/dev/null
# Policy routing for the NAO network
ip route add 192.168.43.0/24 dev "$IFACE" src "$AP_IP" table 200
ip rule add pref 50 to 192.168.43.0/24 lookup 200
ip rule add from "$AP_IP"/32 table 200
# Start dnsmasq (DHCP only – no DNS forwarding / no internet)
dnsmasq \
--interface="$IFACE" \
--bind-interfaces \
--dhcp-range="$DHCP_RANGE" \
--dhcp-option=3,"$AP_IP" \
--dhcp-option=6,"$AP_IP" \
--port=0 \
--no-resolv \
--pid-file=/tmp/dnsmasq-"$IFACE".pid \
--log-facility=/tmp/dnsmasq-"$IFACE".log &
sleep 1
# Show status
echo
echo "Local-only hotspot started"
echo " Interface : $IFACE"
echo " SSID : $SSID"
echo " Password : $PSK"
echo " Gateway : $AP_IP"
echo
iw dev "$IFACE" info 2>/dev/null | head -n 15
echo
ip addr show "$IFACE"
echo
echo "Clients will receive IPs in the range 192.168.43.10 – 192.168.43.50"
echo "No internet is shared (local network only)."