ronin 2.0.4 → 2.1.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (169) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +3 -3
  3. data/.gitignore +1 -0
  4. data/.rubocop.yml +5 -1
  5. data/ChangeLog.md +67 -1
  6. data/Gemfile +66 -29
  7. data/README.md +166 -21
  8. data/Rakefile +9 -0
  9. data/data/completions/ronin +655 -0
  10. data/data/templates/dns_proxy.rb.erb +35 -0
  11. data/gemspec.yml +27 -13
  12. data/lib/ronin/cli/binary_template.rb +124 -0
  13. data/lib/ronin/cli/commands/archive.rb +104 -0
  14. data/lib/ronin/cli/commands/banner_grab.rb +2 -0
  15. data/lib/ronin/cli/commands/bitflip.rb +1 -1
  16. data/lib/ronin/cli/commands/bitsquat.rb +119 -0
  17. data/lib/ronin/cli/commands/cert_dump.rb +20 -4
  18. data/lib/ronin/cli/commands/cert_gen.rb +11 -19
  19. data/lib/ronin/cli/commands/cert_grab.rb +4 -3
  20. data/lib/ronin/cli/commands/completion.rb +115 -0
  21. data/lib/ronin/cli/commands/dns_proxy.rb +235 -0
  22. data/lib/ronin/cli/commands/http.rb +80 -8
  23. data/lib/ronin/cli/commands/ip.rb +101 -0
  24. data/lib/ronin/cli/commands/iprange.rb +25 -8
  25. data/lib/ronin/cli/commands/netcat.rb +2 -0
  26. data/lib/ronin/cli/commands/new/dns_listener.rb +37 -0
  27. data/lib/ronin/cli/commands/new/dns_proxy.rb +99 -0
  28. data/lib/ronin/cli/commands/new/exploit.rb +34 -0
  29. data/lib/ronin/cli/commands/new/http_listener.rb +37 -0
  30. data/lib/ronin/cli/commands/new/nokogiri.rb +33 -0
  31. data/lib/ronin/cli/commands/new/payload.rb +34 -0
  32. data/lib/ronin/cli/commands/new/project.rb +1 -1
  33. data/lib/ronin/cli/commands/new/script.rb +1 -1
  34. data/lib/ronin/cli/commands/new/web_app.rb +37 -0
  35. data/lib/ronin/cli/commands/new/web_server.rb +37 -0
  36. data/lib/ronin/cli/commands/new/web_spider.rb +37 -0
  37. data/lib/ronin/cli/commands/new.rb +3 -1
  38. data/lib/ronin/cli/commands/pack.rb +339 -0
  39. data/lib/ronin/cli/commands/public_suffix_list.rb +2 -0
  40. data/lib/ronin/cli/commands/tld_list.rb +2 -0
  41. data/lib/ronin/cli/commands/unarchive.rb +128 -0
  42. data/lib/ronin/cli/commands/unhexdump.rb +3 -1
  43. data/lib/ronin/cli/commands/unpack.rb +195 -0
  44. data/lib/ronin/cli/commands/url.rb +2 -0
  45. data/lib/ronin/cli/http_shell.rb +25 -0
  46. data/lib/ronin/cli.rb +10 -0
  47. data/lib/ronin/version.rb +1 -1
  48. data/man/ronin-archive.1.md +49 -0
  49. data/man/ronin-asn.1 +60 -77
  50. data/man/ronin-asn.1.md +25 -21
  51. data/man/ronin-banner-grab.1 +10 -21
  52. data/man/ronin-banner-grab.1.md +9 -5
  53. data/man/ronin-bitflip.1 +35 -61
  54. data/man/ronin-bitflip.1.md +30 -26
  55. data/man/ronin-bitsquat.1 +40 -0
  56. data/man/ronin-bitsquat.1.md +43 -0
  57. data/man/ronin-cert-dump.1 +44 -54
  58. data/man/ronin-cert-dump.1.md +18 -14
  59. data/man/ronin-cert-gen.1 +73 -94
  60. data/man/ronin-cert-gen.1.md +38 -34
  61. data/man/ronin-cert-grab.1 +29 -37
  62. data/man/ronin-cert-grab.1.md +12 -8
  63. data/man/ronin-completion.1 +78 -0
  64. data/man/ronin-completion.1.md +80 -0
  65. data/man/ronin-decode.1 +32 -63
  66. data/man/ronin-decode.1.md +29 -25
  67. data/man/ronin-decrypt.1 +42 -57
  68. data/man/ronin-decrypt.1.md +20 -16
  69. data/man/ronin-dns-proxy.1 +100 -0
  70. data/man/ronin-dns-proxy.1.md +70 -0
  71. data/man/ronin-dns.1 +10 -21
  72. data/man/ronin-dns.1.md +9 -5
  73. data/man/ronin-email-addr.1 +27 -40
  74. data/man/ronin-email-addr.1.md +15 -11
  75. data/man/ronin-encode.1 +93 -63
  76. data/man/ronin-encode.1.md +64 -26
  77. data/man/ronin-encrypt.1 +42 -57
  78. data/man/ronin-encrypt.1.md +20 -16
  79. data/man/ronin-entropy.1 +11 -21
  80. data/man/ronin-entropy.1.md +8 -4
  81. data/man/ronin-escape.1 +22 -46
  82. data/man/ronin-escape.1.md +22 -18
  83. data/man/ronin-extract.1 +74 -149
  84. data/man/ronin-extract.1.md +73 -69
  85. data/man/ronin-grep.1 +77 -155
  86. data/man/ronin-grep.1.md +76 -72
  87. data/man/ronin-help.1 +3 -14
  88. data/man/ronin-help.1.md +2 -2
  89. data/man/ronin-hexdump.1 +249 -265
  90. data/man/ronin-hexdump.1.md +93 -89
  91. data/man/ronin-highlight.1 +8 -18
  92. data/man/ronin-highlight.1.md +8 -4
  93. data/man/ronin-hmac.1 +17 -30
  94. data/man/ronin-hmac.1.md +14 -10
  95. data/man/ronin-homoglyph.1 +11 -22
  96. data/man/ronin-homoglyph.1.md +10 -6
  97. data/man/ronin-host.1 +23 -47
  98. data/man/ronin-host.1.md +22 -18
  99. data/man/ronin-http.1 +40 -69
  100. data/man/ronin-http.1.md +40 -30
  101. data/man/ronin-ip.1 +70 -80
  102. data/man/ronin-ip.1.md +44 -28
  103. data/man/ronin-iprange.1 +14 -22
  104. data/man/ronin-iprange.1.md +12 -5
  105. data/man/ronin-irb.1 +9 -17
  106. data/man/ronin-irb.1.md +7 -3
  107. data/man/ronin-md5.1 +13 -24
  108. data/man/ronin-md5.1.md +11 -7
  109. data/man/ronin-netcat.1 +25 -51
  110. data/man/ronin-netcat.1.md +25 -21
  111. data/man/ronin-new-dns-proxy.1 +45 -0
  112. data/man/ronin-new-dns-proxy.1.md +44 -0
  113. data/man/ronin-new-project.1 +32 -45
  114. data/man/ronin-new-project.1.md +11 -11
  115. data/man/ronin-new-script.1 +10 -22
  116. data/man/ronin-new-script.1.md +4 -4
  117. data/man/ronin-new.1 +56 -31
  118. data/man/ronin-new.1.md +48 -8
  119. data/man/ronin-pack.1 +977 -0
  120. data/man/ronin-pack.1.md +929 -0
  121. data/man/ronin-proxy.1 +37 -63
  122. data/man/ronin-proxy.1.md +29 -25
  123. data/man/ronin-public-suffix-list.1 +16 -32
  124. data/man/ronin-public-suffix-list.1.md +13 -9
  125. data/man/ronin-quote.1 +17 -36
  126. data/man/ronin-quote.1.md +17 -13
  127. data/man/ronin-rot.1 +26 -39
  128. data/man/ronin-rot.1.md +15 -11
  129. data/man/ronin-sha1.1 +13 -24
  130. data/man/ronin-sha1.1.md +11 -7
  131. data/man/ronin-sha256.1 +13 -24
  132. data/man/ronin-sha256.1.md +11 -7
  133. data/man/ronin-sha512.1 +13 -24
  134. data/man/ronin-sha512.1.md +11 -7
  135. data/man/ronin-strings.1 +30 -55
  136. data/man/ronin-strings.1.md +27 -23
  137. data/man/ronin-tips.1 +8 -16
  138. data/man/ronin-tips.1.md +7 -3
  139. data/man/ronin-tld-list.1 +16 -32
  140. data/man/ronin-tld-list.1.md +13 -9
  141. data/man/ronin-typo.1 +14 -28
  142. data/man/ronin-typo.1.md +13 -9
  143. data/man/ronin-typosquat.1 +15 -32
  144. data/man/ronin-typosquat.1.md +15 -11
  145. data/man/ronin-unarchive.1.md +41 -0
  146. data/man/ronin-unescape.1 +22 -46
  147. data/man/ronin-unescape.1.md +22 -18
  148. data/man/ronin-unhexdump.1 +81 -91
  149. data/man/ronin-unhexdump.1.md +16 -12
  150. data/man/ronin-unpack.1 +978 -0
  151. data/man/ronin-unpack.1.md +920 -0
  152. data/man/ronin-unquote.1 +17 -36
  153. data/man/ronin-unquote.1.md +17 -13
  154. data/man/ronin-url.1 +19 -40
  155. data/man/ronin-url.1.md +19 -15
  156. data/man/ronin-xor.1 +14 -28
  157. data/man/ronin-xor.1.md +13 -9
  158. data/man/ronin.1 +208 -29
  159. data/man/ronin.1.md +156 -11
  160. data/scripts/setup +58 -0
  161. metadata +162 -73
  162. data/lib/ronin/config.rb +0 -95
  163. /data/data/{new → templates}/project/.gitignore +0 -0
  164. /data/data/{new → templates}/project/.ruby-version.erb +0 -0
  165. /data/data/{new → templates}/project/Dockerfile.erb +0 -0
  166. /data/data/{new → templates}/project/Gemfile.erb +0 -0
  167. /data/data/{new → templates}/project/Rakefile +0 -0
  168. /data/data/{new → templates}/project/project.rb.erb +0 -0
  169. /data/data/{new → templates}/script.rb.erb +0 -0
