This commit is contained in:
gorhill 2016-01-03 13:58:25 -05:00
parent f6b5e73455
commit 16a128dff0
5 changed files with 98 additions and 28 deletions

View File

@ -6,7 +6,7 @@
5baa90e2da7cd6a73edff2010557ee57 assets/ublock/redirect.txt 5baa90e2da7cd6a73edff2010557ee57 assets/ublock/redirect.txt
890e6b30c6a4cfd2ac5aa1bbe36d30fe assets/ublock/experimental.txt 890e6b30c6a4cfd2ac5aa1bbe36d30fe assets/ublock/experimental.txt
40acd039d46d8e9dea7f63fd257d93bd assets/ublock/resources.txt 40acd039d46d8e9dea7f63fd257d93bd assets/ublock/resources.txt
0a586f61b5bea73447c1bc1d46791c4c assets/ublock/filter-lists.json 9426bdf06d69f8d7493306ed135f6819 assets/ublock/filter-lists.json
50573388b525ede1a920cd4b4ee7fbf0 assets/thirdparties/easylist-downloads.adblockplus.org/easyprivacy.txt 50573388b525ede1a920cd4b4ee7fbf0 assets/thirdparties/easylist-downloads.adblockplus.org/easyprivacy.txt
61cc16cf02e034370f0f47bc17c46551 assets/thirdparties/easylist-downloads.adblockplus.org/easylist.txt 61cc16cf02e034370f0f47bc17c46551 assets/thirdparties/easylist-downloads.adblockplus.org/easylist.txt
7f0443f3dcc9abfd47cfbc95ce824ddb assets/thirdparties/mirror1.malwaredomains.com/files/README.md 7f0443f3dcc9abfd47cfbc95ce824ddb assets/thirdparties/mirror1.malwaredomains.com/files/README.md

View File

