_feroxbuster() { local i cur prev opts cmd COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" prev="${COMP_WORDS[COMP_CWORD-1]}" cmd="" opts="" for i in ${COMP_WORDS[@]} do case "${cmd},${i}" in ",$1") cmd="feroxbuster" ;; *) ;; esac done case "${cmd}" in feroxbuster) opts="-u -p -P -R -a -A -x -m -H -b -Q -f -S -X -W -N -C -s -T -r -k -t -n -d -e -L -w -D -E -B -g -I -v -q -o -U -h -V --url --stdin --resume-from --request-file --burp --burp-replay --smart --thorough --proxy --replay-proxy --replay-codes --user-agent --random-agent --extensions --methods --data --headers --cookies --query --add-slash --protocol --dont-scan --filter-size --filter-regex --filter-words --filter-lines --filter-status --filter-similar-to --status-codes --timeout --redirects --insecure --server-certs --client-cert --client-key --threads --no-recursion --depth --force-recursion --extract-links --dont-extract-links --scan-limit --parallel --rate-limit --time-limit --wordlist --auto-tune --auto-bail --dont-filter --collect-extensions --collect-backups --collect-words --dont-collect --scan-dir-listings --verbosity --silent --quiet --json --output --debug-log --no-state --limit-bars --update --help --version" if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 fi case "${prev}" in --url) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -u) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --resume-from) local oldifs if [ -n "${IFS+x}" ]; then oldifs="$IFS" fi IFS=$'\n' COMPREPLY=($(compgen -f "${cur}")) if [ -n "${oldifs+x}" ]; then IFS="$oldifs" fi if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then compopt -o filenames fi return 0 ;; --request-file) local oldifs if [ -n "${IFS+x}" ]; then oldifs="$IFS" fi IFS=$'\n' COMPREPLY=($(compgen -f "${cur}")) if [ -n "${oldifs+x}" ]; then IFS="$oldifs" fi if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then compopt -o filenames fi return 0 ;; --proxy) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -p) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --replay-proxy) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -P) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --replay-codes) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -R) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --user-agent) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -a) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --extensions) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -x) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --methods) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -m) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --data) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --headers) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -H) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --cookies) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -b) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --query) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -Q) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --protocol) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --dont-scan) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --filter-size) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -S) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --filter-regex) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -X) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --filter-words) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -W) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --filter-lines) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -N) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --filter-status) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -C) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --filter-similar-to) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --status-codes) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -s) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --timeout) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -T) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --server-certs) local oldifs if [ -n "${IFS+x}" ]; then oldifs="$IFS" fi IFS=$'\n' COMPREPLY=($(compgen -f "${cur}")) if [ -n "${oldifs+x}" ]; then IFS="$oldifs" fi if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then compopt -o filenames fi return 0 ;; --client-cert) local oldifs if [ -n "${IFS+x}" ]; then oldifs="$IFS" fi IFS=$'\n' COMPREPLY=($(compgen -f "${cur}")) if [ -n "${oldifs+x}" ]; then IFS="$oldifs" fi if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then compopt -o filenames fi return 0 ;; --client-key) local oldifs if [ -n "${IFS+x}" ]; then oldifs="$IFS" fi IFS=$'\n' COMPREPLY=($(compgen -f "${cur}")) if [ -n "${oldifs+x}" ]; then IFS="$oldifs" fi if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then compopt -o filenames fi return 0 ;; --threads) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -t) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --depth) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -d) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --scan-limit) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -L) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --parallel) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --rate-limit) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --time-limit) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --wordlist) local oldifs if [ -n "${IFS+x}" ]; then oldifs="$IFS" fi IFS=$'\n' COMPREPLY=($(compgen -f "${cur}")) if [ -n "${oldifs+x}" ]; then IFS="$oldifs" fi if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then compopt -o filenames fi return 0 ;; -w) local oldifs if [ -n "${IFS+x}" ]; then oldifs="$IFS" fi IFS=$'\n' COMPREPLY=($(compgen -f "${cur}")) if [ -n "${oldifs+x}" ]; then IFS="$oldifs" fi if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then compopt -o filenames fi return 0 ;; --collect-backups) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -B) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --dont-collect) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -I) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --output) local oldifs if [ -n "${IFS+x}" ]; then oldifs="$IFS" fi IFS=$'\n' COMPREPLY=($(compgen -f "${cur}")) if [ -n "${oldifs+x}" ]; then IFS="$oldifs" fi if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then compopt -o filenames fi return 0 ;; -o) local oldifs if [ -n "${IFS+x}" ]; then oldifs="$IFS" fi IFS=$'\n' COMPREPLY=($(compgen -f "${cur}")) if [ -n "${oldifs+x}" ]; then IFS="$oldifs" fi if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then compopt -o filenames fi return 0 ;; --debug-log) local oldifs if [ -n "${IFS+x}" ]; then oldifs="$IFS" fi IFS=$'\n' COMPREPLY=($(compgen -f "${cur}")) if [ -n "${oldifs+x}" ]; then IFS="$oldifs" fi if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then compopt -o filenames fi return 0 ;; --limit-bars) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; *) COMPREPLY=() ;; esac COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 ;; esac } if [[ "${BASH_VERSINFO[0]}" -eq 4 && "${BASH_VERSINFO[1]}" -ge 4 || "${BASH_VERSINFO[0]}" -gt 4 ]]; then complete -F _feroxbuster -o nosort -o bashdefault -o default -o plusdirs feroxbuster else complete -F _feroxbuster -o bashdefault -o default -o plusdirs feroxbuster fi