ronin-db 0.2.0.rc1 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +1 -0
  3. data/.ruby-version +1 -1
  4. data/ChangeLog.md +8 -2
  5. data/README.md +1 -1
  6. data/data/completions/ronin-db +181 -93
  7. data/gemspec.yml +3 -3
  8. data/lib/ronin/db/cli/command.rb +2 -2
  9. data/lib/ronin/db/cli/commands/add.rb +4 -4
  10. data/lib/ronin/db/cli/commands/asn.rb +3 -3
  11. data/lib/ronin/db/cli/commands/certs.rb +2 -2
  12. data/lib/ronin/db/cli/commands/completion.rb +3 -2
  13. data/lib/ronin/db/cli/commands/creds.rb +3 -3
  14. data/lib/ronin/db/cli/commands/edit.rb +3 -3
  15. data/lib/ronin/db/cli/commands/emails.rb +3 -3
  16. data/lib/ronin/db/cli/commands/hosts.rb +3 -3
  17. data/lib/ronin/db/cli/commands/ips.rb +3 -3
  18. data/lib/ronin/db/cli/commands/irb.rb +4 -4
  19. data/lib/ronin/db/cli/commands/list.rb +3 -3
  20. data/lib/ronin/db/cli/commands/migrate.rb +4 -4
  21. data/lib/ronin/db/cli/commands/open_ports.rb +2 -2
  22. data/lib/ronin/db/cli/commands/oses.rb +2 -2
  23. data/lib/ronin/db/cli/commands/passwords.rb +3 -3
  24. data/lib/ronin/db/cli/commands/people.rb +3 -3
  25. data/lib/ronin/db/cli/commands/phone_numbers.rb +3 -3
  26. data/lib/ronin/db/cli/commands/ports.rb +3 -3
  27. data/lib/ronin/db/cli/commands/remove.rb +3 -3
  28. data/lib/ronin/db/cli/commands/services.rb +3 -3
  29. data/lib/ronin/db/cli/commands/software.rb +2 -2
  30. data/lib/ronin/db/cli/commands/street_addresses.rb +2 -2
  31. data/lib/ronin/db/cli/commands/urls.rb +3 -3
  32. data/lib/ronin/db/cli/commands/web_vulns.rb +2 -2
  33. data/lib/ronin/db/cli/database_options.rb +3 -3
  34. data/lib/ronin/db/cli/deletable.rb +1 -1
  35. data/lib/ronin/db/cli/importable.rb +1 -1
  36. data/lib/ronin/db/cli/model_command.rb +4 -4
  37. data/lib/ronin/db/cli/modifiable.rb +3 -3
  38. data/lib/ronin/db/cli/printing.rb +1 -1
  39. data/lib/ronin/db/cli/ruby_shell.rb +1 -1
  40. data/lib/ronin/db/cli/uri_methods.rb +3 -3
  41. data/lib/ronin/db/cli.rb +5 -2
  42. data/lib/ronin/db/config_file.rb +3 -3
  43. data/lib/ronin/db/exceptions.rb +1 -1
  44. data/lib/ronin/db/home.rb +1 -1
  45. data/lib/ronin/db/root.rb +1 -1
  46. data/lib/ronin/db/tasks.rb +1 -1
  47. data/lib/ronin/db/version.rb +2 -2
  48. data/lib/ronin/db.rb +4 -4
  49. metadata +8 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b90bbeaeeb69cfb2ed584046153d06bc8a39102e15bb0a9d9ac5d59fed440604
4
- data.tar.gz: 0a5f6a3dbd2ed0f68f3cb0d3b387a62ac584d6673065d9b6195c862e65a85f5f
3
+ metadata.gz: fdc9f1c153fca20ad658526060c01de97c8a5a9b926b2b43a03bef3b0e960fb7
4
+ data.tar.gz: e75fe5e088836975eac58bf3abcc0b2ac4f4b462ae3fe41d1ad50ebd8fd77612
5
5
  SHA512:
