Решили написать паука, который будет собирать метаданные о серверах федивёрса в ваш скромненький каталог? Отлично! Давайте пройдёмся по этому зоопарку пока у тебя есть мотивация хоть что-то делать.
По спецификации получить метаданные можно с помощью /.well-known/nodeinfo который содержит ссылку на что-нибудь типа
/nodeinfo/2.0. Но вот незадача! У разных движков информация там разная, а у мастодона максимально скромная.
Оказывается, помимо общей спецификации, каждый движок предлагает свой эндпойнт для получения метаданных.
Большое распространение получил /api/v1/instance из API мастодона, но конечно же он доступен не везде.
Вперёд!
Mastodon
/nodeinfo/2.0/api/v1/instance/api/v1/custom_emojis/api/v1/directory?local=true
Pleroma
/nodeinfo/2.1.json/api/v1/instance/api/pleroma/healthcheck(должен быть активен)
Misskey
/nodeinfo/2.0- Это довольно необычный: POST запрос на
/api/metaс телом{"detail":true} - POST запрос на
/api/statsс пустым телом
Funkwhale
/api/v1/instance/nodeinfo/2.0/api/v1/instance/settings
Pixelfed
/api/nodeinfo/2.0.json/api/v1/instance
PeerTube
/nodeinfo/2.0.json/api/v1/config/api/v1/config/about
Friendica
/nodeinfo/2.0/api/statusnet/config/api/v1/instance/friendica/json
Nextcloud
- /status.php
- ??? Какой же кластерфак
Спасибо Michael Vogel за эндпойнты к Friendica.
Спасибо что прочитали пост.