|
|
@ -0,0 +1,170 @@ |
|
|
|
{ |
|
|
|
"$schema": "http://json-schema.org/draft-04/schema#", |
|
|
|
"id": "http://nodeinfo.diaspora.software/ns/schema/2.0#", |
|
|
|
"description": "NodeInfo schema version 2.0.", |
|
|
|
"type": "object", |
|
|
|
"additionalProperties": false, |
|
|
|
"required": [ |
|
|
|
"version", |
|
|
|
"software", |
|
|
|
"protocols", |
|
|
|
"services", |
|
|
|
"openRegistrations", |
|
|
|
"usage", |
|
|
|
"metadata" |
|
|
|
], |
|
|
|
"properties": { |
|
|
|
"version": { |
|
|
|
"description": "The schema version, must be 2.0.", |
|
|
|
"enum": ["2.0"] |
|
|
|
}, |
|
|
|
"software": { |
|
|
|
"description": "Metadata about server software in use.", |
|
|
|
"type": "object", |
|
|
|
"additionalProperties": false, |
|
|
|
"required": ["name", "version"], |
|
|
|
"properties": { |
|
|
|
"name": { |
|
|
|
"description": "The canonical name of this server software.", |
|
|
|
"type": "string", |
|
|
|
"pattern": "^[a-z0-9-]+$" |
|
|
|
}, |
|
|
|
"version": { |
|
|
|
"description": "The version of this server software.", |
|
|
|
"type": "string" |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
"protocols": { |
|
|
|
"description": "The protocols supported on this server.", |
|
|
|
"type": "array", |
|
|
|
"minItems": 1, |
|
|
|
"items": { |
|
|
|
"enum": [ |
|
|
|
"activitypub", |
|
|
|
"buddycloud", |
|
|
|
"dfrn", |
|
|
|
"diaspora", |
|
|
|
"libertree", |
|
|
|
"ostatus", |
|
|
|
"pumpio", |
|
|
|
"tent", |
|
|
|
"xmpp", |
|
|
|
"zot" |
|
|
|
] |
|
|
|
} |
|
|
|
}, |
|
|
|
"services": { |
|
|
|
"description": "The third party sites this server can connect to via their application API.", |
|
|
|
"type": "object", |
|
|
|
"additionalProperties": false, |
|
|
|
"required": ["inbound", "outbound"], |
|
|
|
"properties": { |
|
|
|
"inbound": { |
|
|
|
"description": "The third party sites this server can retrieve messages from for combined display with regular traffic.", |
|
|
|
"type": "array", |
|
|
|
"minItems": 0, |
|
|
|
"items": { |
|
|
|
"enum": [ |
|
|
|
"atom1.0", |
|
|
|
"gnusocial", |
|
|
|
"imap", |
|
|
|
"pnut", |
|
|
|
"pop3", |
|
|
|
"pumpio", |
|
|
|
"rss2.0", |
|
|
|
"twitter" |
|
|
|
] |
|
|
|
} |
|
|
|
}, |
|
|
|
"outbound": { |
|
|
|
"description": "The third party sites this server can publish messages to on the behalf of a user.", |
|
|
|
"type": "array", |
|
|
|
"minItems": 0, |
|
|
|
"items": { |
|
|
|
"enum": [ |
|
|
|
"atom1.0", |
|
|
|
"blogger", |
|
|
|
"buddycloud", |
|
|
|
"diaspora", |
|
|
|
"dreamwidth", |
|
|
|
"drupal", |
|
|
|
"facebook", |
|
|
|
"friendica", |
|
|
|
"gnusocial", |
|
|
|
"google", |
|
|
|
"insanejournal", |
|
|
|
"libertree", |
|
|
|
"linkedin", |
|
|
|
"livejournal", |
|
|
|
"mediagoblin", |
|
|
|
"myspace", |
|
|
|
"pinterest", |
|
|
|
"pnut", |
|
|
|
"posterous", |
|
|
|
"pumpio", |
|
|
|
"redmatrix", |
|
|
|
"rss2.0", |
|
|
|
"smtp", |
|
|
|
"tent", |
|
|
|
"tumblr", |
|
|
|
"twitter", |
|
|
|
"wordpress", |
|
|
|
"xmpp" |
|
|
|
] |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
"openRegistrations": { |
|
|
|
"description": "Whether this server allows open self-registration.", |
|
|
|
"type": "boolean" |
|
|
|
}, |
|
|
|
"usage": { |
|
|
|
"description": "Usage statistics for this server.", |
|
|
|
"type": "object", |
|
|
|
"additionalProperties": false, |
|
|
|
"required": ["users"], |
|
|
|
"properties": { |
|
|
|
"users": { |
|
|
|
"description": "statistics about the users of this server.", |
|
|
|
"type": "object", |
|
|
|
"additionalProperties": false, |
|
|
|
"properties": { |
|
|
|
"total": { |
|
|
|
"description": "The total amount of on this server registered users.", |
|
|
|
"type": "integer", |
|
|
|
"minimum": 0 |
|
|
|
}, |
|
|
|
"activeHalfyear": { |
|
|
|
"description": "The amount of users that signed in at least once in the last 180 days.", |
|
|
|
"type": "integer", |
|
|
|
"minimum": 0 |
|
|
|
}, |
|
|
|
"activeMonth": { |
|
|
|
"description": "The amount of users that signed in at least once in the last 30 days.", |
|
|
|
"type": "integer", |
|
|
|
"minimum": 0 |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
"localPosts": { |
|
|
|
"description": "The amount of posts that were made by users that are registered on this server.", |
|
|
|
"type": "integer", |
|
|
|
"minimum": 0 |
|
|
|
}, |
|
|
|
"localComments": { |
|
|
|
"description": "The amount of comments that were made by users that are registered on this server.", |
|
|
|
"type": "integer", |
|
|
|
"minimum": 0 |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
"metadata": { |
|
|
|
"description": "Free form key value pairs for software specific values. Clients should not rely on any specific key present.", |
|
|
|
"type": "object", |
|
|
|
"minProperties": 0, |
|
|
|
"additionalProperties": true |
|
|
|
} |
|
|
|
} |
|
|
|
} |