is-antibot 2.1.5 → 2.3.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.
- package/package.json +15 -3
- package/src/providers.json +98 -3
- package/src/schema.json +10 -1
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "is-antibot",
|
|
3
3
|
"description": "Detect antibot protection from 30+ providers — Cloudflare, Akamai, DataDome, PerimeterX, Kasada, Imperva, reCAPTCHA, hCaptcha, Turnstile, and more.",
|
|
4
4
|
"homepage": "https://antibot.microlink.io/",
|
|
5
|
-
"version": "2.
|
|
5
|
+
"version": "2.3.0",
|
|
6
6
|
"exports": {
|
|
7
7
|
".": "./src/index.js",
|
|
8
8
|
"./providers.json": "./src/providers.json",
|
|
@@ -111,12 +111,14 @@
|
|
|
111
111
|
"coverage": "c8 report --reporter=text-lcov > coverage/lcov.info",
|
|
112
112
|
"dev": "concurrently \"gulp\" \"npm run dev:server\"",
|
|
113
113
|
"dev:server": "browser-sync start --server docs --files \"docs/index.html, docs/README.md, docs/static/**/*.(css|js)\"",
|
|
114
|
+
"docs": "node scripts/generate-docs.js",
|
|
115
|
+
"docs:check": "node scripts/generate-docs.js --check",
|
|
114
116
|
"lint": "standard",
|
|
115
117
|
"postrelease": "npm run release:tags && npm run release:github && (ci-publish || npm publish --access=public)",
|
|
116
118
|
"pretest": "npm run lint",
|
|
117
|
-
"release": "pnpm run release:version && pnpm run release:changelog && pnpm run release:commit && pnpm run release:tag",
|
|
119
|
+
"release": "pnpm run release:version && pnpm run release:changelog && pnpm run docs && pnpm run release:commit && pnpm run release:tag",
|
|
118
120
|
"release:changelog": "conventional-changelog -p conventionalcommits -i CHANGELOG.md -s",
|
|
119
|
-
"release:commit": "git add package.json CHANGELOG.md && git commit -m \"chore(release): $(node -p \"require('./package.json').version\")\"",
|
|
121
|
+
"release:commit": "git add package.json CHANGELOG.md docs && git commit -m \"chore(release): $(node -p \"require('./package.json').version\")\"",
|
|
120
122
|
"release:github": "github-generate-release",
|
|
121
123
|
"release:tag": "git tag -a v$(node -p \"require('./package.json').version\") -m \"v$(node -p \"require('./package.json').version\")\"",
|
|
122
124
|
"release:tags": "git push origin HEAD:master --follow-tags",
|
|
@@ -130,6 +132,16 @@
|
|
|
130
132
|
"!test/util.js"
|
|
131
133
|
]
|
|
132
134
|
},
|
|
135
|
+
"c8": {
|
|
136
|
+
"exclude": [
|
|
137
|
+
"bench/**",
|
|
138
|
+
"coverage/**",
|
|
139
|
+
"docs/**",
|
|
140
|
+
"gulpfile.js",
|
|
141
|
+
"scripts/**",
|
|
142
|
+
"test/**"
|
|
143
|
+
]
|
|
144
|
+
},
|
|
133
145
|
"commitlint": {
|
|
134
146
|
"extends": [
|
|
135
147
|
"@commitlint/config-conventional"
|
package/src/providers.json
CHANGED
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
"providers": [
|
|
5
5
|
{
|
|
6
6
|
"name": "cloudflare",
|
|
7
|
+
"label": "Cloudflare",
|
|
8
|
+
"category": "antibot",
|
|
7
9
|
"detections": [
|
|
8
10
|
{
|
|
9
11
|
"type": "headers",
|
|
@@ -26,6 +28,8 @@
|
|
|
26
28
|
},
|
|
27
29
|
{
|
|
28
30
|
"name": "vercel",
|
|
31
|
+
"label": "Vercel",
|
|
32
|
+
"category": "antibot",
|
|
29
33
|
"detections": [
|
|
30
34
|
{
|
|
31
35
|
"type": "headers",
|
|
@@ -40,6 +44,8 @@
|
|
|
40
44
|
},
|
|
41
45
|
{
|
|
42
46
|
"name": "akamai",
|
|
47
|
+
"label": "Akamai",
|
|
48
|
+
"category": "antibot",
|
|
43
49
|
"detections": [
|
|
44
50
|
{
|
|
45
51
|
"type": "headers",
|
|
@@ -74,13 +80,18 @@
|
|
|
74
80
|
},
|
|
75
81
|
{
|
|
76
82
|
"name": "datadome",
|
|
83
|
+
"label": "DataDome",
|
|
84
|
+
"category": "antibot",
|
|
77
85
|
"detections": [
|
|
78
86
|
{
|
|
79
87
|
"type": "headers",
|
|
80
88
|
"rules": [
|
|
81
89
|
{
|
|
82
90
|
"header": "x-dd-b",
|
|
83
|
-
"oneOf": [
|
|
91
|
+
"oneOf": [
|
|
92
|
+
"1",
|
|
93
|
+
"2"
|
|
94
|
+
]
|
|
84
95
|
},
|
|
85
96
|
{
|
|
86
97
|
"header": "x-datadome",
|
|
@@ -105,6 +116,8 @@
|
|
|
105
116
|
},
|
|
106
117
|
{
|
|
107
118
|
"name": "perimeterx",
|
|
119
|
+
"label": "PerimeterX",
|
|
120
|
+
"category": "antibot",
|
|
108
121
|
"detections": [
|
|
109
122
|
{
|
|
110
123
|
"type": "headers",
|
|
@@ -144,6 +157,8 @@
|
|
|
144
157
|
},
|
|
145
158
|
{
|
|
146
159
|
"name": "shapesecurity",
|
|
160
|
+
"label": "Shape Security",
|
|
161
|
+
"category": "antibot",
|
|
147
162
|
"detections": [
|
|
148
163
|
{
|
|
149
164
|
"type": "headers",
|
|
@@ -166,6 +181,8 @@
|
|
|
166
181
|
},
|
|
167
182
|
{
|
|
168
183
|
"name": "kasada",
|
|
184
|
+
"label": "Kasada",
|
|
185
|
+
"category": "antibot",
|
|
169
186
|
"detections": [
|
|
170
187
|
{
|
|
171
188
|
"type": "headers",
|
|
@@ -195,6 +212,8 @@
|
|
|
195
212
|
},
|
|
196
213
|
{
|
|
197
214
|
"name": "imperva",
|
|
215
|
+
"label": "Imperva / Incapsula",
|
|
216
|
+
"category": "antibot",
|
|
198
217
|
"detections": [
|
|
199
218
|
{
|
|
200
219
|
"type": "headers",
|
|
@@ -235,6 +254,8 @@
|
|
|
235
254
|
},
|
|
236
255
|
{
|
|
237
256
|
"name": "reblaze",
|
|
257
|
+
"label": "Reblaze",
|
|
258
|
+
"category": "antibot",
|
|
238
259
|
"detections": [
|
|
239
260
|
{
|
|
240
261
|
"type": "cookies",
|
|
@@ -259,6 +280,8 @@
|
|
|
259
280
|
},
|
|
260
281
|
{
|
|
261
282
|
"name": "cheq",
|
|
283
|
+
"label": "Cheq",
|
|
284
|
+
"category": "antibot",
|
|
262
285
|
"detections": [
|
|
263
286
|
{
|
|
264
287
|
"type": "html",
|
|
@@ -288,6 +311,8 @@
|
|
|
288
311
|
},
|
|
289
312
|
{
|
|
290
313
|
"name": "sucuri",
|
|
314
|
+
"label": "Sucuri",
|
|
315
|
+
"category": "antibot",
|
|
291
316
|
"detections": [
|
|
292
317
|
{
|
|
293
318
|
"type": "html",
|
|
@@ -301,6 +326,8 @@
|
|
|
301
326
|
},
|
|
302
327
|
{
|
|
303
328
|
"name": "threatmetrix",
|
|
329
|
+
"label": "ThreatMetrix",
|
|
330
|
+
"category": "antibot",
|
|
304
331
|
"detections": [
|
|
305
332
|
{
|
|
306
333
|
"type": "html",
|
|
@@ -323,6 +350,8 @@
|
|
|
323
350
|
},
|
|
324
351
|
{
|
|
325
352
|
"name": "meetrics",
|
|
353
|
+
"label": "Meetrics",
|
|
354
|
+
"category": "antibot",
|
|
326
355
|
"detections": [
|
|
327
356
|
{
|
|
328
357
|
"type": "html",
|
|
@@ -345,6 +374,8 @@
|
|
|
345
374
|
},
|
|
346
375
|
{
|
|
347
376
|
"name": "ocule",
|
|
377
|
+
"label": "Ocule",
|
|
378
|
+
"category": "antibot",
|
|
348
379
|
"detections": [
|
|
349
380
|
{
|
|
350
381
|
"type": "html",
|
|
@@ -367,6 +398,8 @@
|
|
|
367
398
|
},
|
|
368
399
|
{
|
|
369
400
|
"name": "recaptcha",
|
|
401
|
+
"label": "reCAPTCHA",
|
|
402
|
+
"category": "captcha",
|
|
370
403
|
"detections": [
|
|
371
404
|
{
|
|
372
405
|
"type": "url",
|
|
@@ -405,7 +438,11 @@
|
|
|
405
438
|
},
|
|
406
439
|
{
|
|
407
440
|
"type": "html",
|
|
408
|
-
"statusCodes": [
|
|
441
|
+
"statusCodes": [
|
|
442
|
+
403,
|
|
443
|
+
429,
|
|
444
|
+
503
|
|
445
|
+
],
|
|
409
446
|
"rules": [
|
|
410
447
|
{
|
|
411
448
|
"contains": "g-recaptcha"
|
|
@@ -416,6 +453,8 @@
|
|
|
416
453
|
},
|
|
417
454
|
{
|
|
418
455
|
"name": "hcaptcha",
|
|
456
|
+
"label": "hCaptcha",
|
|
457
|
+
"category": "captcha",
|
|
419
458
|
"detections": [
|
|
420
459
|
{
|
|
421
460
|
"type": "url",
|
|
@@ -441,6 +480,8 @@
|
|
|
441
480
|
},
|
|
442
481
|
{
|
|
443
482
|
"name": "funcaptcha",
|
|
483
|
+
"label": "FunCaptcha (Arkose Labs)",
|
|
484
|
+
"category": "captcha",
|
|
444
485
|
"detections": [
|
|
445
486
|
{
|
|
446
487
|
"type": "url",
|
|
@@ -469,6 +510,8 @@
|
|
|
469
510
|
},
|
|
470
511
|
{
|
|
471
512
|
"name": "geetest",
|
|
513
|
+
"label": "GeeTest",
|
|
514
|
+
"category": "captcha",
|
|
472
515
|
"detections": [
|
|
473
516
|
{
|
|
474
517
|
"type": "url",
|
|
@@ -491,6 +534,8 @@
|
|
|
491
534
|
},
|
|
492
535
|
{
|
|
493
536
|
"name": "cloudflare-turnstile",
|
|
537
|
+
"label": "Cloudflare Turnstile",
|
|
538
|
+
"category": "captcha",
|
|
494
539
|
"detections": [
|
|
495
540
|
{
|
|
496
541
|
"type": "url",
|
|
@@ -516,6 +561,8 @@
|
|
|
516
561
|
},
|
|
517
562
|
{
|
|
518
563
|
"name": "friendly-captcha",
|
|
564
|
+
"label": "Friendly Captcha",
|
|
565
|
+
"category": "captcha",
|
|
519
566
|
"detections": [
|
|
520
567
|
{
|
|
521
568
|
"type": "url",
|
|
@@ -541,6 +588,8 @@
|
|
|
541
588
|
},
|
|
542
589
|
{
|
|
543
590
|
"name": "captcha-eu",
|
|
591
|
+
"label": "Captcha.eu",
|
|
592
|
+
"category": "captcha",
|
|
544
593
|
"detections": [
|
|
545
594
|
{
|
|
546
595
|
"type": "url",
|
|
@@ -566,6 +615,8 @@
|
|
|
566
615
|
},
|
|
567
616
|
{
|
|
568
617
|
"name": "qcloud-captcha",
|
|
618
|
+
"label": "QCloud Captcha",
|
|
619
|
+
"category": "captcha",
|
|
569
620
|
"detections": [
|
|
570
621
|
{
|
|
571
622
|
"type": "url",
|
|
@@ -591,6 +642,8 @@
|
|
|
591
642
|
},
|
|
592
643
|
{
|
|
593
644
|
"name": "aliexpress-captcha",
|
|
645
|
+
"label": "AliExpress CAPTCHA",
|
|
646
|
+
"category": "captcha",
|
|
594
647
|
"detections": [
|
|
595
648
|
{
|
|
596
649
|
"type": "url",
|
|
@@ -611,8 +664,26 @@
|
|
|
611
664
|
}
|
|
612
665
|
]
|
|
613
666
|
},
|
|
667
|
+
{
|
|
668
|
+
"name": "houzz",
|
|
669
|
+
"label": "Houzz",
|
|
670
|
+
"category": "platform",
|
|
671
|
+
"detections": [
|
|
672
|
+
{
|
|
673
|
+
"type": "status_code",
|
|
674
|
+
"domain": "houzz.com",
|
|
675
|
+
"rules": [
|
|
676
|
+
{
|
|
677
|
+
"status": 429
|
|
678
|
+
}
|
|
679
|
+
]
|
|
680
|
+
}
|
|
681
|
+
]
|
|
682
|
+
},
|
|
614
683
|
{
|
|
615
684
|
"name": "reddit",
|
|
685
|
+
"label": "Reddit",
|
|
686
|
+
"category": "platform",
|
|
616
687
|
"detections": [
|
|
617
688
|
{
|
|
618
689
|
"type": "status_code",
|
|
@@ -643,6 +714,8 @@
|
|
|
643
714
|
},
|
|
644
715
|
{
|
|
645
716
|
"name": "google",
|
|
717
|
+
"label": "Google",
|
|
718
|
+
"category": "platform",
|
|
646
719
|
"detections": [
|
|
647
720
|
{
|
|
648
721
|
"type": "url",
|
|
@@ -656,6 +729,8 @@
|
|
|
656
729
|
},
|
|
657
730
|
{
|
|
658
731
|
"name": "linkedin",
|
|
732
|
+
"label": "LinkedIn",
|
|
733
|
+
"category": "platform",
|
|
659
734
|
"detections": [
|
|
660
735
|
{
|
|
661
736
|
"type": "status_code",
|
|
@@ -670,6 +745,8 @@
|
|
|
670
745
|
},
|
|
671
746
|
{
|
|
672
747
|
"name": "instagram",
|
|
748
|
+
"label": "Instagram",
|
|
749
|
+
"category": "platform",
|
|
673
750
|
"detections": [
|
|
674
751
|
{
|
|
675
752
|
"type": "html",
|
|
@@ -685,6 +762,8 @@
|
|
|
685
762
|
},
|
|
686
763
|
{
|
|
687
764
|
"name": "youtube",
|
|
765
|
+
"label": "YouTube",
|
|
766
|
+
"category": "platform",
|
|
688
767
|
"detections": [
|
|
689
768
|
{
|
|
690
769
|
"type": "html",
|
|
@@ -699,11 +778,15 @@
|
|
|
699
778
|
},
|
|
700
779
|
{
|
|
701
780
|
"name": "amazon",
|
|
781
|
+
"label": "Amazon",
|
|
782
|
+
"category": "platform",
|
|
702
783
|
"detections": [
|
|
703
784
|
{
|
|
704
785
|
"type": "headers",
|
|
705
786
|
"domainWithoutSuffix": "amazon",
|
|
706
|
-
"statusCodes": [
|
|
787
|
+
"statusCodes": [
|
|
788
|
+
500
|
|
789
|
+
],
|
|
707
790
|
"rules": [
|
|
708
791
|
{
|
|
709
792
|
"header": "x-cache",
|
|
@@ -724,6 +807,8 @@
|
|
|
724
807
|
},
|
|
725
808
|
{
|
|
726
809
|
"name": "anubis",
|
|
810
|
+
"label": "Anubis",
|
|
811
|
+
"category": "antibot",
|
|
727
812
|
"detections": [
|
|
728
813
|
{
|
|
729
814
|
"type": "html",
|
|
@@ -741,6 +826,8 @@
|
|
|
741
826
|
},
|
|
742
827
|
{
|
|
743
828
|
"name": "fullstory-challenge",
|
|
829
|
+
"label": "FullStory Challenge",
|
|
830
|
+
"category": "antibot",
|
|
744
831
|
"detections": [
|
|
745
832
|
{
|
|
746
833
|
"type": "html",
|
|
@@ -762,6 +849,8 @@
|
|
|
762
849
|
},
|
|
763
850
|
{
|
|
764
851
|
"name": "aws-waf",
|
|
852
|
+
"label": "AWS WAF",
|
|
853
|
+
"category": "antibot",
|
|
765
854
|
"detections": [
|
|
766
855
|
{
|
|
767
856
|
"type": "headers",
|
|
@@ -799,6 +888,8 @@
|
|
|
799
888
|
},
|
|
800
889
|
{
|
|
801
890
|
"name": "weibo",
|
|
891
|
+
"label": "Weibo",
|
|
892
|
+
"category": "platform",
|
|
802
893
|
"description": "Sina Visitor System gate served to non-China/bot clients before hydrating the page.",
|
|
803
894
|
"detections": [
|
|
804
895
|
{
|
|
@@ -814,6 +905,8 @@
|
|
|
814
905
|
},
|
|
815
906
|
{
|
|
816
907
|
"name": "dribbble",
|
|
908
|
+
"label": "Dribbble",
|
|
909
|
+
"category": "platform",
|
|
817
910
|
"description": "Dribbble answers 403 Forbidden to crawler/bot user agents.",
|
|
818
911
|
"detections": [
|
|
819
912
|
{
|
|
@@ -829,6 +922,8 @@
|
|
|
829
922
|
},
|
|
830
923
|
{
|
|
831
924
|
"name": "douban",
|
|
925
|
+
"label": "Douban",
|
|
926
|
+
"category": "platform",
|
|
832
927
|
"description": "Douban's image CDN answers 418 to requests without a matching Referer.",
|
|
833
928
|
"detections": [
|
|
834
929
|
{
|
package/src/schema.json
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"$defs": {
|
|
25
25
|
"provider": {
|
|
26
26
|
"type": "object",
|
|
27
|
-
"required": ["name", "detections"],
|
|
27
|
+
"required": ["name", "label", "category", "detections"],
|
|
28
28
|
"additionalProperties": false,
|
|
29
29
|
"properties": {
|
|
30
30
|
"name": {
|
|
@@ -32,6 +32,15 @@
|
|
|
32
32
|
"pattern": "^[a-z][a-z0-9-]*$",
|
|
33
33
|
"description": "Unique provider identifier (kebab-case)."
|
|
34
34
|
},
|
|
35
|
+
"label": {
|
|
36
|
+
"type": "string",
|
|
37
|
+
"minLength": 1,
|
|
38
|
+
"description": "Human-readable provider name as rendered in docs and dashboards (e.g. 'AWS WAF')."
|
|
39
|
+
},
|
|
40
|
+
"category": {
|
|
41
|
+
"enum": ["antibot", "captcha", "platform"],
|
|
42
|
+
"description": "antibot: general-purpose bot mitigation. captcha: challenge widget vendor. platform: protection specific to a single site."
|
|
43
|
+
},
|
|
35
44
|
"description": {
|
|
36
45
|
"type": "string",
|
|
37
46
|
"description": "Human-readable description or official docs link."
|