6
- metadata.gz: 8c7ab06b4bd961799a7f861a2ab0063fa9f86fb92642ce06766a88467def08a2711ce80d4668ccbe0571f0a0707aba08b15ca2ffd5d239279765e8b204aa1b5a
7
- data.tar.gz: ec4013b311a613042e00e7604491fd42499a24b33f8d9f0225e4db042f9bc689806e455fb2fff65e0209647e89315924eda443d6c1067df18314a3734d19551f
6
+ metadata.gz: e646b2296ae19a34671fc731cf5f6649585b289a5ed251e0070131a63d3c66357df9a4fcd579bf901f23d6de698932810acbbc87e57c92c5c28f4a95e38882e1
7
+ data.tar.gz: 96866b2296fa71f397e3680ae1975931ae6dfa3eb4d4b027d7e3286e36c24b1ff2870c1a420ebbf7f0ece1c774c0b57f564528dda734c604ab221525ccca5df0
@@ -13,6 +13,7 @@ jobs:
13
13
  - '3.1'
14
14
  - '3.2'
15
15
  - '3.3'
16
+ - '3.4'
16
17
  - jruby
17
18
  - truffleruby
18
19
  name: Ruby ${{ matrix.ruby }}
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- ruby-3.1
1
+ ruby-3.3
data/ChangeLog.md CHANGED
@@ -1,6 +1,11 @@
1
- ### 0.2.0 / 2024-XX-XX
1
+ ### 0.2.1 / 2025-02-14
2
+
3
+ * Use `require_relative` to improve load times.
4
+
5
+ ### 0.2.0 / 2024-07-22
2
6
 
3
7
  * Require [ronin-db-activerecord] ~> 0.2.
8
+ * Require [ronin-core] ~> 0.2.
4
9
  * Added {Ronin::DB::Tasks}.
5
10
  * Added the `pool:` keyword argument to {Ronin::DB.connect}.
6
11
  * Allow {Ronin::DB.connect} to accept a String URL.
@@ -9,7 +14,7 @@
9
14
 
10
15
  * Added the `--db-file` option to all `ronin-db` commands.
11
16
  * Added the `ronin-db completion` command to install shell completion files for
12
- all `ronin-repos` commands for Bash and Zsh shells.
17
+ all `ronin-db` commands for Bash and Zsh shells.
13
18
  * Added the `ronin-db ports` command.
14
19
  * Added the `ronin-db open-ports` command.
15
20
  * Added the `ronin-db services` command.
@@ -56,3 +61,4 @@
56
61
 
57
62
  [sqlite]: https://sqlite.org/
58
63
  [ronin-db-activerecord]: https://github.com/ronin-rb/ronin-db-activerecord#readme
64
+ [ronin-core]: https://github.com/ronin-rb/ronin-core#readme
data/README.md CHANGED
@@ -257,7 +257,7 @@ local database console.
257
257
 
258
258
  ## License
259
259
 
260
- Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
260
+ Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
261
261
 
262
262
  ronin-db is free software: you can redistribute it and/or modify
263
263
  it under the terms of the GNU Lesser General Public License as published
@@ -11,7 +11,7 @@ _ronin-db_completions_filter() {
11
11
 
12
12
  if [[ "${cur:0:1}" == "-" ]]; then
13
13
  echo "$words"
14
-
14
+
15
15
  else
16
16
  for word in $words; do
17
17
  [[ "${word:0:1}" != "-" ]] && result+=("$word")
@@ -28,244 +28,332 @@ _ronin-db_completions() {
28
28
  local compline="${compwords[*]}"
29
29
 
30
30
  case "$compline" in
31
+ 'street-addresses'*'--db-file')
32
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -A directory -- "$cur")
33
+ ;;
34
+
31
35
  'certs'*'--subject-alt-name')
32
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A hostname -- "$cur" )
36
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A hostname -- "$cur")
37
+ ;;
38
+
39
+ 'phone-numbers'*'--db-file')
40
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -A directory -- "$cur")
33
41
  ;;
