ronin 2.0.5 → 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 +56 -1
  6. data/Gemfile +66 -29
  7. data/README.md +162 -17
  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 +9 -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
data/man/ronin-dns.1 CHANGED
@@ -1,45 +1,34 @@
1
- .\" Generated by kramdown-man 0.1.8
1
+ .\" Generated by kramdown-man 1.0.1
2
2
  .\" https://github.com/postmodern/kramdown-man#readme
3
3
  .TH ronin-dns 1 "2023-02-01" Ronin "User Manuals"
4
- .LP
4
+ .SH NAME
5
+ .PP
6
+ ronin\-dns \- Performs a variety of DNS queries
5
7
  .SH SYNOPSIS
6
- .LP
7
- .HP
8
- \fBronin dns\fR \[lB]\fIoptions\fP\[rB] \[lC]\fIHOST\fP \.\.\. \[or] \fB--file\fR \fIFILE\fP\[rC]
9
- .LP
8
+ .PP
9
+ \fBronin dns\fR \[lB]\fIoptions\fP\[rB] \[lC]\fIHOST\fP \.\.\. \[or] \fB\-\-file\fR \fIFILE\fP\[rC]
10
10
  .SH DESCRIPTION
11
- .LP
12
11
  .PP
13
12
  Queries DNS records for the given host name\.
14
- .LP
15
13
  .SH ARGUMENTS
16
- .LP
17
14
  .TP
18
15
  \fIHOST\fP
19
16
  A host name argument to query\.
20
- .LP
21
17
  .SH OPTIONS
22
- .LP
23
18
  .TP
24
- \fB-f\fR, \fB--file\fR \fIFILE\fP
19
+ \fB\-f\fR, \fB\-\-file\fR \fIFILE\fP
25
20
  The optional file to read values from\.
26
- .LP
27
21
  .TP
28
- \fB-N\fR, \fB--nameserver\fR \fIHOST\fP\[or]\fIIP\fP
22
+ \fB\-N\fR, \fB\-\-nameserver\fR \fIHOST\fP\[or]\fIIP\fP
29
23
  Send DNS queries to the nameserver\.
30
- .LP
31
24
  .TP
32
- \fB-t\fR, \fB--type\fR \fBA|AAAA|ANY|CNAME|HINFO|LOC|MINFO|MX|NS|PTR|SOA|SRV|TXT|WKS\fR
25
+ \fB\-t\fR, \fB\-\-type\fR \fBA\[or]AAAA\[or]ANY\[or]CNAME\[or]HINFO\[or]LOC\[or]MINFO\[or]MX\[or]NS\[or]PTR\[or]SOA\[or]SRV\[or]TXT\[or]WKS\fR
33
26
  The type of record to query\.
34
- .LP
35
27
  .TP
36
- \fB-h\fR, \fB--help\fR
28
+ \fB\-h\fR, \fB\-\-help\fR
37
29
  Print help information\.
38
- .LP
39
30
  .SH AUTHOR
40
- .LP
41
31
  .PP
42
32
  Postmodern
43
33
  .MT postmodern\.mod3\[at]gmail\.com
44
34
  .ME
45
- .LP
data/man/ronin-dns.1.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # ronin-dns 1 "2023-02-01" Ronin "User Manuals"
2
2
 
3
+ ## NAME
4
+
5
+ ronin-dns - Performs a variety of DNS queries
6
+
3
7
  ## SYNOPSIS
4
8
 
5
9
  `ronin dns` [*options*] {*HOST* ... \| `--file` *FILE*}
@@ -11,21 +15,21 @@ Queries DNS records for the given host name.
11
15
  ## ARGUMENTS
12
16
 
13
17
  *HOST*
14
- A host name argument to query.
18
+ : A host name argument to query.
15
19
 
16
20
  ## OPTIONS
17
21
 
18
22
  `-f`, `--file` *FILE*
19
- The optional file to read values from.
23
+ : The optional file to read values from.
20
24
 
21
25
  `-N`, `--nameserver` *HOST*|*IP*
22
- Send DNS queries to the nameserver.
26
+ : Send DNS queries to the nameserver.
23
27
 
24
28
  `-t`, `--type` `A|AAAA|ANY|CNAME|HINFO|LOC|MINFO|MX|NS|PTR|SOA|SRV|TXT|WKS`
25
- The type of record to query.
29
+ : The type of record to query.
26
30
 
27
31
  `-h`, `--help`
28
- Print help information.
32
+ : Print help information.
29
33
 
