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