added missing and conditional completions
parent
b119540ce7
commit
4519b52aa5
|
|
@ -1,15 +1,64 @@
|
||||||
#!/usr/bin/bash
|
#!/usr/bin/bash
|
||||||
|
|
||||||
if command -v wpscan > /dev/null; then
|
if command -v wpscan > /dev/null; then
|
||||||
__wpscan_completion() {
|
|
||||||
local OPTS=("--help --hh --version --url --ignore-main-redirect --verbose --output --format --detection-mode --scope --headers --user-agent --vhost --random-user-agent --user-agents-list --http-auth --max-threads --throttle --request-timeout --connect-timeout --disable-tlc-checks --proxy --proxy-auth --cookie-string --cookie-jar --cache-ttl --clear-cache --server --cache-dir --update --no-update --wp-content-dir --wp-plugins-dir --wp-version-detection --main-theme-detection --enumerate --exclude-content-based --plugins-list --plugins-detection --plugins-version-all --plugins-version-detection --themes-list --themes-detection --themes-version-all --themes-version-detection --timthumbs-list --timthumbs-detection --config-backups-list --config-backups-detection --db-exports-list --db-exports-detection --medias-detection --users-list --users-detection --passwords --usernames --multicall-max-passwords --password-attack --stealthy")
|
_wpscan() {
|
||||||
COMPREPLY=()
|
|
||||||
for _opt_ in ${OPTS[@]}; do
|
local cur prev
|
||||||
if [[ "$_opt_" == "$2"* ]]; then
|
COMREPLY=()
|
||||||
COMPREPLY+=("$_opt_")
|
cur=$(_get_cword)
|
||||||
|
prev=$(_get_pword)
|
||||||
|
|
||||||
|
local SINGLES=$(compgen -W "-h -v -f -o -t -e -U -P")
|
||||||
|
local DOUBLES=$(compgen -W "--url --help --hh --version --ignore-main-redirect --banner --no-banner --max-scan-duration --format --output --detection-mode --user-agent --ua --http-auth --max-threads --throttle --request-timeout --connect-timeout --disable-tls-checks --proxy --proxy-auth --cookie-string --cookie-jar --force --update --no-update --api-token --wp-content-dir --wp-plugins-dir --enumerate --exclude-content-based --plugins-list --plugins-detection --plugins-version-all --plugins-version-detection --plugins-threshold --themes-list --themes-detection --themes-version-all --themes-version-detection --themes-threshold --timthumbs-list --timthumbs-detection --config-backups-list --config-backups-detection --db-exports-list --db-exports-detection --medias-detection --users-list --users-detection --passwords --usernames --multicall-max-passwords --password-attack --login-uri --stealthy --random-user-agent")
|
||||||
|
local OPTS=(${SINGLES[@]} ${DOUBLES[@]})
|
||||||
|
|
||||||
|
local DETECTION="mixed active passive"
|
||||||
|
case $prev in
|
||||||
|
--format|-f)
|
||||||
|
COMPREPLY=($(compgen -W "cli cli-no-color json" -- "$cur" ))
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
|
||||||
|
--detection-mode|*detection)
|
||||||
|
COMPREPLY=($(compgen -W "$DETECTION" -- "$cur"))
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
|
||||||
|
--enumerate|-e)
|
||||||
|
case $prev in
|
||||||
|
vp|ap|p)
|
||||||
|
COMPREPLY=($(compgen -W "vt at t tt cb dbe u m" -- "$cur"))
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
vt|at|t)
|
||||||
|
COMPREPLY=($(compgen -W "vp ap p tt cb dbe u m" -- "$cur"))
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
COMPREPLY=($(compgen -W "vp ap p vt at t tt cb dbe u m" -- "$cur"))
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
|
||||||
|
--password-attack)
|
||||||
|
COMPREPLY=($(compgen -W "wp-login xmlrpc xmlrpc-multicall" -- "$cur"))
|
||||||
|
;;
|
||||||
|
|
||||||
|
## HANDLE ALL OTHER
|
||||||
|
*)
|
||||||
|
for OPT in ${OPTS[@]}
|
||||||
|
do
|
||||||
|
if [[ "$OPT" == "$2"* ]]
|
||||||
|
then
|
||||||
|
COMPREPLY+=($OPT)
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
;;
|
||||||
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
complete -F __wpscan_completion wpscan
|
complete -F _wpscan wpscan
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue