sherlock 5.0.5

🔍 Hunt down social media accounts by username across social networks
Documentation
{
  "$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"] }
  }
}