Renamed fluxion.sh functions to prevent namespace collisions.
Refactored interface initialization algorithms for extensibility.
The AP interface is no longer created and initialized in fluxion.sh.
Languages are now identified using the ISO language standard internally.
Attacks' translations have been relocated to their respective bundle.
Attacks' identifiers are now translatable using the native tag.
The installer has been defined as a utility & is incorporated into fluxion.
The installer is now responsible for checking & installing updates.
The installer is now responsible for checking & installing dependencies.
Package managers can now be defined within fluxion/lib/installer/managers.
Dependencies are now flexible, and will attempt alternative installs.
Rewrote FormatUtils to correct bad performance (sluggish on slow systems).
Changed FormatUtils API to accomodate for new performance enhancements.
Added a new literal to FormatUtils's formats, the double asterisk (**).
FormatUtils will now replace all asterisks, double asterisk (**).
Fixed an issue caused by long ESSIDs and long interface driver descriptors.
Added all missing spacers after a choice operation (missing echo).
Rearranged fluxion_header algorithm to make transitions smoother.
Fixed a bug where captorPID might be missed (not waiting [enough] for it).
The new horizontal utility utilizes the * token for centering.
* Every field with the token %*s will autofill the remaining space.
* Field tokens may be any valid format specifier, plus the asterisk.
* > Example: printf "%*s %.*s %*d" "col1" "col2" "3.0" (notice asterisk)
* > Example: printf "%*b %s" "\e[1;33mThis is red text\e[0m" "this is not"
Use the new utilities to center the startup banner and other messages.
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.
might be lucky and find the password faster than waiting for the victim to be trapped by the evil twin attack.. anyway it wont affect the web interface at all, you can do both at the same time trying to catch the password using the fastest way