You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

304 lines
6.6 KiB

{
"title": "Wappalyzer schema",
"definitions": {
"non-empty-non-blank-string": {
"type": "string",
"pattern": "^(?!\\s*$).+"
}
},
"type": "object",
"additionalProperties": {
"additionalProperties": false,
"required": ["cats","website"],
"properties": {
"description": {
"type": "string",
"pattern": "^.{0,500}$"
},
"oss": {
"type": "boolean"
},
"saas": {
"type": "boolean"
},
"pricing": {
"type": "array",
"items": {
"type": "string",
"pattern": "^(low|mid|high|freemium|poa|payg|onetime|recurring)$"
}
},
"cats": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 1
},
"cpe": {
"type": "string",
"pattern": "cpe:2.3:(a|h|o):[^*:]+:[^:]+:\\*:\\*:\\*:\\*:\\*:[^:]+:\\*:\\*"
},
"cookies": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^.+$": {
},
"additionalProperties": {
"type": "string"
}
}
},
"js": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^.+$": {
},
"additionalProperties": {
"type": "string"
}
}
},
"dom": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/definitions/non-empty-non-blank-string"
}
},
{
"$ref": "#/definitions/non-empty-non-blank-string"
},
{
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^.+$": {
}
}
}
]
},
"dns": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^.+$": {
}
}
},
"headers": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^.+$": {
},
"additionalProperties": {
"type": "string"
}
}
},
"html": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/definitions/non-empty-non-blank-string"
}
},
{
"$ref": "#/definitions/non-empty-non-blank-string"
}
]
},
"text": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/definitions/non-empty-non-blank-string"
}
},
{
"$ref": "#/definitions/non-empty-non-blank-string"
}
]
},
"css": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/definitions/non-empty-non-blank-string"
}
},
{
"$ref": "#/definitions/non-empty-non-blank-string"
}
]
},
"robots": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/definitions/non-empty-non-blank-string"
}
},
{
"$ref": "#/definitions/non-empty-non-blank-string"
}
]
},
"probe": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^.+$": {
},
"additionalProperties": {
"type": "string"
}
}
},
"certIssuer": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/definitions/non-empty-non-blank-string"
}
},
{
"$ref": "#/definitions/non-empty-non-blank-string"
}
]
},
"excludes": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/definitions/non-empty-non-blank-string"
}
},
{
"$ref": "#/definitions/non-empty-non-blank-string"
}
]
},
"implies": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/definitions/non-empty-non-blank-string"
}
},
{
"$ref": "#/definitions/non-empty-non-blank-string"
}
]
},
"requires": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/definitions/non-empty-non-blank-string"
}
},
{
"$ref": "#/definitions/non-empty-non-blank-string"
}
]
},
"requiresCategory": {
"oneOf": [
{
"type": "array",
"items": {
"type": "number"
}
},
{
"type": "number"
}
]
},
"meta": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^.+$": {
},
"additionalProperties": {
"type": "string"
}
}
},
"scriptSrc": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/definitions/non-empty-non-blank-string"
}
},
{
"$ref": "#/definitions/non-empty-non-blank-string"
}
]
},
"scripts": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/definitions/non-empty-non-blank-string"
}
},
{
"$ref": "#/definitions/non-empty-non-blank-string"
}
]
},
"url": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/definitions/non-empty-non-blank-string"
}
},
{
"$ref": "#/definitions/non-empty-non-blank-string"
}
]
},
"website": {
"$ref": "#/definitions/non-empty-non-blank-string"
},
"icon": {
"$ref": "#/definitions/non-empty-non-blank-string"
},
"xhr": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/definitions/non-empty-non-blank-string"
}
},
{
"$ref": "#/definitions/non-empty-non-blank-string"
}
]
}
}
}
}