34
42
 
35
43
  'phone-numbers'*'--import')
36
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
44
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -- "$cur")
37
45
  ;;
38
46
 
39
- 'passwords'*'--for-user')
40
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A user -- "$cur" )
47
+ 'web-vulns'*'--for-path')
48
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -A directory -- "$cur")
49
+ ;;
50
+
51
+ 'open-ports'*'--db-file')
52
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -A directory -- "$cur")
41
53
  ;;
42
54
 
43
55
  'web-vulns'*'--for-host')
44
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A hostname -- "$cur" )
56
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A hostname -- "$cur")
57
+ ;;
58
+
59
+ 'passwords'*'--for-user')
60
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A user -- "$cur")
61
+ ;;
62
+
63
+ 'web-vulns'*'--db-file')
64
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -A directory -- "$cur")
65
+ ;;
66
+
67
+ 'passwords'*'--db-file')
68
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -A directory -- "$cur")
45
69
  ;;
46
70
 
47
71
  'certs'*'--common-name')
48
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A hostname -- "$cur" )
72
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A hostname -- "$cur")
73
+ ;;
74
+
75
+ 'emails'*'--with-user')
76
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A user -- "$cur")
49
77
  ;;
50
78
 
51
79
  'emails'*'--with-host')
52
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A hostname -- "$cur" )
80
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A hostname -- "$cur")
53
81
  ;;
54
82
 
55
- 'emails'*'--with-user')
56
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A user -- "$cur" )
83
+ 'software'*'--db-file')
84
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -A directory -- "$cur")
57
85
  ;;
58
86
 
59
87
  'passwords'*'--import')
60
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
88
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -- "$cur")
89
+ ;;
90
+
91
+ 'services'*'--db-file')
92
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -A directory -- "$cur")
61
93
  ;;
62
94
 
63
95
  'services'*'--import')
64
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
96
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -- "$cur")
65
97
  ;;
66
98
 
67
- 'creds'*'--for-user')
68
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A user -- "$cur" )
99
+ 'migrate'*'--db-file')
100
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -A directory -- "$cur")
69
101
  ;;
70
102
 
71
- 'street-addresses'*)
72
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --for-person -P --for-organization -O --with-address -a --with-city -c --with-state -s --with-country -C --with-zipcode -z")" -- "$cur" )
103
+ 'people'*'--db-file')
104
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -A directory -- "$cur")
73
105
  ;;
74
106
 
75
107
  'urls'*'--directory')
76
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A directory -- "$cur" )
108
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A directory -- "$cur")
77
109
  ;;
78
110
 
79
- 'emails'*'--import')
80
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
111
+ 'creds'*'--for-user')
112
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A user -- "$cur")
113
+ ;;
114
+
115
+ 'street-addresses'*)
116
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --for-person -P --for-organization -O --with-address -a --with-city -c --with-state -s --with-country -C --with-zipcode -z")" -- "$cur")
117
+ ;;
118
+
119
+ 'emails'*'--db-file')
120
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -A directory -- "$cur")
81
121
  ;;
82
122
 
83
123
  'ips'*'--with-host')
84
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A hostname -- "$cur" )
124
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A hostname -- "$cur")
125
+ ;;
126
+
127
+ 'hosts'*'--db-file')
128
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -A directory -- "$cur")
129
+ ;;
130
+
131
+ 'ports'*'--db-file')
132
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -A directory -- "$cur")
133
+ ;;
134
+
135
+ 'emails'*'--import')
136
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -- "$cur")
85
137
  ;;
86
138
 
87
139
  'people'*'--import')
88
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
140
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -- "$cur")
141
+ ;;
142
+
143
+ 'creds'*'--db-file')
144
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -A directory -- "$cur")
145
+ ;;
146
+
147
+ 'certs'*'--db-file')
148
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -A directory -- "$cur")
149
+ ;;
150
+
151
+ 'ports'*'--import')
152
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -- "$cur")
153
+ ;;
154
+
155
+ 'oses'*'--db-file')
156
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -A directory -- "$cur")
157
+ ;;
158
+
159
+ 'urls'*'--db-file')
160
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -A directory -- "$cur")
161
+ ;;
162
+
163
+ 'hosts'*'--import')
164
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -- "$cur")
89
165
  ;;
