mirror of
https://github.com/pia-foss/manual-connections.git
synced 2025-02-05 22:18:30 +00:00
improved output for regions
This commit is contained in:
parent
86364ee4dc
commit
f4a5da4260
|
@ -14,13 +14,14 @@ serverlist_url='https://serverlist.piaservers.net/vpninfo/servers/v4'
|
||||||
printServerLatency() {
|
printServerLatency() {
|
||||||
serverIP="$1"
|
serverIP="$1"
|
||||||
regionID="$2"
|
regionID="$2"
|
||||||
regionName="${@:3}"
|
regionName="$(echo ${@:3} |
|
||||||
|
sed 's/ false//' | sed 's/true/(geo)/')"
|
||||||
time=$(curl -o /dev/null -s \
|
time=$(curl -o /dev/null -s \
|
||||||
--connect-timeout $maximum_allowed_latency \
|
--connect-timeout $maximum_allowed_latency \
|
||||||
--write-out "%{time_connect}" \
|
--write-out "%{time_connect}" \
|
||||||
http://$serverIP:443)
|
http://$serverIP:443)
|
||||||
if [ $? -eq 0 ]; then
|
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
|
echo $time $regionID $serverIP
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
@ -41,10 +42,10 @@ fi
|
||||||
echo "OK!"
|
echo "OK!"
|
||||||
|
|
||||||
# Test one server from each region to get the closest region:
|
# 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:
|
faster than $maximum_allowed_latency seconds:
|
||||||
region_latency_report="$( echo $all_region_data |
|
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
|
# Get the best region
|
||||||
bestRegion="$(echo "$region_latency_report" |
|
bestRegion="$(echo "$region_latency_report" |
|
||||||
|
@ -56,7 +57,12 @@ regionData="$( echo $all_region_data |
|
||||||
jq --arg REGION_ID "$bestRegion" -r \
|
jq --arg REGION_ID "$bestRegion" -r \
|
||||||
'.regions[] | select(.id==$REGION_ID)')"
|
'.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
|
echo
|
||||||
bestServer_meta_IP="$(echo $regionData | jq -r '.servers.meta[0].ip')"
|
bestServer_meta_IP="$(echo $regionData | jq -r '.servers.meta[0].ip')"
|
||||||
bestServer_meta_hostname="$(echo $regionData | jq -r '.servers.meta[0].cn')"
|
bestServer_meta_hostname="$(echo $regionData | jq -r '.servers.meta[0].cn')"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user