burlesco/src/background.js

129 lines
3.6 KiB
JavaScript
Raw Normal View History

// Script blocking
2016-04-24 21:06:35 -07:00
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
return {cancel: true};
},
2016-04-24 21:06:35 -07:00
{
urls: [
2017-03-11 19:14:38 -08:00
// O Estado de S. Paulo
2016-04-24 21:06:35 -07:00
"*://*.estadao.com.br/paywall/*",
2017-03-11 19:14:38 -08:00
// Folha de S.Paulo
"*://paywall.folha.uol.com.br/*",
2016-12-20 00:25:00 -08:00
"*://static.folha.uol.com.br/paywall/*",
2017-03-11 19:14:38 -08:00
// O Globo
"*://ogjs.infoglobo.com.br/*/js/controla-acesso-aux.js",
"*://cdn.tinypass.com/api/tinypass.min.js",
2017-03-11 19:14:38 -08:00
// Gazeta do Povo
"*://*.gazetadopovo.com.br/conta/public/js/connect_api.js*",
"*://*.gazetadopovo.com.br/conta/going/api/paywall/*",
2017-03-11 19:14:38 -08:00
// Zero Hora
2016-05-21 16:57:45 -07:00
"*://zh.clicrbs.com.br/it/js/paid-content-config.js*",
2016-07-29 09:44:08 -07:00
"*://www.rbsonline.com.br/cdn/scripts/paywall.min.js*",
2016-05-21 16:57:45 -07:00
2017-03-11 19:14:38 -08:00
// Correio Popular
2016-12-01 08:18:44 -08:00
"*://correio.rac.com.br/includes/js/novo_cp/fivewall.js*",
2017-03-11 19:14:38 -08:00
// O Estado do Maranhão
"*://dashboard.tinypass.com/xbuilder/experience/load*",
"http://assets.imirante.com/2.0/oestadoma/js/jquery.login.min.js",
2017-03-11 19:14:38 -08:00
// Jornal de Novo Hamburgo
"*://www.jornalnh.com.br/includes/js/paywall.js*",
"*://blockv2.fivewall.com.br/*"
2016-04-24 21:06:35 -07:00
],
types: ["script"]
},
["blocking"]
);
// XHR blocking
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
2016-08-06 23:30:17 -07:00
return {cancel: true};
},
{
urls: [
2017-03-11 19:14:38 -08:00
// Diário Catarinense
"http://dc.clicrbs.com.br/jornal-2015/jsp/paywall.jspx*",
2017-03-11 19:14:38 -08:00
// Jornal de Santa Catarina
"http://jornaldesantacatarina.clicrbs.com.br/jornal/jsp/paywall*",
// O Globo
"*://cdn.tinypass.com/api/tinypass.min.js"
],
types: ["xmlhttprequest"]
},
["blocking"]
);
2016-12-20 00:25:30 -08:00
// Cookie injection
2016-12-20 00:25:30 -08:00
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
chrome.cookies.remove({
'url': 'http://jota.info/*',
'name': 'articles'
});
2016-12-20 00:25:30 -08:00
},
{
urls: [
2017-03-11 19:14:38 -08:00
// JOTA
2017-03-17 21:17:41 -07:00
"http://jota.info/*"
2016-12-20 00:25:30 -08:00
],
types: ["main_frame"]
}
);
2017-03-17 21:17:41 -07:00
// Referer injection
function insertHeader(name, value, requestHeaders) {
/**
* @param {string} name - Name of the header to be inserted
* @param {string} value - Value of the header to be inserted
* @param {Object[]} requestHeaders - Provided by webRequest
* listeners in callback arg `details.requestHeader`
* @param {string} requestHeaders[].name
* @param {string} requestHeaders[].value
*/
var headerIndex = requestHeaders.findIndex(x => x.name == name);
var newHeader = {name: name, value: value};
if (headerIndex == -1)
requestHeaders.push(newHeader);
else
requestHeaders[headerIndex] = newHeader;
}
chrome.webRequest.onBeforeSendHeaders.addListener(
function(details) {
var headers = ['Referer'];
//if (/https?:\/\/access\.nexojornal\.com/.test(details.url))
//headers.push('X-Article-Referrer')
headers.forEach(header =>
insertHeader(
header,
'https://www.google.com.br/',
details.requestHeaders
)
);
return {requestHeaders: details.requestHeaders};
},
{
urls: [
// Nexo
//"*://access.nexojornal.com.br/access/content/*",
// Financial Times
"*://www.ft.com/*"
],
types: ["xmlhttprequest", "main_frame"]
},
["blocking", "requestHeaders"]
);