Added support for symbolic linking.
This commit is contained in:
parent
e4f074b953
commit
0bf7a399a0
31
fluxion.sh
31
fluxion.sh
|
@ -3,12 +3,11 @@
|
|||
# ============================================================ #
|
||||
# ================== < FLUXION Parameters > ================== #
|
||||
# ============================================================ #
|
||||
# Warning: The FLUXIONPath constant will be incorrectly set when
|
||||
# called directly via a system link. System links in the path to
|
||||
# the script, however, will be loaded correctly.
|
||||
|
||||
# Path to directory containing the FLUXION executable script.
|
||||
readonly FLUXIONPath=$(cd "$(dirname "$0")"; pwd -P)
|
||||
readonly FLUXIONPath=$(dirname $(readlink -f "$0"))
|
||||
|
||||
# Path to directory containing the FLUXION library (scripts).
|
||||
readonly FLUXIONLibPath="$FLUXIONPath/lib"
|
||||
|
||||
# Path to the temp. directory available to FLUXION & subscripts.
|
||||
readonly FLUXIONWorkspacePath="/tmp/fluxspace"
|
||||
|
@ -66,14 +65,14 @@ fi
|
|||
# ============================================================ #
|
||||
# =================== < Library Includes > =================== #
|
||||
# ============================================================ #
|
||||
source lib/installer/InstallerUtils.sh
|
||||
source lib/InterfaceUtils.sh
|
||||
source lib/SandboxUtils.sh
|
||||
source lib/FormatUtils.sh
|
||||
source lib/ColorUtils.sh
|
||||
source lib/IOUtils.sh
|
||||
source lib/HashUtils.sh
|
||||
source lib/Help.sh
|
||||
source "$FLUXIONPath/lib/installer/InstallerUtils.sh"
|
||||
source "$FLUXIONPath/lib/InterfaceUtils.sh"
|
||||
source "$FLUXIONPath/lib/SandboxUtils.sh"
|
||||
source "$FLUXIONPath/lib/FormatUtils.sh"
|
||||
source "$FLUXIONPath/lib/ColorUtils.sh"
|
||||
source "$FLUXIONPath/lib/IOUtils.sh"
|
||||
source "$FLUXIONPath/lib/HashUtils.sh"
|
||||
source "$FLUXIONPath/lib/Help.sh"
|
||||
|
||||
# NOTE: These are configured after arguments are loaded (later).
|
||||
|
||||
|
@ -1691,11 +1690,11 @@ fluxion_set_attack() {
|
|||
fluxion_target_show
|
||||
|
||||
local attacks
|
||||
readarray -t attacks < <(ls -1 attacks)
|
||||
readarray -t attacks < <(ls -1 "$FLUXIONPath/attacks")
|
||||
|
||||
local descriptions
|
||||
readarray -t descriptions < <(
|
||||
head -n 3 attacks/*/language/$FluxionLanguage.sh | \
|
||||
head -n 3 "$FLUXIONPath/attacks/"*"/language/$FluxionLanguage.sh" | \
|
||||
grep -E "^# description: " | sed -E 's/# \w+: //'
|
||||
)
|
||||
|
||||
|
@ -1704,7 +1703,7 @@ fluxion_set_attack() {
|
|||
local attack
|
||||
for attack in "${attacks[@]}"; do
|
||||
local identifier=$(
|
||||
head -n 3 "attacks/$attack/language/$FluxionLanguage.sh" | \
|
||||
head -n 3 "$FLUXIONPath/attacks/$attack/language/$FluxionLanguage.sh" | \
|
||||
grep -E "^# identifier: " | sed -E 's/# \w+: //'
|
||||
)
|
||||
if [ "$identifier" ]; then
|
||||
|
|
|
@ -3,13 +3,17 @@
|
|||
if [ "$IOUtilsVersion" ]; then return 0; fi
|
||||
readonly IOUtilsVersion="1.0"
|
||||
|
||||
if [ ! "$FLUXIONLibPath" ]; then return 1; fi
|
||||
|
||||
IOUtilsHeader="[x] ================================ [x]"
|
||||
IOUtilsQueryMark="[-] "
|
||||
IOUtilsPrompt="[$USER@$HOSTNAME]> "
|
||||
|
||||
if [ ! "$ArrayUtilsVersion" ]; then source lib/ArrayUtils.sh; fi
|
||||
if [ ! "$ArrayUtilsVersion" ]; then
|
||||
source "$FLUXIONLibPath/ArrayUtils.sh"
|
||||
fi
|
||||
|
||||
function io_input_choice() {
|
||||
io_input_choice() {
|
||||
local __io_input_choice__choice
|
||||
until [ ! -z "$__io_input_choice__choice" ]; do
|
||||
echo -ne "$IOUtilsPrompt"
|
||||
|
@ -30,24 +34,24 @@ function io_input_choice() {
|
|||
IOInputChoice=$__io_input_choice__choice
|
||||
}
|
||||
|
||||
function io_dynamic_output() {
|
||||
io_dynamic_output() {
|
||||
eval 'echo -ne "'${@}'"'
|
||||
}
|
||||
|
||||
function io_input_enumerated_choice() {
|
||||
io_input_enumerated_choice() {
|
||||
local __io_input_enumerated_choice__choices=("${!1}")
|
||||
local __io_input_enumerated_choice__indexes=($(seq ${#__io_input_numeric_choice__choices[@]}))
|
||||
io_input_choice __io_input_enumerated_choice__indexes[@]
|
||||
IOInputEnumeratedChoice=${__io_input_enumerated_choice__choices[$IOInputChoice]}
|
||||
}
|
||||
|
||||
# This function outputs formatted lines of fields.
|
||||
# The function takes an output file (like stdout),
|
||||
# This outputs formatted lines of fields.
|
||||
# The takes an output file (like stdout),
|
||||
# a "printf format string," and a variable number
|
||||
# of indirect-expansion passed arrays (reference).
|
||||
# NOTICE: At least the first array must be passed!
|
||||
# Example: /dev/stdout "%s is %s." name[@] mood[@]
|
||||
function io_output_format_fields() {
|
||||
io_output_format_fields() {
|
||||
# Determine the amount of arguments passed.
|
||||
local __io_output_format_fields__argument_count=${#@}
|
||||
|
||||
|
@ -70,7 +74,7 @@ function io_output_format_fields() {
|
|||
done
|
||||
}
|
||||
|
||||
function io_query_format_fields() {
|
||||
io_query_format_fields() {
|
||||
# Assure we've got required parameters.
|
||||
if [ ${#@} -lt 2 ]; then
|
||||
return 1
|
||||
|
@ -111,7 +115,7 @@ function io_query_format_fields() {
|
|||
done
|
||||
}
|
||||
|
||||
function io_query_choice() {
|
||||
io_query_choice() {
|
||||
# Assure we've got required parameters.
|
||||
if [ ${#@} -lt 2 ]; then
|
||||
return 1
|
||||
|
@ -123,7 +127,7 @@ function io_query_choice() {
|
|||
IOQueryChoice="${IOQueryFormatFields[0]}"
|
||||
}
|
||||
|
||||
function io_query_file() {
|
||||
io_query_file() {
|
||||
if [ ${#@} -lt 2 ]; then
|
||||
return 1
|
||||
fi
|
||||
|
|
Loading…
Reference in New Issue