ronin 1.5.0 → 1.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (207) hide show
  1. checksums.yaml +7 -0
  2. data/.editorconfig +11 -0
  3. data/.github/workflows/ruby.yml +32 -0
  4. data/.gitignore +7 -7
  5. data/.ruby-version +1 -0
  6. data/COPYING.txt +3 -3
  7. data/ChangeLog.md +25 -11
  8. data/Gemfile +21 -20
  9. data/README.md +102 -81
  10. data/Rakefile +4 -5
  11. data/bin/ronin +7 -12
  12. data/bin/ronin-campaigns +7 -12
  13. data/bin/ronin-console +7 -12
  14. data/bin/ronin-creds +7 -12
  15. data/bin/ronin-database +7 -12
  16. data/bin/ronin-emails +7 -12
  17. data/bin/ronin-exec +7 -12
  18. data/bin/ronin-fuzzer +7 -12
  19. data/bin/ronin-help +7 -12
  20. data/bin/ronin-hosts +7 -12
  21. data/bin/ronin-install +7 -12
  22. data/bin/ronin-ips +7 -12
  23. data/bin/ronin-net-proxy +7 -12
  24. data/bin/ronin-repos +7 -12
  25. data/bin/ronin-uninstall +7 -12
  26. data/bin/ronin-update +7 -12
  27. data/bin/ronin-urls +7 -12
  28. data/bin/ronin-wordlist +7 -12
  29. data/gemspec.yml +8 -8
  30. data/lib/bond/completions/ronin.rb +23 -23
  31. data/lib/ronin.rb +3 -3
  32. data/lib/ronin/address.rb +6 -7
  33. data/lib/ronin/arch.rb +3 -3
  34. data/lib/ronin/author.rb +5 -7
  35. data/lib/ronin/auto_load.rb +5 -5
  36. data/lib/ronin/bootstrap.rb +3 -3
  37. data/lib/ronin/campaign.rb +3 -3
  38. data/lib/ronin/config.rb +5 -7
  39. data/lib/ronin/credential.rb +3 -3
  40. data/lib/ronin/database.rb +3 -3
  41. data/lib/ronin/database/database.rb +8 -12
  42. data/lib/ronin/database/exceptions.rb +3 -3
  43. data/lib/ronin/database/exceptions/invalid_config.rb +3 -3
  44. data/lib/ronin/database/exceptions/unknown_repository.rb +3 -3
  45. data/lib/ronin/database/migrations.rb +3 -3
  46. data/lib/ronin/database/migrations/1.0.0.rb +3 -3
  47. data/lib/ronin/database/migrations/1.1.0.rb +3 -3
  48. data/lib/ronin/database/migrations/exceptions.rb +3 -3
  49. data/lib/ronin/database/migrations/exceptions/duplicate_migration.rb +3 -3
  50. data/lib/ronin/database/migrations/exceptions/unknown_migration.rb +3 -3
  51. data/lib/ronin/database/migrations/graph.rb +3 -3
  52. data/lib/ronin/database/migrations/migration.rb +3 -3
  53. data/lib/ronin/database/migrations/migrations.rb +3 -3
  54. data/lib/ronin/email_address.rb +5 -7
  55. data/lib/ronin/environment.rb +3 -3
  56. data/lib/ronin/exceptions.rb +3 -3
  57. data/lib/ronin/exceptions/duplicate_repository.rb +3 -3
  58. data/lib/ronin/exceptions/repository_not_found.rb +3 -3
  59. data/lib/ronin/host_name.rb +3 -3
  60. data/lib/ronin/host_name_ip_address.rb +3 -3
  61. data/lib/ronin/installation.rb +5 -7
  62. data/lib/ronin/ip_address.rb +6 -8
  63. data/lib/ronin/ip_address_mac_address.rb +3 -3
  64. data/lib/ronin/license.rb +6 -6
  65. data/lib/ronin/mac_address.rb +3 -3
  66. data/lib/ronin/model.rb +3 -3
  67. data/lib/ronin/model/has_authors.rb +3 -3
  68. data/lib/ronin/model/has_description.rb +3 -3
  69. data/lib/ronin/model/has_license.rb +3 -3
  70. data/lib/ronin/model/has_name.rb +3 -3
  71. data/lib/ronin/model/has_title.rb +3 -3
  72. data/lib/ronin/model/has_unique_name.rb +5 -7
  73. data/lib/ronin/model/has_version.rb +3 -3
  74. data/lib/ronin/model/importable.rb +3 -3
  75. data/lib/ronin/model/model.rb +7 -8
  76. data/lib/ronin/model/types.rb +3 -3
  77. data/lib/ronin/model/types/description.rb +9 -12
  78. data/lib/ronin/open_port.rb +5 -7
  79. data/lib/ronin/organization.rb +3 -3
  80. data/lib/ronin/os.rb +5 -7
  81. data/lib/ronin/os_guess.rb +3 -3
  82. data/lib/ronin/password.rb +3 -3
  83. data/lib/ronin/port.rb +3 -3
  84. data/lib/ronin/repositories.rb +3 -3
  85. data/lib/ronin/repository.rb +3 -3
  86. data/lib/ronin/ronin.rb +3 -3
  87. data/lib/ronin/script.rb +3 -3
  88. data/lib/ronin/script/buildable.rb +3 -3
  89. data/lib/ronin/script/deployable.rb +3 -3
  90. data/lib/ronin/script/exceptions.rb +3 -3
  91. data/lib/ronin/script/exceptions/build_failed.rb +3 -3
  92. data/lib/ronin/script/exceptions/deploy_failed.rb +3 -3
  93. data/lib/ronin/script/exceptions/exception.rb +3 -3
  94. data/lib/ronin/script/exceptions/not_built.rb +3 -3
  95. data/lib/ronin/script/exceptions/test_failed.rb +3 -3
  96. data/lib/ronin/script/path.rb +3 -3
  97. data/lib/ronin/script/script.rb +3 -3
  98. data/lib/ronin/script/testable.rb +3 -3
  99. data/lib/ronin/service.rb +3 -3
  100. data/lib/ronin/service_credential.rb +3 -3
  101. data/lib/ronin/software.rb +3 -3
  102. data/lib/ronin/spec/database.rb +27 -21
  103. data/lib/ronin/target.rb +3 -3
  104. data/lib/ronin/tcp_port.rb +3 -3
  105. data/lib/ronin/udp_port.rb +3 -3
  106. data/lib/ronin/ui.rb +3 -3
  107. data/lib/ronin/ui/cli.rb +3 -3
  108. data/lib/ronin/ui/cli/class_command.rb +14 -7
  109. data/lib/ronin/ui/cli/cli.rb +5 -5
  110. data/lib/ronin/ui/cli/command.rb +5 -7
  111. data/lib/ronin/ui/cli/commands.rb +3 -3
  112. data/lib/ronin/ui/cli/commands/campaigns.rb +5 -7
  113. data/lib/ronin/ui/cli/commands/console.rb +3 -3
  114. data/lib/ronin/ui/cli/commands/creds.rb +3 -3
  115. data/lib/ronin/ui/cli/commands/database.rb +3 -3
  116. data/lib/ronin/ui/cli/commands/emails.rb +3 -3
  117. data/lib/ronin/ui/cli/commands/exec.rb +3 -3
  118. data/lib/ronin/ui/cli/commands/fuzzer.rb +16 -16
  119. data/lib/ronin/ui/cli/commands/help.rb +3 -3
  120. data/lib/ronin/ui/cli/commands/hosts.rb +5 -7
  121. data/lib/ronin/ui/cli/commands/install.rb +7 -11
  122. data/lib/ronin/ui/cli/commands/ips.rb +5 -7
  123. data/lib/ronin/ui/cli/commands/net/proxy.rb +19 -12
  124. data/lib/ronin/ui/cli/commands/repos.rb +3 -3
  125. data/lib/ronin/ui/cli/commands/uninstall.rb +3 -3
  126. data/lib/ronin/ui/cli/commands/update.rb +3 -3
  127. data/lib/ronin/ui/cli/commands/urls.rb +3 -3
  128. data/lib/ronin/ui/cli/commands/wordlist.rb +3 -3
  129. data/lib/ronin/ui/cli/exceptions.rb +3 -3
  130. data/lib/ronin/ui/cli/exceptions/unknown_command.rb +3 -3
  131. data/lib/ronin/ui/cli/model_command.rb +6 -9
  132. data/lib/ronin/ui/cli/printing.rb +3 -3
  133. data/lib/ronin/ui/cli/resources_command.rb +7 -11
  134. data/lib/ronin/ui/cli/script_command.rb +5 -10
  135. data/lib/ronin/ui/console.rb +3 -3
  136. data/lib/ronin/ui/console/commands.rb +3 -3
  137. data/lib/ronin/ui/console/console.rb +3 -3
  138. data/lib/ronin/ui/console/context.rb +3 -3
  139. data/lib/ronin/ui/console/shell.rb +3 -3
  140. data/lib/ronin/url.rb +5 -7
  141. data/lib/ronin/url_query_param.rb +3 -3
  142. data/lib/ronin/url_query_param_name.rb +6 -6
  143. data/lib/ronin/url_scheme.rb +4 -4
  144. data/lib/ronin/user_name.rb +3 -3
  145. data/lib/ronin/vendor.rb +3 -3
  146. data/lib/ronin/version.rb +5 -5
  147. data/lib/ronin/web_credential.rb +5 -7
  148. data/man/ronin-campaigns.1.md +20 -20
  149. data/man/ronin-console.1.md +17 -17
  150. data/man/ronin-creds.1.md +16 -16
  151. data/man/ronin-database.1.md +23 -23
  152. data/man/ronin-emails.1.md +18 -18
  153. data/man/ronin-exec.1.md +11 -11
  154. data/man/ronin-fuzzer.1.md +23 -23
  155. data/man/ronin-help.1.md +5 -5
  156. data/man/ronin-hosts.1.md +20 -20
  157. data/man/ronin-install.1.md +18 -18
  158. data/man/ronin-ips.1.md +21 -21
  159. data/man/ronin-net-proxy.1.md +24 -24
  160. data/man/ronin-repos.1.md +18 -18
  161. data/man/ronin-uninstall.1.md +14 -14
  162. data/man/ronin-update.1.md +14 -14
  163. data/man/ronin-urls.1.md +22 -22
  164. data/man/ronin-wordlist.1.md +14 -13
  165. data/man/ronin.1.md +1 -1
  166. data/spec/arch_spec.rb +59 -46
  167. data/spec/author_spec.rb +14 -14
  168. data/spec/campaign_spec.rb +8 -0
  169. data/spec/credential_spec.rb +11 -8
  170. data/spec/database_spec.rb +6 -6
  171. data/spec/email_address_spec.rb +23 -20
  172. data/spec/host_name_spec.rb +24 -22
  173. data/spec/installation_spec.rb +6 -6
  174. data/spec/ip_address_spec.rb +31 -26
  175. data/spec/license_spec.rb +15 -9
  176. data/spec/mac_address_spec.rb +17 -8
  177. data/spec/model/has_authors_spec.rb +56 -37
  178. data/spec/model/has_description_spec.rb +36 -23
  179. data/spec/model/has_license_spec.rb +38 -28
  180. data/spec/model/has_name_spec.rb +36 -19
  181. data/spec/model/has_title_spec.rb +27 -14
  182. data/spec/model/has_version_spec.rb +64 -35
  183. data/spec/model/model_spec.rb +57 -33
  184. data/spec/model/models/{basic_model.rb → base_model.rb} +1 -1
  185. data/spec/model/models/{custom_model.rb → inherited_model.rb} +2 -3
  186. data/spec/os_spec.rb +24 -20
  187. data/spec/password_spec.rb +17 -9
  188. data/spec/port_spec.rb +30 -22
  189. data/spec/repository_spec.rb +59 -60
  190. data/spec/ronin_spec.rb +4 -4
  191. data/spec/script/buildable_spec.rb +8 -8
  192. data/spec/script/deployable_spec.rb +7 -7
  193. data/spec/script/path_spec.rb +42 -40
  194. data/spec/script/script_spec.rb +23 -23
  195. data/spec/script/testable_spec.rb +20 -20
  196. data/spec/service_spec.rb +14 -8
  197. data/spec/software_spec.rb +30 -17
  198. data/spec/spec_helper.rb +4 -4
  199. data/spec/ui/cli/classes/test_command.rb +2 -4
  200. data/spec/ui/cli/cli_spec.rb +5 -5
  201. data/spec/ui/cli/command_spec.rb +34 -30
  202. data/spec/url_query_param_spec.rb +23 -14
  203. data/spec/url_scheme_spec.rb +12 -9
  204. data/spec/url_spec.rb +64 -61
  205. data/spec/vendor_spec.rb +15 -8
  206. metadata +122 -150
  207. data/.gemtest +0 -0
