Implement nodeinfo
Nodeinfo is a machine readable collection of instance information that some AP servers provide.
Example from https://kawen.space/nodeinfo/2.1.json
{
"metadata": {
"accountActivationRequired": false,
"features": [
"pleroma_api",
"mastodon_api",
"mastodon_api_streaming",
"polls",
"pleroma_explicit_addressing",
"media_proxy",
"gopher",
"relay"
],
"federation": {
"exclusions": false,
"mrf_policies": [
"SimplePolicy"
],
"mrf_simple": {
"accept": [],
"avatar_removal": [],
"banner_removal": [],
"federated_timeline_removal": [
"humblr.social",
"sinblr.com"
],
"media_nsfw": [
"baraag.net",
"humblr.social",
"sinblr.com"
],
"media_removal": [],
"reject": [
"fedi.lynnesbian.space",
"playvicious.social",
"switter.at",
"witches.live",
"shitasstits.life",
"kiwifarms.cc"
],
"report_removal": []
},
"quarantined_instances": [
"pleroma.rareome.ga",
"shitasstits.life"
]
},
"invitesEnabled": false,
"mailerEnabled": false,
"nodeDescription": "A Pleroma instance, an alternative fediverse server",
"nodeName": "Kawen Space: The Pillow Fort of Pleroma Instances",
"pollLimits": {
"max_expiration": 31536000,
"max_option_chars": 200,
"max_options": 20,
"min_expiration": 0
},
"postFormats": [
"text/plain",
"text/html",
"text/markdown",
"text/bbcode"
],
"private": false,
"restrictedNicknames": [
".well-known",
"~",
"about",
"activities",
"api",
"auth",
"check_password",
"dev",
"friend-requests",
"inbox",
"internal",
"main",
"media",
"nodeinfo",
"notice",
"oauth",
"objects",
"ostatus_subscribe",
"pleroma",
"proxy",
"push",
"registration",
"relay",
"settings",
"status",
"tag",
"user-search",
"user_exists",
"users",
"web"
],
"skipThreadContainment": false,
"staffAccounts": [
"https://kawen.space/users/karen",
"https://kawen.space/users/flocky"
],
"suggestions": {
"enabled": false,
"limit": 40,
"thirdPartyEngine": "http://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-suggestions-api.cgi?{{host}}+{{user}}",
"timeout": 300000,
"web": "https://vinayaka.distsn.org"
},
"uploadLimits": {
"avatar": 2000000,
"background": 4000000,
"banner": 4000000,
"general": 100000000
}
},
"openRegistrations": true,
"protocols": [
"activitypub",
"ostatus"
],
"services": {
"inbound": [],
"outbound": []
},
"software": {
"name": "pleroma",
"repository": "https://git.pleroma.social/pleroma/pleroma",
"version": "1.1.6-164-gfb542974-production"
},
"usage": {
"localPosts": 205390,
"users": {
"total": 194
}
},
"version": "2.1"
}