Added JSON schema
This commit is contained in:
parent
a67e9f864a
commit
ebc363dbea
|
@ -0,0 +1,245 @@
|
|||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$ref": "#/$defs/preferences",
|
||||
"$defs": {
|
||||
"color": {
|
||||
"type": "array",
|
||||
"prefixItems": [
|
||||
{
|
||||
"type": "integer",
|
||||
"title": "Red",
|
||||
"description": "From 0 to 255",
|
||||
"minimum": 0,
|
||||
"maximum": 255
|
||||
},
|
||||
{
|
||||
"type": "integer",
|
||||
"title": "Green",
|
||||
"description": "From 0 to 255",
|
||||
"minimum": 0,
|
||||
"maximum": 255
|
||||
},
|
||||
{
|
||||
"type": "integer",
|
||||
"title": "Blue",
|
||||
"description": "From 0 to 255",
|
||||
"minimum": 0,
|
||||
"maximum": 255
|
||||
},
|
||||
{
|
||||
"type": "integer",
|
||||
"title": "Blink-Interval",
|
||||
"description": "The blink interval in milliseconds, 0 means it's not blinking.",
|
||||
"minimum": 0
|
||||
}
|
||||
],
|
||||
"additionalItems": false,
|
||||
"minItems": 4,
|
||||
"maxItems": 4
|
||||
},
|
||||
"preferences": {
|
||||
"title": "Preferences",
|
||||
"description": "Preferences for your USB Nova",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"$schema": {
|
||||
"type": "string"
|
||||
},
|
||||
"enable_msc": {
|
||||
"type": "boolean",
|
||||
"title": "Enable USB mass storage (USB drive) in attack mode",
|
||||
"default": false
|
||||
},
|
||||
"enable_led": {
|
||||
"type": "boolean",
|
||||
"title": "Enable RGB LED",
|
||||
"default": true
|
||||
},
|
||||
"enable_hid": {
|
||||
"type": "boolean",
|
||||
"title": "Enable HID in setup mode",
|
||||
"default": true
|
||||
},
|
||||
"hid_vid": {
|
||||
"type": "string",
|
||||
"title": "USB Keyboard Vendor ID",
|
||||
"pattern": "^[0-9A-F]{4}$",
|
||||
"default": "16D0",
|
||||
"examples": [
|
||||
"05AC"
|
||||
],
|
||||
"minLength": 4,
|
||||
"maxLength": 4
|
||||
},
|
||||
"hid_pid": {
|
||||
"type": "string",
|
||||
"title": "USB Keyboard Product ID",
|
||||
"pattern": "^[0-9A-F]{4}$",
|
||||
"default": "11A4",
|
||||
"examples": [
|
||||
"0250"
|
||||
],
|
||||
"minLength": 4,
|
||||
"maxLength": 4
|
||||
},
|
||||
"hid_rev": {
|
||||
"type": "string",
|
||||
"title": "USB Keyboard Product Revision",
|
||||
"default": "0100",
|
||||
"minLength": 4,
|
||||
"maxLength": 4
|
||||
},
|
||||
"msc_vid": {
|
||||
"type": "string",
|
||||
"title": "USB Mass Storage Vendor ID",
|
||||
"default": "SpHuhn"
|
||||
},
|
||||
"msc_pid": {
|
||||
"type": "string",
|
||||
"title": "USB Mass Storage Product ID",
|
||||
"default": "USB Nova"
|
||||
},
|
||||
"msc_rev": {
|
||||
"type": "string",
|
||||
"title": "USB Mass Storage Product Revision",
|
||||
"default": "1.0"
|
||||
},
|
||||
"default_layout": {
|
||||
"type": "string",
|
||||
"title": "Default Keyboard Layout",
|
||||
"enum": [
|
||||
"BE",
|
||||
"BE_MAC",
|
||||
"BG",
|
||||
"BG_MAC",
|
||||
"CA-CM",
|
||||
"CA-FR",
|
||||
"CA-FR_MAC",
|
||||
"CH-DE",
|
||||
"CH-FR",
|
||||
"CH-DE_MAC",
|
||||
"CH-FR_MAC",
|
||||
"CZ",
|
||||
"CZ_MAC",
|
||||
"DE",
|
||||
"DE_MAC",
|
||||
"DK",
|
||||
"DK_MAC",
|
||||
"EE",
|
||||
"EE_MAC",
|
||||
"ES",
|
||||
"ES_MAC",
|
||||
"ES-LA",
|
||||
"ES-LA_MAC",
|
||||
"FI",
|
||||
"FI_MAC",
|
||||
"FR",
|
||||
"FR_MAC",
|
||||
"GB",
|
||||
"GB_MAC",
|
||||
"GR",
|
||||
"GR_MAC",
|
||||
"HU",
|
||||
"HU_MAC",
|
||||
"IE",
|
||||
"IN",
|
||||
"IN_MAC",
|
||||
"IS",
|
||||
"IS_MAC",
|
||||
"IT",
|
||||
"IT_MAC",
|
||||
"LT",
|
||||
"LT_MAC",
|
||||
"LV",
|
||||
"LV_MAC",
|
||||
"NL",
|
||||
"NL_MAC",
|
||||
"NO",
|
||||
"NO_MAC",
|
||||
"PL",
|
||||
"PL_MAC",
|
||||
"PT-BR",
|
||||
"PT-BR_MAC",
|
||||
"PT",
|
||||
"PT_MAC",
|
||||
"RO",
|
||||
"RO_MAC",
|
||||
"RU",
|
||||
"RU_MAC",
|
||||
"SE",
|
||||
"SE_MAC",
|
||||
"SI",
|
||||
"SI_MAC",
|
||||
"SK",
|
||||
"SK_MAC",
|
||||
"TR",
|
||||
"TR_MAC",
|
||||
"UA",
|
||||
"UA_MAC",
|
||||
"US",
|
||||
"US_MAC"
|
||||
],
|
||||
"default": "US"
|
||||
},
|
||||
"default_delay": {
|
||||
"type": "integer",
|
||||
"title": "Default delay between each line",
|
||||
"default": 5,
|
||||
"minimum": 0
|
||||
},
|
||||
"main_script": {
|
||||
"type": "string",
|
||||
"title": "Name of your BadUSB script",
|
||||
"default": "main_script.txt"
|
||||
},
|
||||
"attack_color": {
|
||||
"$ref": "#/$defs/color",
|
||||
"title": "LED color for attack mode",
|
||||
"default": [
|
||||
128,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
]
|
||||
},
|
||||
"setup_color": {
|
||||
"$ref": "#/$defs/color",
|
||||
"title": "LED color for setup mode",
|
||||
"default": [
|
||||
0,
|
||||
0,
|
||||
20,
|
||||
0
|
||||
]
|
||||
},
|
||||
"idle_color": {
|
||||
"$ref": "#/$defs/color",
|
||||
"title": "LED color for finished attack",
|
||||
"default": [
|
||||
0,
|
||||
30,
|
||||
0,
|
||||
0
|
||||
]
|
||||
},
|
||||
"disable_capslock": {
|
||||
"type": "boolean",
|
||||
"title": "Turn off capslock before starting attack (only work on Windows)",
|
||||
"default": true
|
||||
},
|
||||
"run_on_indicator": {
|
||||
"type": "boolean",
|
||||
"title": "Start script when the user presses capslock, numlock, or another indicator key (only work on Windows)",
|
||||
"default": false
|
||||
},
|
||||
"initial_delay": {
|
||||
"type": "integer",
|
||||
"title": "Startup delay",
|
||||
"default": 1000,
|
||||
"minimum": 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -67,6 +67,8 @@ namespace preferences {
|
|||
}
|
||||
|
||||
void toJson(JsonDocument& root) {
|
||||
root["$schema"] = "https://raw.githubusercontent.com/SpacehuhnTech/USBNova/main/schema.json";
|
||||
|
||||
root["enable_msc"] = enable_msc;
|
||||
root["enable_led"] = enable_led;
|
||||
root["enable_hid"] = enable_hid;
|
||||
|
|
Loading…
Reference in New Issue