miteru 1.2.2 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/gem.yml +36 -0
  3. data/.github/workflows/{test.yml → ruby.yml} +4 -13
  4. data/.gitignore +4 -1
  5. data/.rspec +1 -1
  6. data/README.md +7 -17
  7. data/docker-compose.yml +12 -0
  8. data/exe/miteru +3 -3
  9. data/lefthook.yml +9 -0
  10. data/lib/miteru/cli/application.rb +27 -0
  11. data/lib/miteru/cli/base.rb +16 -0
  12. data/lib/miteru/cli/database.rb +11 -0
  13. data/lib/miteru/commands/database.rb +23 -0
  14. data/lib/miteru/commands/main.rb +37 -0
  15. data/lib/miteru/commands/sidekiq.rb +35 -0
  16. data/lib/miteru/commands/web.rb +37 -0
  17. data/lib/miteru/concerns/database_connectable.rb +16 -0
  18. data/lib/miteru/concerns/error_unwrappable.rb +30 -0
  19. data/lib/miteru/config.rb +98 -0
  20. data/lib/miteru/crawler.rb +28 -44
  21. data/lib/miteru/database.rb +50 -38
  22. data/lib/miteru/downloader.rb +52 -41
  23. data/lib/miteru/errors.rb +37 -0
  24. data/lib/miteru/feeds/ayashige.rb +9 -20
  25. data/lib/miteru/feeds/base.rb +141 -0
  26. data/lib/miteru/feeds/phishing_database.rb +11 -10
  27. data/lib/miteru/feeds/urlscan.rb +47 -19
  28. data/lib/miteru/feeds/urlscan_pro.rb +20 -18
  29. data/lib/miteru/http.rb +51 -0
  30. data/lib/miteru/kit.rb +28 -20
  31. data/lib/miteru/mixin.rb +2 -29
  32. data/lib/miteru/notifiers/base.rb +10 -3
  33. data/lib/miteru/notifiers/slack.rb +85 -10
  34. data/lib/miteru/notifiers/urlscan.rb +29 -14
  35. data/lib/miteru/orchestrator.rb +51 -0
  36. data/lib/miteru/record.rb +8 -15
  37. data/lib/miteru/service.rb +28 -0
  38. data/lib/miteru/sidekiq/application.rb +13 -0
  39. data/lib/miteru/sidekiq/jobs.rb +21 -0
  40. data/lib/miteru/version.rb +1 -1
  41. data/lib/miteru/web/application.rb +42 -0
  42. data/lib/miteru/website.rb +48 -48
  43. data/lib/miteru.rb +130 -22
  44. data/miteru-sidekiq.service +13 -0
  45. data/miteru.db-shm +0 -0
  46. data/miteru.db-wal +0 -0
  47. data/miteru.gemspec +49 -38
  48. metadata +265 -97
  49. data/.overcommit.yml +0 -12
  50. data/.standard.yml +0 -4
  51. data/lib/miteru/attachement.rb +0 -74
  52. data/lib/miteru/cli.rb +0 -41
  53. data/lib/miteru/configuration.rb +0 -122
  54. data/lib/miteru/error.rb +0 -7
  55. data/lib/miteru/feeds/feed.rb +0 -53
  56. data/lib/miteru/feeds/phishstats.rb +0 -28
  57. data/lib/miteru/feeds.rb +0 -45
  58. data/lib/miteru/http_client.rb +0 -85
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: miteru
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.2
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Manabu Niseki
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-08-09 00:00:00.000000000 Z
11
+ date: 2024-01-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,42 +16,56 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.3'
19
+ version: '2.5'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '2.3'
26
+ version: '2.5'
27
+ - !ruby/object:Gem::Dependency
28
+ name: capybara
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '3.40'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3.40'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: coveralls_reborn
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
45
  - - "~>"
32
46
  - !ruby/object:Gem::Version
33
- version: '0.25'
47
+ version: '0.28'
34
48
  type: :development
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
52
  - - "~>"
39
53
  - !ruby/object:Gem::Version
40
- version: '0.25'
54
+ version: '0.28'
41
55
  - !ruby/object:Gem::Dependency
42
- name: glint
56
+ name: fuubar
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
59
  - - "~>"
46
60
  - !ruby/object:Gem::Version
47
- version: '0.1'
61
+ version: '2.5'
48
62
  type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
66
  - - "~>"
53
67
  - !ruby/object:Gem::Version
