{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "Sherlock Target Manifest", "description": "Social media targets to probe for the existence of known usernames", "type": "object", "properties": { "$schema": { "type": "string" } }, "patternProperties": { "^(?!\\$).*?$": { "type": "object", "description": "Target name and associated information (key should be human readable name)", "required": ["url", "urlMain", "errorType", "username_claimed"], "properties": { "url": { "type": "string" }, "urlMain": { "type": "string" }, "urlProbe": { "type": "string" }, "username_claimed": { "type": "string" }, "regexCheck": { "type": "string" }, "isNSFW": { "type": "boolean" }, "headers": { "type": "object" }, "request_payload": { "type": "object" }, "__comment__": { "type": "string", "description": "Used to clarify important target information if (and only if) a commit message would not suffice.\nThis key should not be parsed anywhere within Sherlock." }, "tags": { "oneOf": [ { "$ref": "#/$defs/tag" }, { "type": "array", "items": { "$ref": "#/$defs/tag" } } ] }, "request_method": { "type": "string", "enum": ["GET", "POST", "HEAD", "PUT"] }, "errorType": { "oneOf": [ { "type": "string", "enum": ["message", "response_url", "status_code"] }, { "type": "array", "items": { "type": "string", "enum": ["message", "response_url", "status_code"] } } ] }, "errorMsg": { "oneOf": [ { "type": "string" }, { "type": "array", "items": { "type": "string" } } ] }, "errorCode": { "oneOf": [ { "type": "integer" }, { "type": "array", "items": { "type": "integer" } } ] }, "errorUrl": { "type": "string" }, "response_url": { "type": "string" } }, "dependencies": { "errorMsg": { "oneOf": [ { "properties": { "errorType": { "const": "message" } } }, { "properties": { "errorType": { "type": "array", "contains": { "const": "message" } } } } ] }, "errorUrl": { "oneOf": [ { "properties": { "errorType": { "const": "response_url" } } }, { "properties": { "errorType": { "type": "array", "contains": { "const": "response_url" } } } } ] }, "errorCode": { "oneOf": [ { "properties": { "errorType": { "const": "status_code" } } }, { "properties": { "errorType": { "type": "array", "contains": { "const": "status_code" } } } } ] } }, "allOf": [ { "if": { "anyOf": [ { "properties": { "errorType": { "const": "message" } } }, { "properties": { "errorType": { "type": "array", "contains": { "const": "message" } } } } ] }, "then": { "required": ["errorMsg"] } }, { "if": { "anyOf": [ { "properties": { "errorType": { "const": "response_url" } } }, { "properties": { "errorType": { "type": "array", "contains": { "const": "response_url" } } } } ] }, "then": { "required": ["errorUrl"] } } ], "additionalProperties": false } }, "additionalProperties": false, "$defs": { "tag": { "type": "string", "enum": ["adult", "gaming"] } } }