miteru 1.2.1 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
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.1
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-08 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