before editing 900i and 1000i to work on 120hz capped sony crt
This commit is contained in:
Executable
+86
@@ -0,0 +1,86 @@
|
||||
#!/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
|
||||
|
||||
# Kill previous instances
|
||||
killall hostapd dnsmasq wpa_supplicant 2>/dev/null
|
||||
sleep 1
|
||||
|
||||
# Bring interface down and clean it
|
||||
ip link set "$IFACE" down 2>/dev/null
|
||||
ip addr flush dev "$IFACE" 2>/dev/null
|
||||
ip link set "$IFACE" up || {
|
||||
echo "Failed to bring up $IFACE"
|
||||
exit 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)."
|
||||
Executable
+85
@@ -0,0 +1,85 @@
|
||||
#!/bin/sh
|
||||
|
||||
IFACE="wlan1"
|
||||
SSID="vegetablack"
|
||||
PSK="supermarioinreallife"
|
||||
CHANNEL="11"
|
||||
AP_IP="192.168.43.1"
|
||||
|
||||
[ "$(id -u)" -ne 0 ] && exit 1
|
||||
|
||||
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
|
||||
|
||||
# Simple hostapd config
|
||||
cat > /tmp/hostapd.conf <<EOF
|
||||
interface=$IFACE
|
||||
driver=nl80211
|
||||
ssid=$SSID
|
||||
hw_mode=g
|
||||
channel=$CHANNEL
|
||||
auth_algs=1
|
||||
ignore_broadcast_ssid=0
|
||||
EOF
|
||||
|
||||
echo "[*] Starting hostapd (running in foreground)..."
|
||||
echo "Look for the line: AP-ENABLED"
|
||||
echo "Press Ctrl+C to stop later"
|
||||
echo
|
||||
|
||||
hostapd /tmp/hostapd.conf
|
||||
|
||||
# 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)."
|
||||
|
||||
Executable
+98
@@ -0,0 +1,98 @@
|
||||
#!/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)."
|
||||
Executable
+107
@@ -0,0 +1,107 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Local-only hotspot using the internal SoftAP interface (wlan1)
|
||||
# SSID: vegeta black
|
||||
# Password: supermarioinreallife
|
||||
|
||||
IFACE="wlan1"
|
||||
SSID="vegeta black"
|
||||
PSK="supermarioinreallife"
|
||||
CHANNEL="6"
|
||||
AP_IP="192.168.43.1"
|
||||
NET="192.168.43.0/24"
|
||||
DHCP_RANGE="192.168.43.10,192.168.43.50,12h"
|
||||
|
||||
[ "$(id -u)" -ne 0 ] && { echo "Need root"; exit 1; }
|
||||
|
||||
echo "[*] Stopping Android Wi-Fi services (critical step)..."
|
||||
# These commands release the radio so hostapd can take over
|
||||
svc wifi disable 2>/dev/null
|
||||
stop wpa_supplicant 2>/dev/null
|
||||
killall wpa_supplicant hostapd dnsmasq 2>/dev/null
|
||||
sleep 2
|
||||
|
||||
echo "[*] Preparing $IFACE..."
|
||||
ip link set "$IFACE" down 2>/dev/null
|
||||
ip addr flush dev "$IFACE" 2>/dev/null
|
||||
|
||||
# Make sure it is in AP mode
|
||||
iw dev "$IFACE" set type __ap 2>/dev/null || iw dev "$IFACE" set type ap 2>/dev/null
|
||||
ip link set "$IFACE" up
|
||||
sleep 1
|
||||
|
||||
# Disable reverse path filter
|
||||
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
|
||||
echo 0 > /proc/sys/net/ipv4/conf/"$IFACE"/rp_filter 2>/dev/null
|
||||
|
||||
# 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
|
||||
wpa=2
|
||||
wpa_passphrase=$PSK
|
||||
wpa_key_mgmt=WPA-PSK
|
||||
rsn_pairwise=CCMP
|
||||
ignore_broadcast_ssid=0
|
||||
EOF
|
||||
|
||||
echo "[*] Starting hostapd on $IFACE..."
|
||||
hostapd -B /tmp/hostapd-$IFACE.conf
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo
|
||||
echo "hostapd still failed. Trying alternative method..."
|
||||
# Sometimes a short delay + re-up helps
|
||||
ip link set "$IFACE" down
|
||||
sleep 1
|
||||
ip link set "$IFACE" up
|
||||
sleep 1
|
||||
hostapd -B /tmp/hostapd-$IFACE.conf || {
|
||||
echo "Still failing. Paste the full hostapd error."
|
||||
exit 1
|
||||
}
|
||||
fi
|
||||
|
||||
sleep 1
|
||||
|
||||
# Assign IP
|
||||
ip addr add $AP_IP/24 broadcast 192.168.43.255 dev $IFACE
|
||||
ip route add $NET dev $IFACE src $AP_IP 2>/dev/null
|
||||
|
||||
# Firewall
|
||||
iptables -I INPUT -i $IFACE -j ACCEPT
|
||||
iptables -I OUTPUT -o $IFACE -j ACCEPT
|
||||
iptables -I FORWARD -i $IFACE -j ACCEPT
|
||||
iptables -I FORWARD -o $IFACE -j ACCEPT
|
||||
|
||||
# DHCP
|
||||
echo "[*] Starting dnsmasq..."
|
||||
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 &
|
||||
|
||||
sleep 2
|
||||
|
||||
echo
|
||||
echo "=== Status ==="
|
||||
iw dev $IFACE info
|
||||
echo
|
||||
ip -4 addr show $IFACE
|
||||
echo
|
||||
echo "SSID : $SSID"
|
||||
echo "Password : $PSK"
|
||||
echo "Gateway : $AP_IP"
|
||||
echo
|
||||
echo "Connect your PC and try: ping 192.168.43.1"
|
||||
Executable
+79
@@ -0,0 +1,79 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Local-only hotspot using Android's built-in SoftAP (wlan1)
|
||||
# SSID & password are set in Android Settings → Hotspot
|
||||
# This script only takes control of the interface afterwards
|
||||
|
||||
IFACE="wlan1"
|
||||
AP_IP="192.168.43.1"
|
||||
NET="192.168.43.0/24"
|
||||
DHCP_RANGE="192.168.43.10,192.168.43.50,12h"
|
||||
|
||||
[ "$(id -u)" -ne 0 ] && { echo "Need root"; exit 1; }
|
||||
|
||||
echo "[*] Waiting for Android hotspot interface ($IFACE)..."
|
||||
# Give you time to turn the hotspot on
|
||||
for i in $(seq 1 15); do
|
||||
if ip link show "$IFACE" >/dev/null 2>&1; then
|
||||
echo " Found $IFACE"
|
||||
break
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
|
||||
if ! ip link show "$IFACE" >/dev/null 2>&1; then
|
||||
echo "Interface $IFACE not found."
|
||||
echo "Turn on the normal Android Wi-Fi Hotspot first, then run this script again."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "[*] Taking control of $IFACE..."
|
||||
|
||||
# Kill any existing DHCP / hostapd from Android or previous runs
|
||||
killall dnsmasq hostapd 2>/dev/null
|
||||
sleep 1
|
||||
|
||||
# Disable reverse path filter
|
||||
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
|
||||
echo 0 > /proc/sys/net/ipv4/conf/"$IFACE"/rp_filter 2>/dev/null
|
||||
|
||||
# Flush old addresses and routes
|
||||
ip addr flush dev "$IFACE" 2>/dev/null
|
||||
ip route flush dev "$IFACE" 2>/dev/null
|
||||
|
||||
# Assign our fixed gateway IP
|
||||
ip addr add "$AP_IP/24" broadcast 192.168.43.255 dev "$IFACE"
|
||||
ip link set "$IFACE" up
|
||||
ip route add "$NET" dev "$IFACE" src "$AP_IP" 2>/dev/null
|
||||
|
||||
# Allow traffic
|
||||
iptables -I INPUT -i "$IFACE" -j ACCEPT
|
||||
iptables -I OUTPUT -o "$IFACE" -j ACCEPT
|
||||
iptables -I FORWARD -i "$IFACE" -j ACCEPT
|
||||
iptables -I FORWARD -o "$IFACE" -j ACCEPT
|
||||
|
||||
# Start our own DHCP (local only – no internet)
|
||||
echo "[*] Starting local DHCP server..."
|
||||
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-dhcp &
|
||||
|
||||
sleep 2
|
||||
|
||||
echo
|
||||
echo "=== Local-only Hotspot ready ==="
|
||||
echo "Interface : $IFACE"
|
||||
echo "Gateway : $AP_IP"
|
||||
echo "DHCP : 192.168.43.10 – 192.168.43.50"
|
||||
echo
|
||||
echo "SSID and password are whatever you set in Android Hotspot settings."
|
||||
echo "Connect your PC and try: ping 192.168.43.1"
|
||||
echo
|
||||
ip -4 addr show "$IFACE"
|
||||
Executable
+110
@@ -0,0 +1,110 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Standalone local-only hotspot (hostapd + dnsmasq)
|
||||
# SSID: vegeta black
|
||||
# Password: supermarioinreallife
|
||||
|
||||
IFACE="wlan1"
|
||||
SSID="vegeta black"
|
||||
PSK="supermarioinreallife"
|
||||
CHANNEL="6"
|
||||
AP_IP="192.168.43.1"
|
||||
NET="192.168.43.0/24"
|
||||
DHCP_RANGE="192.168.43.10,192.168.43.50,12h"
|
||||
|
||||
[ "$(id -u)" -ne 0 ] && { echo "Need root"; exit 1; }
|
||||
|
||||
echo "[*] Cleaning previous state..."
|
||||
killall hostapd dnsmasq wpa_supplicant 2>/dev/null
|
||||
svc wifi disable 2>/dev/null
|
||||
sleep 2
|
||||
|
||||
# Fully reset the interface
|
||||
ip link set "$IFACE" down 2>/dev/null
|
||||
ip addr flush dev "$IFACE" 2>/dev/null
|
||||
ip route flush dev "$IFACE" 2>/dev/null
|
||||
|
||||
# Force AP mode
|
||||
iw dev "$IFACE" set type __ap 2>/dev/null || iw dev "$IFACE" set type ap 2>/dev/null
|
||||
sleep 1
|
||||
ip link set "$IFACE" up
|
||||
sleep 1
|
||||
|
||||
# Disable reverse path filter
|
||||
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
|
||||
echo 0 > /proc/sys/net/ipv4/conf/"$IFACE"/rp_filter 2>/dev/null
|
||||
|
||||
# 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
|
||||
wpa=2
|
||||
wpa_passphrase=$PSK
|
||||
wpa_key_mgmt=WPA-PSK
|
||||
rsn_pairwise=CCMP
|
||||
ignore_broadcast_ssid=0
|
||||
EOF
|
||||
|
||||
echo "[*] Starting hostapd..."
|
||||
hostapd -B /tmp/hostapd-$IFACE.conf
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo
|
||||
echo "hostapd failed. Trying one more time after extra reset..."
|
||||
ip link set "$IFACE" down
|
||||
sleep 2
|
||||
iw dev "$IFACE" set type __ap 2>/dev/null
|
||||
ip link set "$IFACE" up
|
||||
sleep 2
|
||||
hostapd -B /tmp/hostapd-$IFACE.conf || {
|
||||
echo "hostapd still failed."
|
||||
echo "Run this and paste the output:"
|
||||
echo " hostapd -d /tmp/hostapd-$IFACE.conf"
|
||||
exit 1
|
||||
}
|
||||
fi
|
||||
|
||||
sleep 1
|
||||
|
||||
# Assign IP
|
||||
ip addr add $AP_IP/24 broadcast 192.168.43.255 dev $IFACE
|
||||
ip link set $IFACE up
|
||||
ip route add $NET dev $IFACE src $AP_IP 2>/dev/null
|
||||
|
||||
# Firewall
|
||||
iptables -I INPUT -i $IFACE -j ACCEPT
|
||||
iptables -I OUTPUT -o $IFACE -j ACCEPT
|
||||
iptables -I FORWARD -i $IFACE -j ACCEPT
|
||||
iptables -I FORWARD -o $IFACE -j ACCEPT
|
||||
|
||||
# DHCP
|
||||
echo "[*] Starting dnsmasq..."
|
||||
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 &
|
||||
|
||||
sleep 2
|
||||
|
||||
echo
|
||||
echo "=== Standalone Hotspot Started ==="
|
||||
echo "SSID : $SSID"
|
||||
echo "Password : $PSK"
|
||||
echo "Gateway : $AP_IP"
|
||||
echo
|
||||
iw dev $IFACE info 2>/dev/null | head -15
|
||||
echo
|
||||
ip -4 addr show $IFACE
|
||||
echo
|
||||
echo "Connect your PC and try: ping 192.168.43.1"
|
||||
Executable
+60
@@ -0,0 +1,60 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Reliable local-only hotspot using Android SoftAP
|
||||
# 1. Turn Android Hotspot ON first
|
||||
# 2. Run this script
|
||||
|
||||
IFACE="wlan1"
|
||||
AP_IP="192.168.43.1"
|
||||
NET="192.168.43.0/24"
|
||||
DHCP_RANGE="192.168.43.10,192.168.43.50,12h"
|
||||
|
||||
[ "$(id -u)" -ne 0 ] && { echo "Need root"; exit 1; }
|
||||
|
||||
if ! ip link show "$IFACE" >/dev/null 2>&1; then
|
||||
echo "Turn the Android Hotspot ON first, then run this script."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "[*] Taking control of Android SoftAP on $IFACE..."
|
||||
|
||||
# Only kill DHCP, leave Android's hostapd running
|
||||
killall dnsmasq 2>/dev/null
|
||||
sleep 1
|
||||
|
||||
# Disable reverse path filter
|
||||
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
|
||||
echo 0 > /proc/sys/net/ipv4/conf/$IFACE/rp_filter 2>/dev/null
|
||||
|
||||
# Add our gateway IP (keep whatever Android already has)
|
||||
ip addr add $AP_IP/24 broadcast 192.168.43.255 dev $IFACE 2>/dev/null
|
||||
ip link set $IFACE up
|
||||
ip route add $NET dev $IFACE src $AP_IP 2>/dev/null
|
||||
|
||||
# Allow traffic
|
||||
iptables -C INPUT -i $IFACE -j ACCEPT 2>/dev/null || iptables -I INPUT -i $IFACE -j ACCEPT
|
||||
iptables -C OUTPUT -o $IFACE -j ACCEPT 2>/dev/null || iptables -I OUTPUT -o $IFACE -j ACCEPT
|
||||
iptables -C FORWARD -i $IFACE -j ACCEPT 2>/dev/null || iptables -I FORWARD -i $IFACE -j ACCEPT
|
||||
iptables -C FORWARD -o $IFACE -j ACCEPT 2>/dev/null || iptables -I FORWARD -o $IFACE -j ACCEPT
|
||||
|
||||
# Start our DHCP
|
||||
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 &
|
||||
|
||||
sleep 2
|
||||
|
||||
echo
|
||||
echo "=== Local-only Hotspot Ready ==="
|
||||
echo "SSID & Password = whatever you set in Android Hotspot settings"
|
||||
echo "Gateway = $AP_IP"
|
||||
echo
|
||||
ip -4 addr show $IFACE
|
||||
echo
|
||||
echo "Connect your PC and ping 192.168.43.1"
|
||||
Executable
+123
@@ -0,0 +1,123 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Aggressive standalone local-only hotspot
|
||||
# Tries to fully release Android's control of the radio
|
||||
|
||||
IFACE="wlan1"
|
||||
SSID="vegeta black"
|
||||
PSK="supermarioinreallife"
|
||||
CHANNEL="6"
|
||||
AP_IP="192.168.43.1"
|
||||
NET="192.168.43.0/24"
|
||||
DHCP_RANGE="192.168.43.10,192.168.43.50,12h"
|
||||
|
||||
[ "$(id -u)" -ne 0 ] && { echo "Need root"; exit 1; }
|
||||
|
||||
echo "[*] Aggressively stopping Android Wi-Fi stack..."
|
||||
|
||||
# Stop as many Android Wi-Fi related services as possible
|
||||
svc wifi disable 2>/dev/null
|
||||
stop wpa_supplicant 2>/dev/null
|
||||
stop wifi 2>/dev/null
|
||||
killall wpa_supplicant hostapd dnsmasq wificond 2>/dev/null
|
||||
sleep 2
|
||||
|
||||
# Extra force
|
||||
setprop ctl.stop wpa_supplicant 2>/dev/null
|
||||
setprop ctl.stop wifi 2>/dev/null
|
||||
sleep 1
|
||||
|
||||
echo "[*] Fully resetting $IFACE..."
|
||||
ip link set "$IFACE" down 2>/dev/null
|
||||
ip addr flush dev "$IFACE" 2>/dev/null
|
||||
ip route flush dev "$IFACE" 2>/dev/null
|
||||
|
||||
# Delete and recreate the interface if possible
|
||||
iw dev "$IFACE" del 2>/dev/null
|
||||
sleep 1
|
||||
|
||||
# Try to create a clean 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" up 2>/dev/null
|
||||
sleep 1
|
||||
|
||||
# Disable reverse path filter
|
||||
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
|
||||
echo 0 > /proc/sys/net/ipv4/conf/"$IFACE"/rp_filter 2>/dev/null
|
||||
|
||||
# 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
|
||||
wpa=2
|
||||
wpa_passphrase=$PSK
|
||||
wpa_key_mgmt=WPA-PSK
|
||||
rsn_pairwise=CCMP
|
||||
ignore_broadcast_ssid=0
|
||||
EOF
|
||||
|
||||
echo "[*] Starting hostapd..."
|
||||
hostapd -B /tmp/hostapd-$IFACE.conf
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo
|
||||
echo "Still failed. Trying one last method..."
|
||||
# Last resort: bring interface down/up again
|
||||
ip link set "$IFACE" down
|
||||
sleep 2
|
||||
iw dev "$IFACE" set type __ap 2>/dev/null
|
||||
ip link set "$IFACE" up
|
||||
sleep 2
|
||||
hostapd -B /tmp/hostapd-$IFACE.conf || {
|
||||
echo
|
||||
echo "Standalone hostapd is not working reliably on this device."
|
||||
echo "The internal Wi-Fi firmware is still holding management frames."
|
||||
exit 1
|
||||
}
|
||||
fi
|
||||
|
||||
sleep 1
|
||||
|
||||
# Configure IP
|
||||
ip addr add $AP_IP/24 broadcast 192.168.43.255 dev $IFACE
|
||||
ip link set $IFACE up
|
||||
ip route add $NET dev $IFACE src $AP_IP 2>/dev/null
|
||||
|
||||
# Firewall
|
||||
iptables -I INPUT -i $IFACE -j ACCEPT
|
||||
iptables -I OUTPUT -o $IFACE -j ACCEPT
|
||||
iptables -I FORWARD -i $IFACE -j ACCEPT
|
||||
iptables -I FORWARD -o $IFACE -j ACCEPT
|
||||
|
||||
# DHCP
|
||||
echo "[*] Starting dnsmasq..."
|
||||
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 &
|
||||
|
||||
sleep 2
|
||||
|
||||
echo
|
||||
echo "=== Standalone Hotspot ==="
|
||||
echo "SSID : $SSID"
|
||||
echo "Password : $PSK"
|
||||
echo "Gateway : $AP_IP"
|
||||
echo
|
||||
iw dev $IFACE info 2>/dev/null | head -12
|
||||
echo
|
||||
ip -4 addr show $IFACE
|
||||
Executable
+55
@@ -0,0 +1,55 @@
|
||||
#!/bin/sh
|
||||
|
||||
IFACE="wlan1"
|
||||
SSID="vegeta black"
|
||||
PSK="supermarioinreallife"
|
||||
CHANNEL="6"
|
||||
AP_IP="192.168.43.1"
|
||||
NET="192.168.43.0/24"
|
||||
DHCP_RANGE="192.168.43.10,192.168.43.50,12h"
|
||||
|
||||
[ "$(id -u)" -ne 0 ] && exit 1
|
||||
|
||||
killall hostapd dnsmasq 2>/dev/null
|
||||
sleep 1
|
||||
|
||||
# Simple, highly compatible hostapd config
|
||||
cat > /tmp/hostapd-$IFACE.conf <<EOF
|
||||
interface=$IFACE
|
||||
driver=nl80211
|
||||
ssid=$SSID
|
||||
hw_mode=g
|
||||
channel=$CHANNEL
|
||||
macaddr_acl=0
|
||||
auth_algs=1
|
||||
ignore_broadcast_ssid=0
|
||||
wpa=2
|
||||
wpa_passphrase=$PSK
|
||||
wpa_key_mgmt=WPA-PSK
|
||||
wpa_pairwise=CCMP
|
||||
rsn_pairwise=CCMP
|
||||
EOF
|
||||
|
||||
hostapd -B /tmp/hostapd-$IFACE.conf
|
||||
sleep 1
|
||||
|
||||
ip addr flush dev $IFACE
|
||||
ip addr add $AP_IP/24 broadcast 192.168.43.255 dev $IFACE
|
||||
ip link set $IFACE up
|
||||
ip route add $NET dev $IFACE src $AP_IP
|
||||
|
||||
iptables -I INPUT -i $IFACE -j ACCEPT
|
||||
iptables -I OUTPUT -o $IFACE -j ACCEPT
|
||||
|
||||
dnsmasq --interface=$IFACE --bind-interfaces \
|
||||
--dhcp-range=$DHCP_RANGE \
|
||||
--dhcp-option=3,$AP_IP \
|
||||
--dhcp-option=6,$AP_IP \
|
||||
--port=0 --no-resolv &
|
||||
|
||||
echo
|
||||
echo "Hotspot should be up."
|
||||
echo "SSID: $SSID"
|
||||
echo "Password: $PSK"
|
||||
echo
|
||||
iw dev $IFACE info | head -10
|
||||
Executable
+44
@@ -0,0 +1,44 @@
|
||||
#!/bin/sh
|
||||
|
||||
IFACE="wlan1"
|
||||
SSID="vegeta black"
|
||||
PSK="supermarioinreallife"
|
||||
CHANNEL="6"
|
||||
AP_IP="192.168.43.1"
|
||||
|
||||
[ "$(id -u)" -ne 0 ] && exit 1
|
||||
|
||||
echo "[*] Hard reset of Wi-Fi stack..."
|
||||
|
||||
svc wifi disable
|
||||
killall hostapd dnsmasq wpa_supplicant wificond 2>/dev/null
|
||||
sleep 3
|
||||
|
||||
# Delete the interface completely
|
||||
iw dev $IFACE del 2>/dev/null
|
||||
sleep 1
|
||||
|
||||
# Create a fresh AP interface
|
||||
iw phy phy0 interface add $IFACE type __ap
|
||||
sleep 1
|
||||
|
||||
ip link set $IFACE down
|
||||
ip addr flush dev $IFACE
|
||||
ip link set $IFACE up
|
||||
sleep 1
|
||||
|
||||
# Very simple hostapd config
|
||||
cat > /tmp/hostapd.conf <<EOF
|
||||
interface=$IFACE
|
||||
driver=nl80211
|
||||
ssid=$SSID
|
||||
hw_mode=g
|
||||
channel=$CHANNEL
|
||||
wpa=2
|
||||
wpa_passphrase=$PSK
|
||||
wpa_key_mgmt=WPA-PSK
|
||||
rsn_pairwise=CCMP
|
||||
EOF
|
||||
|
||||
echo "[*] Starting hostapd (watch for errors)..."
|
||||
hostapd /tmp/hostapd.conf
|
||||
Executable
+51
@@ -0,0 +1,51 @@
|
||||
#!/bin/sh
|
||||
|
||||
IFACE="wlan1"
|
||||
SSID="vegeta black"
|
||||
PSK="supermarioinreallife"
|
||||
CHANNEL="6"
|
||||
AP_IP="192.168.43.1"
|
||||
|
||||
[ "$(id -u)" -ne 0 ] && exit 1
|
||||
|
||||
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 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
|
||||
|
||||
# Simple hostapd config
|
||||
cat > /tmp/hostapd.conf <<EOF
|
||||
interface=$IFACE
|
||||
driver=nl80211
|
||||
ssid=$SSID
|
||||
hw_mode=g
|
||||
channel=$CHANNEL
|
||||
wpa=2
|
||||
wpa_passphrase=$PSK
|
||||
wpa_key_mgmt=WPA-PSK
|
||||
rsn_pairwise=CCMP
|
||||
EOF
|
||||
|
||||
echo "[*] Starting hostapd (running in foreground)..."
|
||||
echo "Look for the line: AP-ENABLED"
|
||||
echo "Press Ctrl+C to stop later"
|
||||
echo
|
||||
|
||||
hostapd /tmp/hostapd.conf
|
||||
Reference in New Issue
Block a user