diff --git a/Custom-attack-scripts.md b/Custom-attack-scripts.md index cab8a1e..d10c6cd 100644 --- a/Custom-attack-scripts.md +++ b/Custom-attack-scripts.md @@ -14,7 +14,8 @@ An attack bundle is just a fancy term for a directory containing an attack scrip ### Attack Bundle Requirements: * An attack script, and all assets excluding lib, must be within a directory (with optional subdirectories). * The directory mentioned above must be named after the attack performed by the script. -* The directory must contain an executable script named "attack.sh," containing the attack. +* The bundle must contain an executable script at the root named "attack.sh," containing the attack. +* The bundle must contain a subdirectory at the root named "language" containing language scripts. ## About Attack Scripts The attack script (attack.sh in the bundle) is the primary script of the bundle. It is the only script in the bundle loaded directly by fluxion and must meet specific requirements to function properly. @@ -33,4 +34,13 @@ Additionally, good practice states custom attacks or any of its scripts ### Attack Script Optionals: * Once an attack has started and is running in the background, it may signal fluxion to stop the attack by sending it a SIGABRT signal (kill -s SIGABRT fluxPIDHere)
-Note that fluxion's PID is always available via the $$ operator. \ No newline at end of file +Note that fluxion's PID is always available via the $$ operator. + +## About Language Scripts: +Language scripts are required for every language available in fluxion. That means a script must exist in the attack's language directory for every script that exists under `fluxion/language` Additionally, the language scripts must include extra meta information about the attack in the script's language, such as the attack's name in the language. +### Language Script Requirements +* Language scripts must be named after a ISO 639-1 language code, must be executable and have the extension `.sh` +* Language scripts must have a sensible translation for everything feasibly translatable in the attack. +* Language scripts must have a meta section within the first 3 lines of the language script. +* Language scripts must identify the attack natively within the meta section with the label `# native: ` +* Language scripts must describe the attack natively within the meta section with the label `# description: ` \ No newline at end of file