@@ -0,0 +1,655 @@
1
+ # ronin completion -*- shell-script -*-
2
+
3
+ # This bash completions script was generated by
4
+ # completely (https://github.com/dannyben/completely)
5
+ # Modifying it manually is not recommended
6
+
7
+ _ronin_completions_filter() {
8
+ local words="$1"
9
+ local cur=${COMP_WORDS[COMP_CWORD]}
10
+ local result=()
11
+
12
+ if [[ "${cur:0:1}" == "-" ]]; then
13
+ echo "$words"
14
+
15
+ else
16
+ for word in $words; do
17
+ [[ "${word:0:1}" != "-" ]] && result+=("$word")
18
+ done
19
+
20
+ echo "${result[*]}"
21
+
22
+ fi
23
+ }
24
+
25
+ _ronin_completions() {
26
+ local cur=${COMP_WORDS[COMP_CWORD]}
27
+ local compwords=("${COMP_WORDS[@]:1:$COMP_CWORD-1}")
28
+ local compline="${compwords[*]}"
29
+
30
+ case "$compline" in
31
+ 'new http-listener'*'--vhost')
32
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A hostname -- "$cur" )
33
+ ;;
34
+
35
+ 'public-suffix-list'*'--path')
36
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
37
+ ;;
38
+
39
+ 'new http-listener'*'--root')
40
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A directory -- "$cur" )
41
+ ;;
42
+
43
+ 'host'*'--enum-subdomains')
44
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
45
+ ;;
46
+
47
+ 'public-suffix-list'*'-p')
48
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
49
+ ;;
50
+
51
+ 'new http-listener'*'-R')
52
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A directory -- "$cur" )
53
+ ;;
54
+
55
+ 'cert-gen'*'--key-file')
56
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
57
+ ;;
58
+
59
+ 'banner-grab'*'--file')
60
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
61
+ ;;
62
+
63
+ 'cert-gen'*'--ca-cert')
64
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
65
+ ;;
66
+
67
+ 'decrypt'*'--key-file')
68
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
69
+ ;;
70
+
71
+ 'encrypt'*'--key-file')
72
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
73
+ ;;
74
+
75
+ 'public-suffix-list'*)
76
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--verbose -v --update -u --url -U --path -p")" -- "$cur" )
77
+ ;;
78
+
79
+ 'unhexdump'*'--output')
80
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
81
+ ;;
82
+
83
+ 'cert-gen'*'--ca-key')
84
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
85
+ ;;
86
+
87
+ 'cert-gen'*'--output')
88
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
89
+ ;;
90
+
91
+ 'email-addr'*'--file')
92
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
93
+ ;;
94
+
95
+ 'netcat'*'--ssl-cert')
96
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
97
+ ;;
98
+
99
+ 'new http-listener'*)
100
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--host -H --port -p --vhost --root -R")" -- "$cur" )
101
+ ;;
102
+
103
+ 'cert-dump'*'--file')
104
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
105
+ ;;
106
+
107
+ 'cert-grab'*'--file')
108
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
109
+ ;;
110
+
111
+ 'homoglyph'*'--file')
112
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
113
+ ;;
114
+
115
+ 'http'*'--body-file')
116
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
117
+ ;;
118
+
119
+ 'netcat'*'--ssl-key')
120
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
121
+ ;;
122
+
123
+ 'new dns-listener'*)
124
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--host -H --port -p --domain -d")" -- "$cur" )
125
+ ;;
126
+
127
+ 'typosquat'*'--file')
128
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
129
+ ;;
130
+
131
+ 'bitsquat'*'--file')
132
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
133
+ ;;
134
+
135
+ 'hmac'*'--key-file')
136
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
137
+ ;;
138
+
139
+ 'netcat'*'--source')
140
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A hostname -- "$cur" )
141
+ ;;
142
+
143
+ 'tld-list'*'--path')
144
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
145
+ ;;
146
+
147
+ 'unescape'*'--file')
148
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
149
+ ;;
150
+
151
+ 'banner-grab'*'-f')
152
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
153
+ ;;
154
+
155
+ 'bitflip'*'--file')
156
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
157
+ ;;
158
+
159
+ 'iprange'*'--file')
160
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
161
+ ;;
162
+
163
+ 'new web-server'*)
164
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -W "$(_ronin_completions_filter "--host -H --port -p")" -- "$cur" )
165
+ ;;
166
+
167
+ 'new web-spider'*)
168
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -W "$(_ronin_completions_filter "--host --domain --site --every-link --every-url --every-failed-url --every-url-like --all-headers --every-page --every-ok-page --every-redirect-page --every-timedout-page --every-bad-request-page --every-unauthorized-page --every-forbidden-page --every-missing-page --every-internal-server-error-page --every-txt-page --every-html-page --every-xml-page --every-xsl-page --every-javascript-page --every-css-page --every-rss-page --every-atom-page --every-ms-word-page --every-pdf-page --every-zip-page --every-doc --every-html-doc --every-xml-doc --every-xsl-doc --every-rss-doc --every-atom-doc")" -- "$cur" )
169
+ ;;
170
+
171
+ 'unquote'*'--file')
172
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
173
+ ;;
174
+
175
+ 'xor'*'--key-file')
176
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
177
+ ;;
178
+
179
+ 'decode'*'--file')
180
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
181
+ ;;
182
+
183
+ 'email-addr'*'-f')
184
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
185
+ ;;
186
+
187
+ 'encode'*'--file')
188
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
189
+ ;;
190
+
191
+ 'escape'*'--file')
192
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
193
+ ;;
194
+
195
+ 'irb'*'--include')
196
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A directory -- "$cur" )
197
+ ;;
198
+
199
+ 'new dns-proxy'*)
200
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--host -H --port -p")" -- "$cur" )
201
+ ;;
202
+
203
+ 'sha256'*'--file')
204
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
205
+ ;;
206
+
207
+ 'sha512'*'--file')
208
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
209
+ ;;
210
+
211
+ 'unpack'*'--file')
212
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
213
+ ;;
214
+
215
+ 'cert-dump'*'-f')
216
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
217
+ ;;
218
+
219
+ 'cert-grab'*'-f')
220
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
221
+ ;;
222
+
223
+ 'homoglyph'*'-f')
224
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
225
+ ;;
226
+
227
+ 'new nokogiri'*)
228
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -W "$(_ronin_completions_filter "--url -U")" -- "$cur" )
229
+ ;;
230
+
231
+ 'quote'*'--file')
232
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
233
+ ;;
234
+
235
+ 'typosquat'*'-f')
236
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
237
+ ;;
238
+
239
+ 'unhexdump'*'-o')
240
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
241
+ ;;
242
+
243
+ 'banner-grab'*)
244
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--file -f --with-host-port")" -- "$cur" )
245
+ ;;
246
+
247
+ 'bitsquat'*'-f')
248
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
249
+ ;;
250
+
251
+ 'cert-gen'*'-k')
252
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
253
+ ;;
254
+
255
+ 'cert-gen'*'-o')
256
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
257
+ ;;
258
+
259
+ 'hmac'*'--file')
260
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
261
+ ;;
262
+
263
+ 'host'*'--file')
264
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
265
+ ;;
266
+
267
+ 'http'*'--file')
268
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
269
+ ;;
270
+
271
+ 'new exploit'*)
272
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -W "$(_ronin_completions_filter "--type -t --author -a --author-email -e --summary -S --description -D --advisory-id -I --reference -R --has-payload -P --networking -N --arch -A --os -O --os-version --software -S --software-version -V --loot -L")" -- "$cur" )
273
+ ;;
274
+
275
+ 'new payload'*)
276
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--type -t --author -a --author-email -e --summary -S --description -D --reference -R")" -- "$cur" )
277
+ ;;
278
+
279
+ 'new project'*)
280
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--git --ruby-version --rakefile --dockerfile -D")" -- "$cur" )
281
+ ;;
282
+
283
+ 'new web-app'*)
284
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A directory -W "$(_ronin_completions_filter "--port --ruby-version --git --dockerfile -D")" -- "$cur" )
285
+ ;;
286
+
287
+ 'sha1'*'--file')
288
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
289
+ ;;
290
+
291
+ 'tld-list'*'-p')
292
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
293
+ ;;
294
+
295
+ 'typo'*'--file')
296
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
297
+ ;;
298
+
299
+ 'unescape'*'-f')
300
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
301
+ ;;
302
+
303
+ 'asn'*'--file')
304
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
305
+ ;;
306
+
307
+ 'bitflip'*'-f')
308
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
309
+ ;;
310
+
311
+ 'completion'*)
312
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--print --install --uninstall")" -- "$cur" )
313
+ ;;
314
+
315
+ 'decrypt'*'-K')
316
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
317
+ ;;
318
+
319
+ 'dns'*'--file')
320
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
321
+ ;;
322
+
323
+ 'email-addr'*)
324
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--file -f --obfuscate -O --enum-obfuscations --deobfuscate -D --name -n --mailbox -m --domain -d --normalize -N")" -- "$cur" )
325
+ ;;
326
+
327
+ 'encrypt'*'-K')
328
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
329
+ ;;
330
+
331
+ 'iprange'*'-f')
332
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
333
+ ;;
334
+
335
+ 'md5'*'--file')
336
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
337
+ ;;
338
+
339
+ 'rot'*'--file')
340
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
341
+ ;;
342
+
343
+ 'unquote'*'-f')
344
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
345
+ ;;
346
+
347
+ 'url'*'--file')
348
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
349
+ ;;
350
+
351
+ 'xor'*'--file')
352
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
353
+ ;;
354
+
355
+ 'cert-dump'*)
356
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--file -f --common-name -C --subject-alt-names -A --extensions -E")" -- "$cur" )
357
+ ;;
358
+
359
+ 'cert-grab'*)
360
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--file -f")" -- "$cur" )
361
+ ;;
362
+
363
+ 'decode'*'-f')
364
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
365
+ ;;
366
+
367
+ 'dns_proxy'*)
368
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--nameserver -n --rule -r")" -- "$cur" )
369
+ ;;
370
+
371
+ 'encode'*'-f')
372
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
373
+ ;;
374
+
375
+ 'escape'*'-f')
376
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
377
+ ;;
378
+
379
+ 'highlight'*)
380
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--syntax -s --less -L")" -- "$cur" )
381
+ ;;
382
+
383
+ 'homoglyph'*)
384
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--file -f --char-set -C --enum -E")" -- "$cur" )
385
+ ;;
386
+
387
+ 'ip'*'--file')
388
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
389
+ ;;
390
+
391
+ 'netcat'*'-s')
392
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A hostname -- "$cur" )
393
+ ;;
394
+
395
+ 'sha256'*'-f')
396
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
397
+ ;;
398
+
399
+ 'sha512'*'-f')
400
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
401
+ ;;
402
+
403
+ 'typosquat'*)
404
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--file -f --omit-chars --repeat-chars --swap-chars --change-suffix --has-addresses --registered --unregistered")" -- "$cur" )
405
+ ;;
406
+
407
+ 'unarchive'*)
408
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--format -f")" -- "$cur" )
409
+ ;;
410
+
411
+ 'unhexdump'*)
412
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--output -o --format -f --type -t --base -b --address-base -A --[no-]named-chars")" -- "$cur" )
413
+ ;;
414
+
415
+ 'unpack'*'-f')
416
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
417
+ ;;
418
+
419
+ 'bitsquat'*)
420
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--file -f --has-addresses --registered --unregistered")" -- "$cur" )
421
+ ;;
422
+
423
+ 'cert-gen'*)
424
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--version --serial --not-before --not-after --common-name -c --subject-alt-name -A --organization -O --organizational-unit -U --locality -L --state -S --country -C --key-type -t --generate-key --key-file -k --signing-hash -H --ca-key --ca-cert --ca --output -o")" -- "$cur" )
425
+ ;;
426
+
427
+ 'quote'*'-f')
428
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
429
+ ;;
430
+
431
+ 'tld-list'*)
432
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--verbose -v --update -u --url -U --path -p")" -- "$cur" )
433
+ ;;
434
+
435
+ 'unescape'*)
436
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--file -f --string --multiline -M --keep-newlines -n --c -c --hex -X --html -H --uri -u --http --js -j --shell -S --powershell -P --quoted-printable -Q --ruby -R --xml -x")" -- "$cur" )
437
+ ;;
438
+
439
+ 'archive'*)
440
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--format -f --output -o")" -- "$cur" )
441
+ ;;
442
+
443
+ 'bitflip'*)
444
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--file -f --numeric -N --octal -O --upper-hex -X --lower-hex -x --hex -H --upper-alpha --lower-alpha --alpha -A --alpha-num --punct -P --symbols -S --space -s --visible -v --printable -p --control -C --signed-ascii -a --ascii --chars -c --include-chars -i --exclude-chars -e --prepend --append")" -- "$cur" )
445
+ ;;
446
+
447
+ 'decrypt'*)
448
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--key -k --key-file -K --cipher -c --password -P --hash -H --iv --padding --block-size -b --list-ciphers")" -- "$cur" )
449
+ ;;
450
+
451
+ 'encrypt'*)
452
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--key -k --key-file -K --cipher -c --password -P --hash -H --iv --padding --block-size -b --list-ciphers")" -- "$cur" )
453
+ ;;
454
+
455
+ 'entropy'*)
456
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--entropy -e")" -- "$cur" )
457
+ ;;
458
+
459
+ 'extract'*)
460
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--number -N --hex-number -X --version-number -V --word -w --mac-addr --ipv4-addr -4 --ipv6-addr -6 --ip -I --host -H --domain -D --uri --url -U --user-name --email-addr -E --obfuscated-email-addr --phone-number --ssn --amex-cc --discover-cc --mastercard-cc --visa-cc --visa-mastercard-cc --cc --file-name --dir-name --relative-unix-path --absolute-unix-path --unix-path --relative-windows-path --absolute-windows-path --windows-path --relative-path --absolute-path --path -P --identifier --variable-name --variable-assignment --function-name --single-quoted-string --double-quoted-string --string -S --base64 -B --c-comment --cpp-comment --java-comment --javascript-comment --shell-comment --ruby-comment --python-comment --comment --md5 --sha1 --sha256 --sha512 --hash --ssh-public-key --public-key --ssh-private-key --dsa-private-key --ec-private-key --rsa-private-key --private-key -K --aws-access-key-id --aws-secret-access-key --api-key -A --regexp -e")" -- "$cur" )
461
+ ;;
462
+
463
+ 'hexdump'*)
464
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--type -t --offset -O --length -L --zero-pad -Z --columns -c --group-columns -g --group-chars -G --[no-]repeating -r --base -b --index-base -B --index-offset -I --[no-]chars-column -C --encoding -E --style-index --style-numeric --style-chars --highlight-index --highlight-numeric --highlight-chars")" -- "$cur" )
465
+ ;;
466
+
467
+ 'hmac'*'-f')
468
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
469
+ ;;
470
+
471
+ 'hmac'*'-K')
472
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
473
+ ;;
474
+
475
+ 'host'*'-f')
476
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
477
+ ;;
478
+
479
+ 'http'*'-f')
480
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
481
+ ;;
482
+
483
+ 'http'*'-F')
484
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
485
+ ;;
486
+
487
+ 'iprange'*)
488
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--file -f --start --stop --size -s")" -- "$cur" )
489
+ ;;
490
+
491
+ 'sha1'*'-f')
492
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
493
+ ;;
494
+
495
+ 'strings'*)
496
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--numeric -N --octal -O --upper-hex -X --lower-hex -x --hex -H --upper-alpha --lower-alpha --alpha -A --alpha-num --punct -P --symbols -S --space -s --visible -v --printable -p --control -C --signed-ascii -a --ascii --chars -c --include-chars -i --exclude-chars -e --min-length -n --null-byte -0")" -- "$cur" )
497
+ ;;
498
+
499
+ 'typo'*'-f')
500
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
501
+ ;;
502
+
503
+ 'unquote'*)
504
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--file -f --string --multiline -M --keep-newlines -n --hex -X --c -c --js -j --shell -S --powershell -P --ruby -R")" -- "$cur" )
505
+ ;;
506
+
507
+ 'asn'*'-f')
508
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
509
+ ;;
510
+
511
+ 'decode'*)
512
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--file -f --string --multiline -M --keep-newlines -n --base16 --base32 --base64 -b --zlib -z --gzip -g --c -c --hex -X --html -H --uri -u --http --js -j --shell -S --powershell -P --punycode --quoted-printable -Q --ruby -R --uudecode --xml -x")" -- "$cur" )
513
+ ;;
514
+
515
+ 'dns'*'-f')
516
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
517
+ ;;
518
+
519
+ 'encode'*)
520
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--file -f --string --multiline -M --keep-newlines -n --base16 --base32 --base64 -b --zlib -z --gzip -g --c -c --hex -X --html -H --uri -u --http --js -j --shell -S --powershell -P --punycode --quoted-printable -Q --ruby -R --uuencode --xml -x")" -- "$cur" )
521
+ ;;
522
+
523
+ 'escape'*)
524
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--file -f --string --multiline -M --keep-newlines -n --c -c --hex -X --html -H --uri -u --http --js -j --shell -S --powershell -P --quoted-printable -Q --ruby -R --xml -x")" -- "$cur" )
525
+ ;;
526
+
527
+ 'irb'*'-I')
528
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A directory -- "$cur" )
529
+ ;;
530
+
531
+ 'md5'*'-f')
532
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
533
+ ;;
534
+
535
+ 'netcat'*)
536
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--verbose -v --tcp --udp --unix -U --listen -l --source -s --source-port -p --buffer-size -b --hexdump -x --ssl --tls --ssl-version --ssl-cert --ssl-key --ssl-verify --ssl-ca-bundle")" -- "$cur" )
537
+ ;;
538
+
539
+ 'rot'*'-f')
540
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
541
+ ;;
542
+
543
+ 'sha256'*)
544
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--file -f --string --multiline -M --keep-newlines -n")" -- "$cur" )
545
+ ;;
546
+
547
+ 'sha512'*)
548
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--file -f --string --multiline -M --keep-newlines -n")" -- "$cur" )
549
+ ;;
550
+
551
+ 'unpack'*)
552
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--endian -E --arch -A --os -O --string -S --file -f")" -- "$cur" )
553
+ ;;
554
+
555
+ 'url'*'-f')
556
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
557
+ ;;
558
+
559
+ 'xor'*'-f')
560
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
561
+ ;;
562
+
563
+ 'xor'*'-K')
564
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
565
+ ;;
566
+
567
+ 'ip'*'-f')
568
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
569
+ ;;
570
+
571
+ 'proxy'*)
572
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--tcp -t --ssl -S --tls -T --udp -u --[no-]hexdump -x --rewrite -r --rewrite-client --rewrite-server --ignore -i --ignore-client --ignore-server --close -C --close-client --close-server --reset -R --reset-client --reset-server")" -- "$cur" )
573
+ ;;
574
+
575
+ 'quote'*)
576
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--file -f --string --multiline -M --keep-newlines -n --hex -X --c -c --js -j --shell -S --powershell -P --ruby -R")" -- "$cur" )
577
+ ;;
578
+
579
+ 'grep'*)
580
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--number -N --hex-number -X --version-number -V --word -w --mac-addr --ipv4-addr -4 --ipv6-addr -6 --ip -I --host -H --domain -D --uri --url -U --user-name --email-addr -E --obfuscated-email-addr --phone-number --ssn --amex-cc --discover-cc --mastercard-cc --visa-cc --visa-mastercard-cc --cc --file-name --dir-name --relative-unix-path --absolute-unix-path --unix-path --relative-windows-path --absolute-windows-path --windows-path --relative-path --absolute-path --path -P --identifier --variable-name --variable-assignment --function-name --single-quoted-string --double-quoted-string --string -S --base64 -B --c-comment --cpp-comment --java-comment --javascript-comment --shell-comment --ruby-comment --python-comment --comment --md5 --sha1 --sha256 --sha512 --hash --ssh-public-key --public-key --ssh-private-key --dsa-private-key --ec-private-key --rsa-private-key --private-key -K --aws-access-key-id --aws-secret-access-key --api-key -A --regexp -e --only-matching -o --line-number -n --with-filename")" -- "$cur" )
581
+ ;;
582
+
583
+ 'hmac'*)
584
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--file -f --string --multiline -M --keep-newlines -n --key -k --key-file -K --hash -H")" -- "$cur" )
585
+ ;;
586
+
587
+ 'host'*)
588
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--file -f --nameserver -N --subdomain --domain -d --tld -T --suffix -s --change-suffix -S --enum-tlds --enum-suffixes --enum-subdomains --ips -I --registered -r --unregistered -u --has-addresses -A --has-records -H --query -t")" -- "$cur" )
589
+ ;;
590
+
591
+ 'http'*)
592
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--file -f --verbose -v --method --get --head --patch --post --put --copy --delete --lock --options --mkcol --move --propfind --proppatch --trace --unlock --shell --proxy -P --user-agent-string -U --user-agent -u --header -H --cookie -C --cookie-param -c --body -B --body-file -F --form-data -f --query-param -q")" -- "$cur" )
593
+ ;;
594
+
595
+ 'pack'*)
596
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--endian -E --arch -A --os -O --hexdump -x --output")" -- "$cur" )
597
+ ;;
598
+
599
+ 'sha1'*)
600
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--file -f --string --multiline -M --keep-newlines -n")" -- "$cur" )
601
+ ;;
602
+
603
+ 'tips'*)
604
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--list-categories --category -c --search -s")" -- "$cur" )
605
+ ;;
606
+
607
+ 'typo'*)
608
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--file -f --omit-chars --repeat-chars --swap-chars --change-suffix --enum -E")" -- "$cur" )
609
+ ;;
610
+
611
+ 'asn'*)
612
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--verbose -v --url -U --file -f --update -u --number -n --country-code -C --name -N --ip -I --ipv4 -4 --ipv6 -6 --enum-ips -E")" -- "$cur" )
613
+ ;;
614
+
615
+ 'dns'*)
616
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A hostname -W "$(_ronin_completions_filter "--file -f --nameserver -N --type -t")" -- "$cur" )
617
+ ;;
618
+
619
+ 'irb'*)
620
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--include -I --require -r")" -- "$cur" )
621
+ ;;
622
+
623
+ 'md5'*)
624
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--file -f --string --multiline -M --keep-newlines -n")" -- "$cur" )
625
+ ;;
626
+
627
+ 'new'*)
628
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "help dns-listener dns-proxy exploit http-listener nokogiri payload project script web-app web-server web-spider")" -- "$cur" )
629
+ ;;
630
+
631
+ 'rot'*)
632
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--file -f --string --multiline -M --keep-newlines -n --alphabet -A --modulo -n")" -- "$cur" )
633
+ ;;
634
+
635
+ 'url'*)
636
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--file -f --user -u --password --user-password --host -H --port --host-port --path -P --path-query --query -Q --query-param -q --fragment -F --status -S")" -- "$cur" )
637
+ ;;
638
+
639
+ 'xor'*)
640
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--file -f --string --multiline -M --keep-newlines -n --key -k --key-file -K")" -- "$cur" )
641
+ ;;
642
+
643
+ 'ip'*)
644
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--file -f --public -P --local -L --reverse -r --hex -X --decimal -D --octal -O --binary -B --hex-octet --octal-octet --ipv6-compat --ipv6-expanded --cidr -C --host -H --port -p --uri -U --uri-scheme --uri-port --uri-path --uri-query --http --https")" -- "$cur" )
645
+ ;;
646
+
647
+ *)
648
+ while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin_completions_filter "--version -V help archive asn banner-grab bitflip bitsquat cert-dump cert-gen cert-grab completion decode decrypt dns dns-proxy email-addr encode encrypt entropy escape extract grep hexdump highlight hmac homoglyph host http ip iprange irb md5 netcat new pack proxy public-suffix-list quote rot sha1 sha256 sha512 strings tips tld-list typo typosquat unarchive unescape unhexdump unpack unquote url xor enc dec nc tlds public-suffixes")" -- "$cur" )
649
+ ;;
650
+
651
+ esac
652
+ } &&
653
+ complete -F _ronin_completions ronin
654
+
655
+ # ex: filetype=sh