54
- version: '0.1'
68
+ version: '2.5'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: mysql2
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -67,145 +81,159 @@ dependencies:
67
81
  - !ruby/object:Gem::Version
68
82
  version: '0.5'
69
83
  - !ruby/object:Gem::Dependency
70
- name: overcommit
84
+ name: pg
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
87
  - - "~>"
74
88
  - !ruby/object:Gem::Version
75
- version: '0.59'
89
+ version: '1.5'
76
90
  type: :development
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
94
  - - "~>"
81
95
  - !ruby/object:Gem::Version
82
- version: '0.59'
96
+ version: '1.5'
83
97
  - !ruby/object:Gem::Dependency
84
- name: pg
98
+ name: rake
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
101
  - - "~>"
88
102
  - !ruby/object:Gem::Version
89
- version: '1.4'
103
+ version: '13.1'
90
104
  type: :development
91
105
  prerelease: false
92
106
  version_requirements: !ruby/object:Gem::Requirement
93
107
  requirements:
94
108
  - - "~>"
95
109
  - !ruby/object:Gem::Version
96
- version: '1.4'
110
+ version: '13.1'
97
111
  - !ruby/object:Gem::Dependency
98
- name: rake
112
+ name: rspec
99
113
  requirement: !ruby/object:Gem::Requirement
100
114
  requirements:
101
115
  - - "~>"
102
116
  - !ruby/object:Gem::Version
103
- version: '13.0'
117
+ version: '3.12'
104
118
  type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
108
122
  - - "~>"
109
123
  - !ruby/object:Gem::Version
110
- version: '13.0'
124
+ version: '3.12'
111
125
  - !ruby/object:Gem::Dependency
112
- name: rspec
126
+ name: simplecov-lcov
113
127
  requirement: !ruby/object:Gem::Requirement
114
128
  requirements:
115
129
  - - "~>"
116
130
  - !ruby/object:Gem::Version
117
- version: '3.11'
131
+ version: '0.8'
118
132
  type: :development
119
133
  prerelease: false
120
134
  version_requirements: !ruby/object:Gem::Requirement
121
135
  requirements:
122
136
  - - "~>"
123
137
  - !ruby/object:Gem::Version
124
- version: '3.11'
138
+ version: '0.8'
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: standard
127
141
  requirement: !ruby/object:Gem::Requirement
128
142
  requirements:
129
143
  - - "~>"
130
144
  - !ruby/object:Gem::Version
131
- version: '1.14'
145
+ version: '1.33'
132
146
  type: :development
133
147
  prerelease: false
134
148
  version_requirements: !ruby/object:Gem::Requirement
135
149
  requirements:
136
150
  - - "~>"
137
151
  - !ruby/object:Gem::Version
138
- version: '1.14'
152
+ version: '1.33'
139
153
  - !ruby/object:Gem::Dependency
140
- name: vcr
154
+ name: test-prof
141
155
  requirement: !ruby/object:Gem::Requirement
142
156
  requirements:
143
157
  - - "~>"
144
158
  - !ruby/object:Gem::Version
145
- version: '6.1'
159
+ version: '1.3'
146
160
  type: :development
147
161
  prerelease: false
148
162
  version_requirements: !ruby/object:Gem::Requirement
149
163
  requirements:
150
164
  - - "~>"
151
165
  - !ruby/object:Gem::Version
152
- version: '6.1'
166
+ version: '1.3'
153
167
  - !ruby/object:Gem::Dependency
154
- name: webmock
168
+ name: vcr
155
169
  requirement: !ruby/object:Gem::Requirement
156
170
  requirements:
157
171
  - - "~>"
158
172
  - !ruby/object:Gem::Version
159
- version: '3.17'
173
+ version: '6.2'
160
174
  type: :development
161
175
  prerelease: false
162
176
  version_requirements: !ruby/object:Gem::Requirement
163
177
  requirements:
164
178
  - - "~>"
165
179
  - !ruby/object:Gem::Version
166
- version: '3.17'
180
+ version: '6.2'
167
181
  - !ruby/object:Gem::Dependency
168
- name: webrick
182
+ name: webmock
169
183
  requirement: !ruby/object:Gem::Requirement
170
184
  requirements:
171
185
  - - "~>"
172
186
  - !ruby/object:Gem::Version
173
- version: 1.7.0
187
+ version: '3.19'
174
188
  type: :development
175
189
  prerelease: false
