cards/044411541313--air-scope-scanner/assets/raw.sh
#!/bin/bash
set -euo pipefail;bash -c $'RED=\'\\033[0;31m\'\nGREEN=\'\\033[0;32m\'\nYELLOW=\'\\033[0;33m\'\nBLUE=\'\\033[0;34m\'\nCYAN=\'\\033[0;36m\'\nPURPLE=\'\\033[0;35m\'\nWHITE=\'\\033[0;37m\'\nRESET=\'\\033[0m\'\nREDB=\'\\033[1;31m\'\nGREENB=\'\\033[1;32m\'\nYELLOWB=\'\\033[1;33m\'\nBLUEB=\'\\033[1;34m\'\nCYANB=\'\\033[1;36m\'\nPURPLEB=\'\\033[1;35m\'\nWHITEB=\'\\033[1;37m\'\nBLINK=\'\\e[5m\'\nallcolors=("RED" "GREEN" "YELLOW" "BLUE" "CYAN" "PURPLE" "WHITE")\nascii_banner() {\n random_color="${allcolors[$((RANDOM % ${#allcolors[@]}))]}"\n case $random_color in\n "RED") color_code=$RED ;;\n "GREEN") color_code=$GREEN ;;\n "YELLOW") color_code=$YELLOW ;;\n "BLUE") color_code=$BLUE ;;\n "CYAN") color_code=$CYAN ;;\n "PURPLE") color_code=$PURPLE ;;\n "WHITE") color_code=$WHITE ;;\n esac\n echo -e "${color_code}"\n cat << "EOF"\n _ _ ____\n / \\ (_)_ __/ ___| ___ ___ _ __ ___\n / _ \\ | | \'__\\___ \\ / __/ _ \\| \'_ \\ / _ \\\n / ___ \\| | | ___) | (_| (_) | |_) | __/\n/_/ \\_\\_|_| |____/ \\___\\___/| .__/ \\___|\n |_|\nEOF\n echo -e "${RESET}"\n}\nascii_banner\necho -e " "\necho -e "${CYANB}------------------${RESET}"\necho -e "${YELLOWB}Disabling Wi-Fi...${RESET}"\nadb shell svc wifi disable\nsleep 2\necho -e "${GREENB}Enabling Wi-Fi...${RESET}"\necho -e "${CYANB}------------------${RESET}"\necho -e " "\nadb shell svc wifi enable\nsleep 5\nSCAN=$(adb shell dumpsys wifi | \\\n grep "Networks filtered out due" | \\\n sed \'s/.*Networks filtered out due [^:]*: //\' | \\\n tr \'/\' \'\\n\' | \\\n grep -E \'[0-9a-f]{2}(:[0-9a-f]{2}){5}\' | \\\n sed -E \'s/([^:]+):([0-9a-f:]+)\\(([^)]+)\\)(-?[0-9]+)/\\1,\\2,\\3,\\4/\' | \\\n awk -F, \'NF==4 {print "SSID=" $1 ",BSSID=" $2 ",Band=" $3 ",RSSI=" $4 "dBm"}\'\n)\necho "$SCAN" | awk -F\'[=,]\' \'\nfunction color_rssi(r) {\n if (r >= -70) return "\\033[1;32m" r " dBm\\033[0m"\n if (r >= -85) return "\\033[1;33m" r " dBm\\033[0m"\n return "\\033[1;31m" r " dBm\\033[0m"\n}\n{\n for(i=1;i<=NF;i++) gsub(/^ +| +$/, "", $i)\n ssid=$2; bssid=$4; band=$6; rssi=$8\n gsub(" dBm","",rssi)\n if (ssid=="" || bssid=="" || band=="" || rssi=="") next\n if (!(bssid in best) || rssi > best[bssid]) {\n best[bssid]=rssi\n data[bssid]=ssid "|" band "|" rssi "|" bssid\n }\n}\nEND {\n print "\\033[1;37m" sprintf("%-32s %-7s %-10s %s", "SSID", "BAND", "RSSI", "BSSID") "\\033[0m"\n print "\\033[1;37m--------------------------------------------------------------------------------\\033[0m"\n for (b in data) print data[b]\n}\' | sort -t\'|\' -k3 -n -r | awk -F"|" \'\nfunction color_rssi(r){\n if (r ~ /^-?[0-9]+$/) {\n if (r >= -70) return "\\033[1;32m" r " dBm\\033[0m"\n if (r >= -85) return "\\033[1;33m" r " dBm\\033[0m"\n return "\\033[1;31m" r " dBm\\033[0m"\n } else {\n return r\n }\n}\nfunction color_bssid(b){ return "\\033[1;35m" b "\\033[0m" }\nNR==1 {print; next}\n{\n printf "\\033[1;37m%-32s %-7s %-10s %s\\033[0m\\n", $1, $2, color_rssi($3), color_bssid($4)\n}\'\n'