Only use Googlebot for a certain set of sites instead of being on by default

master
Adam 2019-05-12 13:44:03 -07:00
parent 2697b661b9
commit 259f15244b
1 changed files with 20 additions and 11 deletions

View File

@ -143,6 +143,13 @@ const remove_cookies = [
'handelsblatt.com', 'handelsblatt.com',
] ]
// Override User-Agent with Googlebot
const use_google_bot = [
'theaustralian.com.au',
'telegraph.co.uk',
'thetimes.co.uk',
]
function setDefaultOptions() { function setDefaultOptions() {
browser.storage.sync.set({ browser.storage.sync.set({
sites: defaultSites sites: defaultSites
@ -151,7 +158,6 @@ function setDefaultOptions() {
}); });
} }
const blockedRegexes = [ const blockedRegexes = [
/.+:\/\/.+\.tribdss\.com\//, /.+:\/\/.+\.tribdss\.com\//,
/thenation\.com\/.+\/paywall-script\.php/, /thenation\.com\/.+\/paywall-script\.php/,
@ -188,7 +194,7 @@ browser.storage.onChanged.addListener(function(changes, namespace) {
}); });
// Set and show default options on install // Set and show default options on install
browser.runtime.onInstalled.addListener(function (details) { browser.runtime.onInstalled.addListener(function(details) {
if (details.reason == "install") { if (details.reason == "install") {
setDefaultOptions(); setDefaultOptions();
} else if (details.reason == "update") { } else if (details.reason == "update") {
@ -197,7 +203,7 @@ browser.runtime.onInstalled.addListener(function (details) {
}); });
// WSJ bypass // WSJ bypass
browser.webRequest.onBeforeSendHeaders.addListener(function (details) { browser.webRequest.onBeforeSendHeaders.addListener(function(details) {
if (!isSiteEnabled(details) || details.url.indexOf("mod=rsswn") !== -1) { if (!isSiteEnabled(details) || details.url.indexOf("mod=rsswn") !== -1) {
return; return;
} }
@ -235,7 +241,7 @@ browser.webRequest.onBeforeSendHeaders.addListener(function(details) {
var setReferer = false; var setReferer = false;
// if referer exists, set it to google // 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 (details.url.indexOf("cooking.nytimes.com/api/v1/users/bootstrap") !== -1) { if (details.url.indexOf("cooking.nytimes.com/api/v1/users/bootstrap") !== -1) {
// this fixes images not being loaded on cooking.nytimes.com main page // this fixes images not being loaded on cooking.nytimes.com main page
@ -270,19 +276,22 @@ browser.webRequest.onBeforeSendHeaders.addListener(function(details) {
} }
} }
// override User-Agent except on medium.com and thesaturdaypaper.com.au // override User-Agent to use Googlebot
if (details.url.indexOf("medium.com") === -1 && details.url.indexOf("thesaturdaypaper.com.au") === -1) { var useGoogleBot = use_google_bot.filter(function(item) {
return typeof item == 'string' && details.url.indexOf(item) > -1;
}).length > 0;
if (useGoogleBot) {
requestHeaders.push({ requestHeaders.push({
"name": "User-Agent", "name": "User-Agent",
"value": useUserAgentMobile ? userAgentMobile : userAgentDesktop "value": useUserAgentMobile ? userAgentMobile : userAgentDesktop
}) })
requestHeaders.push({
"name": "X-Forwarded-For",
"value": "66.249.66.1"
})
} }
requestHeaders.push({
"name": "X-Forwarded-For",
"value": "66.249.66.1"
})
// remove cookies before page load // remove cookies before page load
requestHeaders = requestHeaders.map(function(requestHeader) { requestHeaders = requestHeaders.map(function(requestHeader) {
for (var siteIndex in allow_cookies) { for (var siteIndex in allow_cookies) {