pod_ident 1.1.5 → 1.1.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/CHANGELOG.md +8 -0
- data/Gemfile.lock +2 -2
- data/Rakefile +1 -1
- data/lib/detection_rules_bots.yml +224 -6
- data/lib/detection_rules_custom_bots.yml +8 -0
- data/lib/pod_ident/detection_rules_bots.rb +1 -1
- data/lib/pod_ident/detection_rules_custom_bots.rb +1 -1
- data/lib/pod_ident/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 321a69febe252bdbac571ffef2014e9e5efc8d307340317de2ec4f04e5437051
|
4
|
+
data.tar.gz: b3821f4f00f0b5416c4a4e7002cd07e7ecd7dd2de7c30e983abfbd24d2ec92b2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2c2ce037198b8d421f7738ee1d0af378727a297ca7e89e364ea34f183ecd49bf733f6cc51a7dcbf97fe3866056484b3f1636258e25d35e740071cbd0d7fa1c14
|
7
|
+
data.tar.gz: 405b9717ea5435cf3f753fbced23b0dff74bde2df6e2ed8a46bee041757b1798a7d395cd8c73f62d9443799ad82f459b41207e317f9160e5cc197ef03683d315
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.
|
1
|
+
3.3.6
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
data/Rakefile
CHANGED
@@ -13,6 +13,13 @@
|
|
13
13
|
test:
|
14
14
|
userAgents:
|
15
15
|
- userAgent: AIS VirtualListener
|
16
|
+
- app: ma Podcast (agma) Bot
|
17
|
+
match:
|
18
|
+
regex: "^agma/"
|
19
|
+
platform: bot
|
20
|
+
test:
|
21
|
+
userAgents:
|
22
|
+
- userAgent: agma/1.0
|
16
23
|
- app: AhrefsBot
|
17
24
|
match:
|
18
25
|
regex: AhrefsBot/
|
@@ -40,6 +47,13 @@
|
|
40
47
|
test:
|
41
48
|
userAgents:
|
42
49
|
- userAgent: Alignabot 1.0 (https://www.alignable.com/)
|
50
|
+
- app: All Ears
|
51
|
+
match:
|
52
|
+
regex: "^AllEars/"
|
53
|
+
platform: bot
|
54
|
+
test:
|
55
|
+
userAgents:
|
56
|
+
- userAgent: AllEars/1.0; (+www.allears.ai)
|
43
57
|
- app: Amazon Music Podcasts Bot
|
44
58
|
match:
|
45
59
|
regex: "^Amazon Music Podcast"
|
@@ -51,14 +65,14 @@
|
|
51
65
|
test:
|
52
66
|
userAgents:
|
53
67
|
- userAgent: AnchorImport/1.0
|
54
|
-
- app:
|
68
|
+
- app: Apple Notes share extension
|
55
69
|
match:
|
56
|
-
regex: "^
|
70
|
+
regex: "^com.apple.(mobilenotes.SharingExtension|Notes.SharingExtension)/"
|
57
71
|
platform: bot
|
58
72
|
test:
|
59
73
|
userAgents:
|
60
|
-
- userAgent:
|
61
|
-
- userAgent:
|
74
|
+
- userAgent: com.apple.mobilenotes.SharingExtension/2511 CFNetwork/1494.0.7 Darwin/23.4.0
|
75
|
+
- userAgent: com.apple.Notes.SharingExtension/2812 CFNetwork/1494.0.7 Darwin/23.4.0
|
62
76
|
- app: Apple Podcasts (Watch)
|
63
77
|
match:
|
64
78
|
regex: "^atc/|\\(null\\) watchOS/"
|
@@ -143,6 +157,13 @@
|
|
143
157
|
test:
|
144
158
|
userAgents:
|
145
159
|
- userAgent: bbot/0.1
|
160
|
+
- app: Beacon Podcast Sync
|
161
|
+
match:
|
162
|
+
regex: "^Beacon/\\d"
|
163
|
+
platform: bot
|
164
|
+
test:
|
165
|
+
userAgents:
|
166
|
+
- userAgent: Beacon/1.0 Podcast Sync +https://getbeacons.com/
|
146
167
|
- app: British Library
|
147
168
|
match:
|
148
169
|
regex: "^bl\\.uk_ldfc_bot"
|
@@ -157,6 +178,13 @@
|
|
157
178
|
test:
|
158
179
|
userAgents:
|
159
180
|
- userAgent: Blubrry Migration Service
|
181
|
+
- app: Bullhorn Crawler
|
182
|
+
match:
|
183
|
+
regex: "^BullhornCrawler/"
|
184
|
+
platform: bot
|
185
|
+
test:
|
186
|
+
userAgents:
|
187
|
+
- userAgent: BullhornCrawler/unknown-version(+http://bullhorn.fm/)
|
160
188
|
- app: Buzzsprout Importer
|
161
189
|
match:
|
162
190
|
regex: "^Buzzsprout Importer"
|
@@ -164,6 +192,14 @@
|
|
164
192
|
test:
|
165
193
|
userAgents:
|
166
194
|
- userAgent: Buzzsprout Importer
|
195
|
+
- app: Bytespider.*bytedance
|
196
|
+
match:
|
197
|
+
regex: Bytespider
|
198
|
+
platform: bot
|
199
|
+
test:
|
200
|
+
userAgents:
|
201
|
+
- userAgent: Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like
|
202
|
+
Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)
|
167
203
|
- app: CastFeedValidator
|
168
204
|
match:
|
169
205
|
regex: "^CastFeedValidator/"
|
@@ -187,6 +223,14 @@
|
|
187
223
|
match:
|
188
224
|
regex: "^clark-crawler2"
|
189
225
|
platform: bot
|
226
|
+
- app: Claudebot
|
227
|
+
match:
|
228
|
+
regex: ClaudeBot/
|
229
|
+
platform: bot
|
230
|
+
test:
|
231
|
+
userAgents:
|
232
|
+
- userAgent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0;
|
233
|
+
+claudebot@anthropic.com)
|
190
234
|
- app: Critical Mention
|
191
235
|
match:
|
192
236
|
regex: "^Podcast-CriticalMention/"
|
@@ -229,6 +273,13 @@
|
|
229
273
|
test:
|
230
274
|
userAgents:
|
231
275
|
- userAgent: Mozilla/5.0 (compatible; Daum/4.1; +http://cs.daum.net/faq/15/4118.html?faqId=28966)
|
276
|
+
- app: Deepcast Podcast Sync
|
277
|
+
match:
|
278
|
+
regex: "^DeepCast/\\d.*Sync"
|
279
|
+
platform: bot
|
280
|
+
test:
|
281
|
+
userAgents:
|
282
|
+
- userAgent: DeepCast/4.3.0 Podcast Sync (+https://deepcast.fm)
|
232
283
|
- app: Deezer Podcasters
|
233
284
|
match:
|
234
285
|
regex: "^Deezer Podcasters/1\\.0"
|
@@ -352,7 +403,7 @@
|
|
352
403
|
platform: bot
|
353
404
|
- app: Googlebot
|
354
405
|
match:
|
355
|
-
regex: Googlebot/|Googlebot-Video/|Googlebot-Image/|^Feedfetcher-Google|google-xrawler
|
406
|
+
regex: Googlebot/|Googlebot-Video/|Googlebot-Image/|^Feedfetcher-Google|google-xrawler|^Googlebot-News|^Google-Safety$
|
356
407
|
platform: bot
|
357
408
|
test:
|
358
409
|
userAgents:
|
@@ -363,6 +414,8 @@
|
|
363
414
|
- userAgent: Feedfetcher-Google; (+http://www.google.com/feedfetcher.html; 1 subscribers;
|
364
415
|
feed-id=4653447469100830145)
|
365
416
|
- userAgent: google-xrawler
|
417
|
+
- userAgent: Googlebot-News Audio
|
418
|
+
- userAgent: Google-Safety
|
366
419
|
- app: Gumball
|
367
420
|
match:
|
368
421
|
regex: "^Gumball"
|
@@ -372,7 +425,7 @@
|
|
372
425
|
- userAgent: Gumball.fm Analytics Prefix Checker
|
373
426
|
- app: Headliner
|
374
427
|
match:
|
375
|
-
regex: Headliner
|
428
|
+
regex: "^Headliner/.*\\+https://headliner\\.app$"
|
376
429
|
platform: bot
|
377
430
|
test:
|
378
431
|
userAgents:
|
@@ -392,6 +445,22 @@
|
|
392
445
|
userAgents:
|
393
446
|
- userAgent: Mozilla/5.0 (compatible; special_archiver; Archive-It; http://archive-it.org/files/site-owners-special.html)
|
394
447
|
- userAgent: ia_archiver-web.archive.org
|
448
|
+
- app: iOS share menu
|
449
|
+
match:
|
450
|
+
regex: "^SharingUIService/"
|
451
|
+
platform: bot
|
452
|
+
test:
|
453
|
+
userAgents:
|
454
|
+
- userAgent: SharingUIService/1 CFNetwork/1467.1 Darwin/23.0.0
|
455
|
+
- userAgent: SharingUIService/1 CFNetwork/1490.0.4 Darwin/23.2.0
|
456
|
+
- app: IPFS Podcasting Node
|
457
|
+
match:
|
458
|
+
regex: "^IPFS Podcasting Node/"
|
459
|
+
platform: bot
|
460
|
+
test:
|
461
|
+
userAgents:
|
462
|
+
- userAgent: IPFS Podcasting Node/0.6n (+https://ipfspodcasting.net)
|
463
|
+
- userAgent: IPFS Podcasting Node/0.7p,u,s (+https://ipfspodcasting.net)
|
395
464
|
- app: Jaunt
|
396
465
|
match:
|
397
466
|
regex: "^Jaunt/"
|
@@ -403,6 +472,13 @@
|
|
403
472
|
match:
|
404
473
|
regex: INA dlweb
|
405
474
|
platform: bot
|
475
|
+
- app: Library and Archives Canada
|
476
|
+
match:
|
477
|
+
regex: LAC_IAHarvester/
|
478
|
+
platform: bot
|
479
|
+
test:
|
480
|
+
userAgents:
|
481
|
+
- userAgent: Mozilla/5.0 (compatible; LAC_IAHarvester/3.3.0; +https://library-archives.canada.ca/eng/services/government-canada/web-social-media-preservation-program/Pages/web-archive.aspx)
|
406
482
|
- app: Libsyn
|
407
483
|
match:
|
408
484
|
regex: "^Libsyn4"
|
@@ -421,6 +497,13 @@
|
|
421
497
|
match:
|
422
498
|
regex: LivelapBot
|
423
499
|
platform: bot
|
500
|
+
- app: ListenNotes
|
501
|
+
match:
|
502
|
+
regex: "^ListenNotes/3\\.0 \\("
|
503
|
+
platform: bot
|
504
|
+
test:
|
505
|
+
userAgents:
|
506
|
+
- userAgent: ListenNotes/3.0 (id=c1ef144e30174bf6ba1fedf9174ed908; +https://www.listennotes.com/about/)
|
424
507
|
- app: LTX71
|
425
508
|
match:
|
426
509
|
regex: "^ltx71 "
|
@@ -428,6 +511,14 @@
|
|
428
511
|
test:
|
429
512
|
userAgents:
|
430
513
|
- userAgent: ltx71 - (http://ltx71.com/)
|
514
|
+
- app: MacOS share menu
|
515
|
+
match:
|
516
|
+
regex: "^ShareSheetUI/"
|
517
|
+
platform: bot
|
518
|
+
test:
|
519
|
+
userAgents:
|
520
|
+
- userAgent: ShareSheetUI/1 CFNetwork/1399.4 Darwin/22.1.0
|
521
|
+
- userAgent: ShareSheetUI/1 CFNetwork/1474 Darwin/23.0.0
|
431
522
|
- app: MauiBot
|
432
523
|
match:
|
433
524
|
regex: "^MauiBot"
|
@@ -442,6 +533,13 @@
|
|
442
533
|
test:
|
443
534
|
userAgents:
|
444
535
|
- userAgent: http.rb/5.0.4 (Mastodon/3.5.3; +https://mastodon.xyz/) Bot
|
536
|
+
- app: Metacast Crawler
|
537
|
+
match:
|
538
|
+
regex: "^Metacast/.* Crawler"
|
539
|
+
platform: bot
|
540
|
+
test:
|
541
|
+
userAgents:
|
542
|
+
- userAgent: Metacast/1.0 Crawler +https://metacast.app
|
445
543
|
- app: Microsoft Bingbot
|
446
544
|
match:
|
447
545
|
regex: "(BingPreview/|adidxbot/|[bB]ingbot/)"
|
@@ -526,6 +624,16 @@
|
|
526
624
|
test:
|
527
625
|
userAgents:
|
528
626
|
- userAgent: op3-fetcher/1.0 (https://op3.dev)
|
627
|
+
- app: OpenAI GPTBot
|
628
|
+
match:
|
629
|
+
regex: GPTBot/
|
630
|
+
platform: bot
|
631
|
+
test:
|
632
|
+
userAgents:
|
633
|
+
- userAgent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2;
|
634
|
+
+https://openai.com/gptbot)
|
635
|
+
- userAgent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.0;
|
636
|
+
+https://openai.com/gptbot)
|
529
637
|
- app: Overcast feed parser
|
530
638
|
match:
|
531
639
|
regex: "^Overcast/1\\.0 Podcast Sync"
|
@@ -533,6 +641,8 @@
|
|
533
641
|
test:
|
534
642
|
userAgents:
|
535
643
|
- userAgent: Overcast/1.0 Podcast Sync
|
644
|
+
- userAgent: Overcast/1.0 Podcast Sync (+http://overcast.fm/)
|
645
|
+
- userAgent: Overcast/1.0 Podcast Sync (1 subscribers; feed-id=1234567; +http://overcast.fm/)
|
536
646
|
- app: Pandora RSS crawler
|
537
647
|
match:
|
538
648
|
regex: "^PandoraRSSCrawler"
|
@@ -591,6 +701,20 @@
|
|
591
701
|
test:
|
592
702
|
userAgents:
|
593
703
|
- userAgent: Podcast%20Archiver/3000000003 CFNetwork/1406.0.4 Darwin/22.4.0
|
704
|
+
- app: Podcast Archiver (janw)
|
705
|
+
match:
|
706
|
+
regex: "^podcast-archiver/v\\d"
|
707
|
+
platform: bot
|
708
|
+
test:
|
709
|
+
userAgents:
|
710
|
+
- userAgent: podcast-archiver/v1.7.1 (https://github.com/janw/podcast-archiver)
|
711
|
+
- app: Podcastics
|
712
|
+
match:
|
713
|
+
regex: "^Podcastics$"
|
714
|
+
platform: bot
|
715
|
+
test:
|
716
|
+
userAgents:
|
717
|
+
- userAgent: Podcastics
|
594
718
|
- app: PodCloud
|
595
719
|
match:
|
596
720
|
regex: podCloud
|
@@ -637,6 +761,13 @@
|
|
637
761
|
test:
|
638
762
|
userAgents:
|
639
763
|
- userAgent: Podio/1.0
|
764
|
+
- app: Podmon Bot
|
765
|
+
match:
|
766
|
+
regex: "^Podmonbot/"
|
767
|
+
platform: bot
|
768
|
+
test:
|
769
|
+
userAgents:
|
770
|
+
- userAgent: Podmonbot/1.0
|
640
771
|
- app: Podnews
|
641
772
|
match:
|
642
773
|
regex: PodnewsBot
|
@@ -645,6 +776,28 @@
|
|
645
776
|
match:
|
646
777
|
regex: "(podnods-crawler|podnods)"
|
647
778
|
platform: bot
|
779
|
+
- app: Podplay Podcast Sync
|
780
|
+
match:
|
781
|
+
regex: "^Podplay-Podcast-Sync/"
|
782
|
+
platform: bot
|
783
|
+
test:
|
784
|
+
userAgents:
|
785
|
+
- userAgent: Podplay-Podcast-Sync/1.0 (+https://podplay.com/articles/contact)
|
786
|
+
- app: Podroll Analyzer
|
787
|
+
match:
|
788
|
+
regex: "^pdrl\\.fm "
|
789
|
+
platform: bot
|
790
|
+
test:
|
791
|
+
userAgents:
|
792
|
+
- userAgent: pdrl.fm Analyzer / 1.0.0
|
793
|
+
- app: Podscan Bot
|
794
|
+
match:
|
795
|
+
regex: "^PodscanBot/"
|
796
|
+
platform: bot
|
797
|
+
test:
|
798
|
+
userAgents:
|
799
|
+
- userAgent: PodscanBot/1.1.0 Ubuntu/22.04 (Linux) +https://podscan.fm
|
800
|
+
- userAgent: PodscanBot/1.1.0 Ubuntu/22.04 (Linux) Podscan.fm
|
648
801
|
- app: Podscribe
|
649
802
|
match:
|
650
803
|
regex: "(^Adswizz-podscribe/|^Podscribe/)"
|
@@ -653,6 +806,15 @@
|
|
653
806
|
userAgents:
|
654
807
|
- userAgent: Adswizz-podscribe/1.0
|
655
808
|
- userAgent: Podscribe/1.1
|
809
|
+
- app: PodUptime
|
810
|
+
match:
|
811
|
+
regex: "(PodUptime|PodUptimeBot)/\\d"
|
812
|
+
platform: bot
|
813
|
+
test:
|
814
|
+
userAgents:
|
815
|
+
- userAgent: Mozilla/5.0 (compatible; PodUptime/1.0; +https://poduptime.com)
|
816
|
+
- userAgent: Mozilla/5.0 (compatible; PodUptimeBot/1.0; +https://poduptime.com;
|
817
|
+
rid:5c02fc9b-2660-4d3e-a352-de1a1aabdc0a)
|
656
818
|
- app: Podverse Feed Parser
|
657
819
|
match:
|
658
820
|
regex: "^Podverse/Feed Parser"
|
@@ -697,6 +859,13 @@
|
|
697
859
|
test:
|
698
860
|
userAgents:
|
699
861
|
- userAgent: z0-qiniu-imgstg-spider-1.0
|
862
|
+
- app: Radioline Stream Monitoring
|
863
|
+
match:
|
864
|
+
regex: "^Radioline Stream Monitoring"
|
865
|
+
platform: bot
|
866
|
+
test:
|
867
|
+
userAgents:
|
868
|
+
- userAgent: Radioline Stream Monitoring (tech@radioline.co)
|
700
869
|
- app: RedCircle
|
701
870
|
match:
|
702
871
|
regex: RedCircle
|
@@ -704,6 +873,13 @@
|
|
704
873
|
test:
|
705
874
|
userAgents:
|
706
875
|
- userAgent: RedCircle
|
876
|
+
- app: Rephonic
|
877
|
+
match:
|
878
|
+
regex: "^Rephonic/\\d"
|
879
|
+
platform: bot
|
880
|
+
test:
|
881
|
+
userAgents:
|
882
|
+
- userAgent: Rephonic/1.0
|
707
883
|
- app: Ridder Bot
|
708
884
|
match:
|
709
885
|
regex: " RidderBot/"
|
@@ -784,6 +960,13 @@
|
|
784
960
|
match:
|
785
961
|
regex: "^SoundOn/[\\d.]+\\s+\\(bot"
|
786
962
|
platform: bot
|
963
|
+
- app: Speechmatics ASR
|
964
|
+
match:
|
965
|
+
regex: "^Speechmatics-API/"
|
966
|
+
platform: bot
|
967
|
+
test:
|
968
|
+
userAgents:
|
969
|
+
- userAgent: Speechmatics-API/2.0
|
787
970
|
- app: Spotify cache service
|
788
971
|
match:
|
789
972
|
regex: "^Spotify/1\\.0$"
|
@@ -810,6 +993,13 @@
|
|
810
993
|
userAgents:
|
811
994
|
- userAgent: SupportingCast/1.0
|
812
995
|
- userAgent: SupportingCast
|
996
|
+
- app: Taddy Podcast API
|
997
|
+
match:
|
998
|
+
regex: "^Taddy Podcast API "
|
999
|
+
platform: bot
|
1000
|
+
test:
|
1001
|
+
userAgents:
|
1002
|
+
- userAgent: Taddy Podcast API (https://taddy.org/developers)
|
813
1003
|
- app: Timpi search crawler
|
814
1004
|
match:
|
815
1005
|
regex: Timpibot/
|
@@ -824,10 +1014,31 @@
|
|
824
1014
|
test:
|
825
1015
|
userAgents:
|
826
1016
|
- userAgent: Tiny Tiny RSS/22.12-c30b24d09 (Unsupported) (https://tt-rss.org/)
|
1017
|
+
- app: Transistor
|
1018
|
+
match:
|
1019
|
+
regex: "^Transistor\\.fm/"
|
1020
|
+
platform: bot
|
1021
|
+
test:
|
1022
|
+
userAgents:
|
1023
|
+
- userAgent: Transistor.fm/1.0
|
827
1024
|
- app: Trendsmap Resolver
|
828
1025
|
match:
|
829
1026
|
regex: TrendsmapResolver/
|
830
1027
|
platform: bot
|
1028
|
+
- app: Triton Digital Podcast Sync
|
1029
|
+
match:
|
1030
|
+
regex: "^Triton Digital Podcast Sync$"
|
1031
|
+
platform: bot
|
1032
|
+
test:
|
1033
|
+
userAgents:
|
1034
|
+
- userAgent: Triton Digital Podcast Sync
|
1035
|
+
- app: TurnitinBot
|
1036
|
+
match:
|
1037
|
+
regex: "^Turnitin \\("
|
1038
|
+
platform: bot
|
1039
|
+
test:
|
1040
|
+
userAgents:
|
1041
|
+
- userAgent: Turnitin (https://bit.ly/2UvnfoQ)
|
831
1042
|
- app: Twingly Bot
|
832
1043
|
match:
|
833
1044
|
regex: Twingly Recon;
|
@@ -851,6 +1062,13 @@
|
|
851
1062
|
userAgents:
|
852
1063
|
- userAgent: UCast/1.0 Podcast Sync (1 subscribers; feed-id=aHR0cHM6Ly9mZWVkcy5idXp6c3Byb3V0LmNvbS8yMDg0OTQucnNzEAEBAD32-0242-42AC-8583-21E9BAD8C544;
|
853
1064
|
+http://www.ucastapp.com/)
|
1065
|
+
- app: UptimeRobot
|
1066
|
+
match:
|
1067
|
+
regex: UptimeRobot/\d
|
1068
|
+
platform: bot
|
1069
|
+
test:
|
1070
|
+
userAgents:
|
1071
|
+
- userAgent: Mozilla/5.0+(compatible; UptimeRobot/2.0; http://www.uptimerobot.com/)
|
854
1072
|
- app: TelegramBot
|
855
1073
|
match:
|
856
1074
|
regex: "^TelegramBot "
|
@@ -1,4 +1,12 @@
|
|
1
1
|
---
|
2
|
+
- app: Apache HTTPClient
|
3
|
+
match:
|
4
|
+
regex: "^Apache\\-HttpClient"
|
5
|
+
platform: bot
|
6
|
+
test:
|
7
|
+
userAgents:
|
8
|
+
- userAgent: Apache-HttpClient/5.1.4 (Java/1.8.0_144)
|
9
|
+
- userAgent: Apache-HttpClient/5.1.4 (Java/1.8.0_91)
|
2
10
|
- app: curl
|
3
11
|
match:
|
4
12
|
regex: "^Faraday"
|
@@ -1,3 +1,3 @@
|
|
1
1
|
# DO NOT EDIT THIS FILE - it gets automatically generated by running "bin/parse-rules"
|
2
2
|
|
3
|
-
BOTS_RULES = [{:app=>"AAABot - unknown bot", :match=>{"regex"=>"AAABot"}, :platform=>"bot"}, {:app=>"Adswizz", :match=>{"regex"=>"^AIS VirtualListener"}, :platform=>"bot"}, {:app=>"AhrefsBot", :match=>{"regex"=>"AhrefsBot/"}, :platform=>"bot"}, {:app=>"AirableBot", :match=>{"regex"=>"AirableBot-Podcast/"}, :platform=>"bot"}, {:app=>"Alexa Flash Briefing cache", :match=>{"regex"=>"^AmazonNewsContentService"}, :platform=>"bot"}, {:app=>"AlignaBot", :match=>{"regex"=>"^Alignabot"}, :platform=>"bot"}, {:app=>"Amazon Music Podcasts Bot", :match=>{"regex"=>"^Amazon Music Podcast"}, :platform=>"bot"}, {:app=>"Anchor Importer", :match=>{"regex"=>"AnchorImport"}, :platform=>"bot"}, {:app=>"Apache HTTPClient", :match=>{"regex"=>"^Apache\\-HttpClient"}, :platform=>"bot"}, {:app=>"Apple Podcasts (Watch)", :match=>{"regex"=>"^atc/|\\(null\\) watchOS/"}, :platform=>"bot"}, {:app=>"Apple Podcasts automated checks", :match=>{"regex"=>"(iTMS|itunesstored|itms)"}, :platform=>"bot"}, {:app=>"Applebot", :match=>{"regex"=>"^Applebot/"}, :platform=>"bot"}, {:app=>"Archive.org", :match=>{"regex"=>"archive\\.org_bot"}, :platform=>"bot"}, {:app=>"atheerfm", :match=>{"regex"=>"^atheerfm/"}, :platform=>"bot"}, {:app=>"Audiomack", :match=>{"regex"=>"^Audiomack Podcast Processor/"}, :platform=>"bot"}, {:app=>"AudioWave feed parser", :match=>{"regex"=>"^AudioWaveBot/1\\.0"}, :platform=>"bot"}, {:app=>"AwarioSmartBot", :match=>{"regex"=>"^AwarioSmartBot/"}, :platform=>"bot"}, {:app=>"Babbar", :match=>{"regex"=>"Barkrowler/"}, :platform=>"bot"}, {:app=>"Baidu", :match=>{"regex"=>"\\(ce\\.baidu\\.com"}, :platform=>"bot"}, {:app=>"bbot", :match=>{"regex"=>"^bbot/"}, :platform=>"bot"}, {:app=>"British Library", :match=>{"regex"=>"^bl\\.uk_ldfc_bot"}, :platform=>"bot"}, {:app=>"Blubrry Migration Service", :match=>{"regex"=>"^Blubrry Migration Service"}, :platform=>"bot"}, {:app=>"Buzzsprout Importer", :match=>{"regex"=>"^Buzzsprout Importer"}, :platform=>"bot"}, {:app=>"CastFeedValidator", :match=>{"regex"=>"^CastFeedValidator/"}, :platform=>"bot"}, {:app=>"Castopod", :match=>{"regex"=>"Castopod/\\d"}, :platform=>"bot"}, {:app=>"Chartable", :match=>{"regex"=>"^Trackable/"}, :platform=>"bot"}, {:app=>"Clark-Crawler, unknown", :match=>{"regex"=>"^clark-crawler2"}, :platform=>"bot"}, {:app=>"Critical Mention", :match=>{"regex"=>"^Podcast-CriticalMention/"}, :platform=>"bot"}, {:app=>"curl", :match=>{"regex"=>"^curl|^libcurl/|^PycURL/| curl/"}, :platform=>"bot"}, {:app=>"DataforSEO", :match=>{"regex"=>"DataForSeoBot/"}, :platform=>"bot"}, {:app=>"Datagnion Bot", :match=>{"regex"=>"^datagnionbot"}, :platform=>"bot"}, {:app=>"dataprovider.com", :match=>{"regex"=>"Dataprovider\\.com"}, :platform=>"bot"}, {:app=>"Daum", :match=>{"regex"=>"http://cs\\.daum\\.net"}, :platform=>"bot"}, {:app=>"Deezer Podcasters", :match=>{"regex"=>"^Deezer Podcasters/1\\.0"}, :platform=>"bot"}, {:app=>"Digg", :match=>{"regex"=>"^Digg "}, :platform=>"bot"}, {:app=>"dorada", :match=>{"regex"=>"support@dorada\\.co\\.uk"}, :platform=>"bot"}, {:app=>"DotBot", :match=>{"regex"=>"DotBot"}, :platform=>"bot"}, {:app=>"Downcast Bot", :match=>{"regex"=>"downcast feed consumer/"}, :platform=>"bot"}, {:app=>"DuckDuckBot", :match=>{"regex"=>"DuckDuckBot"}, :platform=>"bot"}, {:app=>"F-Secure Riddler", :match=>{"regex"=>"^Riddler "}, :platform=>"bot"}, {:app=>"Facebook Bot", :match=>{"regex"=>"FacebookBot|f?acebookexternalhit/?|^podcastbot$|Facebot|facebookexternalua|^facebookplatform/"}, :platform=>"bot"}, {:app=>"Feedly", :match=>{"regex"=>"^Feedly/"}, :platform=>"bot"}, {:app=>"Feedspot Fetcher", :match=>{"regex"=>"https://www\\.feedspot\\.com/fs/fetcher"}, :platform=>"bot"}, {:app=>"FlexGet", :match=>{"regex"=>"^FlexGet/"}, :platform=>"bot"}, {:app=>"Flipboard Proxy", :match=>{"regex"=>"FlipboardProxy/"}, :platform=>"bot"}, {:app=>"Fyyd", :match=>{"regex"=>"^fyyd-poll"}, :platform=>"bot"}, {:app=>"Go Storage Gateway V1", :match=>{"regex"=>"^storagegw-v1-go$"}, :platform=>"bot"}, {:app=>"Goodpods Bot", :match=>{"regex"=>"Goodpods/\\d+\\.\\d+"}, :platform=>"bot"}, {:app=>"Google Adsense Bot", :match=>{"regex"=>"Mediapartners-Google"}, :platform=>"bot"}, {:app=>"Google AdsBot", :match=>{"regex"=>"AdsBot-Google"}, :platform=>"bot"}, {:app=>"Google Podcasts Manager", :match=>{"regex"=>"Google-Podcast"}, :platform=>"bot"}, {:app=>"Googlebot", :match=>{"regex"=>"Googlebot/|Googlebot-Video/|Googlebot-Image/|^Feedfetcher-Google|google-xrawler"}, :platform=>"bot"}, {:app=>"Gumball", :match=>{"regex"=>"^Gumball"}, :platform=>"bot"}, {:app=>"Headliner", :match=>{"regex"=>"Headliner/"}, :platform=>"bot"}, {:app=>"HubSpot Crawler", :match=>{"regex"=>"HubSpot Crawler"}, :platform=>"bot"}, {:app=>"Internet Archive", :match=>{"regex"=>"Archive-It;|web\\.archive\\.org"}, :platform=>"bot"}, {:app=>"Jaunt", :match=>{"regex"=>"^Jaunt/"}, :platform=>"bot"}, {:app=>"l'Institut national de l'audiovisuel", :match=>{"regex"=>"INA dlweb"}, :platform=>"bot"}, {:app=>"Libsyn", :match=>{"regex"=>"^Libsyn4"}, :platform=>"bot"}, {:app=>"libwww-perl", :match=>{"regex"=>"^libwww-perl| libwww-perl"}, :platform=>"bot"}, {:app=>"Livelap Crawler", :match=>{"regex"=>"LivelapBot"}, :platform=>"bot"}, {:app=>"LTX71", :match=>{"regex"=>"^ltx71 "}, :platform=>"bot"}, {:app=>"MauiBot", :match=>{"regex"=>"^MauiBot"}, :platform=>"bot"}, {:app=>"Mastodon Bot", :match=>{"regex"=>"rb/.*Mastodon/"}, :platform=>"bot"}, {:app=>"Microsoft Bingbot", :match=>{"regex"=>"(BingPreview/|adidxbot/|[bB]ingbot/)"}, :platform=>"bot"}, {:app=>"Microsoft Office", :match=>{"regex"=>"ms-office; MSOffice"}, :platform=>"bot"}, {:app=>"Mixcloud Podcast Importer", :match=>{"regex"=>"^MixcloudPodcastImporter/"}, :platform=>"bot"}, {:app=>"MJ12bot", :match=>{"regex"=>".*MJ12bot"}, :platform=>"bot"}, {:app=>"Mozilla Bot", :match=>{"regex"=>"^'?Mozilla(/5\\.0(\\.\\.\\.)?)?$|^\\(Mozilla/5\\.0\\)$"}, :platform=>"bot"}, {:app=>"MSN Bot", :match=>{"regex"=>"^msnbot/"}, :platform=>"bot"}, {:app=>"Neevabot", :match=>{"regex"=>".*Neevabot"}, :platform=>"bot"}, {:app=>"Netcraft Survey Agent", :match=>{"regex"=>" NetcraftSurveyAgent/"}, :platform=>"bot"}, {:app=>"Newspaper", :match=>{"regex"=>"^newspaper/\\d"}, :platform=>"bot"}, {:app=>"OgScrper", :match=>{"regex"=>"OgScrper"}, :platform=>"bot"}, {:app=>"OkDownload", :match=>{"regex"=>"^OkDownload/"}, :platform=>"bot"}, {:app=>"OP3 Fetcher", :match=>{"regex"=>"^op3-fetcher/"}, :platform=>"bot"}, {:app=>"Overcast feed parser", :match=>{"regex"=>"^Overcast/1\\.0 Podcast Sync"}, :platform=>"bot"}, {:app=>"Pandora RSS crawler", :match=>{"regex"=>"^PandoraRSSCrawler"}, :platform=>"bot"}, {:app=>"PaperLi", :match=>{"regex"=>"PaperLiBot/"}, :platform=>"bot"}, {:app=>"PetalBot", :match=>{"regex"=>"PetalBot"}, :platform=>"bot"}, {:app=>"Pingdom", :match=>{"regex"=>"^Pingdom"}, :platform=>"bot"}, {:app=>"PlayerFM Podcast Sync", :match=>{"regex"=>"PlayerFM/.* Podcast Sync"}, :platform=>"bot"}, {:app=>"Podbean Importer", :match=>{"regex"=>"^Podbean Importer"}, :platform=>"bot"}, {:app=>"Podcastindex.org", :match=>{"regex"=>"^Podcastindex\\.org/"}, :platform=>"bot"}, {:app=>"Podcast de facto Standard", :match=>{"regex"=>"^PodcastStandard/"}, :platform=>"bot"}, {:app=>"Podcast Archiver", :match=>{"regex"=>"^Podcast%20Archiver/"}, :platform=>"bot"}, {:app=>"PodCloud", :match=>{"regex"=>"podCloud"}, :platform=>"bot"}, {:app=>"Podcorn", :match=>{"regex"=>"Podcorn/"}, :platform=>"bot"}, {:app=>"PodderBot", :match=>{"regex"=>"PodderBot/"}, :platform=>"bot"}, {:app=>"Podfollow", :match=>{"regex"=>"podfollowbot/"}, :platform=>"bot"}, {:app=>"Podgrab", :match=>{"regex"=>"^Podgrab$"}, :platform=>"bot"}, {:app=>"Podhound", :match=>{"regex"=>"PodhoundBeta"}, :platform=>"bot"}, {:app=>"Podio Bot", :match=>{"regex"=>"^Podio/"}, :platform=>"bot"}, {:app=>"Podnews", :match=>{"regex"=>"PodnewsBot"}, :platform=>"bot"}, {:app=>"Podnods Bot", :match=>{"regex"=>"(podnods-crawler|podnods)"}, :platform=>"bot"}, {:app=>"Podscribe", :match=>{"regex"=>"(^Adswizz-podscribe/|^Podscribe/)"}, :platform=>"bot"}, {:app=>"Podverse Feed Parser", :match=>{"regex"=>"^Podverse/Feed Parser"}, :platform=>"bot"}, {:app=>"PodvineBot", :match=>{"regex"=>"^PodvineBot/"}, :platform=>"bot"}, {:app=>"PostRank Bot", :match=>{"regex"=>"^PostRank/"}, :platform=>"bot"}, {:app=>"PodwatchPro", :match=>{"regex"=>"Podwatch-Pro Crawler"}, :platform=>"bot"}, {:app=>"Puppeteer", :match=>{"regex"=>" HeadlessChrome/\\d"}, :platform=>"bot"}, {:app=>"python-requests", :match=>{"regex"=>"python-requests"}, :platform=>"bot"}, {:app=>"Qiniu spider", :match=>{"regex"=>"qiniu.*spider"}, :platform=>"bot"}, {:app=>"RedCircle", :match=>{"regex"=>"RedCircle"}, :platform=>"bot"}, {:app=>"Ridder Bot", :match=>{"regex"=>" RidderBot/"}, :platform=>"bot"}, {:app=>"RSS to Telegram", :match=>{"regex"=>"^RSStT"}, :platform=>"bot"}, {:app=>"RSSRadio", :match=>{"regex"=>"^RSSRadio \\("}, :platform=>"bot"}, {:app=>"Ruby Mechanize", :match=>{"regex"=>"^Mechanize|[ -]Mechanize/"}, :platform=>"bot"}, {:app=>"Screaming Frog SEO Spider", :match=>{"regex"=>"^Screaming Frog "}, :platform=>"bot"}, {:app=>"SearchAtlas.com SEO Crawler", :match=>{"regex"=>"^SearchAtlas.*Crawler"}, :platform=>"bot"}, {:app=>"SEMrushBot", :match=>{"regex"=>"SemrushBot/|^SEMrushBot$"}, :platform=>"bot"}, {:app=>"Serendeputy", :match=>{"regex"=>"SerendeputyBot/"}, :platform=>"bot"}, {:app=>"Simplecast", :match=>{"regex"=>"^Simplecast$"}, :platform=>"bot"}, {:app=>"Slack Bot", :match=>{"regex"=>"^Slackbot 1\\.0"}, :platform=>"bot"}, {:app=>"Snapchat Bot", :match=>{"regex"=>"://developers\\.snap\\.com/robots"}, :platform=>"bot"}, {:app=>"SoundOn Bot", :match=>{"regex"=>"^SoundOn/[\\d.]+\\s+\\(bot"}, :platform=>"bot"}, {:app=>"Spotify cache service", :match=>{"regex"=>"^Spotify/1\\.0$"}, :platform=>"bot"}, {:app=>"Stitcher Bot", :match=>{"regex"=>"^StitcherBot"}, :platform=>"bot"}, {:app=>"Substack Content Fetcher", :match=>{"regex"=>"^SubstackContentFetch/"}, :platform=>"bot"}, {:app=>"SupportingCast", :match=>{"regex"=>"^SupportingCast(/.*)?$"}, :platform=>"bot"}, {:app=>"Timpi search crawler", :match=>{"regex"=>"Timpibot/"}, :platform=>"bot"}, {:app=>"Tiny Tiny RSS", :match=>{"regex"=>"^Tiny Tiny RSS/"}, :platform=>"bot"}, {:app=>"Trendsmap Resolver", :match=>{"regex"=>"TrendsmapResolver/"}, :platform=>"bot"}, {:app=>"Twingly Bot", :match=>{"regex"=>"Twingly Recon;"}, :platform=>"bot"}, {:app=>"Twitterbot", :match=>{"regex"=>"^Twitterbot"}, :platform=>"bot"}, {:app=>"Typhoeus", :match=>{"regex"=>"^Typhoeus"}, :platform=>"bot"}, {:app=>"UCast", :match=>{"regex"=>"^UCast/"}, :platform=>"bot"}, {:app=>"TelegramBot", :match=>{"regex"=>"^TelegramBot "}, :platform=>"bot"}, {:app=>"theTradeDesk Content Web Scraper", :match=>{"regex"=>"TTD-Content"}, :platform=>"bot"}, {:app=>"Veritone Engine Toolkit", :match=>{"regex"=>"^veritone/engine-toolkit"}, :platform=>"bot"}, {:app=>"Vurbl", :match=>{"regex"=>"VurblBot"}, :platform=>"bot"}, {:app=>"Wget", :match=>{"regex"=>"Wget"}, :platform=>"bot"}, {:app=>"weborama", :match=>{"regex"=>"^weborama-fetcher"}, :platform=>"bot"}, {:app=>"Windows Crawler", :match=>{"regex"=>"^ZDM/.*Windows"}, :platform=>"bot"}, {:app=>"Windows PowerShell", :match=>{"regex"=>"WindowsPowerShell/"}, :platform=>"bot"}, {:app=>"WordPress", :match=>{"regex"=>"^WordPress"}, :platform=>"bot"}, {:app=>"wsrv.nl", :match=>{"regex"=>"https?://wsrv.nl/"}, :platform=>"bot"}, {:app=>"YaCy", :match=>{"regex"=>"^yacybot"}, :platform=>"bot"}, {:app=>"Yahoo Crawler", :match=>{"regex"=>"Yahoo! Slurp"}, :platform=>"bot"}, {:app=>"YandexBot", :match=>{"regex"=>"YandexBot/"}, :platform=>"bot"}, {:app=>"Zapier", :match=>{"regex"=>"^Zapier$"}, :platform=>"bot"}, {:app=>"Zencast", :match=>{"regex"=>"^Zencastr/"}, :platform=>"bot"}].freeze
|
3
|
+
BOTS_RULES = [{:app=>"AAABot - unknown bot", :match=>{"regex"=>"AAABot"}, :platform=>"bot"}, {:app=>"Adswizz", :match=>{"regex"=>"^AIS VirtualListener"}, :platform=>"bot"}, {:app=>"ma Podcast (agma) Bot", :match=>{"regex"=>"^agma/"}, :platform=>"bot"}, {:app=>"AhrefsBot", :match=>{"regex"=>"AhrefsBot/"}, :platform=>"bot"}, {:app=>"AirableBot", :match=>{"regex"=>"AirableBot-Podcast/"}, :platform=>"bot"}, {:app=>"Alexa Flash Briefing cache", :match=>{"regex"=>"^AmazonNewsContentService"}, :platform=>"bot"}, {:app=>"AlignaBot", :match=>{"regex"=>"^Alignabot"}, :platform=>"bot"}, {:app=>"All Ears", :match=>{"regex"=>"^AllEars/"}, :platform=>"bot"}, {:app=>"Amazon Music Podcasts Bot", :match=>{"regex"=>"^Amazon Music Podcast"}, :platform=>"bot"}, {:app=>"Anchor Importer", :match=>{"regex"=>"AnchorImport"}, :platform=>"bot"}, {:app=>"Apple Notes share extension", :match=>{"regex"=>"^com.apple.(mobilenotes.SharingExtension|Notes.SharingExtension)/"}, :platform=>"bot"}, {:app=>"Apple Podcasts (Watch)", :match=>{"regex"=>"^atc/|\\(null\\) watchOS/"}, :platform=>"bot"}, {:app=>"Apple Podcasts automated checks", :match=>{"regex"=>"(iTMS|itunesstored|itms)"}, :platform=>"bot"}, {:app=>"Applebot", :match=>{"regex"=>"^Applebot/"}, :platform=>"bot"}, {:app=>"Archive.org", :match=>{"regex"=>"archive\\.org_bot"}, :platform=>"bot"}, {:app=>"atheerfm", :match=>{"regex"=>"^atheerfm/"}, :platform=>"bot"}, {:app=>"Audiomack", :match=>{"regex"=>"^Audiomack Podcast Processor/"}, :platform=>"bot"}, {:app=>"AudioWave feed parser", :match=>{"regex"=>"^AudioWaveBot/1\\.0"}, :platform=>"bot"}, {:app=>"AwarioSmartBot", :match=>{"regex"=>"^AwarioSmartBot/"}, :platform=>"bot"}, {:app=>"Babbar", :match=>{"regex"=>"Barkrowler/"}, :platform=>"bot"}, {:app=>"Baidu", :match=>{"regex"=>"\\(ce\\.baidu\\.com"}, :platform=>"bot"}, {:app=>"bbot", :match=>{"regex"=>"^bbot/"}, :platform=>"bot"}, {:app=>"Beacon Podcast Sync", :match=>{"regex"=>"^Beacon/\\d"}, :platform=>"bot"}, {:app=>"British Library", :match=>{"regex"=>"^bl\\.uk_ldfc_bot"}, :platform=>"bot"}, {:app=>"Blubrry Migration Service", :match=>{"regex"=>"^Blubrry Migration Service"}, :platform=>"bot"}, {:app=>"Bullhorn Crawler", :match=>{"regex"=>"^BullhornCrawler/"}, :platform=>"bot"}, {:app=>"Buzzsprout Importer", :match=>{"regex"=>"^Buzzsprout Importer"}, :platform=>"bot"}, {:app=>"Bytespider.*bytedance", :match=>{"regex"=>"Bytespider"}, :platform=>"bot"}, {:app=>"CastFeedValidator", :match=>{"regex"=>"^CastFeedValidator/"}, :platform=>"bot"}, {:app=>"Castopod", :match=>{"regex"=>"Castopod/\\d"}, :platform=>"bot"}, {:app=>"Chartable", :match=>{"regex"=>"^Trackable/"}, :platform=>"bot"}, {:app=>"Clark-Crawler, unknown", :match=>{"regex"=>"^clark-crawler2"}, :platform=>"bot"}, {:app=>"Claudebot", :match=>{"regex"=>"ClaudeBot/"}, :platform=>"bot"}, {:app=>"Critical Mention", :match=>{"regex"=>"^Podcast-CriticalMention/"}, :platform=>"bot"}, {:app=>"curl", :match=>{"regex"=>"^curl|^libcurl/|^PycURL/| curl/"}, :platform=>"bot"}, {:app=>"DataforSEO", :match=>{"regex"=>"DataForSeoBot/"}, :platform=>"bot"}, {:app=>"Datagnion Bot", :match=>{"regex"=>"^datagnionbot"}, :platform=>"bot"}, {:app=>"dataprovider.com", :match=>{"regex"=>"Dataprovider\\.com"}, :platform=>"bot"}, {:app=>"Daum", :match=>{"regex"=>"http://cs\\.daum\\.net"}, :platform=>"bot"}, {:app=>"Deepcast Podcast Sync", :match=>{"regex"=>"^DeepCast/\\d.*Sync"}, :platform=>"bot"}, {:app=>"Deezer Podcasters", :match=>{"regex"=>"^Deezer Podcasters/1\\.0"}, :platform=>"bot"}, {:app=>"Digg", :match=>{"regex"=>"^Digg "}, :platform=>"bot"}, {:app=>"dorada", :match=>{"regex"=>"support@dorada\\.co\\.uk"}, :platform=>"bot"}, {:app=>"DotBot", :match=>{"regex"=>"DotBot"}, :platform=>"bot"}, {:app=>"Downcast Bot", :match=>{"regex"=>"downcast feed consumer/"}, :platform=>"bot"}, {:app=>"DuckDuckBot", :match=>{"regex"=>"DuckDuckBot"}, :platform=>"bot"}, {:app=>"F-Secure Riddler", :match=>{"regex"=>"^Riddler "}, :platform=>"bot"}, {:app=>"Facebook Bot", :match=>{"regex"=>"FacebookBot|f?acebookexternalhit/?|^podcastbot$|Facebot|facebookexternalua|^facebookplatform/"}, :platform=>"bot"}, {:app=>"Feedly", :match=>{"regex"=>"^Feedly/"}, :platform=>"bot"}, {:app=>"Feedspot Fetcher", :match=>{"regex"=>"https://www\\.feedspot\\.com/fs/fetcher"}, :platform=>"bot"}, {:app=>"FlexGet", :match=>{"regex"=>"^FlexGet/"}, :platform=>"bot"}, {:app=>"Flipboard Proxy", :match=>{"regex"=>"FlipboardProxy/"}, :platform=>"bot"}, {:app=>"Fyyd", :match=>{"regex"=>"^fyyd-poll"}, :platform=>"bot"}, {:app=>"Go Storage Gateway V1", :match=>{"regex"=>"^storagegw-v1-go$"}, :platform=>"bot"}, {:app=>"Goodpods Bot", :match=>{"regex"=>"Goodpods/\\d+\\.\\d+"}, :platform=>"bot"}, {:app=>"Google Adsense Bot", :match=>{"regex"=>"Mediapartners-Google"}, :platform=>"bot"}, {:app=>"Google AdsBot", :match=>{"regex"=>"AdsBot-Google"}, :platform=>"bot"}, {:app=>"Google Podcasts Manager", :match=>{"regex"=>"Google-Podcast"}, :platform=>"bot"}, {:app=>"Googlebot", :match=>{"regex"=>"Googlebot/|Googlebot-Video/|Googlebot-Image/|^Feedfetcher-Google|google-xrawler|^Googlebot-News|^Google-Safety$"}, :platform=>"bot"}, {:app=>"Gumball", :match=>{"regex"=>"^Gumball"}, :platform=>"bot"}, {:app=>"Headliner", :match=>{"regex"=>"^Headliner/.*\\+https://headliner\\.app$"}, :platform=>"bot"}, {:app=>"HubSpot Crawler", :match=>{"regex"=>"HubSpot Crawler"}, :platform=>"bot"}, {:app=>"Internet Archive", :match=>{"regex"=>"Archive-It;|web\\.archive\\.org"}, :platform=>"bot"}, {:app=>"iOS share menu", :match=>{"regex"=>"^SharingUIService/"}, :platform=>"bot"}, {:app=>"IPFS Podcasting Node", :match=>{"regex"=>"^IPFS Podcasting Node/"}, :platform=>"bot"}, {:app=>"Jaunt", :match=>{"regex"=>"^Jaunt/"}, :platform=>"bot"}, {:app=>"l'Institut national de l'audiovisuel", :match=>{"regex"=>"INA dlweb"}, :platform=>"bot"}, {:app=>"Library and Archives Canada", :match=>{"regex"=>"LAC_IAHarvester/"}, :platform=>"bot"}, {:app=>"Libsyn", :match=>{"regex"=>"^Libsyn4"}, :platform=>"bot"}, {:app=>"libwww-perl", :match=>{"regex"=>"^libwww-perl| libwww-perl"}, :platform=>"bot"}, {:app=>"Livelap Crawler", :match=>{"regex"=>"LivelapBot"}, :platform=>"bot"}, {:app=>"ListenNotes", :match=>{"regex"=>"^ListenNotes/3\\.0 \\("}, :platform=>"bot"}, {:app=>"LTX71", :match=>{"regex"=>"^ltx71 "}, :platform=>"bot"}, {:app=>"MacOS share menu", :match=>{"regex"=>"^ShareSheetUI/"}, :platform=>"bot"}, {:app=>"MauiBot", :match=>{"regex"=>"^MauiBot"}, :platform=>"bot"}, {:app=>"Mastodon Bot", :match=>{"regex"=>"rb/.*Mastodon/"}, :platform=>"bot"}, {:app=>"Metacast Crawler", :match=>{"regex"=>"^Metacast/.* Crawler"}, :platform=>"bot"}, {:app=>"Microsoft Bingbot", :match=>{"regex"=>"(BingPreview/|adidxbot/|[bB]ingbot/)"}, :platform=>"bot"}, {:app=>"Microsoft Office", :match=>{"regex"=>"ms-office; MSOffice"}, :platform=>"bot"}, {:app=>"Mixcloud Podcast Importer", :match=>{"regex"=>"^MixcloudPodcastImporter/"}, :platform=>"bot"}, {:app=>"MJ12bot", :match=>{"regex"=>".*MJ12bot"}, :platform=>"bot"}, {:app=>"Mozilla Bot", :match=>{"regex"=>"^'?Mozilla(/5\\.0(\\.\\.\\.)?)?$|^\\(Mozilla/5\\.0\\)$"}, :platform=>"bot"}, {:app=>"MSN Bot", :match=>{"regex"=>"^msnbot/"}, :platform=>"bot"}, {:app=>"Neevabot", :match=>{"regex"=>".*Neevabot"}, :platform=>"bot"}, {:app=>"Netcraft Survey Agent", :match=>{"regex"=>" NetcraftSurveyAgent/"}, :platform=>"bot"}, {:app=>"Newspaper", :match=>{"regex"=>"^newspaper/\\d"}, :platform=>"bot"}, {:app=>"OgScrper", :match=>{"regex"=>"OgScrper"}, :platform=>"bot"}, {:app=>"OkDownload", :match=>{"regex"=>"^OkDownload/"}, :platform=>"bot"}, {:app=>"OP3 Fetcher", :match=>{"regex"=>"^op3-fetcher/"}, :platform=>"bot"}, {:app=>"OpenAI GPTBot", :match=>{"regex"=>"GPTBot/"}, :platform=>"bot"}, {:app=>"Overcast feed parser", :match=>{"regex"=>"^Overcast/1\\.0 Podcast Sync"}, :platform=>"bot"}, {:app=>"Pandora RSS crawler", :match=>{"regex"=>"^PandoraRSSCrawler"}, :platform=>"bot"}, {:app=>"PaperLi", :match=>{"regex"=>"PaperLiBot/"}, :platform=>"bot"}, {:app=>"PetalBot", :match=>{"regex"=>"PetalBot"}, :platform=>"bot"}, {:app=>"Pingdom", :match=>{"regex"=>"^Pingdom"}, :platform=>"bot"}, {:app=>"PlayerFM Podcast Sync", :match=>{"regex"=>"PlayerFM/.* Podcast Sync"}, :platform=>"bot"}, {:app=>"Podbean Importer", :match=>{"regex"=>"^Podbean Importer"}, :platform=>"bot"}, {:app=>"Podcastindex.org", :match=>{"regex"=>"^Podcastindex\\.org/"}, :platform=>"bot"}, {:app=>"Podcast de facto Standard", :match=>{"regex"=>"^PodcastStandard/"}, :platform=>"bot"}, {:app=>"Podcast Archiver", :match=>{"regex"=>"^Podcast%20Archiver/"}, :platform=>"bot"}, {:app=>"Podcast Archiver (janw)", :match=>{"regex"=>"^podcast-archiver/v\\d"}, :platform=>"bot"}, {:app=>"Podcastics", :match=>{"regex"=>"^Podcastics$"}, :platform=>"bot"}, {:app=>"PodCloud", :match=>{"regex"=>"podCloud"}, :platform=>"bot"}, {:app=>"Podcorn", :match=>{"regex"=>"Podcorn/"}, :platform=>"bot"}, {:app=>"PodderBot", :match=>{"regex"=>"PodderBot/"}, :platform=>"bot"}, {:app=>"Podfollow", :match=>{"regex"=>"podfollowbot/"}, :platform=>"bot"}, {:app=>"Podgrab", :match=>{"regex"=>"^Podgrab$"}, :platform=>"bot"}, {:app=>"Podhound", :match=>{"regex"=>"PodhoundBeta"}, :platform=>"bot"}, {:app=>"Podio Bot", :match=>{"regex"=>"^Podio/"}, :platform=>"bot"}, {:app=>"Podmon Bot", :match=>{"regex"=>"^Podmonbot/"}, :platform=>"bot"}, {:app=>"Podnews", :match=>{"regex"=>"PodnewsBot"}, :platform=>"bot"}, {:app=>"Podnods Bot", :match=>{"regex"=>"(podnods-crawler|podnods)"}, :platform=>"bot"}, {:app=>"Podplay Podcast Sync", :match=>{"regex"=>"^Podplay-Podcast-Sync/"}, :platform=>"bot"}, {:app=>"Podroll Analyzer", :match=>{"regex"=>"^pdrl\\.fm "}, :platform=>"bot"}, {:app=>"Podscan Bot", :match=>{"regex"=>"^PodscanBot/"}, :platform=>"bot"}, {:app=>"Podscribe", :match=>{"regex"=>"(^Adswizz-podscribe/|^Podscribe/)"}, :platform=>"bot"}, {:app=>"PodUptime", :match=>{"regex"=>"(PodUptime|PodUptimeBot)/\\d"}, :platform=>"bot"}, {:app=>"Podverse Feed Parser", :match=>{"regex"=>"^Podverse/Feed Parser"}, :platform=>"bot"}, {:app=>"PodvineBot", :match=>{"regex"=>"^PodvineBot/"}, :platform=>"bot"}, {:app=>"PostRank Bot", :match=>{"regex"=>"^PostRank/"}, :platform=>"bot"}, {:app=>"PodwatchPro", :match=>{"regex"=>"Podwatch-Pro Crawler"}, :platform=>"bot"}, {:app=>"Puppeteer", :match=>{"regex"=>" HeadlessChrome/\\d"}, :platform=>"bot"}, {:app=>"python-requests", :match=>{"regex"=>"python-requests"}, :platform=>"bot"}, {:app=>"Qiniu spider", :match=>{"regex"=>"qiniu.*spider"}, :platform=>"bot"}, {:app=>"Radioline Stream Monitoring", :match=>{"regex"=>"^Radioline Stream Monitoring"}, :platform=>"bot"}, {:app=>"RedCircle", :match=>{"regex"=>"RedCircle"}, :platform=>"bot"}, {:app=>"Rephonic", :match=>{"regex"=>"^Rephonic/\\d"}, :platform=>"bot"}, {:app=>"Ridder Bot", :match=>{"regex"=>" RidderBot/"}, :platform=>"bot"}, {:app=>"RSS to Telegram", :match=>{"regex"=>"^RSStT"}, :platform=>"bot"}, {:app=>"RSSRadio", :match=>{"regex"=>"^RSSRadio \\("}, :platform=>"bot"}, {:app=>"Ruby Mechanize", :match=>{"regex"=>"^Mechanize|[ -]Mechanize/"}, :platform=>"bot"}, {:app=>"Screaming Frog SEO Spider", :match=>{"regex"=>"^Screaming Frog "}, :platform=>"bot"}, {:app=>"SearchAtlas.com SEO Crawler", :match=>{"regex"=>"^SearchAtlas.*Crawler"}, :platform=>"bot"}, {:app=>"SEMrushBot", :match=>{"regex"=>"SemrushBot/|^SEMrushBot$"}, :platform=>"bot"}, {:app=>"Serendeputy", :match=>{"regex"=>"SerendeputyBot/"}, :platform=>"bot"}, {:app=>"Simplecast", :match=>{"regex"=>"^Simplecast$"}, :platform=>"bot"}, {:app=>"Slack Bot", :match=>{"regex"=>"^Slackbot 1\\.0"}, :platform=>"bot"}, {:app=>"Snapchat Bot", :match=>{"regex"=>"://developers\\.snap\\.com/robots"}, :platform=>"bot"}, {:app=>"SoundOn Bot", :match=>{"regex"=>"^SoundOn/[\\d.]+\\s+\\(bot"}, :platform=>"bot"}, {:app=>"Speechmatics ASR", :match=>{"regex"=>"^Speechmatics-API/"}, :platform=>"bot"}, {:app=>"Spotify cache service", :match=>{"regex"=>"^Spotify/1\\.0$"}, :platform=>"bot"}, {:app=>"Stitcher Bot", :match=>{"regex"=>"^StitcherBot"}, :platform=>"bot"}, {:app=>"Substack Content Fetcher", :match=>{"regex"=>"^SubstackContentFetch/"}, :platform=>"bot"}, {:app=>"SupportingCast", :match=>{"regex"=>"^SupportingCast(/.*)?$"}, :platform=>"bot"}, {:app=>"Taddy Podcast API", :match=>{"regex"=>"^Taddy Podcast API "}, :platform=>"bot"}, {:app=>"Timpi search crawler", :match=>{"regex"=>"Timpibot/"}, :platform=>"bot"}, {:app=>"Tiny Tiny RSS", :match=>{"regex"=>"^Tiny Tiny RSS/"}, :platform=>"bot"}, {:app=>"Transistor", :match=>{"regex"=>"^Transistor\\.fm/"}, :platform=>"bot"}, {:app=>"Trendsmap Resolver", :match=>{"regex"=>"TrendsmapResolver/"}, :platform=>"bot"}, {:app=>"Triton Digital Podcast Sync", :match=>{"regex"=>"^Triton Digital Podcast Sync$"}, :platform=>"bot"}, {:app=>"TurnitinBot", :match=>{"regex"=>"^Turnitin \\("}, :platform=>"bot"}, {:app=>"Twingly Bot", :match=>{"regex"=>"Twingly Recon;"}, :platform=>"bot"}, {:app=>"Twitterbot", :match=>{"regex"=>"^Twitterbot"}, :platform=>"bot"}, {:app=>"Typhoeus", :match=>{"regex"=>"^Typhoeus"}, :platform=>"bot"}, {:app=>"UCast", :match=>{"regex"=>"^UCast/"}, :platform=>"bot"}, {:app=>"UptimeRobot", :match=>{"regex"=>"UptimeRobot/\\d"}, :platform=>"bot"}, {:app=>"TelegramBot", :match=>{"regex"=>"^TelegramBot "}, :platform=>"bot"}, {:app=>"theTradeDesk Content Web Scraper", :match=>{"regex"=>"TTD-Content"}, :platform=>"bot"}, {:app=>"Veritone Engine Toolkit", :match=>{"regex"=>"^veritone/engine-toolkit"}, :platform=>"bot"}, {:app=>"Vurbl", :match=>{"regex"=>"VurblBot"}, :platform=>"bot"}, {:app=>"Wget", :match=>{"regex"=>"Wget"}, :platform=>"bot"}, {:app=>"weborama", :match=>{"regex"=>"^weborama-fetcher"}, :platform=>"bot"}, {:app=>"Windows Crawler", :match=>{"regex"=>"^ZDM/.*Windows"}, :platform=>"bot"}, {:app=>"Windows PowerShell", :match=>{"regex"=>"WindowsPowerShell/"}, :platform=>"bot"}, {:app=>"WordPress", :match=>{"regex"=>"^WordPress"}, :platform=>"bot"}, {:app=>"wsrv.nl", :match=>{"regex"=>"https?://wsrv.nl/"}, :platform=>"bot"}, {:app=>"YaCy", :match=>{"regex"=>"^yacybot"}, :platform=>"bot"}, {:app=>"Yahoo Crawler", :match=>{"regex"=>"Yahoo! Slurp"}, :platform=>"bot"}, {:app=>"YandexBot", :match=>{"regex"=>"YandexBot/"}, :platform=>"bot"}, {:app=>"Zapier", :match=>{"regex"=>"^Zapier$"}, :platform=>"bot"}, {:app=>"Zencast", :match=>{"regex"=>"^Zencastr/"}, :platform=>"bot"}].freeze
|
@@ -1,3 +1,3 @@
|
|
1
1
|
# DO NOT EDIT THIS FILE - it gets automatically generated by running "bin/parse-rules"
|
2
2
|
|
3
|
-
CUSTOM_BOTS_RULES = [{:app=>"curl", :match=>{"regex"=>"^Faraday"}, :platform=>"bot"}, {:app=>"curl", :match=>{"regex"=>"like curl"}, :platform=>"bot"}].freeze
|
3
|
+
CUSTOM_BOTS_RULES = [{:app=>"Apache HTTPClient", :match=>{"regex"=>"^Apache\\-HttpClient"}, :platform=>"bot"}, {:app=>"curl", :match=>{"regex"=>"^Faraday"}, :platform=>"bot"}, {:app=>"curl", :match=>{"regex"=>"like curl"}, :platform=>"bot"}].freeze
|
data/lib/pod_ident/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pod_ident
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Podigee GmbH
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-12-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -135,7 +135,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
135
135
|
- !ruby/object:Gem::Version
|
136
136
|
version: '0'
|
137
137
|
requirements: []
|
138
|
-
rubygems_version: 3.5.
|
138
|
+
rubygems_version: 3.5.22
|
139
139
|
signing_key:
|
140
140
|
specification_version: 4
|
141
141
|
summary: Identifies podcast client user agents
|