Updated fluxion and attacks scripts to use the updated language global identifiers.
Quoted some paths that handn't already been quoted (potential spacing issues).
Updated the exitmode function to deal with FLUXION-started only processes.
Fixed a bug where the "WI not supported" message was displayed when no AP were found.
Added an IO function to handle dynamic, static-text, substitution.
Fixed a bug where custom hash names weren't being normalized on copy.
Fixed a bug where scanner would go back to scan results rather than rescan.
Also removed some stray break statements that were no longer necessary.
Fixed an issue with the updater where I accidentally misspelled version.
Fixed an issue caused by different version of awk (mawk vs gawk).
Fixed an issue caused by an expansion operator in a read statement.
Added bash-HTML interpolation of $APTargetSSID, $APTargetMAC, and $APTargetChannel.
> The script will find and replace these tokens if found in portal pages/files.
Fixed a bug introduced in the last commit, where target AP parameters were erroneously populated.
> This was due to the offset caused by adding the signal field, offsetting everything after it.
Most spaghetti code has be removed or replaced with better alternatives.
Refactored most functionality into directory-based, load-on-demand, addon attack scripts.
Changed the naming scheme of variables throughout for consistency (try to stick to one, guys).
Changed color names (variable identifiers) for better consistency.
Changed language file names to follow the scheme "Language.lang"
Changed function naming scheme to better reflect their behavior, more under [ FLUXION V3 ]
Added more comments in code, attempting to decrease the obfuscation of functionality.
Minimized the usage of globals throughout the script, trying to leave absolute essentials, for safety.
Multiple improvements in general to the visuals, the algorithms, and to methods used.
[ FLUXION V3 ]
* Custom attacks may now be developed and installed independently.
* Custom portals may now be installed independently.
* Globally changed functions' naming scheme to use snake-case, systematically prefixed with:
* > set_: function will set/configure something.
* > unset_: function will undo what set_ did.
* > run_: function will execute a blocking command.
* > halt_: function will abort a running command (possibly via signals [SIGABRT])
* > start_: function will start executing something in the background.
* > stop_: function will stop background execution of something, undoing start_.
[ Custom Attacks ]
* Custom attacks must be bundled in a directory, with the name representing the attack.
* Custom attacks must include a load-script "attack.sh" within the attack directory bundle.
* Custom attacks' attack.sh script must implement the following boot functions:
* > unprep_attack: fluxion will load attack.sh and call unprep_attack to reset attack parameters.
* > prep_attack: fluxion will load attack.sh and call prep_attack to set attack parameters.
* > start_attack: fluxion will load attack.sh and call start_attack to start a stopped/unstarted attack.
* > stop_attack: fluxion will load attack.sh and call stop_attack to stop a started attack.
* Custom attacks may signal fluxion to stop an attack when done, by sending it a SIGABRT signal.
[ Custom Portals ]
* Portal-containing directories must now follow the naming scheme "Some Brand_Language.portal"
* Portal directories, after properly being named, must be stored at "attacks/Captive Portal/sites"
Function return values are significant in the script, where anything other than 0 means go back.
Most spaghetti code has be removed or replaced with better alternatives.
Most files associated with the captive portal attack have been sensibly relocated.
Portal directory names were changed to follow the naming convention "Maker X_Language.portal."
Generic portal language file names were changed to follow the naming convention "Language.lang."
Function return values are significant in the script, where anything other than 0 means go back.
Most spaghetti code has be removed or replaced with better alternatives.
Discarded dead/non-working code to allow for future reimplementation.
Two types of attack are possible, passive, or aggressive using aireplay-ng or mdk3.
A verifier daemon is now responsible for stopping captures and, optionally, deauthentication when a valid hash has been acquired.