90
166
 
91
167
  'add'*'--username')
92
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A user -- "$cur" )
168
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A user -- "$cur")
93
169
  ;;
94
170
 
95
171
  'certs'*'--import')
96
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
172
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -- "$cur")
97
173
  ;;
98
174
 
99
175
  'creds'*'--import')
100
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
176
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -- "$cur")
101
177
  ;;
102
178
 
103
- 'hosts'*'--import')
104
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
179
+ 'ips'*'--db-file')
180
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -A directory -- "$cur")
105
181
  ;;
106
182
 
107
- 'ports'*'--import')
108
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
183
+ 'add'*'--sqlite3')
184
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -- "$cur")
109
185
  ;;
110
186
 
111
- 'add'*'--sqlite3')
112
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
187
+ 'urls'*'--import')
188
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -- "$cur")
113
189
  ;;
114
190
 
115
- 'phone-numbers'*)
116
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --delete --delete-all --add --import --for-person -P --for-organization -O --with-country-code -c --with-area-code -a --with-prefix -p --with-line-number -l --similar-to -S")" -- "$cur" )
191
+ 'irb'*'--db-file')
192
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -A directory -- "$cur")
117
193
  ;;
118
194
 
119
- 'urls'*'--import')
120
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
195
+ 'asn'*'--db-file')
196
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -A directory -- "$cur")
121
197
  ;;
122
198
 
123
- 'ips'*'--import')
124
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
199
+ 'phone-numbers'*)
200
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --delete --delete-all --add --import --for-person -P --for-organization -O --with-country-code -c --with-area-code -a --with-prefix -p --with-line-number -l --similar-to -S")" -- "$cur")
125
201
  ;;
126
202
 
127
- 'passwords'*'-u')
128
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A user -- "$cur" )
203
+ 'web-vulns'*'-p')
204
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -A directory -- "$cur")
129
205
  ;;
130
206
 
131
207
  'web-vulns'*'-H')
132
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A hostname -- "$cur" )
208
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A hostname -- "$cur")
133
209
  ;;
134
210
 
135
- 'urls'*'--host')
136
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A hostname -- "$cur" )
211
+ 'passwords'*'-u')
212
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A user -- "$cur")
137
213
  ;;
138
214
 
139
- 'add'*'--host')
140
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A hostname -- "$cur" )
215
+ 'ips'*'--import')
216
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -- "$cur")
141
217
  ;;
142
218
 
143
- 'asn'*'--file')
144
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
219
+ 'urls'*'--path')
220
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -A directory -- "$cur")
221
+ ;;
222
+
223
+ 'urls'*'--host')
224
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A hostname -- "$cur")
145
225
  ;;
146
226
 
147
227
  'completion'*)
148
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-db_completions_filter "--print --install --uninstall")" -- "$cur" )
228
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-db_completions_filter "--print --install --uninstall")" -- "$cur")
149
229
  ;;
150
230
 
151
- 'open-ports'*)
152
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --with-port -p --with-protocol -P --with-service -S --with-ip -I")" -- "$cur" )
231
+ 'asn'*'--file')
232
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -- "$cur")
153
233
  ;;
154
234
 
155
- 'emails'*'-H')
156
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A hostname -- "$cur" )
235
+ 'open-ports'*)
236
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --with-port -p --with-protocol -P --with-service -S --with-ip -I")" -- "$cur")
157
237
  ;;
158
238
 
159
- 'emails'*'-u')
160
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A user -- "$cur" )
239
+ 'add'*'--host')
240
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A hostname -- "$cur")
161
241
  ;;
162
242
 
163
243
  'passwords'*)
