forked from gitea/gitea
		
	 f3370eeaee
			
		
	
	
		f3370eeaee
		
			
		
	
	
	
	
		
			
			... using [github.com/xeipuuv/gojsonschema](https://github.com/xeipuuv/gojsonschema) Co-authored-by: techknowlogick <techknowlogick@gitea.io>
		
			
				
	
	
		
			189 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
			
		
		
	
	
			189 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
| {
 | |
|   "$schema": "http://json-schema.org/draft-04/schema#",
 | |
|   "id": "http://nodeinfo.diaspora.software/ns/schema/2.1#",
 | |
|   "description": "NodeInfo schema version 2.1.",
 | |
|   "type": "object",
 | |
|   "additionalProperties": false,
 | |
|   "required": [
 | |
|     "version",
 | |
|     "software",
 | |
|     "protocols",
 | |
|     "services",
 | |
|     "openRegistrations",
 | |
|     "usage",
 | |
|     "metadata"
 | |
|   ],
 | |
|   "properties": {
 | |
|     "version": {
 | |
|       "description": "The schema version, must be 2.1.",
 | |
|       "enum": [
 | |
|         "2.1"
 | |
|       ]
 | |
|     },
 | |
|     "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"
 | |
|         },
 | |
|         "repository": {
 | |
|           "description": "The url of the source code repository of this server software.",
 | |
|           "type": "string"
 | |
|         },
 | |
|         "homepage": {
 | |
|           "description": "The url of the homepage 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
 | |
|     }
 | |
|   }
 | |
| }
 |