Fix Statista (set referer Google)

master
magnolia1234 2021-07-24 10:06:47 +02:00
parent b05b135226
commit f7ace829c5
5 changed files with 23 additions and 24 deletions

View File

@ -232,7 +232,6 @@ var use_google_bot_default = [
'rheinpfalz.de', 'rheinpfalz.de',
'ruhrnachrichten.de', 'ruhrnachrichten.de',
'seekingalpha.com', 'seekingalpha.com',
'statista.com',
'thetimes.co.uk', 'thetimes.co.uk',
'usatoday.com', 'usatoday.com',
'usinenouvelle.com', 'usinenouvelle.com',
@ -255,7 +254,7 @@ var use_bing_bot = use_bing_bot_default.slice();
var use_facebook_referer_default = ['clarin.com', 'fd.nl', 'ilmanifesto.it', 'law.com', 'sloanreview.mit.edu']; var use_facebook_referer_default = ['clarin.com', 'fd.nl', 'ilmanifesto.it', 'law.com', 'sloanreview.mit.edu'];
var use_facebook_referer = use_facebook_referer_default.slice(); var use_facebook_referer = use_facebook_referer_default.slice();
var use_google_referer_default = []; var use_google_referer_default = ['statista.com'];
var use_google_referer = use_google_referer_default.slice(); var use_google_referer = use_google_referer_default.slice();
var use_twitter_referer_default = ['medium.com', 'towardsdatascience.com']; var use_twitter_referer_default = ['medium.com', 'towardsdatascience.com'];
var use_twitter_referer = use_twitter_referer_default.slice(); var use_twitter_referer = use_twitter_referer_default.slice();
@ -1145,14 +1144,15 @@ ext_api.webRequest.onBeforeSendHeaders.addListener(function(details) {
var useUserAgentMobile = false; var useUserAgentMobile = false;
var setReferer = false; var setReferer = false;
var googlebotEnabled = matchUrlDomain(use_google_bot, details.url) &&
!(matchUrlDomain('barrons.com', details.url) && enabledSites.includes('#options_disable_gb_barrons')) &&
!(matchUrlDomain('wsj.com', details.url) && enabledSites.includes('#options_disable_gb_wsj'));
if (matchUrlDomain(change_headers, details.url) && (['main_frame', 'sub_frame', 'xmlhttprequest'].includes(details.type) || matchUrlDomain('thetimes.co.uk', details.url)) && if (matchUrlDomain(change_headers, details.url) && (['main_frame', 'sub_frame', 'xmlhttprequest'].includes(details.type) || matchUrlDomain('thetimes.co.uk', details.url))) {
!(matchUrlDomain('barrons.com', details.url) && enabledSites.includes('#options_disable_gb_barrons')) && // if referer exists, set it
!(matchUrlDomain('wsj.com', details.url) && enabledSites.includes('#options_disable_gb_wsj'))) {
// if referer exists, set it to google
requestHeaders = requestHeaders.map(function (requestHeader) { requestHeaders = requestHeaders.map(function (requestHeader) {
if (requestHeader.name === 'Referer') { if (requestHeader.name === 'Referer') {
if (matchUrlDomain(use_google_bot, details.url) || matchUrlDomain(use_google_referer, details.url)) { if (googlebotEnabled || matchUrlDomain(use_google_referer, details.url)) {
requestHeader.value = 'https://www.google.com/'; requestHeader.value = 'https://www.google.com/';
} else if (matchUrlDomain(use_facebook_referer, details.url)) { } else if (matchUrlDomain(use_facebook_referer, details.url)) {
requestHeader.value = 'https://www.facebook.com/'; requestHeader.value = 'https://www.facebook.com/';
@ -1169,7 +1169,7 @@ if (matchUrlDomain(change_headers, details.url) && (['main_frame', 'sub_frame',
// otherwise add it // otherwise add it
if (!setReferer) { if (!setReferer) {
if (matchUrlDomain(use_google_bot, details.url) || matchUrlDomain(use_google_referer, details.url)) { if (googlebotEnabled || matchUrlDomain(use_google_referer, details.url)) {
requestHeaders.push({ requestHeaders.push({
name: 'Referer', name: 'Referer',
value: 'https://www.google.com/' value: 'https://www.google.com/'
@ -1188,7 +1188,7 @@ if (matchUrlDomain(change_headers, details.url) && (['main_frame', 'sub_frame',
} }
// override User-Agent to use Googlebot // override User-Agent to use Googlebot
if (matchUrlDomain(use_google_bot, details.url)) { if (googlebotEnabled) {
requestHeaders.push({ requestHeaders.push({
"name": "User-Agent", "name": "User-Agent",
"value": useUserAgentMobile ? userAgentMobileG : userAgentDesktopG "value": useUserAgentMobile ? userAgentMobileG : userAgentDesktopG

View File

@ -7,6 +7,7 @@ Add Southern Weekly (China)
Fix Alma Talent sites Fix Alma Talent sites
Fix Bloomberg Fix Bloomberg
Fix Nikkei Asian Review (cookies) Fix Nikkei Asian Review (cookies)
Fix Statista (set referer Google)
Fix The Daily Telegraph (au) Fix The Daily Telegraph (au)
Fix Times of India (TOI+ region block) Fix Times of India (TOI+ region block)
Fix WaPo (magazine) Fix WaPo (magazine)

View File

@ -1669,25 +1669,23 @@ else if (matchDomain('bloomberg.com')) {
if (json_script) { if (json_script) {
let json = JSON.parse(json_script.innerHTML); let json = JSON.parse(json_script.innerHTML);
if (json) { if (json) {
let json_text = json.body; let json_text = json.body ? json.body : '';
let json_id = json.id; if (json_text) {
let meta_id = document.querySelector('meta[name="parsely-post-id"][content]');
if (json_text && json_text !== 'undefined' && json_id && json_id !== 'undefined' && meta_id && meta_id.content === json_id) {
removeDOMElement(json_script); removeDOMElement(json_script);
let article = document.querySelector('div.body-copy-v2'); let article = document.querySelector('div.body-copy-v2:not(.art_done)');
let article_class = 'body-copy-v2'; let article_class = 'body-copy-v2';
if (!article) { if (!article) {
article = document.querySelector('div.body-copy'); article = document.querySelector('div.body-copy:not(.art_done)');
article_class = 'body-copy'; article_class = 'body-copy';
} }
let parser = new DOMParser(); if (article) {
let doc = parser.parseFromString('<div class="' + article_class + '">' + DOMPurify.sanitize(json_text, {ADD_TAGS: ['iframe']}) + '</div>', 'text/html'); article_class += ' art_done';
let article_new = doc.querySelector('div'); let parser = new DOMParser();
if (article_new) { let doc = parser.parseFromString('<div class="' + article_class + '">' + DOMPurify.sanitize(json_text, {ADD_TAGS: ['iframe']}) + '</div>', 'text/html');
if (article) { let article_new = doc.querySelector('div');
if (article_new)
article.parentNode.replaceChild(article_new, article); article.parentNode.replaceChild(article_new, article);
} }
}
} }
} }
} }

View File

@ -38,5 +38,5 @@
"webRequestBlocking", "webRequestBlocking",
"<all_urls>" "<all_urls>"
], ],
"version": "2.2.9.7" "version": "2.2.9.8"
} }

View File

@ -526,5 +526,5 @@
"*://*.wallkit.net/*", "*://*.wallkit.net/*",
"*://*.wsj.net/*" "*://*.wsj.net/*"
], ],
"version": "2.2.9.7" "version": "2.2.9.8"
} }