@ -3,12 +3,14 @@
"off": true, "off": true,
"title": "ISL: Icelandic ABP List", "title": "ISL: Icelandic ABP List",
"group": "regions", "group": "regions",
"lang": "is",
"supportURL": "http://adblock.gardar.net/" "supportURL": "http://adblock.gardar.net/"
}, },
"https://adblock.dk/block.csv": { "https://adblock.dk/block.csv": {
"off": true, "off": true,
"title": "DNK: Schacks Adblock Plus liste", "title": "DNK: Schacks Adblock Plus liste",
"group": "regions", "group": "regions",
"lang": "da",
"supportURL": "https://henrik.schack.dk/adblock/" "supportURL": "https://henrik.schack.dk/adblock/"
}, },
"https://dl.dropboxusercontent.com/u/1289327/abpxfiles/filtri.txt": { "https://dl.dropboxusercontent.com/u/1289327/abpxfiles/filtri.txt": {
@ -21,6 +23,7 @@
"off": true, "off": true,
"title": "RUS: RU AdList (Дополнительная региональная подписка)", "title": "RUS: RU AdList (Дополнительная региональная подписка)",
"group": "regions", "group": "regions",
"lang": "ru",
"supportURL": "https://forums.lanik.us/viewforum.php?f=102" "supportURL": "https://forums.lanik.us/viewforum.php?f=102"
}, },
"https://easylist-downloads.adblockplus.org/bitblock.txt": { "https://easylist-downloads.adblockplus.org/bitblock.txt": {
@ -45,24 +48,28 @@
"off": true, "off": true,
"title": "CHN: EasyList China (中文)", "title": "CHN: EasyList China (中文)",
"group": "regions", "group": "regions",
"lang": "zh",
"supportURL": "http://abpchina.org/forum/forum.php" "supportURL": "http://abpchina.org/forum/forum.php"
}, },
"https://easylist-downloads.adblockplus.org/easylistdutch.txt": { "https://easylist-downloads.adblockplus.org/easylistdutch.txt": {
"off": true, "off": true,
"title": "NLD: EasyList Dutch", "title": "NLD: EasyList Dutch",
"group": "regions", "group": "regions",
"lang": "nl",
"supportURL": "https://forums.lanik.us/viewforum.php?f=100" "supportURL": "https://forums.lanik.us/viewforum.php?f=100"
}, },
"https://easylist-downloads.adblockplus.org/easylistgermany.txt": { "https://easylist-downloads.adblockplus.org/easylistgermany.txt": {
"off": true, "off": true,
"title": "DEU: EasyList Germany", "title": "DEU: EasyList Germany",
"group": "regions", "group": "regions",
"lang": "de",
"supportURL": "https://forums.lanik.us/viewforum.php?f=90" "supportURL": "https://forums.lanik.us/viewforum.php?f=90"
}, },
"https://easylist-downloads.adblockplus.org/easylistitaly.txt": { "https://easylist-downloads.adblockplus.org/easylistitaly.txt": {
"off": true, "off": true,
"title": "ITA: EasyList Italy", "title": "ITA: EasyList Italy",
"group": "regions", "group": "regions",
"lang": "it",
"supportURL": "https://forums.lanik.us/viewforum.php?f=96" "supportURL": "https://forums.lanik.us/viewforum.php?f=96"
}, },
"easylist-downloads.adblockplus.org/easyprivacy.txt": { "easylist-downloads.adblockplus.org/easyprivacy.txt": {
@ -87,12 +94,14 @@
"off": true, "off": true,
"title": "FRA: EasyList Liste FR", "title": "FRA: EasyList Liste FR",
"group": "regions", "group": "regions",
"lang": "fr",
"supportURL": "https://forums.lanik.us/viewforum.php?f=91" "supportURL": "https://forums.lanik.us/viewforum.php?f=91"
}, },
"https://notabug.org/latvian-list/adblock-latvian/raw/master/lists/latvian-list.txt": { "https://notabug.org/latvian-list/adblock-latvian/raw/master/lists/latvian-list.txt": {
"off": true, "off": true,
"title": "LVA: Latvian List", "title": "LVA: Latvian List",
"group": "regions", "group": "regions",
"lang": "lv",
"supportURL": "https://notabug.org/latvian-list/adblock-latvian" "supportURL": "https://notabug.org/latvian-list/adblock-latvian"
}, },
"http://hosts-file.net/.%5Cad_servers.txt": { "http://hosts-file.net/.%5Cad_servers.txt": {
@ -105,6 +114,7 @@
"off": true, "off": true,
"title": "EST: Eesti saitidele kohandatud filter", "title": "EST: Eesti saitidele kohandatud filter",
"group": "regions", "group": "regions",
"lang": "et",
"supportURL": "http://adblock.ee/" "supportURL": "http://adblock.ee/"
}, },
"https://s3.amazonaws.com/lists.disconnect.me/simple_malvertising.txt": { "https://s3.amazonaws.com/lists.disconnect.me/simple_malvertising.txt": {
@ -126,6 +136,7 @@
"off": true, "off": true,
"title": "POL: polskie filtry do Adblocka i uBlocka", "title": "POL: polskie filtry do Adblocka i uBlocka",
"group": "regions", "group": "regions",
"lang": "pl",
"supportURL": "http://www.certyficate.it/adblock-ublock-polish-filters/" "supportURL": "http://www.certyficate.it/adblock-ublock-polish-filters/"
}, },
"https://easylist-downloads.adblockplus.org/antiadblockfilters.txt": { "https://easylist-downloads.adblockplus.org/antiadblockfilters.txt": {
@ -138,24 +149,28 @@
"off": true, "off": true,
"title": "FIN: Finnish Addition to Easylist", "title": "FIN: Finnish Addition to Easylist",
"group": "regions", "group": "regions",
"lang": "fi",
"supportURL": "http://www.juvander.fi/AdblockFinland" "supportURL": "http://www.juvander.fi/AdblockFinland"
}, },
"https://raw.githubusercontent.com/gfmaster/adblock-korea-contrib/master/filter.txt": { "https://raw.githubusercontent.com/gfmaster/adblock-korea-contrib/master/filter.txt": {
"off": true, "off": true,
"title": "KOR: Korean Adblock List", "title": "KOR: Korean Adblock List",
"group": "regions", "group": "regions",
"lang": "ko",
"supportURL": "https://github.com/gfmaster/adblock-korea-contrib" "supportURL": "https://github.com/gfmaster/adblock-korea-contrib"
}, },
"https://raw.githubusercontent.com/heradhis/indonesianadblockrules/master/subscriptions/abpindo.txt": { "https://raw.githubusercontent.com/heradhis/indonesianadblockrules/master/subscriptions/abpindo.txt": {
"off": true, "off": true,
"title": "IDN: ABPindo", "title": "IDN: ABPindo",
"group": "regions", "group": "regions",
"lang": "id",
"supportURL": "https://github.com/heradhis/indonesianadblockrules" "supportURL": "https://github.com/heradhis/indonesianadblockrules"
}, },
"https://raw.githubusercontent.com/k2jp/abp-japanese-filters/master/abpjf.txt": { "https://raw.githubusercontent.com/k2jp/abp-japanese-filters/master/abpjf.txt": {
"off": true, "off": true,
"title": "JPN: ABP Japanese filters (日本用フィルタ)", "title": "JPN: ABP Japanese filters (日本用フィルタ)",
"group": "regions", "group": "regions",
"lang": "ja",
"supportURL": "https://github.com/k2jp/abp-japanese-filters" "supportURL": "https://github.com/k2jp/abp-japanese-filters"
}, },
"https://raw.githubusercontent.com/liamja/Prebake/master/obtrusive.txt": { "https://raw.githubusercontent.com/liamja/Prebake/master/obtrusive.txt": {
@ -168,12 +183,14 @@
"off": true, "off": true,
"title": "KOR: YousList", "title": "KOR: YousList",
"group": "regions", "group": "regions",
"lang": "ko",
"supportURL": "https://github.com/yous/YousList" "supportURL": "https://github.com/yous/YousList"
}, },
"https://easylist-downloads.adblockplus.org/Liste_AR.txt": { "https://easylist-downloads.adblockplus.org/Liste_AR.txt": {
"off": true, "off": true,
"title": "ara: Liste AR", "title": "ara: Liste AR",
"group": "regions", "group": "regions",
"lang": "ar",
"supportURL": "https://forums.lanik.us/viewforum.php?f=98" "supportURL": "https://forums.lanik.us/viewforum.php?f=98"
}, },
"https://liste-ar-adblock.googlecode.com/hg/Liste_AR.txt": { "https://liste-ar-adblock.googlecode.com/hg/Liste_AR.txt": {
@ -186,6 +203,7 @@
"off": true, "off": true,
"title": "LTU: Adblock Plus Lithuania", "title": "LTU: Adblock Plus Lithuania",
"group": "regions", "group": "regions",
"lang": "lt",
"supportURL": "http://margevicius.lt/easylist_lithuania/" "supportURL": "http://margevicius.lt/easylist_lithuania/"
}, },
"http://malwaredomains.lehigh.edu/files/immortal_domains.txt": { "http://malwaredomains.lehigh.edu/files/immortal_domains.txt": {
@ -210,6 +228,7 @@
"off": true, "off": true,
"title": "ISR: EasyList Hebrew", "title": "ISR: EasyList Hebrew",
"group": "regions", "group": "regions",
"lang": "he",
"supportURL": "https://github.com/AdBlockPlusIsrael/EasyListHebrew" "supportURL": "https://github.com/AdBlockPlusIsrael/EasyListHebrew"
}, },
"https://raw.githubusercontent.com/cjx82630/cjxlist/master/cjxlist.txt": { "https://raw.githubusercontent.com/cjx82630/cjxlist/master/cjxlist.txt": {
@ -229,12 +248,14 @@
"off": true, "off": true,
"title": "HUN: hufilter", "title": "HUN: hufilter",
"group": "regions", "group": "regions",
"lang": "hu",
"supportURL": "https://github.com/szpeter80/hufilter" "supportURL": "https://github.com/szpeter80/hufilter"
}, },
"https://raw.githubusercontent.com/tomasko126/easylistczechandslovak/master/filters.txt": { "https://raw.githubusercontent.com/tomasko126/easylistczechandslovak/master/filters.txt": {
"off": true, "off": true,
"title": "CZE, SVK: EasyList Czech and Slovak", "title": "CZE, SVK: EasyList Czech and Slovak",
"group": "regions", "group": "regions",
"lang": "cs",
"supportURL": "https://github.com/tomasko126/easylistczechandslovak" "supportURL": "https://github.com/tomasko126/easylistczechandslovak"
}, },
"http://someonewhocares.org/hosts/hosts": { "http://someonewhocares.org/hosts/hosts": {
@ -253,6 +274,7 @@
"off": true, "off": true,
"title": "BGR: Bulgarian Adblock list", "title": "BGR: Bulgarian Adblock list",
"group": "regions", "group": "regions",
"lang": "bg",
"supportURL": "http://stanev.org/abp/" "supportURL": "http://stanev.org/abp/"
}, },
"http://winhelp2002.mvps.org/hosts.txt": { "http://winhelp2002.mvps.org/hosts.txt": {
@ -283,6 +305,7 @@
"off": true, "off": true,
"title": "SWE: Fanboy's Swedish", "title": "SWE: Fanboy's Swedish",
"group": "regions", "group": "regions",
"lang": "sv",
"supportURL": "https://forums.lanik.us/" "supportURL": "https://forums.lanik.us/"
}, },
"https://www.fanboy.co.nz/r/fanboy-ultimate.txt": { "https://www.fanboy.co.nz/r/fanboy-ultimate.txt": {
@ -295,12 +318,14 @@
"off": true, "off": true,
"title": "TUR: Adguard Turkish Filter", "title": "TUR: Adguard Turkish Filter",
"group": "regions", "group": "regions",
"lang": "tr",
"supportURL": "http://forum.adguard.com/forumdisplay.php?51-Filter-Rules" "supportURL": "http://forum.adguard.com/forumdisplay.php?51-Filter-Rules"
}, },
"https://www.fanboy.co.nz/fanboy-vietnam.txt": { "https://www.fanboy.co.nz/fanboy-vietnam.txt": {
"off": true, "off": true,
"title": "VIE: Fanboy's Vietnamese", "title": "VIE: Fanboy's Vietnamese",
"group": "regions", "group": "regions",
"lang": "vi",
"supportURL": "https://forums.lanik.us/" "supportURL": "https://forums.lanik.us/"
}, },
"www.malwaredomainlist.com/hostslist/hosts.txt": { "www.malwaredomainlist.com/hostslist/hosts.txt": {
@ -312,12 +337,14 @@
"off": true, "off": true,
"title": "GRC: Greek AdBlock Filter", "title": "GRC: Greek AdBlock Filter",
"group": "regions", "group": "regions",
"lang": "el",
"supportURL": "https://github.com/kargig/greek-adblockplus-filter" "supportURL": "https://github.com/kargig/greek-adblockplus-filter"
}, },
"https://raw.githubusercontent.com/betterwebleon/slovenian-list/master/filters.txt": { "https://raw.githubusercontent.com/betterwebleon/slovenian-list/master/filters.txt": {
"off": true, "off": true,
"title": "SVN: Slovenian List", "title": "SVN: Slovenian List",
"group": "regions", "group": "regions",
"lang": "sl",
"supportURL": "https://github.com/betterwebleon/slovenian-list" "supportURL": "https://github.com/betterwebleon/slovenian-list"
} }
} }