176
190
  version_requirements: !ruby/object:Gem::Requirement
177
191
  requirements:
178
192
  - - "~>"
179
193
  - !ruby/object:Gem::Version
180
- version: 1.7.0
194
+ version: '3.19'
181
195
  - !ruby/object:Gem::Dependency
182
196
  name: activerecord
183
197
  requirement: !ruby/object:Gem::Requirement
184
198
  requirements:
185
- - - "~>"
199
+ - - '='
186
200
  - !ruby/object:Gem::Version
187
- version: '7.0'
201
+ version: 7.1.3
188
202
  type: :runtime
189
203
  prerelease: false
190
204
  version_requirements: !ruby/object:Gem::Requirement
191
205
  requirements:
192
- - - "~>"
206
+ - - '='
193
207
  - !ruby/object:Gem::Version
194
- version: '7.0'
208
+ version: 7.1.3
209
+ - !ruby/object:Gem::Dependency
210
+ name: anyway_config
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - '='
214
+ - !ruby/object:Gem::Version
215
+ version: 2.6.2
216
+ type: :runtime
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - '='
221
+ - !ruby/object:Gem::Version
222
+ version: 2.6.2
195
223
  - !ruby/object:Gem::Dependency
196
224
  name: colorize
197
225
  requirement: !ruby/object:Gem::Requirement
198
226
  requirements:
199
- - - "~>"
227
+ - - '='
200
228
  - !ruby/object:Gem::Version
201
- version: '0.8'
229
+ version: 1.1.0
202
230
  type: :runtime
203
231
  prerelease: false
204
232
  version_requirements: !ruby/object:Gem::Requirement
205
233
  requirements:
206
- - - "~>"
234
+ - - '='
207
235
  - !ruby/object:Gem::Version
208
- version: '0.8'
236
+ version: 1.1.0
209
237
  - !ruby/object:Gem::Dependency
210
238
  name: dotenv
211
239
  requirement: !ruby/object:Gem::Requirement
@@ -224,157 +252,283 @@ dependencies:
224
252
  name: down
225
253
  requirement: !ruby/object:Gem::Requirement
226
254
  requirements:
227
- - - "~>"
255
+ - - '='
228
256
  - !ruby/object:Gem::Version
229
- version: '5.3'
257
+ version: 5.4.1
230
258
  type: :runtime
231
259
  prerelease: false
232
260
  version_requirements: !ruby/object:Gem::Requirement
233
261
  requirements:
234
- - - "~>"
262
+ - - '='
235
263
  - !ruby/object:Gem::Version
236
- version: '5.3'
264
+ version: 5.4.1
265
+ - !ruby/object:Gem::Dependency
266
+ name: dry-files
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - '='
270
+ - !ruby/object:Gem::Version
271
+ version: 1.1.0
272
+ type: :runtime
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - '='
277
+ - !ruby/object:Gem::Version
278
+ version: 1.1.0
279
+ - !ruby/object:Gem::Dependency
280
+ name: dry-monads
281
+ requirement: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - '='
284
+ - !ruby/object:Gem::Version
285
+ version: 1.6.0
286
+ type: :runtime
287
+ prerelease: false
288
+ version_requirements: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - '='
291
+ - !ruby/object:Gem::Version
292
+ version: 1.6.0
237
293
  - !ruby/object:Gem::Dependency
238
294
  name: http
239
295
  requirement: !ruby/object:Gem::Requirement
240
296
  requirements:
241
- - - "~>"
297
+ - - '='
242
298
  - !ruby/object:Gem::Version
243
- version: '5.1'
299
+ version: 5.1.1
244
300
  type: :runtime
245
301
  prerelease: false
246
302
  version_requirements: !ruby/object:Gem::Requirement
247
303
  requirements:
248
- - - "~>"
304
+ - - '='
249
305
  - !ruby/object:Gem::Version
250
- version: '5.1'
306
+ version: 5.1.1
251
307
  - !ruby/object:Gem::Dependency
252
- name: memist
308
+ name: memo_wise
253
309
  requirement: !ruby/object:Gem::Requirement
254
310
  requirements:
255
311
  - - '='
256
312
  - !ruby/object:Gem::Version
257
- version: 2.0.2
313
+ version: 1.8.0
258
314
  type: :runtime
259
315
  prerelease: false
260
316
  version_requirements: !ruby/object:Gem::Requirement
261
317
  requirements:
262
318
  - - '='
