118 lines
3.7 KiB
JSON
118 lines
3.7 KiB
JSON
{
|
|
"$id": "https://github.com/monosans/proxy-scraper-checker/blob/main/config.toml",
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"title": "proxy-scraper-checker config",
|
|
"type": "object",
|
|
"$defs": {
|
|
"protocol_config": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": { "type": "boolean" },
|
|
"urls": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{ "type": "string" },
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"url": { "type": "string" },
|
|
"basic_auth": {
|
|
"type": "object",
|
|
"properties": {
|
|
"username": { "type": "string" },
|
|
"password": { "type": "string" }
|
|
},
|
|
"required": ["username", "password"],
|
|
"additionalProperties": false
|
|
},
|
|
"headers": {
|
|
"type": "object",
|
|
"patternProperties": { ".*": { "type": "string" } },
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["url"],
|
|
"additionalProperties": false,
|
|
"x-tombi-array-values-order-by": "url"
|
|
}
|
|
]
|
|
},
|
|
"x-tombi-array-values-order": "ascending"
|
|
}
|
|
},
|
|
"required": ["enabled", "urls"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"properties": {
|
|
"debug": { "type": "boolean" },
|
|
"output": {
|
|
"type": "object",
|
|
"properties": {
|
|
"path": { "type": "string" },
|
|
"sort_by_speed": { "type": "boolean" },
|
|
"txt": {
|
|
"type": "object",
|
|
"properties": { "enabled": { "type": "boolean" } },
|
|
"required": ["enabled"],
|
|
"additionalProperties": false
|
|
},
|
|
"json": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": { "type": "boolean" },
|
|
"include_asn": { "type": "boolean" },
|
|
"include_geolocation": { "type": "boolean" }
|
|
},
|
|
"required": ["enabled", "include_asn", "include_geolocation"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["path", "sort_by_speed", "txt", "json"],
|
|
"additionalProperties": false
|
|
},
|
|
"checking": {
|
|
"type": "object",
|
|
"properties": {
|
|
"check_url": { "type": "string" },
|
|
"max_concurrent_checks": { "type": "integer", "minimum": 1 },
|
|
"timeout": { "type": "number", "minimum": 0 },
|
|
"connect_timeout": { "type": "number", "minimum": 0 },
|
|
"user_agent": { "type": "string" }
|
|
},
|
|
"required": [
|
|
"check_url",
|
|
"max_concurrent_checks",
|
|
"timeout",
|
|
"connect_timeout",
|
|
"user_agent"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"scraping": {
|
|
"type": "object",
|
|
"properties": {
|
|
"max_proxies_per_source": { "type": "integer", "minimum": 0 },
|
|
"timeout": { "type": "number", "minimum": 0 },
|
|
"connect_timeout": { "type": "number", "minimum": 0 },
|
|
"proxy": { "type": "string" },
|
|
"user_agent": { "type": "string" },
|
|
"http": { "$ref": "#/$defs/protocol_config" },
|
|
"socks4": { "$ref": "#/$defs/protocol_config" },
|
|
"socks5": { "$ref": "#/$defs/protocol_config" }
|
|
},
|
|
"required": [
|
|
"max_proxies_per_source",
|
|
"timeout",
|
|
"connect_timeout",
|
|
"proxy",
|
|
"user_agent"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["debug", "output", "checking", "scraping"],
|
|
"additionalProperties": false
|
|
}
|