data/spec/url_spec.rb CHANGED
@@ -11,42 +11,31 @@ describe URL do
11
11
  let(:query_string) { 'q=1' }
12
12
  let(:fragment) { 'frag' }
13
13
 
14
- before(:all) do
15
- @uri = URI::HTTPS.build(
16
- :scheme => scheme,
17
- :host => host_name,
18
- :port => port,
19
- :path => path,
20
- :query => query_string,
14
+ let(:uri) do
15
+ URI::HTTPS.build(
16
+ :scheme => scheme,
17
+ :host => host_name,
18
+ :port => port,
19
+ :path => path,
20
+ :query => query_string,
21
21
  :fragment => fragment
22
22
  )
23
+ end
23
24
 
24
- @url = URL.new(
25
- :scheme => URLScheme.first_or_create(:name => scheme),
25
+ let(:url) do
26
+ described_class.new(
27
+ :scheme => URLScheme.first_or_create(:name => scheme),
26
28
  :host_name => HostName.first_or_create(:address => host_name),
27
- :port => TCPPort.first_or_create(:number => port),
28
- :path => path,
29
- :fragment => fragment
29
+ :port => TCPPort.first_or_create(:number => port),
30
+ :path => path,
31
+ :fragment => fragment,
32
+ :query_params => [{
33
+ :name => URLQueryParamName.first_or_create(
34
+ :name => query_params.keys[0]
35
+ ),
36
+ :value => query_params.values[0]
37
+ }]
30
38
  )
31
-
32
- @url.query_params.new(
33
- :name => URLQueryParamName.first_or_create(
34
- :name => query_params.keys[0]
35
- ),
36
- :value => query_params.values[0]
37
- )
38
-
39
- @url.save
40
- end
41
-
42
- it "should have a host String" do
43
- url = URL.new(:host_name => {:address => host_name})
44
-
45
- url.host.should == host_name
46
- end
47
-
48
- it "should be convertable to a String" do
49
- @url.to_s.should == @uri.to_s
50
39
  end
51
40
 
52
41
  describe "extract" do
@@ -54,10 +43,10 @@ describe URL do
54
43
 
55
44
  let(:url1) { subject.parse("http://example.com/page.php?x=1&y=2") }
56
45
  let(:url2) { subject.parse("ssh://alice@example.com") }
57
- let(:text) { "URIs: #{url1}, #{url2}" }
46
+ let(:text) { "foo #{url1}, bar #{url2} baz" }
58
47
 
59
48
  it "should extract multiple URLs from text" do
60
- subject.extract(text).should == [url1, url2]
49
+ expect(subject.extract(text)).to be == [url1, url2]
61
50
  end
62
51
 
63
52
  it "should yield the extracted URLs if a block is given" do
@@ -65,112 +54,126 @@ describe URL do
65
54
 
66
55
  subject.extract(text) { |url| urls << url }
67
56
 
68
- urls.should == [url1, url2]
57
+ expect(urls).to be == [url1, url2]
69
58
  end
70
59
 
71
60
  it "should ignore non-absolute URIs" do
72
- subject.extract('foo: bar').should be_empty
61
+ expect(subject.extract('foo : bar')).to be_empty
73
62
  end
74
63
  end
75
64
 
76
65
  describe "[]" do
66
+ before { url.save }
67
+
77
68
  it "should query URLs using URIs" do
78
- URL[@uri].should == @url
69
+ expect(described_class[uri]).to be == url
79
70
  end
80
71
 
81
72
  it "should query URLs using Strings" do
82
- URL[@uri.to_s].should == @url
73
+ expect(described_class[uri.to_s]).to be == url
83
74
  end
84
75
 
85
76
  it "should still treat Integer arguments as indexes" do
86
- URL[0].should == @url
77
+ expect(described_class[0]).to be == url
87
78
  end
79
+
80
+ after { url.destroy }
88
81
  end
89
82
 
90
83
  describe "from" do
91
- subject { URL.from(@uri) }
84
+ subject { described_class.from(uri) }
92
85
 
93
86
  it "should parse URL schemes" do
94
- subject.scheme.should_not be_nil
95
- subject.scheme.name.should == scheme
87
+ expect(subject.scheme).not_to be_nil
88
+ expect(subject.scheme.name).to be == scheme
96
89
  end
97
90
 
98
91
  it "should parse host names" do
99
- subject.host_name.address.should == host_name
92
+ expect(subject.host_name.address).to be == host_name
100
93
  end
101
94
 
102
95
  it "should parse port numbers" do
103
- subject.port.number.should == port
96
+ expect(subject.port.number).to be == port
104
97
  end
105
98
 
106
99
  it "should parse paths" do
107
- subject.path.should == path
100
+ expect(subject.path).to be == path
108
101
  end
109
102
 
110
103
  it "should parse query strings" do
111
- subject.query_string.should == query_string
104
+ expect(subject.query_string).to be == query_string
112
105
  end
113
106
 
114
107
  it "should parse URL fragments" do
115
- subject.fragment.should == fragment
108
+ expect(subject.fragment).to be == fragment
116
109
  end
117
110
 
118
111
  it "should normalize the paths of HTTP URIs" do
119
112
  uri = URI('http://www.example.com')
120
- url = URL.from(uri)
113
+ url = described_class.from(uri)
114
+
115
+ expect(url.path).to be == '/'
116
+ end
117
+ end
118
+
119
+ describe "#host" do
120
+ subject do
121
+ described_class.new(:host_name => {:address => host_name})
122
+ end
121
123
 
122
- url.path.should == '/'
124
+ it "should return the URI host String" do
125
+ expect(subject.host).to be == host_name
123
126
  end
124
127
  end
125
128
 
126
129
  describe "#to_uri" do
127
- subject { @url.to_uri }
130
+ subject { url.to_uri }
128
131
 
129
132
  it "should convert the scheme" do
130
- subject.scheme.should == scheme
133
+ expect(subject.scheme).to be == scheme
131
134
  end
132
135
 
133
136
  it "should convert the host name" do
134
- subject.host.should == host_name
137
+ expect(subject.host).to be == host_name
135
138
  end
136
139
 
137
140
  it "should convert the port number" do
138
- subject.port.should == port
141
+ expect(subject.port).to be == port
139
142
  end
140
143
 
141
144
  it "should convert the path" do
142
- subject.path.should == path
145
+ expect(subject.path).to be == path
143
146
  end
144
147
 
145
148
  it "should convert the query string" do
146
- subject.query.should == query_string
149
+ expect(subject.query).to be == query_string
147
150
  end
148
151
 
149
152
  it "should omit the query string if there are no query params" do
150
- new_url = URL.parse('https://www.example.com:8080/path')
153
+ new_url = described_class.parse('https://www.example.com:8080/path')
151
154
  new_uri = new_url.to_uri
152
155
 
153
- new_uri.query.should be_nil
156
+ expect(new_uri.query).to be_nil
154
157
  end
155
158
 
156
159
  it "should convert the fragment" do
157
- subject.fragment.should == fragment
160
+ expect(subject.fragment).to be == fragment
158
161
  end
159
162
  end
160
163
 
161
164
  describe "#to_s" do
162
- subject { @url.to_s }
165
+ subject { url.to_s }
163
166
 
164
167
  it "should convert the URL back into a String URI" do
165
- subject.should == @uri.to_s
168
+ expect(subject).to be == uri.to_s
166
169
  end
167
170
  end
168
171
 
169
172
  describe "#inspect" do
170
- subject { @url.inspect }
173
+ subject { url.inspect }
171
174
 
172
175
  it "should include the full URL" do
173
- subject.should include(@uri.to_s)
176
+ expect(subject).to include(uri.to_s)
174
177
  end
175
178
  end
176
179
  end
data/spec/vendor_spec.rb CHANGED
@@ -3,16 +3,23 @@ require 'spec_helper'
3
3
  require 'ronin/vendor'
4
4
 
5
5
  describe Vendor do
6
- it "should require name attribute" do
7
- product = Vendor.new
8
- product.should_not be_valid
6
+ let(:name) { 'TestCo' }
9
7
 
10
- product.name = 'TestCo'
11
- product.should be_valid
8
+ subject { described_class.new(:name => name) }
9
+
10
+ describe "validations" do
11
+ it "should require name attribute" do
12
+ product = described_class.new
13
+ expect(product).not_to be_valid
14
+
15
+ product.name = name
16
+ expect(product).to be_valid
17
+ end
12
18
  end
13
19
 
14
- it "should be convertable to a String" do
15
- vendor = Vendor.new(:name => 'TestCo')
16
- vendor.to_s.should == 'TestCo'
20
+ describe "#to_s" do
21
+ it "should include the vendor name" do
22
+ expect(subject.to_s).to eq(name)
23
+ end
17
24
  end
18
25
  end
metadata CHANGED
@@ -1,425 +1,380 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ronin
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
5
- prerelease:
4
+ version: 1.5.1
6
5
  platform: ruby
7
6
  authors:
8
7
  - Postmodern
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-06-17 00:00:00.000000000 Z
11
+ date: 2021-03-01 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: dm-sqlite-adapter
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ~>
17
+ - - "~>"
20
18
  - !ruby/object:Gem::Version
21
19
  version: '1.2'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ~>
24
+ - - "~>"
28
25
  - !ruby/object:Gem::Version
29
26
  version: '1.2'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: dm-core
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ~>
31
+ - - "~>"
36
32
  - !ruby/object:Gem::Version
37
33
  version: '1.2'
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ~>
38
+ - - "~>"
44
39
  - !ruby/object:Gem::Version
45
40
  version: '1.2'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: dm-types
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ~>
45
+ - - "~>"
52
46
  - !ruby/object:Gem::Version
53
47
  version: '1.2'
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ~>
52
+ - - "~>"
60
53
  - !ruby/object:Gem::Version
61
54
  version: '1.2'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: dm-migrations
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ~>
59
+ - - "~>"
68
60
  - !ruby/object:Gem::Version
69
61
  version: '1.2'
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ~>
66
+ - - "~>"
76
67
  - !ruby/object:Gem::Version
77
68
  version: '1.2'
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: dm-validations
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
- - - ~>
73
+ - - "~>"
84
74
  - !ruby/object:Gem::Version
85
75
  version: '1.2'
86
76
  type: :runtime
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
- - - ~>
80
+ - - "~>"
92
81
  - !ruby/object:Gem::Version
93
82
  version: '1.2'
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: dm-serializer
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
- - - ~>
87
+ - - "~>"
100
88
  - !ruby/object:Gem::Version
101
89
  version: '1.2'
102
90
  type: :runtime
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
- - - ~>
94
+ - - "~>"
108
95
  - !ruby/object:Gem::Version
109
96
  version: '1.2'
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: dm-aggregates
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
- - - ~>
101
+ - - "~>"
116
102
  - !ruby/object:Gem::Version
117
103
  version: '1.2'
118
104
  type: :runtime
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
- - - ~>
108
+ - - "~>"
124
109
  - !ruby/object:Gem::Version
125
110
  version: '1.2'
126
111
  - !ruby/object:Gem::Dependency
127
112
  name: dm-timestamps
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
- - - ~>
115
+ - - "~>"
132
116
  - !ruby/object:Gem::Version
133
117
  version: '1.2'
134
118
  type: :runtime
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
- - - ~>
122
+ - - "~>"
140
123
  - !ruby/object:Gem::Version
141
124
  version: '1.2'
142
125
  - !ruby/object:Gem::Dependency
143
126
  name: dm-is-predefined
144
127
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
128
  requirements:
147
- - - ~>
129
+ - - "~>"
148
130
  - !ruby/object:Gem::Version
149
131
  version: '0.4'
150
132
  type: :runtime
151
133
  prerelease: false
152
134
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
135
  requirements:
155
- - - ~>
136
+ - - "~>"
156
137
  - !ruby/object:Gem::Version
157
138
  version: '0.4'
158
139
  - !ruby/object:Gem::Dependency
159
140
  name: uri-query_params
160
141
  requirement: !ruby/object:Gem::Requirement
161
- none: false
162
142
  requirements:
163
- - - ~>
143
+ - - "~>"
164
144
  - !ruby/object:Gem::Version
165
145
  version: '0.6'
166
146
  type: :runtime
167
147
  prerelease: false
168
148
  version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
149
  requirements:
171
- - - ~>
150
+ - - "~>"
172
151
  - !ruby/object:Gem::Version
173
152
  version: '0.6'
174
153
  - !ruby/object:Gem::Dependency
175
154
  name: open_namespace
176
155
  requirement: !ruby/object:Gem::Requirement
177
- none: false
178
156
  requirements:
179
- - - ~>
157
+ - - "~>"
180
158
  - !ruby/object:Gem::Version
181
159
  version: '0.4'
182
160
  type: :runtime
183
161
  prerelease: false
184
162
  version_requirements: !ruby/object:Gem::Requirement
185
- none: false
186
163
  requirements:
187
- - - ~>
164
+ - - "~>"
188
165
  - !ruby/object:Gem::Version
189
166
  version: '0.4'
190
167
  - !ruby/object:Gem::Dependency
191
168
  name: data_paths
192
169
  requirement: !ruby/object:Gem::Requirement
193
- none: false
194
170
  requirements:
195
- - - ~>
171
+ - - "~>"
196
172
  - !ruby/object:Gem::Version
197
173
  version: '0.3'
198
174
  type: :runtime
199
175
  prerelease: false
200
176
  version_requirements: !ruby/object:Gem::Requirement
201
- none: false
202
177
  requirements:
203
- - - ~>
178
+ - - "~>"
204
179
  - !ruby/object:Gem::Version
205
180
  version: '0.3'
206
181
  - !ruby/object:Gem::Dependency
207
182
  name: object_loader
208
183
  requirement: !ruby/object:Gem::Requirement
209
- none: false
210
184
  requirements:
211
- - - ~>
185
+ - - "~>"
212
186
  - !ruby/object:Gem::Version
213
187
  version: '1.0'
214
188
  type: :runtime
215
189
  prerelease: false
216
190
  version_requirements: !ruby/object:Gem::Requirement
217
- none: false
218
191
  requirements:
219
- - - ~>
192
+ - - "~>"
220
193
  - !ruby/object:Gem::Version
221
194
  version: '1.0'
222
195
  - !ruby/object:Gem::Dependency
223
196
  name: parameters
224
197
  requirement: !ruby/object:Gem::Requirement
225
- none: false
226
198
  requirements:
227
- - - ~>
199
+ - - "~>"
228
200
  - !ruby/object:Gem::Version
229
201
  version: '0.4'
230
202
  type: :runtime
231
203
  prerelease: false
232
204
  version_requirements: !ruby/object:Gem::Requirement
233
- none: false
234
205
  requirements:
235
- - - ~>
206
+ - - "~>"
236
207
  - !ruby/object:Gem::Version
237
208
  version: '0.4'
238
209
  - !ruby/object:Gem::Dependency
239
210
  name: pullr
240
211
  requirement: !ruby/object:Gem::Requirement
241
- none: false
242
212
  requirements:
243
- - - ~>
213
+ - - "~>"
244
214
  - !ruby/object:Gem::Version
245
215
  version: '0.1'
246
- - - ! '>='
216
+ - - ">="
247
217
  - !ruby/object:Gem::Version
248
218
  version: 0.1.2
249
219
  type: :runtime
250
220
  prerelease: false
251
221
  version_requirements: !ruby/object:Gem::Requirement
252
- none: false
253
222
  requirements:
254
- - - ~>
223
+ - - "~>"
255
224
  - !ruby/object:Gem::Version
256
225
  version: '0.1'
257
- - - ! '>='
226
+ - - ">="
258
227
  - !ruby/object:Gem::Version
259
228
  version: 0.1.2
260
229
  - !ruby/object:Gem::Dependency
261
230
  name: ripl
262
231
  requirement: !ruby/object:Gem::Requirement
263
- none: false
264
232
  requirements:
265
- - - ~>
233
+ - - "~>"
266
234
  - !ruby/object:Gem::Version
267
235
  version: '0.3'
268
236
  type: :runtime
269
237
  prerelease: false
270
238
  version_requirements: !ruby/object:Gem::Requirement
271
- none: false
272
239
  requirements:
273
- - - ~>
240
+ - - "~>"
274
241
  - !ruby/object:Gem::Version
275
242
  version: '0.3'
276
243
  - !ruby/object:Gem::Dependency
277
244
  name: ripl-multi_line
278
245
  requirement: !ruby/object:Gem::Requirement
279
- none: false
280
246
  requirements:
281
- - - ~>
247
+ - - "~>"
282
248
  - !ruby/object:Gem::Version
283
249
  version: '0.2'
284
250
  type: :runtime
285
251
  prerelease: false
286
252
  version_requirements: !ruby/object:Gem::Requirement
287
- none: false
288
253
  requirements:
289
- - - ~>
254
+ - - "~>"
290
255
  - !ruby/object:Gem::Version
291
256
  version: '0.2'
292
257
  - !ruby/object:Gem::Dependency
293
258
  name: ripl-auto_indent
294
259
  requirement: !ruby/object:Gem::Requirement
295
- none: false
296
260
  requirements:
297
- - - ~>
261
+ - - "~>"
298
262
  - !ruby/object:Gem::Version
299
263
  version: '0.1'
300
264
  type: :runtime
301
265
  prerelease: false
302
266
  version_requirements: !ruby/object:Gem::Requirement
303
- none: false
304
267
  requirements:
305
- - - ~>
268
+ - - "~>"
306
269
  - !ruby/object:Gem::Version
307
270
  version: '0.1'
308
271
  - !ruby/object:Gem::Dependency
309
272
  name: ripl-short_errors
310
273
  requirement: !ruby/object:Gem::Requirement
311
- none: false
312
274
  requirements:
313
- - - ~>
275
+ - - "~>"
314
276
  - !ruby/object:Gem::Version
315
277
  version: '0.1'
316
278
  type: :runtime
317
279
  prerelease: false
318
280
  version_requirements: !ruby/object:Gem::Requirement
319
- none: false
320
281
  requirements:
321
- - - ~>
282
+ - - "~>"
322
283
  - !ruby/object:Gem::Version
323
284
  version: '0.1'
324
285
  - !ruby/object:Gem::Dependency
325
286
  name: ripl-color_result
326
287
  requirement: !ruby/object:Gem::Requirement
327
- none: false
328
288
  requirements:
329
- - - ~>
289
+ - - "~>"
330
290
  - !ruby/object:Gem::Version
331
291
  version: '0.3'
332
292
  type: :runtime
333
293
  prerelease: false
334
294
  version_requirements: !ruby/object:Gem::Requirement
335
- none: false
336
295
  requirements:
337
- - - ~>
296
+ - - "~>"
338
297
  - !ruby/object:Gem::Version
339
298
  version: '0.3'
340
299
  - !ruby/object:Gem::Dependency
341
300
  name: ronin-support
342
301
  requirement: !ruby/object:Gem::Requirement
343
- none: false
344
302
  requirements:
345
- - - ~>
303
+ - - "~>"
346
304
  - !ruby/object:Gem::Version
347
305
  version: '0.5'
306
+ - - ">="
307
+ - !ruby/object:Gem::Version
308
+ version: 0.5.2
348
309
  type: :runtime
349
310
  prerelease: false
350
311
  version_requirements: !ruby/object:Gem::Requirement
351
- none: false
352
312
  requirements:
353
- - - ~>
313
+ - - "~>"
354
314
  - !ruby/object:Gem::Version
355
315
  version: '0.5'
316
+ - - ">="
317
+ - !ruby/object:Gem::Version
318
+ version: 0.5.2
356
319
  - !ruby/object:Gem::Dependency
357
320
  name: bundler
358
321
  requirement: !ruby/object:Gem::Requirement
359
- none: false
360
322
  requirements:
361
- - - ~>
323
+ - - "~>"
362
324
  - !ruby/object:Gem::Version
363
- version: '1.0'
325
+ version: '2.0'
364
326
  type: :development
365
327
  prerelease: false
366
328
  version_requirements: !ruby/object:Gem::Requirement
367
- none: false
368
329
  requirements:
369
- - - ~>
330
+ - - "~>"
370
331
  - !ruby/object:Gem::Version
371
- version: '1.0'
332
+ version: '2.0'
372
333
  - !ruby/object:Gem::Dependency
373
334
  name: yard
374
335
  requirement: !ruby/object:Gem::Requirement
375
- none: false
376
336
  requirements:
377
- - - ~>
337
+ - - "~>"
378
338
  - !ruby/object:Gem::Version
379
339
  version: '0.8'
380
340
  type: :development
381
341
  prerelease: false
382
342
  version_requirements: !ruby/object:Gem::Requirement
383
- none: false
384
343
  requirements:
385
- - - ~>
344
+ - - "~>"
386
345
  - !ruby/object:Gem::Version
387
346
  version: '0.8'
388
347
  - !ruby/object:Gem::Dependency
389
348
  name: yard-dm
390
349
  requirement: !ruby/object:Gem::Requirement
391
- none: false
392
350
  requirements:
393
- - - ~>
351
+ - - "~>"
394
352
  - !ruby/object:Gem::Version
395
353
  version: '0.1'
396
354
  type: :development
397
355
  prerelease: false
398
356
  version_requirements: !ruby/object:Gem::Requirement
399
- none: false
400
357
  requirements:
401
- - - ~>
358
+ - - "~>"
402
359
  - !ruby/object:Gem::Version
403
360
  version: '0.1'
404
361
  - !ruby/object:Gem::Dependency
405
362
  name: yard-dm-is-predefined
406
363
  requirement: !ruby/object:Gem::Requirement
407
- none: false
408
364
  requirements:
409
- - - ~>
365
+ - - "~>"
410
366
  - !ruby/object:Gem::Version
411
367
  version: '0.2'
412
368
  type: :development
413
369
  prerelease: false
414
370
  version_requirements: !ruby/object:Gem::Requirement
415
- none: false
416
371
  requirements:
417
- - - ~>
372
+ - - "~>"
418
373
  - !ruby/object:Gem::Version
419
374
  version: '0.2'
420
- description: Ronin is a Ruby platform for exploit development and security research.
421
- Ronin allows for the rapid development and distribution of code, exploits or payloads
422
- via Repositories.
375
+ description: Ronin is a Ruby platform for vulnerability research and exploit development.
376
+ Ronin allows for the rapid development and distribution of code, Exploits Payloads,
377
+ Scanners, etc, via Repositories.
423
378
  email: postmodern.mod3@gmail.com
424
379
  executables:
425
380
  - ronin
@@ -446,11 +401,13 @@ extra_rdoc_files:
446
401
  - ChangeLog.md
447
402
  - README.md
448
403
  files:
449
- - .document
450
- - .gemtest
451
- - .gitignore
452
- - .rspec
453
- - .yardopts
404
+ - ".document"
405
+ - ".editorconfig"
406
+ - ".github/workflows/ruby.yml"
407
+ - ".gitignore"
408
+ - ".rspec"
409
+ - ".ruby-version"
410
+ - ".yardopts"
454
411
  - COPYING.txt
455
412
  - ChangeLog.md
456
413
  - Gemfile
@@ -593,23 +550,41 @@ files:
593
550
  - lib/ronin/vendor.rb
594
551
  - lib/ronin/version.rb
595
552
  - lib/ronin/web_credential.rb
553
+ - man/ronin-campaigns.1
596
554
  - man/ronin-campaigns.1.md
555
+ - man/ronin-console.1
597
556
  - man/ronin-console.1.md
557
+ - man/ronin-creds.1
598
558
  - man/ronin-creds.1.md
559
+ - man/ronin-database.1
599
560
  - man/ronin-database.1.md
561
+ - man/ronin-emails.1
600
562
  - man/ronin-emails.1.md
563
+ - man/ronin-exec.1
601
564
  - man/ronin-exec.1.md
565
+ - man/ronin-fuzzer.1
602
566
  - man/ronin-fuzzer.1.md
567
+ - man/ronin-help.1
603
568
  - man/ronin-help.1.md
569
+ - man/ronin-hosts.1
604
570
  - man/ronin-hosts.1.md
571
+ - man/ronin-install.1
605
572
  - man/ronin-install.1.md
573
+ - man/ronin-ips.1
606
574
  - man/ronin-ips.1.md
575
+ - man/ronin-net-proxy.1
607
576
  - man/ronin-net-proxy.1.md
577
+ - man/ronin-repos.1
608
578
  - man/ronin-repos.1.md
579
+ - man/ronin-uninstall.1
609
580
  - man/ronin-uninstall.1.md
581
+ - man/ronin-update.1
610
582
  - man/ronin-update.1.md
583
+ - man/ronin-urls.1
611
584
  - man/ronin-urls.1.md
585
+ - man/ronin-wordlist.1
612
586
  - man/ronin-wordlist.1.md
587
+ - man/ronin.1
613
588
  - man/ronin.1.md
614
589
  - ronin.gemspec
615
590
  - spec/arch_spec.rb
@@ -654,9 +629,9 @@ files:
654
629
  - spec/model/has_version_spec.rb
655
630
  - spec/model/model_spec.rb
656
631
  - spec/model/models/authored_model.rb
657
- - spec/model/models/basic_model.rb
658
- - spec/model/models/custom_model.rb
632
+ - spec/model/models/base_model.rb
659
633
  - spec/model/models/described_model.rb
634
+ - spec/model/models/inherited_model.rb
660
635
  - spec/model/models/licensed_model.rb
661
636
  - spec/model/models/named_model.rb
662
637
  - spec/model/models/titled_model.rb
@@ -685,51 +660,48 @@ files:
685
660
  - spec/url_scheme_spec.rb
686
661
  - spec/url_spec.rb
687
662
  - spec/vendor_spec.rb
688
- - man/ronin.1
689
- - man/ronin-campaigns.1
690
- - man/ronin-console.1
691
- - man/ronin-creds.1
692
- - man/ronin-database.1
693
- - man/ronin-emails.1
694
- - man/ronin-exec.1
695
- - man/ronin-fuzzer.1
696
- - man/ronin-help.1
697
- - man/ronin-hosts.1
698
- - man/ronin-install.1
699
- - man/ronin-ips.1
700
- - man/ronin-net-proxy.1
701
- - man/ronin-repos.1
702
- - man/ronin-uninstall.1
703
- - man/ronin-update.1
704
- - man/ronin-urls.1
705
- - man/ronin-wordlist.1
706
- homepage: http://ronin-ruby.github.com/
663
+ homepage: https://ronin-rb.dev
707
664
  licenses:
708
- - GPL-3
709
- post_install_message: ! "*************************************************************************\n\n
710
- \ Thank you for installing Ronin!\n\n To start the Ronin Console:\n\n $ ronin\n\n
711
- \ To list the available commands:\n\n $ ronin help\n\n Additional functionality
712
- can be added to Ronin by installing additional\n libraries:\n\n * ronin-gen\n
713
- \ * ronin-web\n * ronin-exploits\n * ronin-scanners\n\n*************************************************************************\n"
665
+ - GPL-3.0
666
+ metadata: {}
667
+ post_install_message: |
668
+ *************************************************************************
669
+
670
+ Thank you for installing Ronin!
671
+
672
+ To start the Ronin Console:
673
+
674
+ $ ronin
675
+
676
+ To list the available commands:
677
+
678
+ $ ronin help
679
+
680
+ Additional functionality can be added to Ronin by installing additional
681
+ libraries:
682
+
683
+ * ronin-gen
684
+ * ronin-web
685
+ * ronin-exploits
686
+ * ronin-scanners
687
+
688
+ *************************************************************************
714
689
  rdoc_options: []
715
690
  require_paths:
716
691
  - lib
717
692
  required_ruby_version: !ruby/object:Gem::Requirement
718
- none: false
719
693
  requirements:
720
- - - ! '>='
694
+ - - ">="
721
695
  - !ruby/object:Gem::Version
722
696
  version: 1.8.7
723
697
  required_rubygems_version: !ruby/object:Gem::Requirement
724
- none: false
725
698
  requirements:
726
- - - ! '>='
699
+ - - ">="
727
700
  - !ruby/object:Gem::Version
728
701
  version: '0'
729
702
  requirements: []
730
- rubyforge_project:
731
- rubygems_version: 1.8.24
703
+ rubygems_version: 3.1.4
732
704
  signing_key:
733
- specification_version: 3
734
- summary: A Ruby platform for exploit development and security research.
705
+ specification_version: 4
706
+ summary: A Ruby platform for vulnerability research and exploit development.
735
707
  test_files: []