263
319
  - !ruby/object:Gem::Version
264
- version: 2.0.2
320
+ version: 1.8.0
265
321
  - !ruby/object:Gem::Dependency
266
322
  name: oga
267
323
  requirement: !ruby/object:Gem::Requirement
268
324
  requirements:
269
- - - "~>"
325
+ - - '='
270
326
  - !ruby/object:Gem::Version
271
327
  version: '3.4'
272
328
  type: :runtime
273
329
  prerelease: false
274
330
  version_requirements: !ruby/object:Gem::Requirement
275
331
  requirements:
276
- - - "~>"
332
+ - - '='
277
333
  - !ruby/object:Gem::Version
278
334
  version: '3.4'
279
335
  - !ruby/object:Gem::Dependency
280
336
  name: parallel
281
337
  requirement: !ruby/object:Gem::Requirement
282
338
  requirements:
283
- - - "~>"
339
+ - - '='
284
340
  - !ruby/object:Gem::Version
285
- version: '1.22'
341
+ version: 1.24.0
286
342
  type: :runtime
287
343
  prerelease: false
288
344
  version_requirements: !ruby/object:Gem::Requirement
289
345
  requirements:
290
- - - "~>"
346
+ - - '='
291
347
  - !ruby/object:Gem::Version
292
- version: '1.22'
348
+ version: 1.24.0
349
+ - !ruby/object:Gem::Dependency
350
+ name: puma
351
+ requirement: !ruby/object:Gem::Requirement
352
+ requirements:
353
+ - - '='
354
+ - !ruby/object:Gem::Version
355
+ version: 6.4.2
356
+ type: :runtime
357
+ prerelease: false
358
+ version_requirements: !ruby/object:Gem::Requirement
359
+ requirements:
360
+ - - '='
361
+ - !ruby/object:Gem::Version
362
+ version: 6.4.2
363
+ - !ruby/object:Gem::Dependency
364
+ name: rack
365
+ requirement: !ruby/object:Gem::Requirement
366
+ requirements:
367
+ - - '='
368
+ - !ruby/object:Gem::Version
369
+ version: 3.0.8
370
+ type: :runtime
371
+ prerelease: false
372
+ version_requirements: !ruby/object:Gem::Requirement
373
+ requirements:
374
+ - - '='
375
+ - !ruby/object:Gem::Version
376
+ version: 3.0.8
377
+ - !ruby/object:Gem::Dependency
378
+ name: rack-session
379
+ requirement: !ruby/object:Gem::Requirement
380
+ requirements:
381
+ - - '='
382
+ - !ruby/object:Gem::Version
383
+ version: 2.0.0
384
+ type: :runtime
385
+ prerelease: false
386
+ version_requirements: !ruby/object:Gem::Requirement
387
+ requirements:
388
+ - - '='
389
+ - !ruby/object:Gem::Version
390
+ version: 2.0.0
391
+ - !ruby/object:Gem::Dependency
392
+ name: rackup
393
+ requirement: !ruby/object:Gem::Requirement
394
+ requirements:
395
+ - - '='
396
+ - !ruby/object:Gem::Version
397
+ version: 2.1.0
398
+ type: :runtime
399
+ prerelease: false
400
+ version_requirements: !ruby/object:Gem::Requirement
401
+ requirements:
402
+ - - '='
403
+ - !ruby/object:Gem::Version
404
+ version: 2.1.0
293
405
  - !ruby/object:Gem::Dependency
294
406
  name: semantic_logger
295
407
  requirement: !ruby/object:Gem::Requirement
296
408
  requirements:
297
409
  - - '='
298
410
  - !ruby/object:Gem::Version
