legitbot 1.12.10 → 1.12.12
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.
- checksums.yaml +4 -4
- data/legitbot.gemspec +1 -0
- data/lib/legitbot/duckduckgo.rb +64 -4
- data/lib/legitbot/legitbot.rb +1 -1
- data/lib/legitbot/openai.rb +10 -10
- data/lib/legitbot/version.rb +1 -1
- data/test/legitbot_test.rb +4 -0
- metadata +22 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 19a44a7bb4b92a3b33df5bce2d08ca28dd97c2ec687380ff3d169c954c721049
|
|
4
|
+
data.tar.gz: fe25fcf3fd80fbec88fdbe9e66362582a2bc6e35a9bc25f9809f6354c2de57fb
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7506c56a10f6d11038bbb2cea1de7289bfc6595e4f951e5385f370392814d3def7fa57f574e0a9ebc462a5f71dcaa6bcd47f3959d26866d28ef900cd342eca5c
|
|
7
|
+
data.tar.gz: 0013305ba4cc7143149c70d41082683ceb0bfc3684479c2ed84b0a9aef40e88c8d5248deca3c73dd43e05a0af83b8249ef9a1e0a45f23995a55bc1a27705cdac
|
data/legitbot.gemspec
CHANGED
|
@@ -22,6 +22,7 @@ Gem::Specification.new do |spec|
|
|
|
22
22
|
spec.required_ruby_version = '>= 3.1.0'
|
|
23
23
|
spec.add_dependency 'fast_interval_tree', '~> 0.2', '>= 0.2.2'
|
|
24
24
|
spec.add_dependency 'irrc', '~> 0.2', '>= 0.2.1'
|
|
25
|
+
spec.add_dependency 'logger', '~> 1.7', '>= 1.7.0'
|
|
25
26
|
|
|
26
27
|
spec.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
|
|
27
28
|
spec.rdoc_options = ['--charset=UTF-8']
|
data/lib/legitbot/duckduckgo.rb
CHANGED
|
@@ -7,6 +7,7 @@ module Legitbot # :nodoc:
|
|
|
7
7
|
# @fetch:url https://duckduckgo.com/duckduckgo-help-pages/results/duckduckbot
|
|
8
8
|
# @fetch:selector main > article ul > li > div
|
|
9
9
|
ip_ranges %w[
|
|
10
|
+
4.144.182.50
|
|
10
11
|
4.150.142.218
|
|
11
12
|
4.156.136.79
|
|
12
13
|
4.156.154.107
|
|
@@ -31,6 +32,7 @@ module Legitbot # :nodoc:
|
|
|
31
32
|
20.40.133.240
|
|
32
33
|
20.43.150.85
|
|
33
34
|
20.43.150.93
|
|
35
|
+
20.43.152.28
|
|
34
36
|
20.43.172.120
|
|
35
37
|
20.44.222.1
|
|
36
38
|
20.49.136.28
|
|
@@ -65,6 +67,9 @@ module Legitbot # :nodoc:
|
|
|
65
67
|
20.61.34.40
|
|
66
68
|
20.61.142.192
|
|
67
69
|
20.62.224.44
|
|
70
|
+
20.64.185.45
|
|
71
|
+
20.69.129.205
|
|
72
|
+
20.69.131.45
|
|
68
73
|
20.71.12.143
|
|
69
74
|
20.72.242.93
|
|
70
75
|
20.73.132.240
|
|
@@ -74,6 +79,7 @@ module Legitbot # :nodoc:
|
|
|
74
79
|
20.79.238.198
|
|
75
80
|
20.79.239.66
|
|
76
81
|
20.80.129.80
|
|
82
|
+
20.80.156.88
|
|
77
83
|
20.93.28.24
|
|
78
84
|
20.99.255.235
|
|
79
85
|
20.112.58.44
|
|
@@ -93,6 +99,7 @@ module Legitbot # :nodoc:
|
|
|
93
99
|
20.193.25.197
|
|
94
100
|
20.193.27.215
|
|
95
101
|
20.193.45.113
|
|
102
|
+
20.195.58.189
|
|
96
103
|
20.195.108.47
|
|
97
104
|
20.197.209.11
|
|
98
105
|
20.197.209.27
|
|
@@ -111,12 +118,13 @@ module Legitbot # :nodoc:
|
|
|
111
118
|
20.207.97.190
|
|
112
119
|
20.207.99.197
|
|
113
120
|
20.207.107.181
|
|
121
|
+
20.212.90.107
|
|
114
122
|
20.219.43.246
|
|
115
123
|
20.219.45.67
|
|
116
124
|
20.219.45.190
|
|
117
125
|
20.226.133.105
|
|
118
126
|
20.232.51.46
|
|
119
|
-
20.
|
|
127
|
+
20.252.16.193
|
|
120
128
|
20.253.59.76
|
|
121
129
|
40.64.105.247
|
|
122
130
|
40.64.106.11
|
|
@@ -126,7 +134,6 @@ module Legitbot # :nodoc:
|
|
|
126
134
|
40.76.163.7
|
|
127
135
|
40.76.163.23
|
|
128
136
|
40.76.173.151
|
|
129
|
-
40.80.242.63
|
|
130
137
|
40.81.250.205
|
|
131
138
|
40.88.21.235
|
|
132
139
|
40.89.243.175
|
|
@@ -142,6 +149,7 @@ module Legitbot # :nodoc:
|
|
|
142
149
|
40.119.232.218
|
|
143
150
|
40.119.232.251
|
|
144
151
|
40.127.154.196
|
|
152
|
+
48.204.32.87
|
|
145
153
|
48.217.23.236
|
|
146
154
|
48.217.129.210
|
|
147
155
|
48.217.212.89
|
|
@@ -258,6 +266,7 @@ module Legitbot # :nodoc:
|
|
|
258
266
|
52.242.224.168
|
|
259
267
|
52.250.46.221
|
|
260
268
|
57.152.72.128
|
|
269
|
+
57.155.18.44
|
|
261
270
|
64.236.118.43
|
|
262
271
|
68.219.152.220
|
|
263
272
|
74.179.232.116
|
|
@@ -280,6 +289,7 @@ module Legitbot # :nodoc:
|
|
|
280
289
|
172.169.60.134
|
|
281
290
|
172.169.177.131
|
|
282
291
|
172.193.245.229
|
|
292
|
+
172.194.141.49
|
|
283
293
|
172.199.55.212
|
|
284
294
|
191.233.3.197
|
|
285
295
|
191.233.3.202
|
|
@@ -298,18 +308,32 @@ module Legitbot # :nodoc:
|
|
|
298
308
|
# @fetch:url https://duckduckgo.com/duckduckgo-help-pages/results/duckassistbot
|
|
299
309
|
# @fetch:selector main > article ul > li > div
|
|
300
310
|
ip_ranges %w[
|
|
311
|
+
4.144.182.50
|
|
312
|
+
4.150.142.218
|
|
301
313
|
4.156.136.79
|
|
314
|
+
4.156.154.107
|
|
302
315
|
4.182.131.108
|
|
303
316
|
4.195.133.120
|
|
317
|
+
4.201.125.59
|
|
318
|
+
4.201.141.71
|
|
319
|
+
4.201.197.203
|
|
320
|
+
4.201.206.133
|
|
321
|
+
4.201.220.8
|
|
322
|
+
4.207.220.92
|
|
304
323
|
4.209.224.56
|
|
305
324
|
4.213.46.14
|
|
306
325
|
4.228.76.163
|
|
326
|
+
4.249.216.104
|
|
327
|
+
4.255.35.121
|
|
307
328
|
13.89.106.77
|
|
308
329
|
20.3.1.178
|
|
330
|
+
20.8.252.26
|
|
309
331
|
20.12.141.99
|
|
332
|
+
20.13.44.19
|
|
310
333
|
20.40.133.240
|
|
311
334
|
20.43.150.85
|
|
312
335
|
20.43.150.93
|
|
336
|
+
20.43.152.28
|
|
313
337
|
20.43.172.120
|
|
314
338
|
20.44.222.1
|
|
315
339
|
20.49.136.28
|
|
@@ -338,10 +362,15 @@ module Legitbot # :nodoc:
|
|
|
338
362
|
20.53.91.2
|
|
339
363
|
20.53.92.211
|
|
340
364
|
20.53.134.160
|
|
365
|
+
20.54.224.39
|
|
341
366
|
20.56.197.58
|
|
342
367
|
20.56.197.63
|
|
343
368
|
20.61.34.40
|
|
369
|
+
20.61.142.192
|
|
344
370
|
20.62.224.44
|
|
371
|
+
20.64.185.45
|
|
372
|
+
20.69.129.205
|
|
373
|
+
20.69.131.45
|
|
345
374
|
20.71.12.143
|
|
346
375
|
20.72.242.93
|
|
347
376
|
20.73.132.240
|
|
@@ -351,10 +380,13 @@ module Legitbot # :nodoc:
|
|
|
351
380
|
20.79.238.198
|
|
352
381
|
20.79.239.66
|
|
353
382
|
20.80.129.80
|
|
383
|
+
20.80.156.88
|
|
354
384
|
20.93.28.24
|
|
355
385
|
20.99.255.235
|
|
386
|
+
20.112.58.44
|
|
356
387
|
20.113.3.121
|
|
357
388
|
20.113.14.159
|
|
389
|
+
20.166.171.150
|
|
358
390
|
20.185.79.15
|
|
359
391
|
20.185.79.47
|
|
360
392
|
20.191.44.16
|
|
@@ -368,6 +400,7 @@ module Legitbot # :nodoc:
|
|
|
368
400
|
20.193.25.197
|
|
369
401
|
20.193.27.215
|
|
370
402
|
20.193.45.113
|
|
403
|
+
20.195.58.189
|
|
371
404
|
20.195.108.47
|
|
372
405
|
20.197.209.11
|
|
373
406
|
20.197.209.27
|
|
@@ -386,11 +419,14 @@ module Legitbot # :nodoc:
|
|
|
386
419
|
20.207.97.190
|
|
387
420
|
20.207.99.197
|
|
388
421
|
20.207.107.181
|
|
422
|
+
20.212.90.107
|
|
389
423
|
20.219.43.246
|
|
390
424
|
20.219.45.67
|
|
391
425
|
20.219.45.190
|
|
392
426
|
20.226.133.105
|
|
393
|
-
20.232.
|
|
427
|
+
20.232.51.46
|
|
428
|
+
20.252.16.193
|
|
429
|
+
20.253.59.76
|
|
394
430
|
40.64.105.247
|
|
395
431
|
40.64.106.11
|
|
396
432
|
40.76.162.191
|
|
@@ -399,7 +435,6 @@ module Legitbot # :nodoc:
|
|
|
399
435
|
40.76.163.7
|
|
400
436
|
40.76.163.23
|
|
401
437
|
40.76.173.151
|
|
402
|
-
40.80.242.63
|
|
403
438
|
40.81.250.205
|
|
404
439
|
40.88.21.235
|
|
405
440
|
40.89.243.175
|
|
@@ -414,6 +449,11 @@ module Legitbot # :nodoc:
|
|
|
414
449
|
40.119.232.215
|
|
415
450
|
40.119.232.218
|
|
416
451
|
40.119.232.251
|
|
452
|
+
40.127.154.196
|
|
453
|
+
48.204.32.87
|
|
454
|
+
48.217.23.236
|
|
455
|
+
48.217.129.210
|
|
456
|
+
48.217.212.89
|
|
417
457
|
51.8.71.117
|
|
418
458
|
51.8.253.152
|
|
419
459
|
51.104.146.225
|
|
@@ -498,6 +538,8 @@ module Legitbot # :nodoc:
|
|
|
498
538
|
52.154.171.235
|
|
499
539
|
52.154.171.250
|
|
500
540
|
52.154.172.2
|
|
541
|
+
52.186.37.211
|
|
542
|
+
52.188.89.106
|
|
501
543
|
52.190.37.160
|
|
502
544
|
52.224.16.221
|
|
503
545
|
52.224.16.229
|
|
@@ -523,15 +565,33 @@ module Legitbot # :nodoc:
|
|
|
523
565
|
52.224.21.55
|
|
524
566
|
52.224.21.61
|
|
525
567
|
52.242.224.168
|
|
568
|
+
52.250.46.221
|
|
526
569
|
57.152.72.128
|
|
570
|
+
57.155.18.44
|
|
571
|
+
64.236.118.43
|
|
572
|
+
68.219.152.220
|
|
573
|
+
74.179.232.116
|
|
527
574
|
104.43.54.127
|
|
528
575
|
104.43.55.116
|
|
529
576
|
104.43.55.117
|
|
530
577
|
104.43.55.166
|
|
531
578
|
104.43.55.167
|
|
532
579
|
108.141.83.74
|
|
580
|
+
128.203.132.152
|
|
533
581
|
130.107.228.224
|
|
582
|
+
132.164.209.198
|
|
583
|
+
135.234.221.112
|
|
584
|
+
172.168.53.53
|
|
585
|
+
172.168.115.250
|
|
586
|
+
172.168.227.120
|
|
587
|
+
172.168.254.119
|
|
534
588
|
172.169.17.165
|
|
589
|
+
172.169.28.184
|
|
590
|
+
172.169.60.134
|
|
591
|
+
172.169.177.131
|
|
592
|
+
172.193.245.229
|
|
593
|
+
172.194.141.49
|
|
594
|
+
172.199.55.212
|
|
535
595
|
191.233.3.197
|
|
536
596
|
191.233.3.202
|
|
537
597
|
191.234.216.4
|
data/lib/legitbot/legitbot.rb
CHANGED
|
@@ -21,7 +21,7 @@ module Legitbot
|
|
|
21
21
|
# rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
|
|
22
22
|
def self.bot(user_agent, ip)
|
|
23
23
|
bots = @rules
|
|
24
|
-
.select { |rule| rule[:fragments].any? { |f| user_agent
|
|
24
|
+
.select { |rule| rule[:fragments].any? { |f| user_agent&.index f } }
|
|
25
25
|
.map { |rule| rule[:class].new(ip) }
|
|
26
26
|
|
|
27
27
|
selected = bots.select(&:valid?).first if bots.size > 1
|
data/lib/legitbot/openai.rb
CHANGED
|
@@ -50,10 +50,12 @@ module Legitbot # :nodoc:
|
|
|
50
50
|
4.197.64.48/28
|
|
51
51
|
4.197.64.64/28
|
|
52
52
|
4.197.115.112/28
|
|
53
|
+
4.198.72.16/28
|
|
53
54
|
4.205.128.176/28
|
|
55
|
+
9.160.163.224/28
|
|
56
|
+
9.160.164.128/28
|
|
54
57
|
13.65.138.96/28
|
|
55
58
|
13.65.138.112/28
|
|
56
|
-
13.67.46.240/28
|
|
57
59
|
13.67.72.16/28
|
|
58
60
|
13.70.107.160/28
|
|
59
61
|
13.71.2.208/28
|
|
@@ -61,19 +63,17 @@ module Legitbot # :nodoc:
|
|
|
61
63
|
13.76.115.224/28
|
|
62
64
|
13.76.115.240/28
|
|
63
65
|
13.76.116.80/28
|
|
64
|
-
13.76.223.48/28
|
|
65
|
-
13.79.43.0/28
|
|
66
66
|
13.83.167.128/28
|
|
67
67
|
13.83.237.176/28
|
|
68
68
|
20.0.53.96/28
|
|
69
|
+
20.17.108.96/28
|
|
69
70
|
20.27.94.128/28
|
|
71
|
+
20.42.250.32/28
|
|
70
72
|
20.45.178.144/28
|
|
71
73
|
20.55.229.144/28
|
|
72
74
|
20.63.221.64/28
|
|
73
|
-
20.90.7.144/28
|
|
74
75
|
20.97.189.96/28
|
|
75
76
|
20.102.212.144/28
|
|
76
|
-
20.117.22.224/28
|
|
77
77
|
20.125.112.224/28
|
|
78
78
|
20.125.144.144/28
|
|
79
79
|
20.161.75.208/28
|
|
@@ -107,6 +107,7 @@ module Legitbot # :nodoc:
|
|
|
107
107
|
20.198.67.96/28
|
|
108
108
|
20.203.245.32/28
|
|
109
109
|
20.204.24.240/28
|
|
110
|
+
20.206.107.192/28
|
|
110
111
|
20.210.154.128/28
|
|
111
112
|
20.210.174.208/28
|
|
112
113
|
20.210.211.192/28
|
|
@@ -126,6 +127,7 @@ module Legitbot # :nodoc:
|
|
|
126
127
|
20.215.220.176/28
|
|
127
128
|
20.215.220.192/28
|
|
128
129
|
20.215.220.208/28
|
|
130
|
+
20.226.32.80/28
|
|
129
131
|
20.227.140.32/28
|
|
130
132
|
20.228.106.176/28
|
|
131
133
|
20.235.75.208/28
|
|
@@ -154,7 +156,6 @@ module Legitbot # :nodoc:
|
|
|
154
156
|
51.8.155.48/28
|
|
155
157
|
51.8.155.64/28
|
|
156
158
|
51.8.155.80/28
|
|
157
|
-
51.8.155.112/28
|
|
158
159
|
51.107.70.192/28
|
|
159
160
|
52.148.129.32/28
|
|
160
161
|
52.154.22.48/28
|
|
@@ -226,6 +227,7 @@ module Legitbot # :nodoc:
|
|
|
226
227
|
74.7.36.96/28
|
|
227
228
|
74.226.253.160/28
|
|
228
229
|
74.249.86.176/28
|
|
230
|
+
85.211.241.128/28
|
|
229
231
|
104.210.139.192/28
|
|
230
232
|
104.210.139.224/28
|
|
231
233
|
132.196.82.48/28
|
|
@@ -235,10 +237,6 @@ module Legitbot # :nodoc:
|
|
|
235
237
|
135.220.73.240/28
|
|
236
238
|
135.237.131.208/28
|
|
237
239
|
135.237.133.48/28
|
|
238
|
-
135.237.133.112/28
|
|
239
|
-
137.135.183.96/28
|
|
240
|
-
137.135.190.240/28
|
|
241
|
-
137.135.191.32/28
|
|
242
240
|
137.135.191.176/28
|
|
243
241
|
138.91.30.48/28
|
|
244
242
|
138.91.46.96/28
|
|
@@ -248,8 +246,10 @@ module Legitbot # :nodoc:
|
|
|
248
246
|
172.178.141.128/28
|
|
249
247
|
172.183.143.224/28
|
|
250
248
|
172.183.222.128/28
|
|
249
|
+
172.196.40.208/28
|
|
251
250
|
172.202.102.112/28
|
|
252
251
|
172.204.16.64/28
|
|
252
|
+
172.204.27.16/28
|
|
253
253
|
172.212.159.64/28
|
|
254
254
|
172.213.11.144/28
|
|
255
255
|
172.213.12.112/28
|
data/lib/legitbot/version.rb
CHANGED
data/test/legitbot_test.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: legitbot
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.12.
|
|
4
|
+
version: 1.12.12
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Alexander Azarov
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-04-25 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: fast_interval_tree
|
|
@@ -50,6 +50,26 @@ dependencies:
|
|
|
50
50
|
- - ">="
|
|
51
51
|
- !ruby/object:Gem::Version
|
|
52
52
|
version: 0.2.1
|
|
53
|
+
- !ruby/object:Gem::Dependency
|
|
54
|
+
name: logger
|
|
55
|
+
requirement: !ruby/object:Gem::Requirement
|
|
56
|
+
requirements:
|
|
57
|
+
- - "~>"
|
|
58
|
+
- !ruby/object:Gem::Version
|
|
59
|
+
version: '1.7'
|
|
60
|
+
- - ">="
|
|
61
|
+
- !ruby/object:Gem::Version
|
|
62
|
+
version: 1.7.0
|
|
63
|
+
type: :runtime
|
|
64
|
+
prerelease: false
|
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
66
|
+
requirements:
|
|
67
|
+
- - "~>"
|
|
68
|
+
- !ruby/object:Gem::Version
|
|
69
|
+
version: '1.7'
|
|
70
|
+
- - ">="
|
|
71
|
+
- !ruby/object:Gem::Version
|
|
72
|
+
version: 1.7.0
|
|
53
73
|
description: Is this Web request from a real search engine or from an impersonating
|
|
54
74
|
agent?
|
|
55
75
|
email: self@alaz.me
|