164
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --delete --delete-all --add --import --for-user -u --with-email -e")" -- "$cur" )
244
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --delete --delete-all --add --import --for-user -u --with-email -e")" -- "$cur")
165
245
  ;;
166
246
 
167
247
  'web-vulns'*)
168
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --with-type -t --for-host -H --for-domain -d --for-path -p --with-query-param -q --with-header-name --with-cookie-param -c --with-form-param -f --with-request-method -M")" -- "$cur" )
248
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --with-type -t --for-host -H --for-domain -d --for-path -p --with-query-param -q --with-header-name --with-cookie-param -c --with-form-param -f --with-request-method -M")" -- "$cur")
169
249
  ;;
170
250
 
171
- 'creds'*'-u')
172
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A user -- "$cur" )
251
+ 'emails'*'-H')
252
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A hostname -- "$cur")
173
253
  ;;
174
254
 
175
- 'services'*)
176
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --delete --delete-all --add --import --named --with-port -p --with-protocol -P --with-ip -I")" -- "$cur" )
255
+ 'emails'*'-u')
256
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A user -- "$cur")
257
+ ;;
258
+
259
+ 'creds'*'-u')
260
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A user -- "$cur")
177
261
  ;;
178
262
 
179
263
  'software'*)
180
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --name -N --named --version -V --vendor")" -- "$cur" )
264
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --name -N --named --version -V --vendor")" -- "$cur")
181
265
  ;;
182
266
 
183
- 'migrate'*)
184
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file")" -- "$cur" )
267
+ 'services'*)
268
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --delete --delete-all --add --import --named --with-port -p --with-protocol -P --with-ip -I")" -- "$cur")
269
+ ;;
270
+
271
+ 'urls'*'-d')
272
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A directory -- "$cur")
185
273
  ;;
186
274
 
187
275
  'urls'*'-H')
188
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A hostname -- "$cur" )
276
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A hostname -- "$cur")
189
277
  ;;
190
278
 
191
- 'urls'*'-d')
192
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A directory -- "$cur" )
279
+ 'migrate'*)
280
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file")" -- "$cur")
193
281
  ;;
194
282
 
195
283
  'add'*'-H')
196
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A hostname -- "$cur" )
284
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A hostname -- "$cur")
197
285
  ;;
198
286
 
199
- 'add'*'-u')
200
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A user -- "$cur" )
287
+ 'people'*)
288
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --delete --delete-all --add --import --for-address -a --for-city -c --for-state -s --for-province -p --for-zipcode -z --for-country -C --with-prefix -P --with-first-name -f --with-middle-name -m --with-middle-initial -M --with-last-name -l --with-suffix -S")" -- "$cur")
201
289
  ;;
202
290
 
203
- 'asn'*'-f')
204
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
291
+ 'add'*'-u')
292
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A user -- "$cur")
205
293
  ;;
206
294
 
207
- 'emails'*)
208
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --delete --delete-all --add --import --with-host -H --with-ip -I --with-user -u --for-person -P --for-organization -O")" -- "$cur" )
295
+ 'asn'*'-f')
296
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -- "$cur")
209
297
  ;;
210
298
 
211
299
  'ips'*'-H')
212
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A hostname -- "$cur" )
300
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A hostname -- "$cur")
213
301
  ;;
214
302
 
215
- 'people'*)
216
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --delete --delete-all --add --import --for-address -a --for-city -c --for-state -s --for-province -p --for-zipcode -z --for-country -C --with-prefix -P --with-first-name -f --with-middle-name -m --with-middle-initial -M --with-last-name -l --with-suffix -S")" -- "$cur" )
303
+ 'emails'*)
304
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --delete --delete-all --add --import --with-host -H --with-ip -I --with-user -u --for-person -P --for-organization -O")" -- "$cur")
217
305
  ;;
218
306
 
219
307
  'certs'*)