299
- version: 4.11.0
411
+ version: 4.15.0
412
+ type: :runtime
413
+ prerelease: false
414
+ version_requirements: !ruby/object:Gem::Requirement
415
+ requirements:
416
+ - - '='
417
+ - !ruby/object:Gem::Version
418
+ version: 4.15.0
419
+ - !ruby/object:Gem::Dependency
420
+ name: sentry-ruby
421
+ requirement: !ruby/object:Gem::Requirement
422
+ requirements:
423
+ - - '='
424
+ - !ruby/object:Gem::Version
425
+ version: 5.16.1
426
+ type: :runtime
427
+ prerelease: false
428
+ version_requirements: !ruby/object:Gem::Requirement
429
+ requirements:
430
+ - - '='
431
+ - !ruby/object:Gem::Version
432
+ version: 5.16.1
433
+ - !ruby/object:Gem::Dependency
434
+ name: sentry-sidekiq
435
+ requirement: !ruby/object:Gem::Requirement
436
+ requirements:
437
+ - - '='
438
+ - !ruby/object:Gem::Version
439
+ version: 5.16.1
440
+ type: :runtime
441
+ prerelease: false
442
+ version_requirements: !ruby/object:Gem::Requirement
443
+ requirements:
444
+ - - '='
445
+ - !ruby/object:Gem::Version
446
+ version: 5.16.1
447
+ - !ruby/object:Gem::Dependency
448
+ name: sidekiq
449
+ requirement: !ruby/object:Gem::Requirement
450
+ requirements:
451
+ - - '='
452
+ - !ruby/object:Gem::Version
453
+ version: 7.2.1
300
454
  type: :runtime
301
455
  prerelease: false
302
456
  version_requirements: !ruby/object:Gem::Requirement
303
457
  requirements:
304
458
  - - '='
305
459
  - !ruby/object:Gem::Version
306
- version: 4.11.0
460
+ version: 7.2.1
307
461
  - !ruby/object:Gem::Dependency
308
462
  name: slack-notifier
309
463
  requirement: !ruby/object:Gem::Requirement
310
464
  requirements:
311
- - - "~>"
465
+ - - '='
312
466
  - !ruby/object:Gem::Version
313
- version: '2.4'
467
+ version: 2.4.0
314
468
  type: :runtime
315
469
  prerelease: false
316
470
  version_requirements: !ruby/object:Gem::Requirement
317
471
  requirements:
318
- - - "~>"
472
+ - - '='
319
473
  - !ruby/object:Gem::Version
320
- version: '2.4'
474
+ version: 2.4.0
321
475
  - !ruby/object:Gem::Dependency
322
476
  name: sqlite3
323
477
  requirement: !ruby/object:Gem::Requirement
324
478
  requirements:
325
- - - "~>"
479
+ - - '='
326
480
  - !ruby/object:Gem::Version
327
- version: '1.4'
481
+ version: 1.7.1
328
482
  type: :runtime
329
483
  prerelease: false
330
484
  version_requirements: !ruby/object:Gem::Requirement
331
485
  requirements:
332
- - - "~>"
486
+ - - '='
333
487
  - !ruby/object:Gem::Version
334
- version: '1.4'
488
+ version: 1.7.1
335
489
  - !ruby/object:Gem::Dependency
336
490
  name: thor
337
491
  requirement: !ruby/object:Gem::Requirement
338
492
  requirements:
339
- - - "~>"
493
+ - - '='
340
494
  - !ruby/object:Gem::Version
341
- version: '1.2'
495
+ version: 1.3.0
342
496
  type: :runtime
343
497
  prerelease: false
344
498
  version_requirements: !ruby/object:Gem::Requirement
345
499
  requirements:
346
- - - "~>"
500
+ - - '='
347
501
  - !ruby/object:Gem::Version
348
- version: '1.2'
502
+ version: 1.3.0
349
503
  - !ruby/object:Gem::Dependency
350
- name: urlscan
504
+ name: thor-hollaback
351
505
  requirement: !ruby/object:Gem::Requirement
352
506
  requirements:
353
- - - "~>"
507
+ - - '='
354
508
  - !ruby/object:Gem::Version
355
- version: '0.8'
509
+ version: 0.2.1
356
510
  type: :runtime
357
511
  prerelease: false
358
512
  version_requirements: !ruby/object:Gem::Requirement
359
513
  requirements:
360
- - - "~>"
514
+ - - '='
361
515
  - !ruby/object:Gem::Version
362
- version: '0.8'
516
+ version: 0.2.1
363
517
  - !ruby/object:Gem::Dependency
364
518
  name: uuidtools
365
519
  requirement: !ruby/object:Gem::Requirement
366
520
  requirements:
367
- - - "~>"
521
+ - - '='
368
522
  - !ruby/object:Gem::Version
369
- version: '2.2'
523
+ version: 2.2.0
370
524
  type: :runtime
371
525
  prerelease: false
372
526
  version_requirements: !ruby/object:Gem::Requirement
373
527
  requirements:
374
- - - "~>"
528
+ - - '='
375
529
  - !ruby/object:Gem::Version
376
- version: '2.2'
377
- description: An experimental phishing kit detector
530
+ version: 2.2.0
531
+ description: A phishing kit collector for scavengers
378
532
  email:
