Added tracker selection to fluxion, querying an interface for tracking.
Fixed a bug where auto-mode was activating on manual mode (no flags).
Added skip option to the generic interface selection function.
Reidentified some targetting subroutines following the convention.
Corrected an outdated language global.
Added the general skip option.
Rewrote sections of the script to follow the coding style guide closer.
Implemented and adapted attack requirements for Fluxion v4.
Implemented the script loop using the sequencing framework.
Updated usage of old services to new, including global identifiers.
Implemented and added command line interface flag control.
Some refactoring & removing outdated code.
Added identifier mangling to sequencing framework to prevent collisions.
Added the redo to interfaces by taking a lambda rather than an array ref.
Started correcting some issues with formatting to follow the style guide.
Reidentified some subroutines, variables, & constants.
Fixed some bugs with the currently implemented subroutines.
Added some test subroutines.
This version will focus on providing robust services for the attack scripts.
Development and migration will happen in the new "fluxion" script file.
The following are currently being implemented, or have been implemented:
* Core fluxion globals, including paths and workspace.
* Core sanity checks, including xterm and super user checks.
* Core library includes & library scripts' configuration.
* Command line interface parameter parsing & loading.
* User preferences importing, loading, & handling.
* Configurables (prefererences & CLI flags) are properly handled.
* Fluxion startup and shutdown behaviour refactored.
* Handler subroutines are loaded & configured properly.
* A small sequencing framework, to refactor some run-loops.
* A small universal interface-allocation & retrival framework.
* A couple of fluxion used helper subroutines.
* A candidate fluxion run-loop.
Fixed a bug caused by not resetting the package manager after finishing.
The bug occured only when the installer was interrupted.
Removed obsolete code from fluxion's exit procedure.
Added better message feedback to the apt manager.
Updated languages' dialog for new package manager reset notice.
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.
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.