2024-05-06 00:09:00 -04:00
{
"$schema" : "https://json-schema.org/draft/2020-12/schema" ,
2024-07-08 04:43:37 -04:00
"title" : "Sherlock Target Manifest" ,
"description" : "Social media targets to probe for the existence of known usernames" ,
2024-05-06 00:09:00 -04:00
"type" : "object" ,
2024-05-06 19:58:40 -04:00
"properties" : {
"$schema" : { "type" : "string" }
} ,
2024-05-06 00:09:00 -04:00
"patternProperties" : {
"^(?!\\$).*?$" : {
"type" : "object" ,
2024-07-08 04:43:37 -04:00
"description" : "Target name and associated information (key should be human readable name)" ,
2024-05-06 00:09:00 -04:00
"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" } ,
2024-05-06 16:57:14 -04:00
"__comment__" : {
"type" : "string" ,
2024-05-06 18:37:21 -04:00
"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."
2024-05-06 16:57:14 -04:00
} ,
2024-05-06 00:09:00 -04:00
"tags" : {
"oneOf" : [
2024-05-06 19:25:38 -04:00
{ "$ref" : "#/$defs/tag" } ,
{ "type" : "array" , "items" : { "$ref" : "#/$defs/tag" } }
2024-05-06 00:09:00 -04:00
]
} ,
"request_method" : {
"type" : "string" ,
2024-05-06 01:13:20 -04:00
"enum" : [ "GET" , "POST" , "HEAD" , "PUT" ]
2024-05-06 00:09:00 -04:00
} ,
"errorType" : {
"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" }
} ,
2024-05-06 18:37:21 -04:00
"dependencies" : {
"errorMsg" : {
"properties" : { "errorType" : { "const" : "message" } }
} ,
"errorUrl" : {
"properties" : { "errorType" : { "const" : "response_url" } }
} ,
"errorCode" : {
"properties" : { "errorType" : { "const" : "status_code" } }
}
} ,
2024-05-06 18:49:48 -04:00
"if" : { "properties" : { "errorType" : { "const" : "message" } } } ,
"then" : { "required" : [ "errorMsg" ] } ,
"else" : {
"if" : { "properties" : { "errorType" : { "const" : "response_url" } } } ,
"then" : { "required" : [ "errorUrl" ] }
} ,
2024-05-06 00:09:00 -04:00
"additionalProperties" : false
}
2024-05-06 19:25:38 -04:00
} ,
2024-05-06 19:58:40 -04:00
"additionalProperties" : false ,
2024-05-06 19:25:38 -04:00
"$defs" : {
"tag" : { "type" : "string" , "enum" : [ "adult" , "gaming" ] }
2024-05-06 00:09:00 -04:00
}
}