379
533
  - manabu.niseki@gmail.com
380
534
  executables:
@@ -382,43 +536,57 @@ executables:
382
536
  extensions: []
383
537
  extra_rdoc_files: []
384
538
  files:
385
- - ".github/workflows/test.yml"
539
+ - ".github/workflows/gem.yml"
540
+ - ".github/workflows/ruby.yml"
386
541
  - ".gitignore"
387
- - ".overcommit.yml"
388
542
  - ".rspec"
389
- - ".standard.yml"
390
543
  - Gemfile
391
544
  - LICENSE
392
545
  - README.md
393
546
  - Rakefile
394
547
  - bin/console
395
548
  - bin/setup
549
+ - docker-compose.yml
396
550
  - docker/Dockerfile
397
551
  - exe/miteru
552
+ - lefthook.yml
398
553
  - lib/miteru.rb
399
- - lib/miteru/attachement.rb
400
- - lib/miteru/cli.rb
401
- - lib/miteru/configuration.rb
554
+ - lib/miteru/cli/application.rb
555
+ - lib/miteru/cli/base.rb
556
+ - lib/miteru/cli/database.rb
557
+ - lib/miteru/commands/database.rb
558
+ - lib/miteru/commands/main.rb
559
+ - lib/miteru/commands/sidekiq.rb
560
+ - lib/miteru/commands/web.rb
561
+ - lib/miteru/concerns/database_connectable.rb
562
+ - lib/miteru/concerns/error_unwrappable.rb
563
+ - lib/miteru/config.rb
402
564
  - lib/miteru/crawler.rb
403
565
  - lib/miteru/database.rb
404
566
  - lib/miteru/downloader.rb
405
- - lib/miteru/error.rb
406
- - lib/miteru/feeds.rb
567
+ - lib/miteru/errors.rb
407
568
  - lib/miteru/feeds/ayashige.rb
408
- - lib/miteru/feeds/feed.rb
569
+ - lib/miteru/feeds/base.rb
409
570
  - lib/miteru/feeds/phishing_database.rb
410
- - lib/miteru/feeds/phishstats.rb
411
571
  - lib/miteru/feeds/urlscan.rb
412
572
  - lib/miteru/feeds/urlscan_pro.rb
413
- - lib/miteru/http_client.rb
573
+ - lib/miteru/http.rb
414
574
  - lib/miteru/kit.rb
415
575
  - lib/miteru/mixin.rb
416
576
  - lib/miteru/notifiers/base.rb
417
577
  - lib/miteru/notifiers/slack.rb
418
578
  - lib/miteru/notifiers/urlscan.rb
579
+ - lib/miteru/orchestrator.rb
419
580
  - lib/miteru/record.rb
581
+ - lib/miteru/service.rb
582
+ - lib/miteru/sidekiq/application.rb
583
+ - lib/miteru/sidekiq/jobs.rb
420
584
  - lib/miteru/version.rb
585
+ - lib/miteru/web/application.rb
421
586
  - lib/miteru/website.rb
587
+ - miteru-sidekiq.service
588
+ - miteru.db-shm
589
+ - miteru.db-wal
422
590
  - miteru.gemspec
423
591
  - renovate.json
424
592
  - screenshots/slack.png
@@ -427,7 +595,7 @@ licenses:
427
595
  - MIT
428
596
  metadata:
429
597
  rubygems_mfa_required: 'true'
430
- post_install_message:
598
+ post_install_message:
431
599
  rdoc_options: []
432
600
  require_paths:
433
601
  - lib
@@ -442,8 +610,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
442
610
  - !ruby/object:Gem::Version
443
611
  version: '0'
444
612
  requirements: []
445
- rubygems_version: 3.2.14
446
- signing_key:
613
+ rubygems_version: 3.5.3
614
+ signing_key:
447
615
  specification_version: 4
448
- summary: An experimental phishing kit detector
616
+ summary: A phishing kit collector for scavengers
449
617
  test_files: []
data/.overcommit.yml DELETED
@@ -1,12 +0,0 @@
1
- PreCommit:
2
- BundleCheck:
3
- enabled: true
4
-
5
- RuboCop:
6
- enabled: true
7
- required_executable: bundle
8
- command: ["bundle", "exec", "standardrb"]
9
- on_warn: fail
10
-
11
- YamlSyntax:
12
- enabled: true