30
34
  ## AUTHOR
31
35
 
@@ -1,76 +1,63 @@
1
- .\" Generated by kramdown-man 0.1.8
1
+ .\" Generated by kramdown-man 1.0.1
2
2
  .\" https://github.com/postmodern/kramdown-man#readme
3
3
  .TH ronin-email-addr 1 "2023-02-01" Ronin "User Manuals"
4
- .LP
4
+ .SH NAME
5
+ .PP
6
+ ronin\-email\-addr \- Processes email addresses
5
7
  .SH SYNOPSIS
6
- .LP
7
- .HP
8
- \fBronin email-addr\fR \[lB]\fIoptions\fP\[rB] \[lB]\fIEMAIL\[ru]ADDR\fP \.\.\.\[rB]
9
- .LP
8
+ .PP
9
+ \fBronin email\-addr\fR \[lB]\fIoptions\fP\[rB] \[lB]\fIEMAIL\[ru]ADDR\fP \.\.\.\[rB]
10
10
  .SH DESCRIPTION
11
- .LP
12
11
  .PP
13
12
  Processes one or more email addresses\.
14
- .LP
15
13
  .SH OPTIONS
16
- .LP
17
14
  .TP
18
- \fB-f\fR, \fB--file\fR \fIFILE\fP
15
+ \fB\-f\fR, \fB\-\-file\fR \fIFILE\fP
19
16
  Optional input file to read the email addresses from\.
20
- .LP
21
17
  .TP
22
- \fB-O\fR, \fB--obfuscate\fR
18
+ \fB\-O\fR, \fB\-\-obfuscate\fR
23
19
  Obfuscates the given email address(es)\.
24
- .LP
25
20
  .TP
26
- \fB--enum-obfuscations\fR
21
+ \fB\-\-enum\-obfuscations\fR
27
22
  Enumerate over every possible obfuscation of the given email address(es)\.
28
- .LP
29
23
  .TP
30
- \fB-D\fR, \fB--deobfuscate\fR
24
+ \fB\-D\fR, \fB\-\-deobfuscate\fR
31
25
  Deobfuscates the given email address(es)\.
32
- .LP
33
26
  .TP
34
- \fB-n\fR, \fB--name\fR
27
+ \fB\-n\fR, \fB\-\-name\fR
35
28
  Extracts the Name part of the email address(es)\.
36
- .LP
37
29
  .TP
38
- \fB-m\fR, \fB--mailbox\fR
30
+ \fB\-m\fR, \fB\-\-mailbox\fR
39
31
  Extracts the mailbox part of the email address(es)\.
40
- .LP
41
32
  .TP
42
- \fB-d\fR, \fB--domain\fR
33
+ \fB\-d\fR, \fB\-\-domain\fR
43
34
  Extracts the domain part of the email address(es)\.
44
- .LP
45
35
  .TP
46
- \fB-N\fR, \fB--normalize\fR
36
+ \fB\-N\fR, \fB\-\-normalize\fR
47
37
  Normalizes the given email address(es) by removing the Name, routing,
48
38
  and mailbox tag\.
49
- .LP
50
39
  .TP
51
- \fB-h\fR, \fB--help\fR
40
+ \fB\-h\fR, \fB\-\-help\fR
52
41
  Print help information
53
- .LP
54
42
  .SH EXAMPLES
55
- .LP
56
43
  .PP
57
44
  Deobfuscates an email address:
