uBlock/src/js/background.js

144 lines
4.3 KiB
JavaScript
Raw Normal View History

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
*/
2015-01-21 06:59:23 -07:00
/* global vAPI */
/* exported µBlock */
2014-06-23 16:42:43 -06:00
/******************************************************************************/
var µBlock = (function() {
2015-01-20 17:39:13 -07:00
'use strict';
2014-06-23 16:42:43 -06:00
/******************************************************************************/
2014-08-20 21:19:27 -06:00
var oneSecond = 1000;
var oneMinute = 60 * oneSecond;
var oneHour = 60 * oneMinute;
// var oneDay = 24 * oneHour;
2014-08-20 21:19:27 -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 {
userSettings: {
advancedUserEnabled: false,
autoUpdate: true,
2014-06-27 15:06:42 -06:00
collapseBlocked: true,
2014-10-04 12:50:50 -06:00
contextMenuEnabled: true,
dynamicFilteringString: '',
2014-10-06 12:02:44 -06:00
dynamicFilteringEnabled: false,
experimentalEnabled: false,
externalLists: defaultExternalLists,
2015-02-18 07:15:59 -07:00
firewallPaneMinimized: true,
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
},
// https://github.com/gorhill/uBlock/issues/180
// Whitelist directives need to be loaded once the PSL is available
netWhitelist: {},
netWhitelistModifyTime: 0,
2015-01-24 10:06:22 -07:00
netWhitelistDefault: [
'behind-the-scene',
'chrome-extension-scheme',
'chrome-scheme',
'opera-scheme',
''
].join('\n').trim(),
2014-06-23 16:42:43 -06:00
localSettings: {
blockedRequestCount: 0,
allowedRequestCount: 0
},
2015-02-23 16:31:29 -07:00
// read-only
systemSettings: {
2015-03-02 14:22:23 -07:00
compiledMagic: 'shztbfhkfjit',
2015-02-26 16:08:42 -07:00
selfieMagic: 'spqmeuaftfra'
2015-02-23 16:31:29 -07:00
},
2014-08-20 23:16:25 -06:00
// EasyList, EasyPrivacy and many others have an 4-day update period,
// as per list headers.
2015-02-13 10:10:10 -07:00
updateAssetsEvery: 97 * oneHour,
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
'assets/user/filters.txt': {
group: 'default'
},
2014-06-27 00:06:50 -06:00
// uBlock
'assets/ublock/filters.txt': {
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
2015-02-13 10:10:10 -07:00
selfieAfter: 23 * oneMinute,
2014-09-08 15:46:58 -06:00
2014-06-23 16:42:43 -06:00
pageStores: {},
storageQuota: vAPI.storage.QUOTA_BYTES,
2014-06-23 16:42:43 -06:00
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
};
/******************************************************************************/
})();
/******************************************************************************/