💾 Archived View for betahowto.duckdns.org › yggdrasil:crawler captured on 2024-03-21 at 15:40:37. Gemini links have been rewritten to link to archived content

View Raw

More Information

-=-=-=-=-=-=-

Как получить информацию обо всех узлах сети

+----------------------------------------------------------------------------------------------------------------------------------------------------+
| :!: Внимание!                                                                                                                                      |
+----------------------------------------------------------------------------------------------------------------------------------------------------+
| Начиная с версии 0.5 RC1   ( gemini://betahowto.duckdns.org/Yggdrasil ) больше не использует DHT. Информация в этой статье не актуальна для последних версий Yggdrasil. |
+----------------------------------------------------------------------------------------------------------------------------------------------------+

( gemini://betahowto.duckdns.org/Yggdrasil ) использует распределенную хеш-таблицу (DHT ( https://ru.wikipedia.org/wiki/Распределённая_хеш-таблица )), в которой содержится вся необходимая информация для работы автоматической маршрутизации.

Обращаясь к этой хеш-таблице можно получить нужную нам информацию и далее, обращаясь к узлам с использованием Admin API ( https://yggdrasil-network.github.io/admin.html ), можно получить дополнительную информацию об узле.

На основе этого реализованы DHT-crawler'ы, собирающие информацию обо всех узлах. Реализация ( https://github.com/Arceliar/yggdrasil-map/blob/master/scripts/crawl.py ) на Python. Наглядный пример: официальная http://[21e:e795:8e82:a9e2:ff48:952d:55f2:f0bb]/|карта сети.

Реализация crawler'a на go: https://github.com/Arceliar/yggdrasil-map/blob/master/scripts/crawler.go (или тут ( https://github.com/Jorropo/fc00.org/blob/newer-crawller/scripts/crawler.go )).

Собранная информация

В сети есть ресурсы, которые предоставляют с определенными интервалами собираемые crawler'ами данные.

Один из таки ресурсов: http://[316:c51a:62a3:8b9::2]/ (данные в формате json: http://[316:c51a:62a3:8b9::2]/result.json).

Эти данные можно любым удобным (или необходимым) способом трансформировать, анализировать и т.п.

Так, для примера, ниже приведена команда, с помощью которой можно вывести отсортированную по ключам (и адресам) табличку узлов, получаемую из этого файла.

jq -r --sort-keys '.[]|with_entries(.value = .value.address)' result.json | jq -r 'to_entries[] | "\(.key), \(.value)"' | more

(если jq еще нет в системе, её нужно установить: sudo apt install jq)

Материалы

gemini://betahowto.duckdns.org/Yggdrasil

https://ru.wikipedia.org/wiki/Распределённая_хеш-таблица

https://yggdrasil-network.github.io/admin.html

https://github.com/Arceliar/yggdrasil-map/blob/master/scripts/crawl.py

http://[21e:e795:8e82:a9e2:ff48:952d:55f2:f0bb]/|карта

https://github.com/Arceliar/yggdrasil-map/blob/master/scripts/crawler.go

https://github.com/Jorropo/fc00.org/blob/newer-crawller/scripts/crawler.go

http://[316:c51a:62a3:8b9::2]/

http://[316:c51a:62a3:8b9::2]/result.json).

Навигация

Поиск

Главная страница

Редактировать

Проект β-Doku

Алиас

[0200::/7]

Alfis / Yggdrasil