58
- .LP
59
- .nf
60
- ronin email\-addr \-\-deobfuscate \[dq]john\[lC]DOT\[rC]smith\[lC]AT\[rC]example\[lC]DOT\[rC]com\[dq]\(aq
61
- .fi
62
- .LP
45
+ .PP
46
+ .RS 4
47
+ .EX
48
+ \[Do] ronin email\-addr \-\-deobfuscate \[dq]john\[lC]DOT\[rC]smith\[lC]AT\[rC]example\[lC]DOT\[rC]com\[dq]\(aq
49
+ .EE
50
+ .RE
63
51
  .PP
64
52
  Extracts the domain name from a list of email addresses:
65
- .LP
66
- .nf
67
- ronin email\-addr \-\-file emails\.txt \-\-domain
68
- .fi
69
- .LP
53
+ .PP
54
+ .RS 4
55
+ .EX
56
+ \[Do] ronin email\-addr \-\-file emails\.txt \-\-domain
57
+ .EE
58
+ .RE
70
59
  .SH AUTHOR
71
- .LP
72
60
  .PP
73
61
  Postmodern
74
62
  .MT postmodern\.mod3\[at]gmail\.com
75
63
  .ME
76
- .LP
@@ -1,5 +1,9 @@
1
1
  # ronin-email-addr 1 "2023-02-01" Ronin "User Manuals"
2
2
 
3
+ ## NAME
4
+
5
+ ronin-email-addr - Processes email addresses
6
+
3
7
  ## SYNOPSIS
4
8
 
5
9
  `ronin email-addr` [*options*] [*EMAIL_ADDR* ...]
@@ -11,42 +15,42 @@ Processes one or more email addresses.
11
15
  ## OPTIONS
12
16
 
13
17
  `-f`, `--file` *FILE*
14
- Optional input file to read the email addresses from.
18
+ : Optional input file to read the email addresses from.
15
19
 
16
20
  `-O`, `--obfuscate`
17
- Obfuscates the given email address(es).
21
+ : Obfuscates the given email address(es).
18
22
 
19
23
  `--enum-obfuscations`
20
- Enumerate over every possible obfuscation of the given email address(es).
24
+ : Enumerate over every possible obfuscation of the given email address(es).
21
25
 
22
26
  `-D`, `--deobfuscate`
23
- Deobfuscates the given email address(es).
27
+ : Deobfuscates the given email address(es).
24
28
 
25
29
  `-n`, `--name`
26
- Extracts the Name part of the email address(es).
30
+ : Extracts the Name part of the email address(es).
27
31
 
28
32
  `-m`, `--mailbox`
29
- Extracts the mailbox part of the email address(es).
33
+ : Extracts the mailbox part of the email address(es).
30
34
 
31
35
  `-d`, `--domain`
32
- Extracts the domain part of the email address(es).
36
+ : Extracts the domain part of the email address(es).
33
37
 
34
38
  `-N`, `--normalize`
35
- Normalizes the given email address(es) by removing the Name, routing,
39
+ : Normalizes the given email address(es) by removing the Name, routing,
36
40
  and mailbox tag.
37
41
 
38
42
  `-h`, `--help`
39
- Print help information
43
+ : Print help information
40
44
 
41
45
  ## EXAMPLES
42
46
 
43
47
  Deobfuscates an email address:
44
48
 
45
- ronin email-addr --deobfuscate "john{DOT}smith{AT}example{DOT}com"'
49
+ $ ronin email-addr --deobfuscate "john{DOT}smith{AT}example{DOT}com"'
46
50
 
47
51
  Extracts the domain name from a list of email addresses:
48
52
 
49
- ronin email-addr --file emails.txt --domain
53
+ $ ronin email-addr --file emails.txt --domain
50
54
 
51
55
  ## AUTHOR
52
56
 
data/man/ronin-encode.1 CHANGED
@@ -1,127 +1,157 @@
1
- .\" Generated by kramdown-man 0.1.8
1
+ .\" Generated by kramdown-man 1.0.1
2
2
  .\" https://github.com/postmodern/kramdown-man#readme
3
3
  .TH ronin-encode 1 "2023-02-01" Ronin "User Manuals"
4
- .LP
4
+ .SH NAME
5
+ .PP
6
+ ronin\-encode \- Encodes each character of data into a variety of encodings
5
7
  .SH SYNOPSIS
6
- .LP
7
- .HP
8
+ .PP
8
9
  \fBronin encode \fR \[lB]\fIoptions\fP\[rB] \[lB]\fIFILE\fP \.\.\.\[rB]
9
- .LP
10
10
  .SH DESCRIPTION
11
- .LP
12
11
  .PP
13
12
  Encodes each character of the given data into a variety of formats\.
14
- .LP
15
13
  .SH ARGUMENTS
16
- .LP
17
14
  .TP
18
15
  \fIFILE\fP
19
16
  The optional file to read and process\. If no \fIFILE\fP arguments are given,
20
17
  input will be read from \fBstdin\fR\.
21
- .LP
22
18
  .SH OPTIONS
23
- .LP
24
19
  .TP
25
- \fB-f\fR, \fB--file\fR \fIFILE\fP
20
+ \fB\-f\fR, \fB\-\-file\fR \fIFILE\fP
26
21
  Optional file to process\.
27
- .LP
28
22
  .TP
29
- \fB--string\fR \fISTRING\fP
23
+ \fB\-\-string\fR \fISTRING\fP
30
24
  Optional string to process\.
31
- .LP
32
25
  .TP
33
- \fB-M\fR, \fB--multiline\fR
26
+ \fB\-M\fR, \fB\-\-multiline\fR
34
27
  Process each line of input separately\.
35
- .LP
36
28
  .TP
37
- \fB-n\fR, \fB--keep-newlines\fR
29
+ \fB\-n\fR, \fB\-\-keep\-newlines\fR
38
30
  Preserves newlines at the end of each line\.
39
- .LP
40
31
  .TP
41
- \fB--base16\fR
32
+ \fB\-\-base16\fR
42
33
  Base16 encodes the data\.
43
- .LP
44
34
  .TP
45
- \fB--base32\fR
35
+ \fB\-\-base32\fR
46
36
  Base32 encodes the data\.
47
- .LP
48
- .HP
49
- \fB-b\fR, \fB--base64\fR\[lB]\fB=\fR\fIstrict\fP\[or]\fIurl\fP\[rB]
37
+ .TP
38
+ \fB\-b\fR, \fB\-\-base64\fR\[lB]\fB\[eq]\fR\fIstrict\fP\[or]\fIurl\fP\[rB]
50
39
  Base64 encodes the data\. If the \fBstrict\fR or \fBurl\fR option value is given,
51
40
  it will enable \fBstrict\fR or \fBurl\fR Base64 encoding mode, respectively\.
52
- .LP
53
41
  .TP
54
- \fB-z\fR, \fB--zlib\fR
42
+ \fB\-z\fR, \fB\-\-zlib\fR
55
43
  Zlib compresses the data\.
56
- .LP
57
44
  .TP
58
- \fB-g\fR, \fB--gzip\fR
45
+ \fB\-g\fR, \fB\-\-gzip\fR
59
46
  gzip compresses the data\.
60
- .LP
61
- .HP
62
- \fB-c, \fR\-\-c\`
47
+ .TP
48
+ \fB\-c\fR, \fB\-\-c\fR
63
49
  Encodes the data as a C string\.
64
- .LP
65
50
  .TP
66
- \fB-X\fR, \fB--hex\fR
67
- Hex encode the data (ex: \fB414141...\fR)\.
68
- .LP
51
+ \fB\-X\fR, \fB\-\-hex\fR
52
+ Hex encode the data (ex: \fB414141\.\.\.\fR)\.
69
53
  .TP
70
- \fB-H\fR, \fB--html\fR
54
+ \fB\-H\fR, \fB\-\-html\fR
71
55
  HTML encodes the data\.
72
- .LP
73
56
  .TP
74
- \fB-u\fR, \fB--uri\fR
57
+ \fB\-u\fR, \fB\-\-uri\fR
75
58
  URI encodes the data\.
76
- .LP
77
59
  .TP
78
- \fB--http\fR
60
+ \fB\-\-http\fR
79
61
  HTTP encodes the data\.
80
- .LP
81
62
  .TP
82
- \fB-j\fR, \fB--js\fR
63
+ \fB\-j\fR, \fB\-\-js\fR
83
64
  JavaScript encodes the data\.
84
- .LP
85
65
  .TP
86
- \fB-S\fR, \fB--shell\fR
66
+ \fB\-S\fR, \fB\-\-shell\fR
87
67
  Encodes the data as a Shell String\.
88
- .LP
89
68
  .TP
90
- \fB-P\fR, \fB--powershell\fR
69
+ \fB\-P\fR, \fB\-\-powershell\fR
91
70
  Encodes the data as a PowerShell String\.
92
- .LP
93
71
  .TP
94
- \fB--punycode\fR
72
+ \fB\-\-punycode\fR
95
73
  Encodes the data as Punycode\.
96
- .LP
97
74
  .TP
98
- \fB-Q\fR, \fB--quoted-printable\fR
75
+ \fB\-Q\fR, \fB\-\-quoted\-printable\fR
99
76
  Decodes the data as Quoted Printable\.
100
- .LP
101
77
  .TP
102
- \fB--uuencode\fR
78
+ \fB\-\-uuencode\fR
103
79
  uuencodes the data\.
104
- .LP
105
80
  .TP
106
- \fB-R\fR, \fB--ruby\fR
81
+ \fB\-R\fR, \fB\-\-ruby\fR
107
82
  Encodes the data as a Ruby String\.
108
- .LP
109
83
  .TP
110
- \fB-x\fR, \fB--xml\fR
84
+ \fB\-x\fR, \fB\-\-xml\fR
111
85
  XML encodes the data\.
112
- .LP
113
86
  .TP
114
- \fB-h\fR, \fB--help\fR
87
+ \fB\-h\fR, \fB\-\-help\fR
115
88
  Print help information\.
116
- .LP
89
+ .SH EXAMPLES
90
+ .PP
91
+ Encode the string \fB\[dq]hello world\[dq]\fR to Base64:
92
+ .PP
93
+ .RS 4
94
+ .EX
95
+ \[Do] ronin encode \-\-base64 \-\-string \[dq]hello world\[dq]
96
+ aGVsbG8gd29ybGQ\[eq]
97
+ .EE
98
+ .RE
99
+ .PP
100
+ Encode the string \fB\[dq]hello world\[dq]\fR to HTTP encoded characters:
101
+ .PP
102
+ .RS 4
103
+ .EX
104
+ \[Do] ronin encode \-\-http \-\-string \[dq]hello world\[dq]
105
+ %68%65%6C%6C%6F%20%77%6F%72%6C%64
106
+ .EE
107
+ .RE
108
+ .PP
109
+ Encode the string \fB\[dq]hello world\[dq]\fR to XML encoded characters:
110
+ .PP
111
+ .RS 4
112
+ .EX
113
+ \[Do] ronin encode \-\-xml \-\-string \[dq]hello world\[dq]
114
+ &\[sh]104;&\[sh]101;&\[sh]108;&\[sh]108;&\[sh]111;&\[sh]32;&\[sh]119;&\[sh]111;&\[sh]114;&\[sh]108;&\[sh]100;
115
+ .EE
116
+ .RE
117
+ .PP
118
+ Hex encodes the contents of a file:
119
+ .PP
120
+ .RS 4
121
+ .EX
122
+ ronin encode \-\-hex \-\-file \[sl]path\[sl]to\[sl]file\.txt
123
+ .EE
124
+ .RE
125
+ .PP
126
+ Hex encodes every line of a file:
127
+ .PP
128
+ .RS 4
129
+ .EX
130
+ ronin encode \-\-hex \-\-multiline \-\-file \[sl]path\[sl]to\[sl]file\.txt
131
+ .EE
132
+ .RE
133
+ .PP
134
+ Compresses the file\[cq]s contents using Zlib and then Base64 encodes it:
135
+ .PP
136
+ .RS 4
137
+ .EX
138
+ ronin encode \-\-zlib \-\-base64 \-\-file hi\.txt
139
+ .EE
140
+ .RE
141
+ .PP
142
+ Encode the string \fB\[dq]hello world\[dq]\fR to a Ruby hex\-escaped string:
143
+ .PP
144
+ .RS 4
145
+ .EX
146
+ \[Do] ronin encode \-\-ruby \-\-string \[dq]hello world\[dq]
147
+ \ex68\ex65\ex6C\ex6C\ex6F\ex20\ex77\ex6F\ex72\ex6C\ex64
148
+ .EE
149
+ .RE
117
150
  .SH AUTHOR
118
- .LP
119
151
  .PP
120
152
  Postmodern
121
153
  .MT postmodern\.mod3\[at]gmail\.com
122
154
  .ME
123
- .LP
124
155
  .SH SEE ALSO
125
- .LP
126
156
  .PP
127
- ronin\-decode(1)
157
+ .BR ronin\-decode (1)
@@ -1,5 +1,9 @@
1
1
  # ronin-encode 1 "2023-02-01" Ronin "User Manuals"
2
2
 
3
+ ## NAME
4
+
5
+ ronin-encode - Encodes each character of data into a variety of encodings
6
+
3
7
  ## SYNOPSIS
4
8
 
5
9
  `ronin encode ` [*options*] [*FILE* ...]
@@ -11,80 +15,114 @@ Encodes each character of the given data into a variety of formats.
11
15
  ## ARGUMENTS
12
16
 
13
17
  *FILE*
14
- The optional file to read and process. If no *FILE* arguments are given,
18
+ : The optional file to read and process. If no *FILE* arguments are given,
15
19
  input will be read from `stdin`.
16
20
 
17
21
  ## OPTIONS
18
22
 
19
23
  `-f`, `--file` *FILE*
20
- Optional file to process.
24
+ : Optional file to process.
21
25
 
22
26
  `--string` *STRING*
23
- Optional string to process.
27
+ : Optional string to process.
24
28
 
25
29
  `-M`, `--multiline`
26
- Process each line of input separately.
30
+ : Process each line of input separately.
27
31
 
28
32
  `-n`, `--keep-newlines`
29
- Preserves newlines at the end of each line.
33
+ : Preserves newlines at the end of each line.
30
34
 
31
35
  `--base16`
32
- Base16 encodes the data.
36
+ : Base16 encodes the data.
33
37
 
34
38
  `--base32`
35
- Base32 encodes the data.
39
+ : Base32 encodes the data.
36
40
 
37
41
  `-b`, `--base64`[`=`*strict*\|*url*]
38
- Base64 encodes the data. If the `strict` or `url` option value is given,
42
+ : Base64 encodes the data. If the `strict` or `url` option value is given,
39
43
  it will enable `strict` or `url` Base64 encoding mode, respectively.
40
44
 
41
45
  `-z`, `--zlib`
42
- Zlib compresses the data.
46
+ : Zlib compresses the data.
43
47
 
44
48
  `-g`, `--gzip`
45
- gzip compresses the data.
49
+ : gzip compresses the data.
46
50
 
47
- `-c, `--c`
48
- Encodes the data as a C string.
51
+ `-c`, `--c`
52
+ : Encodes the data as a C string.
49
53
 
50
54
  `-X`, `--hex`
51
- Hex encode the data (ex: `414141...`).
55
+ : Hex encode the data (ex: `414141...`).
52
56
 
53
57
  `-H`, `--html`
54
- HTML encodes the data.
58
+ : HTML encodes the data.
55
59
 
56
60
  `-u`, `--uri`
57
- URI encodes the data.
61
+ : URI encodes the data.
58
62
 
59
63
  `--http`
60
- HTTP encodes the data.
64
+ : HTTP encodes the data.
61
65
 
62
66
  `-j`, `--js`
63
- JavaScript encodes the data.
67
+ : JavaScript encodes the data.
64
68
 
65
69
  `-S`, `--shell`
66
- Encodes the data as a Shell String.
70
+ : Encodes the data as a Shell String.
67
71
 
68
72
  `-P`, `--powershell`
69
- Encodes the data as a PowerShell String.
73
+ : Encodes the data as a PowerShell String.
70
74
 
71
75
  `--punycode`
72
- Encodes the data as Punycode.
76
+ : Encodes the data as Punycode.
73
77
 
74
78
  `-Q`, `--quoted-printable`
75
- Decodes the data as Quoted Printable.
79
+ : Decodes the data as Quoted Printable.
76
80
 
77
81
  `--uuencode`
78
- uuencodes the data.
82
+ : uuencodes the data.
79
83
 
80
84
  `-R`, `--ruby`
81
- Encodes the data as a Ruby String.
85
+ : Encodes the data as a Ruby String.
82
86
 
83
87
  `-x`, `--xml`
84
- XML encodes the data.
88
+ : XML encodes the data.
85
89
 
86
90
  `-h`, `--help`
87
- Print help information.
91
+ : Print help information.
92
+
93
+ ## EXAMPLES
94
+
95
+ Encode the string `"hello world"` to Base64:
96
+
97
+ $ ronin encode --base64 --string "hello world"
98
+ aGVsbG8gd29ybGQ=
99
+
100
+ Encode the string `"hello world"` to HTTP encoded characters:
101
+
102
+ $ ronin encode --http --string "hello world"
103
+ %68%65%6C%6C%6F%20%77%6F%72%6C%64
104
+
105
+ Encode the string `"hello world"` to XML encoded characters:
106
+
107
+ $ ronin encode --xml --string "hello world"
108
+ hello world
109
+
110
+ Hex encodes the contents of a file:
111
+
112
+ ronin encode --hex --file /path/to/file.txt
113
+
114
+ Hex encodes every line of a file:
115
+
116
+ ronin encode --hex --multiline --file /path/to/file.txt
117
+
118
+ Compresses the file's contents using Zlib and then Base64 encodes it:
119
+
120
+ ronin encode --zlib --base64 --file hi.txt
121
+
122
+ Encode the string `"hello world"` to a Ruby hex-escaped string:
123
+
124
+ $ ronin encode --ruby --string "hello world"
125
+ \x68\x65\x6C\x6C\x6F\x20\x77\x6F\x72\x6C\x64
88
126
 
89
127
  ## AUTHOR
90
128
 
@@ -92,4 +130,4 @@ Postmodern <postmodern.mod3@gmail.com>
92
130
 
93
131
  ## SEE ALSO
94
132
 
95
- ronin-decode(1)
133
+ [ronin-decode](ronin-decode.1.md)