mirror of
https://github.com/gorhill/uBlock.git
synced 2026-03-11 09:04:36 +00:00
[mv3] Add "AdGuard -- Mobile Ads"
Maybe related issue: https://github.com/uBlockOrigin/uBOL-home/issues/351 The list is enabled by default on mobile devices.
This commit is contained in:
parent
4c6f8222af
commit
ed10973717
3 changed files with 36 additions and 7 deletions
|
|
@ -29,7 +29,7 @@ import { hashFromIterable } from './dashboard.js';
|
|||
export const rulesetMap = new Map();
|
||||
|
||||
let cachedRulesetData = {};
|
||||
let hideUnusedSet = new Set([ 'regions' ]);
|
||||
let hideUnusedSet = new Set([ 'ads', 'regions' ]);
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
|
|
@ -218,6 +218,11 @@ export function renderFilterLists(rulesetData) {
|
|||
rulesetDetails.filter(ruleset =>
|
||||
ruleset.group === 'default'
|
||||
),
|
||||
], [
|
||||
'ads',
|
||||
rulesetDetails.filter(ruleset =>
|
||||
ruleset.group === 'ads'
|
||||
),
|
||||
], [
|
||||
'privacy',
|
||||
rulesetDetails.filter(ruleset =>
|
||||
|
|
|
|||
|
|
@ -476,7 +476,7 @@ async function filteringModesToDNR(modes) {
|
|||
|
||||
/******************************************************************************/
|
||||
|
||||
async function defaultRulesetsFromLanguage() {
|
||||
async function defaultRulesetsFromEnv() {
|
||||
const dropCountry = lang => {
|
||||
const pos = lang.indexOf('-');
|
||||
if ( pos === -1 ) { return lang; }
|
||||
|
|
@ -494,6 +494,10 @@ async function defaultRulesetsFromLanguage() {
|
|||
`\\b(${Array.from(langSet).join('|')})\\b`
|
||||
);
|
||||
|
||||
const reMobile = /\bMobile\b/.test(navigator.userAgent)
|
||||
? /\bmobile\b/
|
||||
: null
|
||||
|
||||
const rulesetDetails = await getRulesetDetails();
|
||||
const out = [];
|
||||
for ( const ruleset of rulesetDetails.values() ) {
|
||||
|
|
@ -502,10 +506,20 @@ async function defaultRulesetsFromLanguage() {
|
|||
out.push(id);
|
||||
continue;
|
||||
}
|
||||
if ( typeof ruleset.lang !== 'string' ) { continue; }
|
||||
if ( reTargetLang.test(ruleset.lang) === false ) { continue; }
|
||||
out.push(id);
|
||||
if ( typeof ruleset.lang === 'string' ) {
|
||||
if ( reTargetLang.test(ruleset.lang) ) {
|
||||
out.push(id);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if ( typeof ruleset.tags === 'string' ) {
|
||||
if ( reMobile?.test(ruleset.tags) ) {
|
||||
out.push(id);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
|
|
@ -518,7 +532,7 @@ async function patchDefaultRulesets() {
|
|||
staticRulesetIds,
|
||||
] = await Promise.all([
|
||||
localRead('defaultRulesetIds'),
|
||||
defaultRulesetsFromLanguage(),
|
||||
defaultRulesetsFromEnv(),
|
||||
getStaticRulesets().then(r => r.map(a => a.id)),
|
||||
]);
|
||||
const toAdd = [];
|
||||
|
|
@ -649,7 +663,6 @@ async function getEnabledRulesetsDetails() {
|
|||
/******************************************************************************/
|
||||
|
||||
export {
|
||||
defaultRulesetsFromLanguage,
|
||||
enableRulesets,
|
||||
excludeFromStrictBlock,
|
||||
filteringModesToDNR,
|
||||
|
|
|
|||
|
|
@ -63,6 +63,17 @@
|
|||
],
|
||||
"homeURL": "https://gitlab.com/malware-filter/urlhaus-filter"
|
||||
},
|
||||
{
|
||||
"id": "adguard-mobile",
|
||||
"name": "AdGuard – Mobile Ads",
|
||||
"group": "ads",
|
||||
"enabled": false,
|
||||
"tags": "mobile",
|
||||
"urls": [
|
||||
"https://filters.adtidy.org/extension/ublock/filters/11.txt"
|
||||
],
|
||||
"homeURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
|
||||
},
|
||||
{
|
||||
"id": "block-lan",
|
||||
"name": "Block Outsider Intrusion into LAN",
|
||||
|
|
|
|||
Loading…
Reference in a new issue