| #!/bin/bash |
| |
| nethandle=0 |
| |
| readonly TEST_HOST="connectivitycheck.gstatic.com" |
| readonly TEST_PATH="/generate_204" |
| readonly PREFIX=">>>" |
| |
| function getUrls() { |
| if [ ! -z $(echo "$1" | sed -e 's/[^:]//g') ]; then |
| echo "http://[$1]$TEST_PATH" |
| echo "http://[$1]:80$TEST_PATH" |
| else |
| echo "http://$1$TEST_PATH" |
| echo "http://$1:80$TEST_PATH" |
| fi |
| } |
| |
| function toHex() { |
| readonly local hexValue=$(bc -q 2>/dev/null << EOT |
| obase=16 |
| $1 |
| EOT |
| ) |
| if [ ! -z "$hexValue" ]; then |
| echo "0x$hexValue" |
| fi |
| } |
| |
| |
| if [ ! -z "$1" ]; then |
| nethandle="$1" |
| fi |
| echo "$PREFIX Using nethandle $nethandle ($(toHex $nethandle))" |
| echo "" |
| |
| readonly IPADDRESSES=$( |
| adb shell /system/bin/dnschk --nethandle $nethandle $TEST_HOST | |
| sed -e 's/#.*//' -e '/^$/d') |
| |
| |
| for host in $TEST_HOST $IPADDRESSES; do |
| urls=$(getUrls $host) |
| for url in $urls; do |
| echo "$PREFIX Checking $url" >&2 |
| adb shell /system/bin/httpurl --nethandle $nethandle "$url" |
| done |
| done |