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
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 6ff9c16bb4d19612cd0b205dd42e6eecd26dec1ef757281e8491efc494412060
4
+ data.tar.gz: 8a33f291d7f9eae57a02baf2f7d87c085e6465dc1a6dd922b3f718bf5914f1c8
5
+ SHA512:
6
+ metadata.gz: 87fffb84111ed7ffb457184ac192bbf337a0ce3bc8b1a8a79276ee533781690724b12178e73c6c8410cdd0f3a343227edcecdb79f7ea1e884cca47690c23d5a8
7
+ data.tar.gz: 07cc345713536fa9178c48f06ac5d6ca1e15f3ab4bbfce652a4ca97ffac054985de2958b16404d4d13062fe58e989030d7ad1a25f353d1659768443c7c31791e
data/.editorconfig ADDED
@@ -0,0 +1,11 @@
1
+ root = true
2
+
3
+ [*]
4
+ end_of_line = lf
5
+ insert_final_newline = true
6
+ tab_width = 8
7
+ trim_trailing_whitespace = true
8
+
9
+ [{Gemfile,Rakefile,*.rb,*.gemspec,*.yml}]
10
+ indent_style = space
11
+ indent_size = 2
@@ -0,0 +1,32 @@
1
+ name: CI
2
+
3
+ on: [ push, pull_request ]
4
+
5
+ jobs:
6
+ tests:
7
+ runs-on: ubuntu-latest
8
+ strategy:
9
+ fail-fast: false
10
+ matrix:
11
+ ruby:
12
+ - 2.4
13
+ - 2.5
14
+ - 2.6
15
+ - 2.7
16
+ - 3.0
17
+ # - jruby
18
+ name: Ruby ${{ matrix.ruby }}
19
+ steps:
20
+ - uses: actions/checkout@v2
21
+ - name: Set up Ruby
22
+ uses: ruby/setup-ruby@v1
23
+ with:
24
+ ruby-version: ${{ matrix.ruby }}
25
+ - name: Install libsqlite3
26
+ run: |
27
+ sudo apt update -y && \
28
+ sudo apt install -y --no-install-recommends --no-install-suggests libsqlite3-dev
29
+ - name: Install dependencies
30
+ run: bundle install --jobs 4 --retry 3
31
+ - name: Run tests
32
+ run: bundle exec rake test
data/.gitignore CHANGED
@@ -1,11 +1,11 @@
1
- doc
2
- pkg
3
- man/*.[1-9]
4
- vendor/cache
5
- Gemfile.lock
6
- .bundle
1
+ /doc
2
+ /pkg
3
+ /man/*.[1-9]
4
+ /vendor/bundle
5
+ /Gemfile.lock
6
+ /.bundle
7
+ /.yardoc
7
8
  .DS_Store
8
- .yardoc
9
9
  *.db
10
10
  *.log
11
11
  *.swp
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ ruby-2.7
data/COPYING.txt CHANGED
@@ -645,7 +645,7 @@ the "copyright" line and a pointer to where the full notice is found.
645
645
  GNU General Public License for more details.
646
646
 
647
647
  You should have received a copy of the GNU General Public License
648
- along with this program. If not, see <http://www.gnu.org/licenses/>.
648
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
649
649
 
650
650
  Also add information on how to contact you by electronic and paper mail.
651
651
 
@@ -664,11 +664,11 @@ might be different; for a GUI interface, you would use an "about box".
664
664
  You should also get your employer (if you work as a programmer) or school,
665
665
  if any, to sign a "copyright disclaimer" for the program, if necessary.
666
666
  For more information on this, and how to apply and follow the GNU GPL, see
667
- <http://www.gnu.org/licenses/>.
667
+ <https://www.gnu.org/licenses/>.
668
668
 
669
669
  The GNU General Public License does not permit incorporating your program
670
670
  into proprietary programs. If your program is a subroutine library, you
671
671
  may consider it more useful to permit linking proprietary applications with
672
672
  the library. If this is what you want to do, use the GNU Lesser General
673
673
  Public License instead of this License. But first, please read
674
- <http://www.gnu.org/philosophy/why-not-lgpl.html>.
674
+ <https://www.gnu.org/philosophy/why-not-lgpl.html>.
data/ChangeLog.md CHANGED
@@ -1,6 +1,18 @@
1
+ ### 1.5.1 / 2021-02-28
2
+
3
+ * Require [ronin-support] ~> 0.5, >= 0.5.2.
4
+ * Activate bundler in `bin/ronin` and `bin/ronin-*` commands, if a
5
+ `Gemfile.lock` file is found.
6
+ * Re-finalize all DataMapper models in
7
+ {Ronin::AutoLoad::ClassMethods#require_const}.
8
+ * Avoid calling `Ronin::Network::TCP::Proxy` specific methods in the
9
+ `ronin net:proxy` command, if working with a UDP proxy.
10
+ * {Ronin::UI::CLI.commands} now uses `Set`, since Ruby 3.0 moved `SortedSet`
11
+ out of the stdlib.
12
+
1
13
  ### 1.5.0 / 2012-06-16
2
14
 
3
- * Require ronin-support ~> 0.5.
15
+ * Require [ronin-support] ~> 0.5.
4
16
  * Added {Ronin::UI::CLI::Command#setup}.
5
17
  * Added {Ronin::UI::CLI::Command#cleanup}.
6
18
  * Added {Ronin::UI::CLI::Command.examples}.
@@ -28,14 +40,15 @@
28
40
  * `.command`s are now reserved only for special console commands
29
41
  (ex: `.edit`).
30
42
  * Improved recognition of console `!command`s and `.command`s.
31
- * Do not allow executing console commands while in multi-line mode!
32
- * Fixed bug in {Ronin::UI::CLI::Command} that was disabling colour output.
33
- * When {Ronin::UI::CLI::Command#start} catches an Interrupt, it will exit
43
+ * Do not allow execution of console commands while in multi-line mode!
44
+ * Fixed a bug in {Ronin::UI::CLI::Command} which disabled colour output.
45
+ * When {Ronin::UI::CLI::Command#start} catches an Interrupt, it should exit
34
46
  with status 130.
35
47
  * Rescue `Errno::EPIPE` in {Ronin::UI::CLI::Command#start}.
36
48
  * Improved `--help` output of `ronin` commands by adding `examples` and more
37
- `:description`s to options.
38
- * Changed `ronin-help COMMAND` to display the man-page for the given command.
49
+ `:description`s to their options.
50
+ * Changed the `ronin-help COMMAND` to display the man-page for the given
51
+ command.
39
52
  * No longer honor the `DEBUG` environment variable. Use `ruby -w` or `ruby -d`
40
53
  instead.
41
54
  * Removed dm-constraints from the dependencies.
@@ -52,7 +65,7 @@
52
65
  * Require open_namespace ~> 0.4.
53
66
  * Require parameters ~> 0.4.
54
67
  * Require uri-query_params ~> 0.6.
55
- * Require ronin-support ~> 0.4.
68
+ * Require [ronin-support] ~> 0.4.
56
69
  * Added {Ronin::Port.parse}.
57
70
  * Added {Ronin::Port.from}.
58
71
  * Added {Ronin::EmailAddress.from}.
@@ -121,7 +134,7 @@
121
134
  ### 1.3.0 / 2011-10-16
122
135
 
123
136
  * Require DataMapper ~> 1.2.
124
- * Require ronin-support ~> 0.3.
137
+ * Require [ronin-support] ~> 0.3.
125
138
  * Added {Ronin::Model::Importable}.
126
139
  * Added {Ronin::MACAddress.extract}.
127
140
  * Added {Ronin::IPAddress.extract}.
@@ -131,7 +144,7 @@
131
144
  * Renamed `license!` to `licensed_under` in
132
145
  {Ronin::Model::HasLicense::InstanceMethods}.
133
146
  * Moved `Ronin::UI::Output`, `Ronin::UI::Shell` and `Ronin::Network::Mixins`
134
- into ronin-support.
147
+ into [ronin-support].
135
148
  * {Ronin::Author.site} and {Ronin::License.url} now use the URI property.
136
149
  * Merged `Ronin::UI::CLI::ModelCommand.query_model` into
137
150
  {Ronin::UI::CLI::ModelCommand.model}.
@@ -163,7 +176,7 @@
163
176
 
164
177
  * Require env ~> 0.2.
165
178
  * Require data_paths ~> 0.3.
166
- * Require ronin-support ~> 0.2.
179
+ * Require [ronin-support] ~> 0.2.
167
180
  * Added `ronin/repositories`, for quickly loading all repositories.
168
181
  * Added {Ronin#script}.
169
182
  * Added {Ronin::AutoLoad}.
@@ -262,7 +275,7 @@
262
275
  * Require ripl-short_errors ~> 0.1.
263
276
  * Require ripl-color_result ~> 0.2.
264
277
  * Require thor ~> 0.14.3.
265
- * Require ronin-support ~> 0.1.
278
+ * Require [ronin-support] ~> 0.1.
266
279
  * Added `ronin/bootstrap` which only loads configuration and the Database.
267
280
  * Added {Ronin::Database::Migrations}.
268
281
  * Added {Ronin::Model::HasUniqueName}.
@@ -760,3 +773,4 @@
760
773
  * Auto-indentation enabled.
761
774
  * Pretty-Print loaded.
762
775
 
776
+ [ronin-support]: https://github.com/ronin-rb/ronin-support
data/Gemfile CHANGED
@@ -1,37 +1,38 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- DM_URI = 'http://github.com/datamapper'
3
+ DM_URI = 'https://github.com/datamapper'
4
4
  DM_VERSION = '~> 1.2'
5
5
  DO_VERSION = '~> 0.10.3'
6
- RONIN_URI = 'http://github.com/ronin-ruby'
6
+ RONIN_URI = 'https://github.com/ronin-rb'
7
7
 
8
8
  gemspec
9
9
 
10
- gem 'jruby-openssl', '~> 0.7', :platforms => :jruby
10
+ gem 'jruby-openssl', '~> 0.7', platforms: :jruby
11
11
 
12
12
  # DataMapper dependencies
13
- # gem 'data_objects', DO_VERSION, :git => "#{DM_URI}/do.git"
14
- # gem 'do_sqlite3', DO_VERSION, :git => "#{DM_URI}/do.git"
15
- # gem 'dm-do-adapter', DM_VERSION, :git => "#{DM_URI}/dm-do-adapter.git"
16
- # gem 'dm-sqlite-adapter', DM_VERSION, :git => "#{DM_URI}/dm-sqlite-adapter.git"
17
- # gem 'dm-core', DM_VERSION, :git => "#{DM_URI}/dm-core.git"
18
- # gem 'dm-types', DM_VERSION, :git => "#{DM_URI}/dm-types.git"
19
- # gem 'dm-migrations', DM_VERSION, :git => "#{DM_URI}/dm-migrations.git"
20
- # gem 'dm-validations', DM_VERSION, :git => "#{DM_URI}/dm-validations.git"
21
- # gem 'dm-serializer', DM_VERSION, :git => "#{DM_URI}/dm-serializer.git"
22
- # gem 'dm-aggregates', DM_VERSION, :git => "#{DM_URI}/dm-aggregates.git"
23
- # gem 'dm-timestamps', DM_VERSION, :git => "#{DM_URI}/dm-timestamps.git"
13
+ # gem 'data_objects', DO_VERSION, git: "#{DM_URI}/do.git"
14
+ # gem 'do_sqlite3', DO_VERSION, git: "#{DM_URI}/do.git"
15
+ # gem 'dm-do-adapter', DM_VERSION, git: "#{DM_URI}/dm-do-adapter.git"
16
+ # gem 'dm-sqlite-adapter', DM_VERSION, git: "#{DM_URI}/dm-sqlite-adapter.git"
17
+ # gem 'dm-core', DM_VERSION, git: "#{DM_URI}/dm-core.git"
18
+ # gem 'dm-types', DM_VERSION, git: "#{DM_URI}/dm-types.git"
19
+ # gem 'dm-migrations', DM_VERSION, git: "#{DM_URI}/dm-migrations.git"
20
+ # gem 'dm-validations', DM_VERSION, git: "#{DM_URI}/dm-validations.git"
21
+ # gem 'dm-serializer', DM_VERSION, git: "#{DM_URI}/dm-serializer.git"
22
+ # gem 'dm-aggregates', DM_VERSION, git: "#{DM_URI}/dm-aggregates.git"
23
+ # gem 'dm-timestamps', DM_VERSION, git: "#{DM_URI}/dm-timestamps.git"
24
24
 
25
25
  # Library dependencies
26
- # gem 'ronin-support', '~> 0.5', :git => "#{RONIN_URI}/ronin-support.git"
26
+ # gem 'ronin-support', '~> 0.5', git: "#{RONIN_URI}/ronin-support.git",
27
+ # branch: 'main'
27
28
 
28
29
  group :development do
29
- gem 'rake', '~> 0.8'
30
+ gem 'rake'
30
31
  gem 'rubygems-tasks', '~> 0.1'
31
- gem 'rspec', '~> 2.4'
32
+ gem 'rspec', '~> 3.0'
32
33
 
33
- gem 'redcarpet', '~> 2.1'
34
- gem 'md2man', '~> 1.2', :git => 'http://github.com/postmodern/md2man.git', :branch => 'rake_task'
34
+ gem 'kramdown', '~> 2.0'
35
+ gem 'kramdown-man', '~> 0.1'
35
36
 
36
37
  gem 'ruby-graphviz', '~> 0.9.10'
37
38
  gem 'dm-visualizer', '~> 0.2.0'
@@ -55,5 +56,5 @@ adapters = (ENV['ADAPTER'] || ENV['ADAPTERS']).to_s
55
56
  adapters = Set.new(adapters.to_s.tr(',',' ').split)
56
57
 
57
58
  (DM_ADAPTERS & adapters).each do |adapter|
58
- gem "dm-#{adapter}-adapter", DM_VERSION #, :git => "#{DM_URI}/dm-#{adapter}-adapter.git"
59
+ gem "dm-#{adapter}-adapter", DM_VERSION #, git: "#{DM_URI}/dm-#{adapter}-adapter.git"
59
60
  end
data/README.md CHANGED
@@ -1,30 +1,33 @@
1
- # Ronin
1
+ # ronin
2
2
 
3
- * [Website](http://ronin-ruby.github.com)
4
- * [Source](https://github.com/ronin-ruby/ronin)
5
- * [Issues](https://github.com/ronin-ruby/ronin/issues)
6
- * [Documentation](http://ronin-ruby.github.com/docs/ronin/frames)
7
- * [Mailing List](http://groups.google.com/group/ronin-ruby)
8
- * [irc.freenode.net #ronin](http://webchat.freenode.net/?channels=ronin&uio=Mj10cnVldd)
3
+ [![CI](https://github.com/ronin-rb/ronin/actions/workflows/ruby.yml/badge.svg)](https://github.com/ronin-rb/ronin/actions/workflows/ruby.yml)
4
+ [![Code Climate](https://codeclimate.com/github/ronin-rb/ronin.svg)](https://codeclimate.com/github/ronin-rb/ronin)
5
+
6
+ * [Website](https://ronin-rb.dev)
7
+ * [Source](https://github.com/ronin-rb/ronin)
8
+ * [Issues](https://github.com/ronin-rb/ronin/issues)
9
+ * [Documentation](https://ronin-rb.github.com/docs/ronin/frames)
10
+ * [Slack](https://ronin-rb.slack.com) |
11
+ [Discord](https://discord.gg/6WAb3PsVX9) |
12
+ [Twitter](https://twitter.com/ronin_rb) |
13
+ [IRC](https://ronin-rb.dev/irc/)
9
14
 
10
15
  ## Description
11
16
 
12
- Ronin is a [Ruby](http://www.ruby-lang.org) platform for
13
- [exploit development](http://www.exploit-db.com) and security research.
17
+ Ronin is a [Ruby] platform for vulnerability research and [exploit development].
14
18
  Ronin allows for the rapid development and distribution of code,
15
- [exploits](https://github.com/postmodern/postmodern/blob/master/scripts/exploits/http/oracle/dav_bypass.rb)
16
- or [payloads](https://gist.github.com/1403961) via
17
- [Repositories](https://github.com/postmodern/postmodern).
19
+ [Exploits][example-exploit], [Payloads][example-payload],
20
+ [Scanners][example-scanner], etc, via [Repositories].
18
21
 
19
- ### Customized Console
22
+ ### Console
20
23
 
21
- Ronin provides users with a customized Ruby Console, pre-loaded with powerful
24
+ Ronin provides users with a powerful Ruby Console, pre-loaded with powerful
22
25
  convenience methods. In the Console one can work with data and automate
23
26
  complex tasks, with greater ease than the command-line.
24
27
 
25
28
  >> File.read('data').base64_decode
26
29
 
27
- ### Integrated Database
30
+ ### Database
28
31
 
29
32
  Ronin ships with a preconfigured Database, that one can interact with from Ruby,
30
33
  without having to write any SQL.
@@ -33,16 +36,16 @@ without having to write any SQL.
33
36
 
34
37
  ### Repositories
35
38
 
36
- Ronin supports a Repository system, allowing users to organize and share
37
- miscallaneous Data, Code, Exploits, Payloads, Scanners, etc.
39
+ Ronin provides a Repository system, allowing users to organize and share
40
+ miscallaneous Data, Code, [Exploits][example-exploit],
41
+ [Payloads][example-payload], [Scanners][example-scanner], etc.
38
42
 
39
- $ ronin install git://github.com/user/exploits.git
43
+ $ ronin install git://github.com/user/myexploits.git
40
44
 
41
45
  ### Libraries
42
46
 
43
47
  Ronin provides libraries with additional functionality, such as
44
- [Exploitation](https://github.com/ronin-ruby/ronin-exploits#readme)
45
- and [Scanning](https://github.com/ronin-ruby/ronin-scanners#readme).
48
+ [Exploitation][ronin-exploits] and [Scanning][ronin-scanners]:
46
49
 
47
50
  $ gem install ronin-exploits
48
51
 
@@ -50,11 +53,11 @@ and [Scanning](https://github.com/ronin-ruby/ronin-scanners#readme).
50
53
 
51
54
  * Supports installing/updating/uninstalling of Repositories.
52
55
  * Supports installing Repositories from various media types:
53
- * [Subversion (SVN)](http://subversion.tigris.org/)
54
- * [Mercurial (Hg)](http://mercurial.selenic.com/)
55
- * [Git](http://git-scm.com/)
56
+ * [Subversion (SVN)][svn]
57
+ * [Mercurial (Hg)][hg]
58
+ * [Git][git]
56
59
  * Rsync
57
- * Provides a Database using [DataMapper](http://datamapper.org) with:
60
+ * Provides a Database using [DataMapper] with:
58
61
  * {Ronin::Author}
59
62
  * {Ronin::License}
60
63
  * {Ronin::Arch}
@@ -82,10 +85,8 @@ and [Scanning](https://github.com/ronin-ruby/ronin-scanners#readme).
82
85
  * {Ronin::Target}
83
86
  * Caches exploits, payloads, scanners, etc stored within Repositories
84
87
  into the Database.
85
- * Convenience methods provided by
86
- [ronin-support](https://github.com/ronin-ruby/ronin-support#readme).
87
- * Provides a customized Ruby Console using
88
- [Ripl](https://github.com/cldwalker/ripl#readme) with:
88
+ * Convenience methods provided by [ronin-support].
89
+ * Provides a customized Ruby Console using [Ripl][ripl] with:
89
90
  * Syntax highlighting.
90
91
  * Tab completion.
91
92
  * Auto indentation.
@@ -147,68 +148,50 @@ Remove a Database:
147
148
 
148
149
  ## Requirements
149
150
 
150
- * [Ruby](http://www.ruby-lang.org/) >= 1.8.7
151
- * [DataMapper](http://datamapper.org/):
152
- * [dm-sqlite-adapter](https://github.com/datamapper/dm-sqlite-adapter#readme)
153
- ~> 1.2
154
- * [libsqlite3](http://sqlite.org/)
155
- * [dm-core](https://github.com/datamapper/dm-core#readme)
156
- ~> 1.2
157
- * [dm-types](https://github.com/datamapper/dm-types#readme)
158
- ~> 1.2
159
- * [dm-migrations](https://github.com/datamapper/dm-migrations#readme)
160
- ~> 1.2
161
- * [dm-validations](https://github.com/datamapper/dm-validations#readme)
162
- ~> 1.2
163
- * [dm-aggregates](https://github.com/datamapper/dm-aggregates#readme)
164
- ~> 1.2
165
- * [dm-timestamps](https://github.com/datamapper/dm-timestamps#readme)
166
- ~> 1.2
167
- * [dm-is-predefined](https://github.com/postmodern/dm-is-predefined#readme)
168
- ~> 0.4
169
- * [uri-query_params](https://github.com/postmodern/uri-query_params#readme)
170
- ~> 0.6
171
- * [open_namespace](https://github.com/postmodern/open_namespace#readme)
172
- ~> 0.4
173
- * [data_paths](https://github.com/postmodern/data_paths#readme)
174
- ~> 0.3
175
- * [object_loader](https://github.com/postmodern/object_loader#readme)
176
- ~> 1.0
177
- * [parameters](https://github.com/postmodern/parameters#readme)
178
- ~> 0.4
179
- * [pullr](https://github.com/postmodern/pullr#readme)
180
- ~> 0.1, >= 0.1.2
181
- * [ripl](https://github.com/cldwalker/ripl#readme)
182
- ~> 0.3
183
- * [ripl-multi_line](https://github.com/janlelis/ripl-multi_line#readme)
184
- ~> 0.2
185
- * [ripl-auto_indent](https://github.com/janlelis/ripl-auto_indent#readme)
186
- ~> 0.1
187
- * [ripl-short_errors](https://rubygems.org/gems/ripl-short_errors)
188
- ~> 0.1
189
- * [ripl-color_result](https://github.com/janlelis/ripl-color_result#readme)
190
- ~> 0.3
191
- * [ronin-support](https://github.com/ronin-ruby/ronin-support#readme)
192
- ~> 0.5
151
+ * [Ruby] >= 1.8.7
152
+ * [DataMapper]:
153
+ * [dm-sqlite-adapter] ~> 1.2
154
+ * [libsqlite3]
155
+ * [dm-core] ~> 1.2
156
+ * [dm-types] ~> 1.2
157
+ * [dm-migrations] ~> 1.2
158
+ * [dm-validations] ~> 1.2
159
+ * [dm-aggregates] ~> 1.2
160
+ * [dm-timestamps] ~> 1.2
161
+ * [dm-is-predefined] ~> 0.4
162
+ * [uri-query_params] ~> 0.6
163
+ * [open_namespace] ~> 0.4
164
+ * [data_paths] ~> 0.3
165
+ * [object_loader] ~> 1.0
166
+ * [parameters] ~> 0.4
167
+ * [pullr] ~> 0.1, >= 0.1.2
168
+ * [ripl] ~> 0.3
169
+ * [ripl-multi_line] ~> 0.2
170
+ * [ripl-auto_indent] ~> 0.1
171
+ * [ripl-short_errors] ~> 0.1
172
+ * [ripl-color_result] ~> 0.3
173
+ * [ronin-support] ~> 0.5
193
174
 
194
175
  ## Install
195
176
 
196
- ### Stable
197
-
198
177
  $ gem install ronin
199
178
 
200
- ### Edge
179
+ ## Development
201
180
 
202
- $ git clone git://github.com/ronin-ruby/ronin.git
203
- $ cd ronin/
204
- $ bundle install
205
- $ ./bin/ronin
181
+ 1. [Fork It!](https://github.com/ronin-rb/ronin/fork)
182
+ 2. Clone It!
183
+ 3. `cd ronin`
184
+ 4. `bundle install`
185
+ 5. `git checkout -b my_feature`
186
+ 6. Code It!
187
+ 7. `bundle exec rake spec`
188
+ 8. `git push origin my_feature`
206
189
 
207
190
  ## License
208
191
 
209
- Copyright (c) 2006-2012 Hal Brodigan (postmodern.mod3 at gmail.com)
192
+ Copyright (c) 2006-2021 Hal Brodigan (postmodern.mod3 at gmail.com)
210
193
 
211
- This file is part of Ronin.
194
+ This file is part of ronin.
212
195
 
213
196
  Ronin is free software: you can redistribute it and/or modify
214
197
  it under the terms of the GNU General Public License as published by
@@ -221,4 +204,42 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
221
204
  GNU General Public License for more details.
222
205
 
223
206
  You should have received a copy of the GNU General Public License
224
- along with Ronin. If not, see <http://www.gnu.org/licenses/>.
207
+ along with Ronin. If not, see <https://www.gnu.org/licenses/>.
208
+
209
+ [Ruby]: https://www.ruby-lang.org
210
+ [exploit development]: https://www.exploit-db.com
211
+ [example-exploit]: https://github.com/ronin-rb/example-repo/blob/master/scripts/exploits/http/oracle/dav_bypass.rb
212
+ [example-payload]: https://gist.github.com/1403961
213
+ [example-scanner]: https://github.com/ronin-rb/example-repo/blob/master/scripts/scanners/oracle_dad_scanner.rb
214
+ [Repositories]: https://github.com/ronin-rb/example-repo
215
+
216
+ [ronin-support]: https://github.com/ronin-rb/ronin-support#readme
217
+ [ronin-exploits]: https://github.com/ronin-rb/ronin-exploits#readme
218
+ [ronin-scanners]: https://github.com/ronin-rb/ronin-scanners#readme
219
+
220
+ [svn]: https://subversion.apache.org/
221
+ [hg]: https://www.mercurial-scm.org/
222
+ [git]: https://git-scm.com/
223
+
224
+ [DataMapper]: http://datamapper.org
225
+ [dm-sqlite-adapter]: https://github.com/datamapper/dm-sqlite-adapter#readme
226
+ [libsqlite3]: https://sqlite.org/
227
+ [dm-core]: https://github.com/datamapper/dm-core#readme
228
+ [dm-types]: https://github.com/datamapper/dm-types#readme
229
+ [dm-migrations]: https://github.com/datamapper/dm-migrations#readme
230
+ [dm-validations]: https://github.com/datamapper/dm-validations#readme
231
+ [dm-aggregates]: https://github.com/datamapper/dm-aggregates#readme
232
+ [dm-timestamps]: https://github.com/datamapper/dm-timestamps#readme
233
+ [dm-is-predefined]: https://github.com/postmodern/dm-is-predefined#readme
234
+ [uri-query_params]: https://github.com/postmodern/uri-query_params#readme
235
+ [open_namespace]: https://github.com/postmodern/open_namespace#readme
236
+ [data_paths]: https://github.com/postmodern/data_paths#readme
237
+ [object_loader]: https://github.com/postmodern/object_loader#readme
238
+ [parameters]: https://github.com/postmodern/parameters#readme
239
+ [pullr]: https://github.com/postmodern/pullr#readme
240
+ [ripl]: https://github.com/cldwalker/ripl#readme
241
+ [ripl-multi_line]: https://github.com/janlelis/ripl-multi_line#readme
242
+ [ripl-auto_indent]: https://github.com/janlelis/ripl-auto_indent#readme
243
+ [ripl-short_errors]: https://rubygems.org/gems/ripl-short_errors
244
+ [ripl-color_result]: https://github.com/janlelis/ripl-color_result#readme
245
+ [ronin-support]: https://github.com/ronin-rb/ronin-support#readme