Как определить геолокацию своих пиров

С помощью нижеследующих команд можно определить, в каких странах находятся узлы, к которым вы подключены (или которые подключены к вам).

Примечание: в конфигурационном файле Yggdrasil должен быть задан параметр AdminListen, отличный от none.

Примечание: не обрабатываются IPv6-адреса пиров.

С помощью geoiplookup

sudo apt install geoip-bin

Вывод IP-адресов всех пиров с кодами стран:

sudo yggdrasilctl getPeers | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | while read ip; do printf "%-16s" "$ip "; geoiplookup $ip | sed 's/GeoIP Country Edition: \([A-Z ]\{2\}\).*/\1/';done;

Подсчет количества пиров по странам:

sudo yggdrasilctl getPeers | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | while read ip; do geoiplookup $ip | sed 's/GeoIP Country Edition: \([A-Z ]\{2\}\).*/\1/'; done | sort | uniq -c

С помощью whois

sudo apt install whois
sudo yggdrasilctl getPeers|grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | while read ip; do printf "%-16s" "$ip "; whois $ip |grep country;done;

С помощью сервиса ipinfo.io

sudo apt install curl jq
sudo yggdrasilctl getPeers|grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | while read ip; do printf "%-16s" "$ip "; echo $(curl --silent "ipinfo.io/$ip") |jq '.country';done;

Ссылки

API для администрирования: yggdrasil:admin_api

Коды названий стран: https://ru.wikipedia.org/wiki/ISO_3166-1

Только авторизованные участники могут оставлять комментарии.
yggdrasil/peers_countries.txt · Последние изменения: 2022/03/12 17:15 — newbie
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki