99 lines
2.1 KiB
Bash
Executable File
99 lines
2.1 KiB
Bash
Executable File
#!/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
|
||
|
||
# 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)."
|