[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:
Raymond Hill 2025-05-18 09:55:20 -04:00
parent 4c6f8222af
commit ed10973717
No known key found for this signature in database
GPG key ID: 25E1490B761470C2
3 changed files with 36 additions and 7 deletions

View file

@ -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 =>

View file

@ -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,

View file

@ -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",