Mister Spy Say ="Hello Kids ... :D"
___ ____ _ _____
| \/ (_) | | / ___|
| . . |_ ___| |_ ___ _ __ \ `--. _ __ _ _
| |\/| | / __| __/ _ \ '__| `--. \ '_ \| | | |
| | | | \__ \ || __/ | /\__/ / |_) | |_| |
\_| |_/_|___/\__\___|_| \____/| .__/ \__, |
| | __/ |
|_| |___/
Bot Mister Spy V3
Mister Spy
Mister Spy
_fwupdtool_cmd_list=(
'activate'
'build-cabinet'
'clear-history'
'disable-remote'
'disable-test-devices'
'efivar-list'
'enable-remote'
'enable-test-devices'
'esp-list'
'esp-mount'
'esp-unmount'
'firmware-build'
'firmware-convert'
'firmware-export'
'firmware-extract'
'firmware-parse'
'firmware-sign'
'firmware-patch'
'get-bios-setting'
'get-updates'
'get-upgrades'
'get-details'
'get-firmware-types'
'get-firmware-gtypes'
'get-device-flags'
'get-devices'
'get-history'
'get-plugins'
'get-remotes'
'get-report-metadata'
'get-topology'
'hwids'
'update'
'upgrade'
'install'
'install-blob'
'modify-config'
'modify-remote'
'monitor'
'reinstall'
'security'
'security-fix'
'security-undo'
'set-bios-setting'
'switch-branch'
'self-sign'
'smbios-dump'
'attach'
'detach'
'firmware-dump'
'firmware-read'
'refresh'
'verify-update'
'watch'
'unbind-driver'
'bind-driver'
'export-hwids'
'reboot-cleanup'
)
_fwupdtool_opts=(
'--verbose'
'--allow-reinstall'
'--allow-older'
'--filter'
'--filter-release'
'--force'
'--json'
'--show-all'
'--plugins'
'--prepare'
'--cleanup'
'--filter'
'--method'
'--disable-ssl-strict'
'--no-safety-check'
'--no-search'
'--ignore-checksum'
'--ignore-vid-pid'
'--save-backends'
)
modify_config_opts=(
'ArchiveSizeMax'
'AllowEmulation'
'ApprovedFirmware'
'BlockedFirmware'
'DisabledDevices'
'DisabledPlugins'
'EspLocation'
'EnumerateAllDevices'
'HostBkc'
'IdleTimeout'
'IgnorePower'
'OnlyTrusted'
'P2pPolicy'
'ReleaseDedupe'
'ReleasePriority'
'ShowDevicePrivate'
'TestDevices'
'TrustedReports'
'TrustedUids'
'UpdateMotd'
'UriSchemes'
'VerboseDomains'
)
_show_modify_config()
{
COMPREPLY+=( $(compgen -W '${modify_config_opts[@]}' -- "$cur") )
}
_show_remotes()
{
local remotes
remotes="$(command fwupdtool get-remotes | command awk '/Remote ID/ { print $4 }')"
COMPREPLY+=( $(compgen -W "${remotes}" -- "$cur") )
}
_show_filters()
{
local flags
flags="$(command fwupdtool get-device-flags 2>/dev/null)"
COMPREPLY+=( $(compgen -W "${flags}" -- "$cur") )
}
_show_firmware_types()
{
local firmware_types
firmware_types="$(command fwupdtool get-firmware-types 2>/dev/null)"
COMPREPLY+=( $(compgen -W "${firmware_types}" -- "$cur") )
}
_show_device_ids()
{
if ! command -v jq &> /dev/null; then
return 0
fi
local description
description="$(command jq '.Devices | .[] | .DeviceId' /var/cache/fwupd/devices.json 2>/dev/null)"
COMPREPLY+=( $(compgen -W "${description}" -- "$cur") )
}
_show_plugins()
{
if ! command -v jq &> /dev/null; then
return 0
fi
local plugins
plugins="$(command fwupdtool get-plugins --json 2>/dev/null | jq '.Plugins | .[] | .Name')"
COMPREPLY+=( $(compgen -W "${plugins}" -- "$cur") )
}
_show_modifiers()
{
COMPREPLY+=( $(compgen -W '${_fwupdtool_opts[@]}' -- "$cur") )
}
_fwupdtool()
{
local cur prev command arg args
COMPREPLY=()
_get_comp_words_by_ref cur prev
_get_first_arg
_count_args
case $prev in
--plugins)
_show_plugins
return 0
;;
--filter)
_show_filters
return 0
;;
esac
case $arg in
get-details|install|install-blob|firmware-dump|firmware-read)
#find files
if [[ "$args" = "2" ]]; then
_filedir
#device ID
elif [[ "$args" = "3" ]]; then
_show_device_ids
fi
;;
attach|detach|activate|verify-update|reinstall|get-updates)
#device ID
if [[ "$args" = "2" ]]; then
_show_device_ids
fi
;;
firmware-parse|firmware-patch)
#find files
if [[ "$args" = "2" ]]; then
_filedir
#firmware_type
elif [[ "$args" = "3" ]]; then
_show_firmware_types
fi
;;
firmware-convert)
#file in
if [[ "$args" = "2" ]]; then
_filedir
#file out
elif [[ "$args" = "3" ]]; then
_filedir
#firmware_type in
elif [[ "$args" = "4" ]]; then
_show_firmware_types
#firmware_type out
elif [[ "$args" = "5" ]]; then
_show_firmware_types
fi
;;
modify-remote)
#find remotes
if [[ "$args" = "2" ]]; then
_show_remotes
#add key
elif [[ "$args" = "3" ]]; then
local keys
keys="$(command fwupdtool get-remotes | command awk -v pattern="Remote ID:.*${prev}$" '$0~pattern{show=1; next}/Remote/{show=0}{gsub(/:.*/,"")}show')"
COMPREPLY+=( $(compgen -W "${keys}" -- "$cur") )
fi
;;
enable-remote)
#find remotes
if [[ "$args" = "2" ]]; then
_show_remotes
fi
;;
disable-remote)
#find remotes
if [[ "$args" = "2" ]]; then
_show_remotes
fi
;;
modify-config)
if [[ "$args" = "2" ]]; then
_show_modify_config
return 0
elif [[ "$args" = "3" ]]; then
case $prev in
AllowEmulation|EnumerateAllDevices|OnlyTrusted|IgnorePower|UpdateMotd|ShowDevicePrivate|ReleaseDedupe|TestDevices)
COMPREPLY=( $(compgen -W "True False" -- "$cur") )
;;
ReleasePriority)
COMPREPLY=( $(compgen -W "local remote" -- "$cur") )
;;
UriSchemes)
COMPREPLY=( $(compgen -W "file https http ipfs file;https;http;ipfs file;https;http https;http" -- "$cur") )
;;
P2pPolicy)
COMPREPLY=( $(compgen -W "none metadata firmware metadata,firmware" -- "$cur") )
;;
IdleTimeout|ArchiveSizeMax|HostBkc|TrustedUids)
;;
ApprovedFirmware|BlockedFirmware)
;;
DisabledDevices)
_show_device_ids
;;
DisabledPlugins)
_show_plugins
;;
EspLocation)
;;
TrustedReports)
;;
VerboseDomains)
;;
esac
return 0;
fi
;;
*)
#find first command
if [[ "$args" = "1" ]]; then
COMPREPLY=( $(compgen -W '${_fwupdtool_cmd_list[@]}' -- "$cur") )
fi
;;
esac
#modifiers
_show_modifiers
return 0
}
complete -F _fwupdtool fwupdtool
Mr. DellatioNx196 GaLers xh3LL Backd00r 1.0, Coded By Mr. DellatioNx196 - Bogor BlackHat