@adguard/agtree 1.1.6 → 1.1.8
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/README.md +2 -0
- package/dist/agtree.cjs +299 -85
- package/dist/agtree.d.ts +2 -2
- package/dist/agtree.esm.js +299 -85
- package/dist/agtree.iife.min.js +12 -6
- package/dist/agtree.umd.min.js +12 -6
- package/dist/build.txt +1 -1
- package/package.json +113 -108
- package/CHANGELOG.md +0 -99
package/dist/agtree.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* AGTree v1.1.
|
|
3
|
-
* (c)
|
|
2
|
+
* AGTree v1.1.8 (build date: Wed, 24 Apr 2024 15:20:41 GMT)
|
|
3
|
+
* (c) 2024 Adguard Software Ltd.
|
|
4
4
|
* Released under the MIT license
|
|
5
5
|
* https://github.com/AdguardTeam/tsurlfilter/tree/master/packages/agtree#readme
|
|
6
6
|
*/
|
|
@@ -6262,7 +6262,7 @@ class RuleConversionError extends Error {
|
|
|
6262
6262
|
}
|
|
6263
6263
|
}
|
|
6264
6264
|
|
|
6265
|
-
var data$
|
|
6265
|
+
var data$U = { adg_os_any:{ name:"all",
|
|
6266
6266
|
description:"$all modifier is made of $document, $popup, and all content-type modifiers combined.",
|
|
6267
6267
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#all-modifier",
|
|
6268
6268
|
negatable:false,
|
|
@@ -6287,15 +6287,21 @@ var data$T = { adg_os_any:{ name:"all",
|
|
|
6287
6287
|
docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#all",
|
|
6288
6288
|
negatable:false,
|
|
6289
6289
|
block_only:false } };
|
|
6290
|
+
data$U.adg_os_any;
|
|
6291
|
+
data$U.adg_ext_any;
|
|
6292
|
+
data$U.adg_cb_ios;
|
|
6293
|
+
data$U.adg_cb_safari;
|
|
6294
|
+
data$U.ubo_ext_any;
|
|
6290
6295
|
|
|
6291
|
-
var data$
|
|
6296
|
+
var data$T = { adg_os_any:{ name:"app",
|
|
6292
6297
|
description:"The `$app` modifier lets you narrow the rule coverage down to a specific application or a list of applications.\nThe modifier's behavior and syntax perfectly match the corresponding basic rules `$app` modifier.",
|
|
6293
6298
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#app-modifier",
|
|
6294
6299
|
assignable:true,
|
|
6295
6300
|
negatable:false,
|
|
6296
6301
|
value_format:"pipe_separated_apps" } };
|
|
6302
|
+
data$T.adg_os_any;
|
|
6297
6303
|
|
|
6298
|
-
var data$
|
|
6304
|
+
var data$S = { adg_os_any:{ name:"badfilter",
|
|
6299
6305
|
description:"The rules with the `$badfilter` modifier disable other basic rules to which they refer. It means that\nthe text of the disabled rule should match the text of the `$badfilter` rule (without the `$badfilter` modifier).",
|
|
6300
6306
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#badfilter-modifier",
|
|
6301
6307
|
negatable:false },
|
|
@@ -6315,20 +6321,27 @@ var data$R = { adg_os_any:{ name:"badfilter",
|
|
|
6315
6321
|
description:"The rules with the `$badfilter` modifier disable other basic rules to which they refer. It means that\nthe text of the disabled rule should match the text of the `$badfilter` rule (without the `$badfilter` modifier).",
|
|
6316
6322
|
docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#badfilter",
|
|
6317
6323
|
negatable:false } };
|
|
6324
|
+
data$S.adg_os_any;
|
|
6325
|
+
data$S.adg_ext_any;
|
|
6326
|
+
data$S.adg_cb_ios;
|
|
6327
|
+
data$S.adg_cb_safari;
|
|
6328
|
+
data$S.ubo_ext_any;
|
|
6318
6329
|
|
|
6319
|
-
var data$
|
|
6330
|
+
var data$R = { ubo_ext_any:{ name:"cname",
|
|
6320
6331
|
description:"When used in an exception filter,\nit will bypass blocking CNAME uncloaked requests for the current (specified) document.",
|
|
6321
6332
|
docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#cname",
|
|
6322
6333
|
negatable:false,
|
|
6323
6334
|
exception_only:true } };
|
|
6335
|
+
data$R.ubo_ext_any;
|
|
6324
6336
|
|
|
6325
|
-
var data$
|
|
6337
|
+
var data$Q = { adg_os_any:{ name:"content",
|
|
6326
6338
|
description:"Disables HTML filtering and `$replace` rules on the pages that match the rule.",
|
|
6327
6339
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#content-modifier",
|
|
6328
6340
|
negatable:false,
|
|
6329
6341
|
exception_only:true } };
|
|
6342
|
+
data$Q.adg_os_any;
|
|
6330
6343
|
|
|
6331
|
-
var data$
|
|
6344
|
+
var data$P = { adg_os_any:{ name:"cookie",
|
|
6332
6345
|
description:"The `$cookie` modifier completely changes rule behavior.\nInstead of blocking a request, this modifier makes us suppress or modify the Cookie and Set-Cookie headers.",
|
|
6333
6346
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#cookie-modifier",
|
|
6334
6347
|
assignable:true,
|
|
@@ -6342,8 +6355,10 @@ var data$O = { adg_os_any:{ name:"cookie",
|
|
|
6342
6355
|
negatable:false,
|
|
6343
6356
|
value_optional:true,
|
|
6344
6357
|
value_format:"^([^;=\\s]*?)((?:;(maxAge=\\d+;?)?|(sameSite=(lax|none|strict);?)?){1,3})(?<!;)$" } };
|
|
6358
|
+
data$P.adg_os_any;
|
|
6359
|
+
data$P.adg_ext_any;
|
|
6345
6360
|
|
|
6346
|
-
var data$
|
|
6361
|
+
var data$O = { adg_os_any:{ name:"csp",
|
|
6347
6362
|
description:"This modifier completely changes the rule behavior.\nIf it is applied to a rule, it will not block the matching request.\nThe response headers are going to be modified instead.",
|
|
6348
6363
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#csp-modifier",
|
|
6349
6364
|
conflicts:[ "domain",
|
|
@@ -6389,8 +6404,12 @@ var data$N = { adg_os_any:{ name:"csp",
|
|
|
6389
6404
|
negatable:false,
|
|
6390
6405
|
value_optional:true,
|
|
6391
6406
|
value_format:"csp_value" } };
|
|
6407
|
+
data$O.adg_os_any;
|
|
6408
|
+
data$O.adg_ext_any;
|
|
6409
|
+
data$O.abp_ext_any;
|
|
6410
|
+
data$O.ubo_ext_any;
|
|
6392
6411
|
|
|
6393
|
-
var data$
|
|
6412
|
+
var data$N = { adg_os_any:{ name:"denyallow",
|
|
6394
6413
|
description:"The `$denyallow` modifier allows to avoid creating additional rules\nwhen it is needed to disable a certain rule for specific domains.\n`$denyallow` matches only target domains and not referrer domains.",
|
|
6395
6414
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#denyallow-modifier",
|
|
6396
6415
|
conflicts:[ "to" ],
|
|
@@ -6425,8 +6444,13 @@ var data$M = { adg_os_any:{ name:"denyallow",
|
|
|
6425
6444
|
assignable:true,
|
|
6426
6445
|
negatable:false,
|
|
6427
6446
|
value_format:"pipe_separated_denyallow_domains" } };
|
|
6447
|
+
data$N.adg_os_any;
|
|
6448
|
+
data$N.adg_ext_any;
|
|
6449
|
+
data$N.adg_cb_ios;
|
|
6450
|
+
data$N.adg_cb_safari;
|
|
6451
|
+
data$N.ubo_ext_any;
|
|
6428
6452
|
|
|
6429
|
-
var data$
|
|
6453
|
+
var data$M = { adg_os_any:{ name:"document",
|
|
6430
6454
|
description:"The rule corresponds to the main frame document requests,\ni.e. HTML documents that are loaded in the browser tab.",
|
|
6431
6455
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#document-modifier",
|
|
6432
6456
|
negatable:false },
|
|
@@ -6451,8 +6475,14 @@ var data$L = { adg_os_any:{ name:"document",
|
|
|
6451
6475
|
description:"The rule corresponds to the main frame document requests,\ni.e. HTML documents that are loaded in the browser tab.",
|
|
6452
6476
|
docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#document",
|
|
6453
6477
|
negatable:false } };
|
|
6454
|
-
|
|
6455
|
-
|
|
6478
|
+
data$M.adg_os_any;
|
|
6479
|
+
data$M.adg_ext_any;
|
|
6480
|
+
data$M.adg_cb_ios;
|
|
6481
|
+
data$M.adg_cb_safari;
|
|
6482
|
+
data$M.abp_ext_any;
|
|
6483
|
+
data$M.ubo_ext_any;
|
|
6484
|
+
|
|
6485
|
+
var data$L = { adg_any:{ name:"domain",
|
|
6456
6486
|
aliases:[ "from" ],
|
|
6457
6487
|
description:"The `$domain` modifier limits the rule application area to a list of domains and their subdomains.",
|
|
6458
6488
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#domain-modifier",
|
|
@@ -6472,8 +6502,11 @@ var data$K = { adg_any:{ name:"domain",
|
|
|
6472
6502
|
assignable:true,
|
|
6473
6503
|
negatable:false,
|
|
6474
6504
|
value_format:"pipe_separated_domains" } };
|
|
6505
|
+
data$L.adg_any;
|
|
6506
|
+
data$L.abp_any;
|
|
6507
|
+
data$L.ubo_any;
|
|
6475
6508
|
|
|
6476
|
-
var data$
|
|
6509
|
+
var data$K = { adg_any:{ name:"elemhide",
|
|
6477
6510
|
aliases:[ "ehide" ],
|
|
6478
6511
|
description:"Disables any cosmetic rules on the pages matching the rule.",
|
|
6479
6512
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#elemhide-modifier",
|
|
@@ -6491,8 +6524,11 @@ var data$J = { adg_any:{ name:"elemhide",
|
|
|
6491
6524
|
exception_only:true,
|
|
6492
6525
|
docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#elemhide-1",
|
|
6493
6526
|
description:"Disables any cosmetic rules on the pages matching the rule." } };
|
|
6527
|
+
data$K.adg_any;
|
|
6528
|
+
data$K.abp_any;
|
|
6529
|
+
data$K.ubo_any;
|
|
6494
6530
|
|
|
6495
|
-
var data$
|
|
6531
|
+
var data$J = { adg_os_any:{ name:"empty",
|
|
6496
6532
|
description:"This modifier is deprecated in favor of the $redirect modifier.\nRules with `$empty` are still supported and being converted into `$redirect=nooptext` now\nbut the support shall be removed in the future.",
|
|
6497
6533
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#empty-modifier",
|
|
6498
6534
|
deprecated:true,
|
|
@@ -6508,8 +6544,11 @@ var data$I = { adg_os_any:{ name:"empty",
|
|
|
6508
6544
|
description:"This modifier is deprecated in favor of the $redirect modifier.\nRules with `$empty` are supported and being converted into `$redirect=nooptext`.",
|
|
6509
6545
|
docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#empty",
|
|
6510
6546
|
negatable:false } };
|
|
6547
|
+
data$J.adg_os_any;
|
|
6548
|
+
data$J.adg_ext_any;
|
|
6549
|
+
data$J.ubo_ext_any;
|
|
6511
6550
|
|
|
6512
|
-
var data$
|
|
6551
|
+
var data$I = { adg_any:{ name:"first-party",
|
|
6513
6552
|
aliases:[ "1p",
|
|
6514
6553
|
"~third-party" ],
|
|
6515
6554
|
description:"A restriction of first-party requests. Equal to `~third-party`.",
|
|
@@ -6521,8 +6560,10 @@ var data$H = { adg_any:{ name:"first-party",
|
|
|
6521
6560
|
description:"A restriction of first-party requests. Equal to `~third-party`.",
|
|
6522
6561
|
docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#1p",
|
|
6523
6562
|
negatable:false } };
|
|
6563
|
+
data$I.adg_any;
|
|
6564
|
+
data$I.ubo_any;
|
|
6524
6565
|
|
|
6525
|
-
var data$
|
|
6566
|
+
var data$H = { adg_os_any:{ name:"extension",
|
|
6526
6567
|
description:"Disables all userscripts on the pages matching this rule.",
|
|
6527
6568
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#extension-modifier",
|
|
6528
6569
|
conflicts:[ "domain",
|
|
@@ -6537,8 +6578,9 @@ var data$G = { adg_os_any:{ name:"extension",
|
|
|
6537
6578
|
"badfilter" ],
|
|
6538
6579
|
inverse_conflicts:true,
|
|
6539
6580
|
exception_only:true } };
|
|
6581
|
+
data$H.adg_os_any;
|
|
6540
6582
|
|
|
6541
|
-
var data$
|
|
6583
|
+
var data$G = { adg_any:{ name:"font",
|
|
6542
6584
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#font-modifier",
|
|
6543
6585
|
description:"The rule corresponds to requests for fonts, e.g. `.woff` filename extension." },
|
|
6544
6586
|
abp_any:{ name:"font",
|
|
@@ -6547,8 +6589,11 @@ var data$F = { adg_any:{ name:"font",
|
|
|
6547
6589
|
ubo_any:{ name:"font",
|
|
6548
6590
|
docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#options",
|
|
6549
6591
|
description:"The rule corresponds to requests for fonts, e.g. `.woff` filename extension." } };
|
|
6592
|
+
data$G.adg_any;
|
|
6593
|
+
data$G.abp_any;
|
|
6594
|
+
data$G.ubo_any;
|
|
6550
6595
|
|
|
6551
|
-
var data$
|
|
6596
|
+
var data$F = { adg_os_any:{ name:"genericblock",
|
|
6552
6597
|
description:"Disables generic basic rules on pages that correspond to exception rule.",
|
|
6553
6598
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#genericblock-modifier",
|
|
6554
6599
|
conflicts:[ "domain",
|
|
@@ -6603,8 +6648,13 @@ var data$E = { adg_os_any:{ name:"genericblock",
|
|
|
6603
6648
|
docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options",
|
|
6604
6649
|
negatable:false,
|
|
6605
6650
|
exception_only:true } };
|
|
6651
|
+
data$F.adg_os_any;
|
|
6652
|
+
data$F.adg_ext_any;
|
|
6653
|
+
data$F.adg_cb_ios;
|
|
6654
|
+
data$F.adg_cb_safari;
|
|
6655
|
+
data$F.abp_ext_any;
|
|
6606
6656
|
|
|
6607
|
-
var data$
|
|
6657
|
+
var data$E = { adg_any:{ name:"generichide",
|
|
6608
6658
|
aliases:[ "ghide" ],
|
|
6609
6659
|
description:"Disables all generic cosmetic rules.",
|
|
6610
6660
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#generichide-modifier",
|
|
@@ -6635,8 +6685,11 @@ var data$D = { adg_any:{ name:"generichide",
|
|
|
6635
6685
|
inverse_conflicts:true,
|
|
6636
6686
|
negatable:false,
|
|
6637
6687
|
exception_only:true } };
|
|
6688
|
+
data$E.adg_any;
|
|
6689
|
+
data$E.ubo_any;
|
|
6690
|
+
data$E.abp_any;
|
|
6638
6691
|
|
|
6639
|
-
var data$
|
|
6692
|
+
var data$D = { adg_os_any:{ name:"header",
|
|
6640
6693
|
description:"The `$header` modifier allows matching the HTTP response\nhaving a specific header with (optionally) a specific value.",
|
|
6641
6694
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#header-modifier",
|
|
6642
6695
|
assignable:true,
|
|
@@ -6651,8 +6704,11 @@ var data$C = { adg_os_any:{ name:"header",
|
|
|
6651
6704
|
docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#header",
|
|
6652
6705
|
assignable:true,
|
|
6653
6706
|
value_format:"(?xi)\n ^\n # header name\n [\\w-]+\n (\n :\n # header value: string or regexp\n (\\w+|\\/.+\\/)\n )?" } };
|
|
6707
|
+
data$D.adg_os_any;
|
|
6708
|
+
data$D.adg_ext_any;
|
|
6709
|
+
data$D.ubo_ext_any;
|
|
6654
6710
|
|
|
6655
|
-
var data$
|
|
6711
|
+
var data$C = { adg_os_any:{ name:"hls",
|
|
6656
6712
|
description:"The `$hls` rules modify the response of a matching request.\nThey are intended as a convenient way to remove segments from HLS playlists (RFC 8216).",
|
|
6657
6713
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#hls-modifier",
|
|
6658
6714
|
version_added:"CoreLibs 1.10",
|
|
@@ -6667,8 +6723,9 @@ var data$B = { adg_os_any:{ name:"hls",
|
|
|
6667
6723
|
negatable:false,
|
|
6668
6724
|
value_optional:true,
|
|
6669
6725
|
value_format:"(?xi)\n (\n # string pattern\n \\w+\n # or regexp pattern\n |\n # TODO: improve regexp pattern to invalidate unescaped `/`, `$`, and `,`\n \\/.+\\/\n # options\n ([ti]*)?\n )" } };
|
|
6726
|
+
data$C.adg_os_any;
|
|
6670
6727
|
|
|
6671
|
-
var data$
|
|
6728
|
+
var data$B = { adg_any:{ name:"image",
|
|
6672
6729
|
description:"The rule corresponds to images requests.",
|
|
6673
6730
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#image-modifier" },
|
|
6674
6731
|
abp_any:{ name:"image",
|
|
@@ -6677,8 +6734,11 @@ var data$A = { adg_any:{ name:"image",
|
|
|
6677
6734
|
ubo_any:{ name:"image",
|
|
6678
6735
|
description:"The rule corresponds to images requests.",
|
|
6679
6736
|
docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#options" } };
|
|
6737
|
+
data$B.adg_any;
|
|
6738
|
+
data$B.abp_any;
|
|
6739
|
+
data$B.ubo_any;
|
|
6680
6740
|
|
|
6681
|
-
var data$
|
|
6741
|
+
var data$A = { adg_any:{ name:"important",
|
|
6682
6742
|
description:"The `$important` modifier applied to a rule increases its priority\nover any other rule without `$important` modifier. Even over basic exception rules.",
|
|
6683
6743
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#important-modifier",
|
|
6684
6744
|
negatable:false },
|
|
@@ -6686,8 +6746,10 @@ var data$z = { adg_any:{ name:"important",
|
|
|
6686
6746
|
description:"The `$important` modifier applied to a rule increases its priority\nover any other rule without `$important` modifier. Even over basic exception rules.",
|
|
6687
6747
|
docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#important",
|
|
6688
6748
|
negatable:false } };
|
|
6749
|
+
data$A.adg_any;
|
|
6750
|
+
data$A.ubo_any;
|
|
6689
6751
|
|
|
6690
|
-
var data$
|
|
6752
|
+
var data$z = { adg_os_any:{ name:"inline-font",
|
|
6691
6753
|
description:"The `$inline-font` modifier is a sort of a shortcut for $csp modifier with specific value.\nE.g. `||example.org^$inline-font` is converting into:\n```adblock\n||example.org^$csp=font-src 'self' 'unsafe-eval' http: https: data: blob: mediastream: filesystem:\n```",
|
|
6692
6754
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#inline-font-modifier" },
|
|
6693
6755
|
adg_ext_any:{ name:"inline-font",
|
|
@@ -6696,8 +6758,11 @@ var data$y = { adg_os_any:{ name:"inline-font",
|
|
|
6696
6758
|
ubo_ext_any:{ name:"inline-font",
|
|
6697
6759
|
description:"The `$inline-font` modifier is a sort of a shortcut for $csp modifier with specific value.\nE.g. `||example.org^$inline-font` is converting into:\n```adblock\n||example.org^$csp=font-src 'self' 'unsafe-eval' http: https: data: blob: mediastream: filesystem:\n```",
|
|
6698
6760
|
docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#inline-font" } };
|
|
6761
|
+
data$z.adg_os_any;
|
|
6762
|
+
data$z.adg_ext_any;
|
|
6763
|
+
data$z.ubo_ext_any;
|
|
6699
6764
|
|
|
6700
|
-
var data$
|
|
6765
|
+
var data$y = { adg_os_any:{ name:"inline-script",
|
|
6701
6766
|
description:"The `$inline-script` modifier is a sort of a shortcut for $csp modifier with specific value.\nE.g. `||example.org^$inline-script` is converting into:\n```adblock\n||example.org^$csp=script-src 'self' 'unsafe-eval' http: https: data: blob: mediastream: filesystem:\n```",
|
|
6702
6767
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#inline-script-modifier" },
|
|
6703
6768
|
adg_ext_any:{ name:"inline-script",
|
|
@@ -6706,8 +6771,11 @@ var data$x = { adg_os_any:{ name:"inline-script",
|
|
|
6706
6771
|
ubo_ext_any:{ name:"inline-script",
|
|
6707
6772
|
description:"The `$inline-script` modifier is a sort of a shortcut for $csp modifier with specific value.\nE.g. `||example.org^$inline-script` is converting into:\n```adblock\n||example.org^$csp=script-src 'self' 'unsafe-eval' http: https: data: blob: mediastream: filesystem:\n```",
|
|
6708
6773
|
docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#inline-script" } };
|
|
6774
|
+
data$y.adg_os_any;
|
|
6775
|
+
data$y.adg_ext_any;
|
|
6776
|
+
data$y.ubo_ext_any;
|
|
6709
6777
|
|
|
6710
|
-
var data$
|
|
6778
|
+
var data$x = { adg_os_any:{ name:"jsinject",
|
|
6711
6779
|
description:"Forbids adding of javascript code to the page.",
|
|
6712
6780
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#jsinject-modifier",
|
|
6713
6781
|
conflicts:[ "domain",
|
|
@@ -6765,16 +6833,21 @@ var data$w = { adg_os_any:{ name:"jsinject",
|
|
|
6765
6833
|
inverse_conflicts:true,
|
|
6766
6834
|
negatable:false,
|
|
6767
6835
|
exception_only:true } };
|
|
6836
|
+
data$x.adg_os_any;
|
|
6837
|
+
data$x.adg_ext_any;
|
|
6838
|
+
data$x.adg_cb_ios;
|
|
6839
|
+
data$x.adg_cb_safari;
|
|
6768
6840
|
|
|
6769
|
-
var data$
|
|
6841
|
+
var data$w = { adg_os_any:{ name:"jsonprune",
|
|
6770
6842
|
description:"The `$jsonprune` rules modify the response to a matching request\nby removing JSON items that match a modified JSONPath expression.\nThey do not modify responses which are not valid JSON documents.",
|
|
6771
6843
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#jsonprune-modifier",
|
|
6772
6844
|
assignable:true,
|
|
6773
6845
|
negatable:false,
|
|
6774
6846
|
value_optional:true,
|
|
6775
6847
|
value_format:"(?xi)\n ^\n # the expression always starts with a dollar sign (for root)\n # which should be escaped\n \\\\\n \\$\n \\.?\n # TODO: improve the expression to invalidate unescaped `$` and `,`\n .+\n $" } };
|
|
6848
|
+
data$w.adg_os_any;
|
|
6776
6849
|
|
|
6777
|
-
var data$
|
|
6850
|
+
var data$v = { adg_any:{ name:"match-case",
|
|
6778
6851
|
description:"This modifier defines a rule which applies only to addresses that match the case.\nDefault rules are case-insensitive.",
|
|
6779
6852
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#match-case-modifier" },
|
|
6780
6853
|
abp_any:{ name:"match-case",
|
|
@@ -6783,8 +6856,11 @@ var data$u = { adg_any:{ name:"match-case",
|
|
|
6783
6856
|
ubo_any:{ name:"match-case",
|
|
6784
6857
|
description:"This modifier defines a rule which applies only to addresses that match the case.\nDefault rules are case-insensitive.",
|
|
6785
6858
|
docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#match-case" } };
|
|
6859
|
+
data$v.adg_any;
|
|
6860
|
+
data$v.abp_any;
|
|
6861
|
+
data$v.ubo_any;
|
|
6786
6862
|
|
|
6787
|
-
var data$
|
|
6863
|
+
var data$u = { adg_any:{ name:"media",
|
|
6788
6864
|
description:"A restriction of third-party and own requests.\nA third-party request is a request from a different domain.\nFor example, a request to `example.org` from `domain.com` is a third-party request.",
|
|
6789
6865
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#media-modifier" },
|
|
6790
6866
|
abp_any:{ name:"media",
|
|
@@ -6793,8 +6869,11 @@ var data$t = { adg_any:{ name:"media",
|
|
|
6793
6869
|
ubo_any:{ name:"media",
|
|
6794
6870
|
description:"A restriction of third-party and own requests.\nA third-party request is a request from a different domain.\nFor example, a request to `example.org` from `domain.com` is a third-party request.",
|
|
6795
6871
|
docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#options" } };
|
|
6872
|
+
data$u.adg_any;
|
|
6873
|
+
data$u.abp_any;
|
|
6874
|
+
data$u.ubo_any;
|
|
6796
6875
|
|
|
6797
|
-
var data$
|
|
6876
|
+
var data$t = { adg_os_any:{ name:"method",
|
|
6798
6877
|
description:"This modifier limits the rule scope to requests that use the specified set of HTTP methods.\nNegated methods are allowed.",
|
|
6799
6878
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#method-modifier",
|
|
6800
6879
|
negatable:false,
|
|
@@ -6812,8 +6891,11 @@ var data$s = { adg_os_any:{ name:"method",
|
|
|
6812
6891
|
negatable:false,
|
|
6813
6892
|
assignable:true,
|
|
6814
6893
|
value_format:"pipe_separated_methods" } };
|
|
6894
|
+
data$t.adg_os_any;
|
|
6895
|
+
data$t.adg_ext_any;
|
|
6896
|
+
data$t.ubo_ext_any;
|
|
6815
6897
|
|
|
6816
|
-
var data$
|
|
6898
|
+
var data$s = { adg_os_any:{ name:"mp4",
|
|
6817
6899
|
description:"As a response to blocked request AdGuard returns a short video placeholder.\nRules with `$mp4` are still supported and being converted into `$redirect=noopmp4-1s` now\nbut the support shall be removed in the future.",
|
|
6818
6900
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#mp4-modifier",
|
|
6819
6901
|
deprecated:true,
|
|
@@ -6829,16 +6911,20 @@ var data$r = { adg_os_any:{ name:"mp4",
|
|
|
6829
6911
|
description:"As a response to blocked request a short video placeholder is returned.\nRules with `$mp4` are supported and being converted into `$redirect=noopmp4-1s`.",
|
|
6830
6912
|
docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#mp4",
|
|
6831
6913
|
negatable:false } };
|
|
6914
|
+
data$s.adg_os_any;
|
|
6915
|
+
data$s.adg_ext_any;
|
|
6916
|
+
data$s.ubo_ext_any;
|
|
6832
6917
|
|
|
6833
|
-
var data$
|
|
6918
|
+
var data$r = { adg_os_any:{ name:"network",
|
|
6834
6919
|
description:"This is basically a Firewall-kind of rules allowing to fully block\nor unblock access to a specified remote address.",
|
|
6835
6920
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#network-modifier",
|
|
6836
6921
|
conflicts:[ "app",
|
|
6837
6922
|
"important" ],
|
|
6838
6923
|
inverse_conflicts:true,
|
|
6839
6924
|
negatable:false } };
|
|
6925
|
+
data$r.adg_os_any;
|
|
6840
6926
|
|
|
6841
|
-
var data$
|
|
6927
|
+
var data$q = { adg_os_any:{ name:"_",
|
|
6842
6928
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#noop-modifier",
|
|
6843
6929
|
description:"The noop modifier does nothing and can be used solely to increase rules' readability.\nIt consists of a sequence of underscore characters (_) of any length\nand can appear in a rule as many times as needed.",
|
|
6844
6930
|
negatable:false },
|
|
@@ -6858,14 +6944,20 @@ var data$p = { adg_os_any:{ name:"_",
|
|
|
6858
6944
|
docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#_-aka-noop",
|
|
6859
6945
|
description:"The noop modifier does nothing and can be used solely to increase rules' readability.\nIt consists of a sequence of underscore characters (_) of any length\nand can appear in a rule as many times as needed.",
|
|
6860
6946
|
negatable:false } };
|
|
6947
|
+
data$q.adg_os_any;
|
|
6948
|
+
data$q.adg_ext_any;
|
|
6949
|
+
data$q.adg_cb_ios;
|
|
6950
|
+
data$q.adg_cb_safari;
|
|
6951
|
+
data$q.ubo_ext_any;
|
|
6861
6952
|
|
|
6862
|
-
var data$
|
|
6953
|
+
var data$p = { adg_any:{ name:"object-subrequest",
|
|
6863
6954
|
description:"The `$object-subrequest` modifier is removed and is no longer supported.\nRules with it are considered as invalid.\nThe rule corresponds to requests by browser plugins (it is usually Flash).",
|
|
6864
6955
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#object-subrequest-modifier",
|
|
6865
6956
|
removed:true,
|
|
6866
6957
|
removal_message:"The `$object-subrequest` modifier is removed and is no longer supported.\nRules with it are considered as invalid." } };
|
|
6958
|
+
data$p.adg_any;
|
|
6867
6959
|
|
|
6868
|
-
var data$
|
|
6960
|
+
var data$o = { adg_any:{ name:"object",
|
|
6869
6961
|
description:"The rule corresponds to browser plugins resources, e.g. Java or Flash",
|
|
6870
6962
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#object-modifier" },
|
|
6871
6963
|
abp_any:{ name:"object",
|
|
@@ -6874,8 +6966,11 @@ var data$n = { adg_any:{ name:"object",
|
|
|
6874
6966
|
ubo_any:{ name:"object",
|
|
6875
6967
|
description:"The rule corresponds to browser plugins resources, e.g. Java or Flash.",
|
|
6876
6968
|
docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options" } };
|
|
6969
|
+
data$o.adg_any;
|
|
6970
|
+
data$o.abp_any;
|
|
6971
|
+
data$o.ubo_any;
|
|
6877
6972
|
|
|
6878
|
-
var data$
|
|
6973
|
+
var data$n = { adg_any:{ name:"other",
|
|
6879
6974
|
description:"The rule applies to requests for which the type has not been determined\nor does not match the types listed above.",
|
|
6880
6975
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#other-modifier" },
|
|
6881
6976
|
abp_any:{ name:"other",
|
|
@@ -6884,8 +6979,11 @@ var data$m = { adg_any:{ name:"other",
|
|
|
6884
6979
|
ubo_any:{ name:"other",
|
|
6885
6980
|
description:"The rule applies to requests for which the type has not been determined\nor does not match the types listed above.",
|
|
6886
6981
|
docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options" } };
|
|
6982
|
+
data$n.adg_any;
|
|
6983
|
+
data$n.abp_any;
|
|
6984
|
+
data$n.ubo_any;
|
|
6887
6985
|
|
|
6888
|
-
var data$
|
|
6986
|
+
var data$m = { adg_os_any:{ name:"permissions",
|
|
6889
6987
|
description:"For the requests matching a `$permissions` rule, ad blocker strengthens response's feature policy\nby adding additional feature policy equal to the `$permissions` modifier contents.\n`$permissions` rules are applied independently from any other rule type.",
|
|
6890
6988
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#permissions-modifier",
|
|
6891
6989
|
version_added:"CoreLibs 1.11",
|
|
@@ -6897,8 +6995,9 @@ var data$l = { adg_os_any:{ name:"permissions",
|
|
|
6897
6995
|
negatable:false,
|
|
6898
6996
|
value_optional:true,
|
|
6899
6997
|
value_format:"permissions_value" } };
|
|
6998
|
+
data$m.adg_os_any;
|
|
6900
6999
|
|
|
6901
|
-
var data$
|
|
7000
|
+
var data$l = { adg_any:{ name:"ping",
|
|
6902
7001
|
description:"The rule corresponds to requests caused by either navigator.sendBeacon() or the ping attribute on links.",
|
|
6903
7002
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#ping-modifier" },
|
|
6904
7003
|
abp_any:{ name:"ping",
|
|
@@ -6907,14 +7006,18 @@ var data$k = { adg_any:{ name:"ping",
|
|
|
6907
7006
|
ubo_any:{ name:"ping",
|
|
6908
7007
|
description:"The rule corresponds to requests caused by either navigator.sendBeacon() or the ping attribute on links.",
|
|
6909
7008
|
docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options" } };
|
|
7009
|
+
data$l.adg_any;
|
|
7010
|
+
data$l.abp_any;
|
|
7011
|
+
data$l.ubo_any;
|
|
6910
7012
|
|
|
6911
|
-
var data$
|
|
7013
|
+
var data$k = { ubo_ext_any:{ name:"popunder",
|
|
6912
7014
|
description:"To block \"popunders\" windows/tabs where the original page redirects to an advertisement\nand the desired content loads in the newly created one.\nTo be used in the same manner as the popup filter option, except that it will block popunders.",
|
|
6913
7015
|
docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#popunder",
|
|
6914
7016
|
negatable:false,
|
|
6915
7017
|
block_only:true } };
|
|
7018
|
+
data$k.ubo_ext_any;
|
|
6916
7019
|
|
|
6917
|
-
var data$
|
|
7020
|
+
var data$j = { adg_any:{ name:"popup",
|
|
6918
7021
|
description:"Pages opened in a new tab or window.\nNote: Filters will not block pop-ups by default, only if the `$popup` type option is specified.",
|
|
6919
7022
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#popup-modifier",
|
|
6920
7023
|
negatable:false },
|
|
@@ -6926,8 +7029,11 @@ var data$i = { adg_any:{ name:"popup",
|
|
|
6926
7029
|
description:"Pages opened in a new tab or window.\nNote: Filters will not block pop-ups by default, only if the `$popup` type option is specified.",
|
|
6927
7030
|
docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options",
|
|
6928
7031
|
negatable:false } };
|
|
7032
|
+
data$j.adg_any;
|
|
7033
|
+
data$j.abp_any;
|
|
7034
|
+
data$j.ubo_any;
|
|
6929
7035
|
|
|
6930
|
-
var data$
|
|
7036
|
+
var data$i = { adg_os_any:{ name:"redirect-rule",
|
|
6931
7037
|
description:"This is basically an alias to `$redirect`\nsince it has the same \"redirection\" values and the logic is almost similar.\nThe difference is that `$redirect-rule` is applied only in the case\nwhen the target request is blocked by a different basic rule.",
|
|
6932
7038
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#redirect-rule-modifier",
|
|
6933
7039
|
conflicts:[ "domain",
|
|
@@ -7017,8 +7123,11 @@ var data$h = { adg_os_any:{ name:"redirect-rule",
|
|
|
7017
7123
|
assignable:true,
|
|
7018
7124
|
negatable:false,
|
|
7019
7125
|
value_format:"(?x)\n ^(\n 1x1\\.gif|\n 2x2\\.png|\n 3x2\\.png|\n 32x32\\.png|\n noop\\.css|\n noop\\.html|\n noopframe|\n noop\\.js|\n noop\\.txt|\n noop-0\\.1s\\.mp3|\n noop-0\\.5s\\.mp3|\n noop-1s\\.mp4|\n none|\n click2load\\.html|\n addthis_widget\\.js|\n amazon_ads\\.js|\n amazon_apstag\\.js|\n monkeybroker\\.js|\n doubleclick_instream_ad_status|\n google-analytics_ga\\.js|\n google-analytics_analytics\\.js|\n google-analytics_inpage_linkid\\.js|\n google-analytics_cx_api\\.js|\n google-ima\\.js|\n googletagservices_gpt\\.js|\n googletagmanager_gtm\\.js|\n googlesyndication_adsbygoogle\\.js|\n scorecardresearch_beacon\\.js|\n outbrain-widget\\.js|\n hd-main\\.js\n )\n (:[0-9]+)?$" } };
|
|
7126
|
+
data$i.adg_os_any;
|
|
7127
|
+
data$i.adg_ext_any;
|
|
7128
|
+
data$i.ubo_ext_any;
|
|
7020
7129
|
|
|
7021
|
-
var data$
|
|
7130
|
+
var data$h = { adg_os_any:{ name:"redirect",
|
|
7022
7131
|
description:"Used to redirect web requests to a local \"resource\".",
|
|
7023
7132
|
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#redirect-modifier",
|
|
7024
7133
|
assignable:true,
|
|
@@ -7045,6 +7154,22 @@ var data$g = { adg_os_any:{ name:"redirect",
|
|
|
7045
7154
|
assignable:true,
|
|
7046
7155
|
negatable:false,
|
|
7047
7156
|
value_format:"(?x)\n # ABP resources always starts with the `abp-resource:` prefix\n ^abp-resource:\n # Possible resource names\n (\n blank-text|\n blank-css|\n blank-js|\n blank-html|\n blank-mp3|\n 1x1-transparent-gif|\n 2x2-transparent-png|\n 3x2-transparent-png|\n 32x32-transparent-png\n )$" } };
|
|
7157
|
+
data$h.adg_os_any;
|
|
7158
|
+
data$h.adg_ext_any;
|
|
7159
|
+
data$h.ubo_ext_any;
|
|
7160
|
+
data$h.abp_ext_any;
|
|
7161
|
+
|
|
7162
|
+
var data$g = { adg_os_any:{ name:"referrerpolicy",
|
|
7163
|
+
description:"This modifier allows overriding of a page's referrer policy.",
|
|
7164
|
+
docs:"https://adguard.app/kb/general/ad-filtering/create-own-filters/#referrerpolicy-modifier",
|
|
7165
|
+
conflicts:[ "document",
|
|
7166
|
+
"subdocument" ],
|
|
7167
|
+
inverse_conflicts:true,
|
|
7168
|
+
assignable:true,
|
|
7169
|
+
negatable:false,
|
|
7170
|
+
value_optional:true,
|
|
7171
|
+
value_format:"referrerpolicy_value" } };
|
|
7172
|
+
data$g.adg_os_any;
|
|
7048
7173
|
|
|
7049
7174
|
var data$f = { adg_os_any:{ name:"removeheader",
|
|
7050
7175
|
description:"Rules with the `$removeheader` modifier are intended to remove headers from HTTP requests and responses.",
|
|
@@ -7100,6 +7225,8 @@ var data$f = { adg_os_any:{ name:"removeheader",
|
|
|
7100
7225
|
negatable:false,
|
|
7101
7226
|
value_optional:true,
|
|
7102
7227
|
value_format:"(?xi)\n ^\n # Value may start with \"request:\"\n (request:)?\n\n # Forbidden header names\n (?!\n (\n access-control-allow-origin|\n access-control-allow-credentials|\n access-control-allow-headers|\n access-control-allow-methods|\n access-control-expose-headers|\n access-control-max-age|\n access-control-request-headers|\n access-control-request-method|\n origin|\n timing-allow-origin|\n allow|\n cross-origin-embedder-policy|\n cross-origin-opener-policy|\n cross-origin-resource-policy|\n content-security-policy|\n content-security-policy-report-only|\n expect-ct|\n feature-policy|\n origin-isolation|\n strict-transport-security|\n upgrade-insecure-requests|\n x-content-type-options|\n x-download-options|\n x-frame-options|\n x-permitted-cross-domain-policies|\n x-powered-by|\n x-xss-protection|\n public-key-pins|\n public-key-pins-report-only|\n sec-websocket-key|\n sec-websocket-extensions|\n sec-websocket-accept|\n sec-websocket-protocol|\n sec-websocket-version|\n p3p|\n sec-fetch-mode|\n sec-fetch-dest|\n sec-fetch-site|\n sec-fetch-user|\n referrer-policy|\n content-type|\n content-length|\n accept|\n accept-encoding|\n host|\n connection|\n transfer-encoding|\n upgrade\n )\n $)\n\n # Any other header name is allowed, if it matches the following regex\n [A-z0-9-]+\n $" } };
|
|
7228
|
+
data$f.adg_os_any;
|
|
7229
|
+
data$f.adg_ext_any;
|
|
7103
7230
|
|
|
7104
7231
|
var data$e = { adg_os_any:{ name:"removeparam",
|
|
7105
7232
|
description:"Rules with the `$removeparam` modifier are intended to strip query parameters from requests' URLs.",
|
|
@@ -7121,6 +7248,9 @@ var data$e = { adg_os_any:{ name:"removeparam",
|
|
|
7121
7248
|
assignable:true,
|
|
7122
7249
|
negatable:false,
|
|
7123
7250
|
value_format:"(?xi)\n (\n # string pattern\n \\w+\n # or regexp pattern\n |\n \\/.+\\/\n # flags\n ([gimuy]+)?\n )" } };
|
|
7251
|
+
data$e.adg_os_any;
|
|
7252
|
+
data$e.adg_ext_any;
|
|
7253
|
+
data$e.ubo_ext_any;
|
|
7124
7254
|
|
|
7125
7255
|
var data$d = { adg_os_any:{ name:"replace",
|
|
7126
7256
|
description:"This modifier completely changes the rule behavior.\nIf it is applied, the rule will not block the request. The response is going to be modified instead.",
|
|
@@ -7159,6 +7289,8 @@ var data$d = { adg_os_any:{ name:"replace",
|
|
|
7159
7289
|
assignable:true,
|
|
7160
7290
|
negatable:false,
|
|
7161
7291
|
value_format:"(?xi)\n ^\n \\/\n # the regexp to match by\n (.+)\n # separator\n \\/\n # replacement\n (.+)?\n \\/\n # flags\n ([gimuy]*)?\n $" } };
|
|
7292
|
+
data$d.adg_os_any;
|
|
7293
|
+
data$d.adg_ext_firefox;
|
|
7162
7294
|
|
|
7163
7295
|
var data$c = { adg_any:{ name:"script",
|
|
7164
7296
|
description:"The rule corresponds to script requests, e.g. javascript, vbscript.",
|
|
@@ -7169,6 +7301,9 @@ var data$c = { adg_any:{ name:"script",
|
|
|
7169
7301
|
ubo_any:{ name:"script",
|
|
7170
7302
|
description:"The rule corresponds to script requests, e.g. javascript, vbscript.",
|
|
7171
7303
|
docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#options" } };
|
|
7304
|
+
data$c.adg_any;
|
|
7305
|
+
data$c.abp_any;
|
|
7306
|
+
data$c.ubo_any;
|
|
7172
7307
|
|
|
7173
7308
|
var data$b = { adg_any:{ name:"specifichide",
|
|
7174
7309
|
aliases:[ "shide" ],
|
|
@@ -7194,6 +7329,8 @@ var data$b = { adg_any:{ name:"specifichide",
|
|
|
7194
7329
|
inverse_conflicts:true,
|
|
7195
7330
|
negatable:false,
|
|
7196
7331
|
exception_only:true } };
|
|
7332
|
+
data$b.adg_any;
|
|
7333
|
+
data$b.ubo_any;
|
|
7197
7334
|
|
|
7198
7335
|
var data$a = { adg_os_any:{ name:"stealth",
|
|
7199
7336
|
description:"Disables the Stealth Mode module for all corresponding pages and requests.",
|
|
@@ -7235,14 +7372,21 @@ var data$a = { adg_os_any:{ name:"stealth",
|
|
|
7235
7372
|
exception_only:true,
|
|
7236
7373
|
value_optional:true,
|
|
7237
7374
|
value_format:"pipe_separated_stealth_options" } };
|
|
7375
|
+
data$a.adg_os_any;
|
|
7376
|
+
data$a.adg_ext_chrome;
|
|
7377
|
+
data$a.adg_ext_firefox;
|
|
7378
|
+
data$a.adg_ext_opera;
|
|
7379
|
+
data$a.adg_ext_edge;
|
|
7238
7380
|
|
|
7239
7381
|
var data$9 = { ubo_any:{ name:"strict1p",
|
|
7240
7382
|
description:"This new `strict1p` option can check for strict partyness.\nFor example, a network request qualifies as 1st-party if both the context and the request share the same hostname.",
|
|
7241
7383
|
docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#strict1p" } };
|
|
7384
|
+
data$9.ubo_any;
|
|
7242
7385
|
|
|
7243
7386
|
var data$8 = { ubo_any:{ name:"strict3p",
|
|
7244
7387
|
description:"This new `strict3p` option can check for strict partyness.\nFor example, a network request qualifies as 3rd-party if the context and the request hostnames are different.",
|
|
7245
7388
|
docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#strict3p" } };
|
|
7389
|
+
data$8.ubo_any;
|
|
7246
7390
|
|
|
7247
7391
|
var data$7 = { adg_any:{ name:"stylesheet",
|
|
7248
7392
|
description:"The rule corresponds to CSS files requests.",
|
|
@@ -7254,6 +7398,9 @@ var data$7 = { adg_any:{ name:"stylesheet",
|
|
|
7254
7398
|
aliases:[ "css" ],
|
|
7255
7399
|
description:"The rule corresponds to CSS files requests.",
|
|
7256
7400
|
docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#css" } };
|
|
7401
|
+
data$7.adg_any;
|
|
7402
|
+
data$7.abp_any;
|
|
7403
|
+
data$7.ubo_any;
|
|
7257
7404
|
|
|
7258
7405
|
var data$6 = { adg_any:{ name:"subdocument",
|
|
7259
7406
|
description:"The rule corresponds to requests for built-in pages — HTML tags frame and iframe.",
|
|
@@ -7265,6 +7412,9 @@ var data$6 = { adg_any:{ name:"subdocument",
|
|
|
7265
7412
|
aliases:[ "frame" ],
|
|
7266
7413
|
description:"The rule corresponds to requests for built-in pages — HTML tags frame and iframe.",
|
|
7267
7414
|
docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#frame" } };
|
|
7415
|
+
data$6.adg_any;
|
|
7416
|
+
data$6.abp_any;
|
|
7417
|
+
data$6.ubo_any;
|
|
7268
7418
|
|
|
7269
7419
|
var data$5 = { adg_any:{ name:"third-party",
|
|
7270
7420
|
aliases:[ "3p" ],
|
|
@@ -7277,6 +7427,9 @@ var data$5 = { adg_any:{ name:"third-party",
|
|
|
7277
7427
|
abp_any:{ name:"third-party",
|
|
7278
7428
|
description:"A restriction of third-party and own requests.\nA third-party request is a request from a different domain.\nFor example, a request to `example.org` from `domain.com` is a third-party request.",
|
|
7279
7429
|
docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293#party-requests" } };
|
|
7430
|
+
data$5.adg_any;
|
|
7431
|
+
data$5.ubo_any;
|
|
7432
|
+
data$5.abp_any;
|
|
7280
7433
|
|
|
7281
7434
|
var data$4 = { ubo_ext_any:{ name:"to",
|
|
7282
7435
|
description:"The main motivation of this option is\nto give static network filtering engine an equivalent of DNR's `requestDomains` and `excludedRequestDomains`.",
|
|
@@ -7284,6 +7437,7 @@ var data$4 = { ubo_ext_any:{ name:"to",
|
|
|
7284
7437
|
assignable:true,
|
|
7285
7438
|
negatable:false,
|
|
7286
7439
|
value_format:"pipe_separated_domains" } };
|
|
7440
|
+
data$4.ubo_ext_any;
|
|
7287
7441
|
|
|
7288
7442
|
var data$3 = { adg_any:{ name:"urlblock",
|
|
7289
7443
|
description:"Disables blocking of all requests sent from the pages matching the rule.",
|
|
@@ -7299,6 +7453,7 @@ var data$3 = { adg_any:{ name:"urlblock",
|
|
|
7299
7453
|
inverse_conflicts:true,
|
|
7300
7454
|
negatable:false,
|
|
7301
7455
|
exception_only:true } };
|
|
7456
|
+
data$3.adg_any;
|
|
7302
7457
|
|
|
7303
7458
|
var data$2 = { adg_any:{ name:"webrtc",
|
|
7304
7459
|
description:"The rule applies only to WebRTC connections.",
|
|
@@ -7314,6 +7469,9 @@ var data$2 = { adg_any:{ name:"webrtc",
|
|
|
7314
7469
|
description:"The rule applies only to WebRTC connections.",
|
|
7315
7470
|
docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options",
|
|
7316
7471
|
version_added:"1.13.3" } };
|
|
7472
|
+
data$2.adg_any;
|
|
7473
|
+
data$2.ubo_any;
|
|
7474
|
+
data$2.abp_any;
|
|
7317
7475
|
|
|
7318
7476
|
var data$1 = { adg_os_any:{ name:"websocket",
|
|
7319
7477
|
description:"The rule applies only to WebSocket connections.",
|
|
@@ -7333,6 +7491,12 @@ var data$1 = { adg_os_any:{ name:"websocket",
|
|
|
7333
7491
|
ubo_ext_any:{ name:"websocket",
|
|
7334
7492
|
description:"The rule applies only to WebSocket connections.",
|
|
7335
7493
|
docs:"https://help.adblockplus.org/hc/en-us/articles/360062733293-How-to-write-filters#type-options" } };
|
|
7494
|
+
data$1.adg_os_any;
|
|
7495
|
+
data$1.adg_ext_any;
|
|
7496
|
+
data$1.adg_cb_ios;
|
|
7497
|
+
data$1.adg_cb_safari;
|
|
7498
|
+
data$1.abp_ext_any;
|
|
7499
|
+
data$1.ubo_ext_any;
|
|
7336
7500
|
|
|
7337
7501
|
var data = { adg_any:{ name:"xmlhttprequest",
|
|
7338
7502
|
aliases:[ "xhr" ],
|
|
@@ -7345,6 +7509,9 @@ var data = { adg_any:{ name:"xmlhttprequest",
|
|
|
7345
7509
|
aliases:[ "xmlhttprequest" ],
|
|
7346
7510
|
description:"The rule applies only to ajax requests (requests sent via javascript object XMLHttpRequest).",
|
|
7347
7511
|
docs:"https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#xhr" } };
|
|
7512
|
+
data.adg_any;
|
|
7513
|
+
data.abp_any;
|
|
7514
|
+
data.ubo_any;
|
|
7348
7515
|
|
|
7349
7516
|
/**
|
|
7350
7517
|
* @file Raw compatibility tables data reexport from yaml files.
|
|
@@ -7355,46 +7522,47 @@ var data = { adg_any:{ name:"xmlhttprequest",
|
|
|
7355
7522
|
// @ts-nocheck
|
|
7356
7523
|
// Please keep imports and exports in alphabetical order
|
|
7357
7524
|
const rawModifiersData = {
|
|
7358
|
-
all: data$
|
|
7359
|
-
app: data$
|
|
7360
|
-
badfilter: data$
|
|
7361
|
-
cname: data$
|
|
7362
|
-
content: data$
|
|
7363
|
-
cookie: data$
|
|
7364
|
-
csp: data$
|
|
7365
|
-
denyallow: data$
|
|
7366
|
-
document: data$
|
|
7367
|
-
domain: data$
|
|
7368
|
-
elemhide: data$
|
|
7369
|
-
empty: data$
|
|
7370
|
-
firstParty: data$
|
|
7371
|
-
extension: data$
|
|
7372
|
-
font: data$
|
|
7373
|
-
genericblock: data$
|
|
7374
|
-
generichide: data$
|
|
7375
|
-
header: data$
|
|
7376
|
-
hls: data$
|
|
7377
|
-
image: data$
|
|
7378
|
-
important: data$
|
|
7379
|
-
inlineFont: data$
|
|
7380
|
-
inlineScript: data$
|
|
7381
|
-
jsinject: data$
|
|
7382
|
-
jsonprune: data$
|
|
7383
|
-
matchCase: data$
|
|
7384
|
-
media: data$
|
|
7385
|
-
method: data$
|
|
7386
|
-
mp4: data$
|
|
7387
|
-
network: data$
|
|
7388
|
-
noop: data$
|
|
7389
|
-
objectSubrequest: data$
|
|
7390
|
-
object: data$
|
|
7391
|
-
other: data$
|
|
7392
|
-
permissions: data$
|
|
7393
|
-
ping: data$
|
|
7394
|
-
popunder: data$
|
|
7395
|
-
popup: data$
|
|
7396
|
-
redirectRule: data$
|
|
7397
|
-
redirect: data$
|
|
7525
|
+
all: data$U,
|
|
7526
|
+
app: data$T,
|
|
7527
|
+
badfilter: data$S,
|
|
7528
|
+
cname: data$R,
|
|
7529
|
+
content: data$Q,
|
|
7530
|
+
cookie: data$P,
|
|
7531
|
+
csp: data$O,
|
|
7532
|
+
denyallow: data$N,
|
|
7533
|
+
document: data$M,
|
|
7534
|
+
domain: data$L,
|
|
7535
|
+
elemhide: data$K,
|
|
7536
|
+
empty: data$J,
|
|
7537
|
+
firstParty: data$I,
|
|
7538
|
+
extension: data$H,
|
|
7539
|
+
font: data$G,
|
|
7540
|
+
genericblock: data$F,
|
|
7541
|
+
generichide: data$E,
|
|
7542
|
+
header: data$D,
|
|
7543
|
+
hls: data$C,
|
|
7544
|
+
image: data$B,
|
|
7545
|
+
important: data$A,
|
|
7546
|
+
inlineFont: data$z,
|
|
7547
|
+
inlineScript: data$y,
|
|
7548
|
+
jsinject: data$x,
|
|
7549
|
+
jsonprune: data$w,
|
|
7550
|
+
matchCase: data$v,
|
|
7551
|
+
media: data$u,
|
|
7552
|
+
method: data$t,
|
|
7553
|
+
mp4: data$s,
|
|
7554
|
+
network: data$r,
|
|
7555
|
+
noop: data$q,
|
|
7556
|
+
objectSubrequest: data$p,
|
|
7557
|
+
object: data$o,
|
|
7558
|
+
other: data$n,
|
|
7559
|
+
permissions: data$m,
|
|
7560
|
+
ping: data$l,
|
|
7561
|
+
popunder: data$k,
|
|
7562
|
+
popup: data$j,
|
|
7563
|
+
redirectRule: data$i,
|
|
7564
|
+
redirect: data$h,
|
|
7565
|
+
referrerpolicy: data$g,
|
|
7398
7566
|
removeheader: data$f,
|
|
7399
7567
|
removeparam: data$e,
|
|
7400
7568
|
replace: data$d,
|
|
@@ -7567,6 +7735,7 @@ const ALLOWED_CSP_DIRECTIVES = new Set([
|
|
|
7567
7735
|
'child-src',
|
|
7568
7736
|
'connect-src',
|
|
7569
7737
|
'default-src',
|
|
7738
|
+
'fenced-frame-src',
|
|
7570
7739
|
'font-src',
|
|
7571
7740
|
'form-action',
|
|
7572
7741
|
'frame-ancestors',
|
|
@@ -7578,16 +7747,23 @@ const ALLOWED_CSP_DIRECTIVES = new Set([
|
|
|
7578
7747
|
'object-src',
|
|
7579
7748
|
'plugin-types',
|
|
7580
7749
|
'prefetch-src',
|
|
7750
|
+
'referrer',
|
|
7581
7751
|
'report-to',
|
|
7582
7752
|
'report-uri',
|
|
7753
|
+
'require-trusted-types-for',
|
|
7583
7754
|
'sandbox',
|
|
7584
7755
|
'script-src',
|
|
7756
|
+
'script-src-attr',
|
|
7757
|
+
'script-src-elem',
|
|
7585
7758
|
'style-src',
|
|
7759
|
+
'style-src-attr',
|
|
7760
|
+
'style-src-elem',
|
|
7761
|
+
'trusted-types',
|
|
7586
7762
|
'upgrade-insecure-requests',
|
|
7587
7763
|
'worker-src',
|
|
7588
7764
|
]);
|
|
7589
7765
|
/**
|
|
7590
|
-
* Allowed
|
|
7766
|
+
* Allowed directives for $permissions modifier.
|
|
7591
7767
|
*
|
|
7592
7768
|
* @see {@link https://adguard.app/kb/general/ad-filtering/create-own-filters/#permissions-modifier}
|
|
7593
7769
|
*/
|
|
@@ -7637,6 +7813,21 @@ const PERMISSIONS_TOKEN_SELF = 'self';
|
|
|
7637
7813
|
* @see {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Permissions_Policy#allowlists}
|
|
7638
7814
|
*/
|
|
7639
7815
|
const EMPTY_PERMISSIONS_ALLOWLIST = `${OPEN_PARENTHESIS}${CLOSE_PARENTHESIS}`;
|
|
7816
|
+
/**
|
|
7817
|
+
* Allowed directives for $referrerpolicy modifier.
|
|
7818
|
+
*
|
|
7819
|
+
* @see {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy}
|
|
7820
|
+
*/
|
|
7821
|
+
const REFERRER_POLICY_DIRECTIVES = new Set([
|
|
7822
|
+
'no-referrer',
|
|
7823
|
+
'no-referrer-when-downgrade',
|
|
7824
|
+
'origin',
|
|
7825
|
+
'origin-when-cross-origin',
|
|
7826
|
+
'same-origin',
|
|
7827
|
+
'strict-origin',
|
|
7828
|
+
'strict-origin-when-cross-origin',
|
|
7829
|
+
'unsafe-url',
|
|
7830
|
+
]);
|
|
7640
7831
|
/**
|
|
7641
7832
|
* Prefixes for error messages used in modifier validation.
|
|
7642
7833
|
*/
|
|
@@ -7649,6 +7840,7 @@ const VALIDATION_ERROR_PREFIX = {
|
|
|
7649
7840
|
INVALID_PERMISSION_DIRECTIVE: 'Invalid Permissions-Policy directive for the modifier',
|
|
7650
7841
|
INVALID_PERMISSION_ORIGINS: 'Origins in the value is invalid for the modifier and the directive',
|
|
7651
7842
|
INVALID_PERMISSION_ORIGIN_QUOTES: 'Double quotes should be used for origins in the value of the modifier',
|
|
7843
|
+
INVALID_REFERRER_POLICY_DIRECTIVE: 'Invalid Referrer-Policy directive for the modifier',
|
|
7652
7844
|
MIXED_NEGATIONS: 'Simultaneous usage of negated and not negated values is forbidden for the modifier',
|
|
7653
7845
|
NO_CSP_VALUE: 'No CSP value for the modifier and the directive',
|
|
7654
7846
|
NO_CSP_DIRECTIVE_QUOTE: 'CSP directives should no be quoted for the modifier',
|
|
@@ -7972,6 +8164,7 @@ var CustomValueFormatValidatorName;
|
|
|
7972
8164
|
CustomValueFormatValidatorName["Domain"] = "pipe_separated_domains";
|
|
7973
8165
|
CustomValueFormatValidatorName["Method"] = "pipe_separated_methods";
|
|
7974
8166
|
CustomValueFormatValidatorName["Permissions"] = "permissions_value";
|
|
8167
|
+
CustomValueFormatValidatorName["ReferrerPolicy"] = "referrerpolicy_value";
|
|
7975
8168
|
CustomValueFormatValidatorName["StealthOption"] = "pipe_separated_stealth_options";
|
|
7976
8169
|
})(CustomValueFormatValidatorName || (CustomValueFormatValidatorName = {}));
|
|
7977
8170
|
/**
|
|
@@ -8428,6 +8621,26 @@ const validatePermissions = (modifier) => {
|
|
|
8428
8621
|
}
|
|
8429
8622
|
return { valid: true };
|
|
8430
8623
|
};
|
|
8624
|
+
/**
|
|
8625
|
+
* Validates `referrerpolicy_value` custom value format.
|
|
8626
|
+
* Used for $referrerpolicy modifier.
|
|
8627
|
+
*
|
|
8628
|
+
* @param modifier Modifier AST node.
|
|
8629
|
+
*
|
|
8630
|
+
* @returns Validation result.
|
|
8631
|
+
*/
|
|
8632
|
+
const validateReferrerPolicy = (modifier) => {
|
|
8633
|
+
if (!modifier.value?.value) {
|
|
8634
|
+
return getValueRequiredValidationResult(modifier.modifier.value);
|
|
8635
|
+
}
|
|
8636
|
+
const modifierName = modifier.modifier.value;
|
|
8637
|
+
const modifierValue = modifier.value.value;
|
|
8638
|
+
if (!REFERRER_POLICY_DIRECTIVES.has(modifierValue)) {
|
|
8639
|
+
// eslint-disable-next-line max-len
|
|
8640
|
+
return getInvalidValidationResult(`${VALIDATION_ERROR_PREFIX.INVALID_REFERRER_POLICY_DIRECTIVE}: '${modifierName}': '${modifierValue}'`);
|
|
8641
|
+
}
|
|
8642
|
+
return { valid: true };
|
|
8643
|
+
};
|
|
8431
8644
|
/**
|
|
8432
8645
|
* Map of all available pre-defined validators for modifiers with custom `value_format`.
|
|
8433
8646
|
*/
|
|
@@ -8438,6 +8651,7 @@ const CUSTOM_VALUE_FORMAT_MAP = {
|
|
|
8438
8651
|
[CustomValueFormatValidatorName.Domain]: validatePipeSeparatedDomains,
|
|
8439
8652
|
[CustomValueFormatValidatorName.Method]: validatePipeSeparatedMethods,
|
|
8440
8653
|
[CustomValueFormatValidatorName.Permissions]: validatePermissions,
|
|
8654
|
+
[CustomValueFormatValidatorName.ReferrerPolicy]: validateReferrerPolicy,
|
|
8441
8655
|
[CustomValueFormatValidatorName.StealthOption]: validatePipeSeparatedStealthOptions,
|
|
8442
8656
|
};
|
|
8443
8657
|
/**
|
|
@@ -10516,7 +10730,7 @@ class LogicalExpressionUtils {
|
|
|
10516
10730
|
}
|
|
10517
10731
|
}
|
|
10518
10732
|
|
|
10519
|
-
const version$1 = "1.1.
|
|
10733
|
+
const version$1 = "1.1.8";
|
|
10520
10734
|
|
|
10521
10735
|
/**
|
|
10522
10736
|
* @file AGTree version
|