220
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --active -A --expired -E --issuer-common-name --issuer-organization --issuer-organizational-unit --issuer-locality --issuer-state --issuer-country --common-name --subject-alt-name --organization --organizational-unit --locality --state --country --import")" -- "$cur" )
308
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --active -A --expired -E --issuer-common-name --issuer-organization --issuer-organizational-unit --issuer-locality --issuer-state --issuer-country --common-name --subject-alt-name --organization --organizational-unit --locality --state --country --import")" -- "$cur")
221
309
  ;;
222
310
 
223
311
  'creds'*)
224
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --delete --delete-all --add --import --for-user -u --with-password -P")" -- "$cur" )
312
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --delete --delete-all --add --import --for-user -u --with-password -P")" -- "$cur")
225
313
  ;;
226
314
 
227
315
  'hosts'*)
228
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --delete --delete-all --add --import --with-ip -I --with-port -p --domain -D --tld -T")" -- "$cur" )
316
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --delete --delete-all --add --import --with-ip -I --with-port -p --domain -D --tld -T")" -- "$cur")
229
317
  ;;
230
318
 
231
319
  'ports'*)
232
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --delete --delete-all --add --import --number -N --with-protocol -P --with-service -S --with-ip -I")" -- "$cur" )
320
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --delete --delete-all --add --import --number -N --with-protocol -P --with-service -S --with-ip -I")" -- "$cur")
321
+ ;;
322
+
323
+ 'urls'*)
324
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --delete --delete-all --add --import --http --https --host -H --port -p --path --fragment --directory -d --with-ext -E --query-string -q --with-query-param -P --with-query-param-name --with-query-param-value")" -- "$cur")
233
325
  ;;
234
326
 
235
327
  'list'*)
236
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-db_completions_filter "--verbose -v")" -- "$cur" )
328
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-db_completions_filter "--verbose -v")" -- "$cur")
237
329
  ;;
238
330
 
239
331
  'oses'*)
240
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --name -N --named --flavor -F --version -V")" -- "$cur" )
332
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --name -N --named --flavor -F --version -V")" -- "$cur")
241
333
  ;;
242
334
 
243
- 'urls'*)
244
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --delete --delete-all --add --import --http --https --host -H --port -p --path --fragment --directory -d --with-ext -E --query-string -q --with-query-param -P --with-query-param-name --with-query-param-value")" -- "$cur" )
335
+ 'ips'*)
336
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --delete --delete-all --add --import --v4 -4 --v6 -6 --with-port -p --with-mac-addr -M --with-host -H")" -- "$cur")
245
337
  ;;
246
338
 
247
- 'add'*)
248
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-db_completions_filter "--adapter -A --sqlite3 --mysql2 --postgresql --host -H --port -p --username -u --password -P --read-password --database -D")" -- "$cur" )
339
+ 'irb'*)
340
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --no-connect")" -- "$cur")
249
341
  ;;
250
342
 
251
343
  'asn'*)
252
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --number -n --country-code -C --name -N --named --ip -I --ipv4 -4 --ipv6 -6 --update -u --url -U --file -f")" -- "$cur" )
253
- ;;
254
-
255
- 'ips'*)
256
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --delete --delete-all --add --import --v4 -4 --v6 -6 --with-port -p --with-mac-addr -M --with-host -H")" -- "$cur" )
344
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --verbose -v --number -n --country-code -C --name -N --named --ip -I --ipv4 -4 --ipv6 -6 --update -u --url -U --file -f")" -- "$cur")
257
345
  ;;
258
346
 
259
- 'irb'*)
260
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-db_completions_filter "--db --db-uri --db-file --no-connect")" -- "$cur" )
347
+ 'add'*)
348
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-db_completions_filter "--adapter -A --sqlite3 --mysql2 --postgresql --host -H --port -p --username -u --password -P --read-password --database -D")" -- "$cur")
261
349
  ;;
262
350
 
263
351
  *)