View File

@ -47,6 +47,8 @@ var defaultExternalLists = [
/******************************************************************************/ /******************************************************************************/
return { return {
firstInstall: false,
userSettings: { userSettings: {
advancedUserEnabled: false, advancedUserEnabled: false,
autoUpdate: true, autoUpdate: true,

View File

@ -76,6 +76,8 @@ var onAllReady = function() {
//quickProfiler.stop(0); //quickProfiler.stop(0);
vAPI.onLoadAllCompleted(); vAPI.onLoadAllCompleted();
µb.firstInstall = false;
}; };
/******************************************************************************/ /******************************************************************************/
@ -208,6 +210,9 @@ var onSystemSettingsReady = function(fetched) {
/******************************************************************************/ /******************************************************************************/
var onFirstFetchReady = function(fetched) { var onFirstFetchReady = function(fetched) {
// https://github.com/gorhill/uBlock/issues/747
µb.firstInstall = fetched.version === '0.0.0.0';
// Order is important -- do not change: // Order is important -- do not change:
onSystemSettingsReady(fetched); onSystemSettingsReady(fetched);
fromFetch(µb.localSettings, fetched); fromFetch(µb.localSettings, fetched);
@ -250,34 +255,35 @@ var fromFetch = function(to, fetched) {
/******************************************************************************/ /******************************************************************************/
return function() { var onAdminSettingsRestored = function() {
// Forbid remote fetching of assets
µb.assets.remoteFetchBarrier += 1;
var onAdminSettingsRestored = function() { var fetchableProps = {
// Forbid remote fetching of assets 'compiledMagic': '',
µb.assets.remoteFetchBarrier += 1; 'dynamicFilteringString': 'behind-the-scene * 3p noop\nbehind-the-scene * 3p-frame noop',
'urlFilteringString': '',
var fetchableProps = { 'hostnameSwitchesString': '',
'compiledMagic': '', 'lastRestoreFile': '',
'dynamicFilteringString': 'behind-the-scene * 3p noop\nbehind-the-scene * 3p-frame noop', 'lastRestoreTime': 0,
'urlFilteringString': '', 'lastBackupFile': '',
'hostnameSwitchesString': '', 'lastBackupTime': 0,
'lastRestoreFile': '', 'netWhitelist': '',
'lastRestoreTime': 0, 'selfie': null,
'lastBackupFile': '', 'selfieMagic': '',
'lastBackupTime': 0, 'version': '0.0.0.0'
'netWhitelist': '',
'selfie': null,
'selfieMagic': '',
'version': '0.0.0.0'
};
toFetch(µb.localSettings, fetchableProps);
toFetch(µb.userSettings, fetchableProps);
toFetch(µb.restoreBackupSettings, fetchableProps);
vAPI.storage.get(fetchableProps, onFirstFetchReady);
}; };
toFetch(µb.localSettings, fetchableProps);
toFetch(µb.userSettings, fetchableProps);
toFetch(µb.restoreBackupSettings, fetchableProps);
vAPI.storage.get(fetchableProps, onFirstFetchReady);
};
/******************************************************************************/
return function() {
// https://github.com/gorhill/uBlock/issues/531 // https://github.com/gorhill/uBlock/issues/531
µb.restoreAdminSettings(onAdminSettingsRestored); µb.restoreAdminSettings(onAdminSettingsRestored);
}; };

View File

@ -269,6 +269,12 @@
availableEntry.title = storedEntry.title; availableEntry.title = storedEntry.title;
} }
} }
// https://github.com/gorhill/uBlock/issues/747
if ( µb.firstInstall ) {
µb.autoSelectFilterLists(availableLists);
}
callback(availableLists); callback(availableLists);
}; };
@ -338,6 +344,25 @@
/******************************************************************************/ /******************************************************************************/
µBlock.autoSelectFilterLists = function(lists) {
var lang = self.navigator.language.slice(0, 2),
list;
for ( var path in lists ) {
if ( lists.hasOwnProperty(path) === false ) {
continue;
}
list = lists[path];
if ( list.off !== true ) {
continue;
}
if ( list.lang === lang ) {
list.off = false;
}
}
};
/******************************************************************************/
µBlock.createShortUniqueId = function(path) { µBlock.createShortUniqueId = function(path) {
var md5 = YaMD5.hashStr(path); var md5 = YaMD5.hashStr(path);
return md5.slice(0, 4) + md5.slice(-4); return md5.slice(0, 4) + md5.slice(-4);
@ -347,7 +372,15 @@
/******************************************************************************/ /******************************************************************************/
// This is used to be re-entrancy resistant.
µBlock.loadingFilterLists = false;
µBlock.loadFilterLists = function(callback) { µBlock.loadFilterLists = function(callback) {
// Callers are expected to check this first.
if ( this.loadingFilterLists ) {
return;
}
this.loadingFilterLists = true;
//quickProfiler.start('µBlock.loadFilterLists()'); //quickProfiler.start('µBlock.loadFilterLists()');
@ -377,6 +410,7 @@
callback(); callback();
µb.selfieManager.create(); µb.selfieManager.create();
µb.loadingFilterLists = false;
}; };
var applyCompiledFilters = function(path, compiled) { var applyCompiledFilters = function(path, compiled) {
@ -425,8 +459,7 @@
} }
filterlistsCount = toLoad.length; filterlistsCount = toLoad.length;
if ( filterlistsCount === 0 ) { if ( filterlistsCount === 0 ) {
onDone(); return onDone();
return;
} }
var i = toLoad.length; var i = toLoad.length;
@ -644,6 +677,8 @@
var µb = this; var µb = this;
// We are just reloading the filter lists: we do not want assets to update. // We are just reloading the filter lists: we do not want assets to update.
// TODO: probably not needed anymore, since filter lists are now always
// loaded without update => see `µb.assets.remoteFetchBarrier`.
this.assets.autoUpdate = false; this.assets.autoUpdate = false;
var onFiltersReady = function() { var onFiltersReady = function() {