2014-06-23 16:42:43 -06:00
|
|
|
|
/*******************************************************************************
|
|
|
|
|
|
|
|
|
|
µBlock - a Chromium browser extension to block requests.
|
|
|
|
|
Copyright (C) 2014 Raymond Hill
|
|
|
|
|
|
|
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
|
|
|
it under the terms of the GNU General Public License as published by
|
|
|
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
|
|
|
(at your option) any later version.
|
|
|
|
|
|
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
|
GNU General Public License for more details.
|
|
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
|
along with this program. If not, see {http://www.gnu.org/licenses/}.
|
|
|
|
|
|
|
|
|
|
Home: https://github.com/gorhill/uBlock
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/* global chrome */
|
|
|
|
|
|
|
|
|
|
/******************************************************************************/
|
|
|
|
|
|
|
|
|
|
var µBlock = (function() {
|
|
|
|
|
|
|
|
|
|
/******************************************************************************/
|
|
|
|
|
|
2014-08-20 21:19:27 -06:00
|
|
|
|
var oneSecond = 1000;
|
|
|
|
|
var oneMinute = 60 * oneSecond;
|
|
|
|
|
var oneHour = 60 * oneMinute;
|
|
|
|
|
var oneDay = 24 * oneHour;
|
|
|
|
|
|
|
|
|
|
/******************************************************************************/
|
|
|
|
|
|
2014-09-25 19:21:55 -06:00
|
|
|
|
var defaultExternalLists = [
|
|
|
|
|
'! Examples:',
|
|
|
|
|
'! https://easylist-downloads.adblockplus.org/antiadblockfilters.txt',
|
|
|
|
|
'! https://easylist-downloads.adblockplus.org/fb_annoyances_full.txt',
|
|
|
|
|
'! https://easylist-downloads.adblockplus.org/fb_annoyances_sidebar.txt',
|
|
|
|
|
'! https://easylist-downloads.adblockplus.org/fb_annoyances_newsfeed.txt',
|
|
|
|
|
'! https://easylist-downloads.adblockplus.org/yt_annoyances_full.txt',
|
|
|
|
|
'! https://easylist-downloads.adblockplus.org/yt_annoyances_comments.txt',
|
|
|
|
|
'! https://easylist-downloads.adblockplus.org/yt_annoyances_suggestions.txt',
|
|
|
|
|
'! https://easylist-downloads.adblockplus.org/yt_annoyances_other.txt'
|
|
|
|
|
].join('\n');
|
|
|
|
|
|
|
|
|
|
/******************************************************************************/
|
|
|
|
|
|
2014-06-23 16:42:43 -06:00
|
|
|
|
return {
|
|
|
|
|
manifest: chrome.runtime.getManifest(),
|
|
|
|
|
|
|
|
|
|
userSettings: {
|
2014-08-19 18:41:52 -06:00
|
|
|
|
autoUpdate: true,
|
2014-06-27 15:06:42 -06:00
|
|
|
|
collapseBlocked: true,
|
2014-10-04 12:50:50 -06:00
|
|
|
|
contextMenuEnabled: true,
|
2014-10-06 12:02:44 -06:00
|
|
|
|
dynamicFilteringSelfie: '',
|
|
|
|
|
dynamicFilteringEnabled: false,
|
2014-09-30 13:55:18 -06:00
|
|
|
|
experimentalEnabled: false,
|
2014-09-25 19:21:55 -06:00
|
|
|
|
externalLists: defaultExternalLists,
|
2014-09-14 14:20:40 -06:00
|
|
|
|
logRequests: false,
|
2014-06-23 16:42:43 -06:00
|
|
|
|
parseAllABPHideFilters: true,
|
2014-06-27 15:06:42 -06:00
|
|
|
|
showIconBadge: true
|
2014-06-23 16:42:43 -06:00
|
|
|
|
},
|
2014-08-24 18:52:34 -06:00
|
|
|
|
|
|
|
|
|
// https://github.com/gorhill/uBlock/issues/180
|
|
|
|
|
// Whitelist directives need to be loaded once the PSL is available
|
|
|
|
|
netExceptionList: {}, // TODO: remove once all users are up to date
|
|
|
|
|
netWhitelist: {},
|
|
|
|
|
netWhitelistModifyTime: 0,
|
|
|
|
|
|
2014-06-23 16:42:43 -06:00
|
|
|
|
localSettings: {
|
|
|
|
|
blockedRequestCount: 0,
|
|
|
|
|
allowedRequestCount: 0
|
|
|
|
|
},
|
|
|
|
|
|
2014-08-20 23:16:25 -06:00
|
|
|
|
// EasyList, EasyPrivacy and many others have an 4-day update period,
|
|
|
|
|
// as per list headers.
|
2014-08-20 21:19:27 -06:00
|
|
|
|
updateAssetsEvery: 75 * oneHour + 23 * oneMinute + 53 * oneSecond + 605,
|
2014-07-20 17:52:32 -06:00
|
|
|
|
projectServerRoot: 'https://raw.githubusercontent.com/gorhill/uBlock/master/',
|
2014-06-24 19:46:37 -06:00
|
|
|
|
userFiltersPath: 'assets/user/filters.txt',
|
2014-09-08 15:46:58 -06:00
|
|
|
|
pslPath: 'assets/thirdparties/publicsuffix.org/list/effective_tld_names.dat',
|
2014-06-23 16:42:43 -06:00
|
|
|
|
|
2014-07-25 14:12:20 -06:00
|
|
|
|
// permanent lists
|
|
|
|
|
permanentLists: {
|
2014-06-23 16:42:43 -06:00
|
|
|
|
// User
|
2014-07-15 18:32:33 -06:00
|
|
|
|
'assets/user/filters.txt': {
|
|
|
|
|
group: 'default'
|
|
|
|
|
},
|
2014-06-27 00:06:50 -06:00
|
|
|
|
// uBlock
|
|
|
|
|
'assets/ublock/filters.txt': {
|
2014-07-15 18:32:33 -06:00
|
|
|
|
title: 'µBlock filters',
|
|
|
|
|
group: 'default'
|
2014-06-27 00:06:50 -06:00
|
|
|
|
},
|
2014-07-22 20:46:57 -06:00
|
|
|
|
'assets/ublock/privacy.txt': {
|
2014-10-02 14:45:26 -06:00
|
|
|
|
title: 'µBlock filters – Privacy',
|
2014-07-22 20:46:57 -06:00
|
|
|
|
group: 'default'
|
|
|
|
|
}
|
2014-07-25 14:12:20 -06:00
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// current lists
|
|
|
|
|
remoteBlacklists: {
|
2014-07-22 20:46:57 -06:00
|
|
|
|
},
|
2014-06-23 16:42:43 -06:00
|
|
|
|
|
2014-09-08 15:46:58 -06:00
|
|
|
|
firstUpdateAfter: 5 * oneMinute,
|
|
|
|
|
nextUpdateAfter: 7 * oneHour,
|
|
|
|
|
|
2014-09-25 11:30:02 -06:00
|
|
|
|
selfieMagic: 'odyxfmbsqllh',
|
2014-09-08 15:46:58 -06:00
|
|
|
|
selfieAfter: 7 * oneMinute,
|
|
|
|
|
|
2014-06-23 16:42:43 -06:00
|
|
|
|
pageStores: {},
|
|
|
|
|
|
|
|
|
|
storageQuota: chrome.storage.local.QUOTA_BYTES,
|
|
|
|
|
storageUsed: 0,
|
|
|
|
|
|
2014-09-08 15:46:58 -06:00
|
|
|
|
noopFunc: function(){},
|
|
|
|
|
|
|
|
|
|
apiErrorCount: 0,
|
2014-09-28 12:38:17 -06:00
|
|
|
|
contextMenuTarget: '',
|
|
|
|
|
contextMenuClientX: -1,
|
|
|
|
|
contextMenuClientY: -1,
|
2014-09-08 15:46:58 -06:00
|
|
|
|
|
2014-06-23 16:42:43 -06:00
|
|
|
|
// so that I don't have to care for last comma
|
|
|
|
|
dummy: 0
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/******************************************************************************/
|
|
|
|
|
|
|
|
|
|
})();
|
|
|
|
|
|
|
|
|
|
/******************************************************************************/
|
|
|
|
|
|