264
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-db_completions_filter "--version -V help add asn certs completion creds edit emails hosts ips irb list migrate open-ports oses passwords people phone-numbers ports remove services software street-addresses urls web-vulns console")" -- "$cur" )
352
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-db_completions_filter "--version -V help add asn certs completion creds edit emails hosts ips irb list migrate open-ports oses passwords people phone-numbers ports remove services software street-addresses urls web-vulns console")" -- "$cur")
265
353
  ;;
266
354
 
267
355
  esac
268
356
  } &&
269
- complete -F _ronin-db_completions ronin-db
357
+ complete -F _ronin-db_completions ronin-db
270
358
 
271
359
  # ex: filetype=sh
data/gemspec.yml CHANGED
@@ -7,7 +7,7 @@ description: |
7
7
  host names, IPs, ports, etc. ronin-db also provides CLI commands for managing
8
8
  the database(s).
9
9
 
10
- license: LGPL-3.0
10
+ license: LGPL-3.0-or-later
11
11
  authors: Postmodern
12
12
  email: postmodern.mod3@gmail.com
13
13
  homepage: https://ronin-rb.dev
@@ -60,9 +60,9 @@ jruby_dependencies:
60
60
 
61
61
  dependencies:
62
62
  # Ronin dependencies:
63
- ronin-db-activerecord: ~> 0.2.0.rc1
63
+ ronin-db-activerecord: ~> 0.2
64
64
  ronin-support: ~> 1.0
65
- ronin-core: ~> 0.2.0.rc1
65
+ ronin-core: ~> 0.2
66
66
 
67
67
  development_dependencies:
68
68
  bundler: ~> 2.0
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-db - A common database library for managing and querying security data.
4
4
  #
5
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-db is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -18,7 +18,7 @@
18
18
  # along with ronin-db. If not, see <https://www.gnu.org/licenses/>.
19
19
  #
20
20
 
21
- require 'ronin/db/root'
21
+ require_relative '../root'
22
22
 
23
23
  require 'ronin/core/cli/command'
24
24
 
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-db - A common database library for managing and querying security data.
4
4
  #
5
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-db is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -18,9 +18,9 @@
18
18
  # along with ronin-db. If not, see <https://www.gnu.org/licenses/>.
19
19
  #
20
20
 
21
- require 'ronin/db/cli/command'
22
- require 'ronin/db/cli/uri_methods'
23
- require 'ronin/db/config_file'
21
+ require_relative '../command'
22
+ require_relative '../uri_methods'
23
+ require_relative '../../config_file'
24
24
 
25
25
  require 'command_kit/options/verbose'
26
26
  require 'command_kit/printing'
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-db - A common database library for managing and querying security data.
4
4
  #
5
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-db is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -18,9 +18,9 @@
18
18
  # along with ronin-db. If not, see <https://www.gnu.org/licenses/>.
19
19
  #
20
20
 
21
- require 'ronin/db/cli/model_command'
22
- require 'ronin/core/cli/logging'
21
+ require_relative '../model_command'
23
22
 
23
+ require 'ronin/core/cli/logging'
24
24
  require 'ronin/support/network/asn'
25
25
  require 'ronin/support/network/asn/list'
26
26
 
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-db - A common database library for managing and querying security data.
4
4
  #
5
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-db is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -18,7 +18,7 @@
18
18
  # along with ronin-db. If not, see <https://www.gnu.org/licenses/>.
19
19
  #
20
20
 
21
- require 'ronin/db/cli/model_command'
21
+ require_relative '../model_command'
22
22
 
23
23
  require 'command_kit/printing/indent'
24
24
  require 'command_kit/printing/fields'
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-db - A common database library for managing and querying security data.
4
4
  #
5
- # Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2006-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-db is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -18,9 +18,10 @@
18
18
  # along with ronin-db. If not, see <https://www.gnu.org/licenses/>.
19
19
  #
20
20
 
21
- require 'ronin/db/root'
22
21
  require 'ronin/core/cli/completion_command'
23
22
 
23
+ require_relative '../../root'
24
+
24
25
  module Ronin
25
26
  module DB
26
27
  class CLI