Adiciona script de build para userscript

master
Rodrigo O 2018-06-12 01:49:05 -03:00
parent 31cb5424d7
commit 92abde8f29
6 changed files with 54 additions and 19 deletions

View File

@ -18,7 +18,7 @@ deploy:
- dist/chromium/burlesco-chromium.crx
- dist/firefox/burlesco-firefox.xpi
- dist/opera/burlesco-opera.zip
- userscript/burlesco.user.js
- dist/burlesco.user.js
on:
branch: master
tags: true

View File

@ -20,6 +20,7 @@ pre-build:
webext/manifest.json > "$$SRC_DIR/manifest.json" ; \
fi ; \
done
python3 userscript/build.py userscript/burlesco.user.js > "$(DIST_DIR)/burlesco.user.js"
build:
set -e ; \
mkdir -p "$(DIST_DIR)" ; \

7
userscript/README.md Normal file
View File

@ -0,0 +1,7 @@
O script `build.py` é um pré-processador de userscript.
@webRequestItem
===============
O Tampermonkey [não suporta múltiplas entradas para a tag @webRequest](https://github.com/Tampermonkey/tampermonkey/issues/397), então teríamos que escrever todos os filtros de URL em uma linha. Porém isso prejudicaria os diffs e deixaria o código pouco legível.
Com a tag `@webRequestItem`, podemos especificar um elemento do array de `@webRequest` separadamente. O pré-processador `build.py` então converte essas entradas em um único `@webRequest`.

15
userscript/build.py Normal file
View File

@ -0,0 +1,15 @@
#!/usr/bin/python3
import sys
import re
code = open(sys.argv[1]).read()
webrequest_re = '// @webRequestItem (.+)\n'
matches = re.findall(webrequest_re, code, re.M)
webrequests = '// @webRequest [{}]\n'.format(','.join(matches))
count = len(matches) - 1
code = re.sub(webrequest_re, '', code, count, re.M)
code = re.sub(webrequest_re, webrequests, code)
print(code)

View File

@ -1,7 +1,7 @@
// ==UserScript==
// @name Burlesco (beta)
// @name Burlesco
// @namespace https://burles.co/
// @version 7.0.1
// @version 7.1
// @description Leia notícias sem ser assinante, burle o paywall
// @author rodorgas & AugustoResende
// @supportURL https://burles.co
@ -47,8 +47,28 @@
// @match *://*.ft.com/*
// @match *://*.gramophone.co.uk/*
// @match *://*.folhadelondrina.com.br/*
// @webRequest [{"selector":{"include":"*://paywall.folha.uol.com.br/*","exclude":"*://paywall.folha.uol.com.br/status.php"},"action":"cancel"},{"selector":"*://static.folha.uol.com.br/paywall/*","action":"cancel"},{"selector":"*://ogjs.infoglobo.com.br/*/js/controla-acesso-aux.js","action":"cancel"},{"selector":"*://www.netdeal.com.br/*","action":"cancel"},{"selector":"*://correio.rac.com.br/includes/js/novo_cp/fivewall.js*","action":"cancel"},{"selector":"*://dashboard.tinypass.com/xbuilder/experience/load*","action":"cancel"},{"selector":"http://assets.imirante.com/2.0/oestadoma/js/jquery.login.min.js","action":"cancel"},{"selector":"*://*.jornalnh.com.br/includes/js/paywall.js*","action":"cancel"},{"selector":"*://blockv2.fivewall.com.br/*","action":"cancel"},{"selector":"*://www.rbsonline.com.br/cdn/scripts/SLoader.js","action":"cancel"},{"selector":"*://*.nytimes.com/js/mtr.js","action":"cancel"},{"selector":"*://*.washingtonpost.com/*pwapi/*.js*","action":"cancel"},{"selector":"*://*.washingtonpost.com/*drawbridge/drawbridge.js?_*","action":"cancel"},{"selector":"*://cdn.tinypass.com/api/tinypass.min.js","action":"cancel"},{"selector":"*://api.tinypass.com/tpl/*","action":"cancel"},{"selector":"*://tm.jsuol.com.br/modules/content-gate.js","action":"cancel"},{"selector":"*://gauchazh.clicrbs.com.br/static/main*","action":"cancel"},{"selector":"*://www.rbsonline.com.br/cdn/scripts/special-paywall.min.js*","action":"cancel"},{"selector":"http://dc.clicrbs.com.br/jornal-2015/jsp/paywall.jspx*","action":"cancel"},{"selector":"http://jornaldesantacatarina.clicrbs.com.br/jornal/jsp/paywall*","action":"cancel"},{"selector":"*://*.estadao.com.br/paywall/*","action":"cancel"},{"selector":"*://www.folhadelondrina.com.br/*/fivewall.js*","action":"cancel"}]
// @webRequestItem {"selector":{"include":"*://paywall.folha.uol.com.br/*","exclude":"*://paywall.folha.uol.com.br/status.php"} ,"action":"cancel"}
// @webRequestItem {"selector":"*://static.folha.uol.com.br/paywall/*","action":"cancel"}
// @webRequestItem {"selector":"*://ogjs.infoglobo.com.br/*/js/controla-acesso-aux.js","action":"cancel"}
// @webRequestItem {"selector":"*://www.netdeal.com.br/*","action":"cancel"}
// @webRequestItem {"selector":"*://correio.rac.com.br/includes/js/novo_cp/fivewall.js*","action":"cancel"}
// @webRequestItem {"selector":"*://dashboard.tinypass.com/xbuilder/experience/load*","action":"cancel"}
// @webRequestItem {"selector":"http://assets.imirante.com/2.0/oestadoma/js/jquery.login.min.js","action":"cancel"}
// @webRequestItem {"selector":"*://*.jornalnh.com.br/includes/js/paywall.js*","action":"cancel"}
// @webRequestItem {"selector":"*://blockv2.fivewall.com.br/*","action":"cancel"}
// @webRequestItem {"selector":"*://www.rbsonline.com.br/cdn/scripts/SLoader.js","action":"cancel"}
// @webRequestItem {"selector":"*://*.nytimes.com/js/mtr.js","action":"cancel"}
// @webRequestItem {"selector":"*://*.washingtonpost.com/*pwapi/*.js*","action":"cancel"}
// @webRequestItem {"selector":"*://*.washingtonpost.com/*drawbridge/drawbridge.js?_*","action":"cancel"}
// @webRequestItem {"selector":"*://cdn.tinypass.com/api/tinypass.min.js","action":"cancel"}
// @webRequestItem {"selector":"*://api.tinypass.com/tpl/*","action":"cancel"}
// @webRequestItem {"selector":"*://tm.jsuol.com.br/modules/content-gate.js","action":"cancel"}
// @webRequestItem {"selector":"*://gauchazh.clicrbs.com.br/static/main*","action":"cancel"}
// @webRequestItem {"selector":"*://www.rbsonline.com.br/cdn/scripts/special-paywall.min.js*","action":"cancel"}
// @webRequestItem {"selector":"http://dc.clicrbs.com.br/jornal-2015/jsp/paywall.jspx*","action":"cancel"}
// @webRequestItem {"selector":"http://jornaldesantacatarina.clicrbs.com.br/jornal/jsp/paywall*","action":"cancel"}
// @webRequestItem {"selector":"*://*.estadao.com.br/paywall/*","action":"cancel"}
// @webRequestItem {"selector":"*://www.folhadelondrina.com.br/*/fivewall.js*","action":"cancel"}
// @run-at document-start
// @noframes
// ==/UserScript==
@ -174,19 +194,12 @@ document.addEventListener('DOMContentLoaded', function() {
xmlhttp.send();`;
}
else if (/super\.abril\.com\.br/.test(document.location.host)) {
else if (/abril\.com\.br/.test(document.location.host))
code = `
document.querySelectorAll('.callpaywall')
.forEach(x => x.remove());
document.querySelectorAll('.content-blocked')
.forEach(x => x.classList.remove('content-blocked'));
`;
}
else if (/veja\.abril\.com\.br/.test(document.location.host))
code = `
document.querySelector('.content-blocked').classList.remove('content-blocked');
document.querySelector('.callpaywall').remove();
document.queryselectorall('.callpaywall')
.foreach(x => x.remove());
document.queryselectorall('.content-blocked')
.foreach(x => x.classlist.remove('content-blocked'))
`;
else if (/nytimes\.com/.test(document.location.host))

View File

@ -223,11 +223,10 @@ function setXhrBlocking(enabledSites) {
for (let item in WHITELIST) {
if (enabledSites && enabledSites[item] == false)
continue;
let xhr = BLOCKLIST[item].xhrBlocking;
let xhr = WHITELIST[item].xhrBlocking;
if (xhr == undefined)
continue;
whitelist = whitelist.concat(xhr);
}
chrome.webRequest.onBeforeRequest.addListener(