From f4a5da426010f8e79f9dae5ec7a2fc703da38996 Mon Sep 17 00:00:00 2001 From: gunix Date: Fri, 18 Sep 2020 22:25:39 +0300 Subject: [PATCH] improved output for regions --- get_region_and_token.sh | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/get_region_and_token.sh b/get_region_and_token.sh index 1d01da4..1408cc6 100755 --- a/get_region_and_token.sh +++ b/get_region_and_token.sh @@ -14,13 +14,14 @@ serverlist_url='https://serverlist.piaservers.net/vpninfo/servers/v4' printServerLatency() { serverIP="$1" regionID="$2" - regionName="${@:3}" + regionName="$(echo ${@:3} | + sed 's/ false//' | sed 's/true/(geo)/')" time=$(curl -o /dev/null -s \ --connect-timeout $maximum_allowed_latency \ --write-out "%{time_connect}" \ http://$serverIP:443) if [ $? -eq 0 ]; then - >&2 echo The region \"$regionName\" responded in $time seconds + >&2 echo Got latency ${time}s for region: $regionName echo $time $regionID $serverIP fi } @@ -41,10 +42,10 @@ fi echo "OK!" # Test one server from each region to get the closest region: -echo Testing servers that respond \ +echo Testing regions that respond \ faster than $maximum_allowed_latency seconds: region_latency_report="$( echo $all_region_data | - jq -r '.regions[] | .servers.meta[0].ip + " " + .id + " " + .name' )" + jq -r '.regions[] | .servers.meta[0].ip+" "+.id+" "+.name+" "+(.geo|tostring)' )" # Get the best region bestRegion="$(echo "$region_latency_report" | @@ -56,7 +57,12 @@ regionData="$( echo $all_region_data | jq --arg REGION_ID "$bestRegion" -r \ '.regions[] | select(.id==$REGION_ID)')" -echo The closest region is "$(echo $regionData | jq -r '.name')". +echo -n The closest region is "$(echo $regionData | jq -r '.name')" +if echo $regionData | jq -r '.geo' | grep true > /dev/null; then + echo " (geolocated region)." +else + echo "." +fi echo bestServer_meta_IP="$(echo $regionData | jq -r '.servers.meta[0].ip')" bestServer_meta_hostname="$(echo $regionData | jq -r '.servers.meta[0].cn')"