From df0f023f0bd29aef87d25e2de56b966190b2eff6 Mon Sep 17 00:00:00 2001 From: Krzysztof Jan Modras Date: Mon, 18 Jan 2021 16:46:16 +0100 Subject: [PATCH 1/5] New name - Ghostery Glow --- src/config.js | 6 +++--- src/favicon.ico | Bin 101313 -> 0 bytes src/icon.svg | 14 ++++++++++++++ src/manifest.json | 21 ++++++++++++++------- src/pages/choice-screen.html | 2 +- src/pages/common.js | 2 +- 6 files changed, 33 insertions(+), 12 deletions(-) delete mode 100644 src/favicon.ico create mode 100644 src/icon.svg diff --git a/src/config.js b/src/config.js index 80ccbc3..2d731ec 100644 --- a/src/config.js +++ b/src/config.js @@ -1,6 +1,6 @@ let DEBUG = false; -const STAGING_BASE_URL = 'https://staging.ghosterysearch.com'; -const PROD_BASE_URL = 'https://ghosterysearch.com'; +const STAGING_BASE_URL = 'https://staging.glowstery.com'; +const PROD_BASE_URL = 'https://glowstery.com'; const STAGING_AUTH_DOMAIN = '.ghosterystage.com'; const PROD_AUTH_DOMAIN = '.ghostery.com'; let API_BASE_URL = DEBUG ? 'http://localhost:5000' : PROD_BASE_URL; @@ -18,7 +18,7 @@ const setupEndpoints = (async function() { if (!DEBUG) { API_BASE_URL = STAGING_BASE_URL; SERP_BASE_URL = STAGING_BASE_URL; - console.log(`USING_STAGING: Redirecting ghosterysearch.com to staging.ghosterysearch.com`) + console.log(`USING_STAGING: Redirecting glowstery.com to staging.glowstery.com`) browser.webRequest.onBeforeRequest.addListener(async (details) => { return { redirectUrl: details.url.replace(PROD_BASE_URL, STAGING_BASE_URL), diff --git a/src/favicon.ico b/src/favicon.ico deleted file mode 100644 index 5ac20b401949c78137307ff3519c23019b8f99c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 101313 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%0A|3yd9LkODuM* z9UDlll2|O;qgRIgR@jr3cC5x`IXZ70X`j{rU^w9K)9QhQ^#>c9dxJvIgaU%e2HNav zGJCR?;2go;hqV~z2wRdEiKG8}E1(nQ;%MqI^_rtO-`@4p{v5&!NzlF=!lWeD;z+Q^ zJKA@{Ve`%2o5{#Wn3sgvFJ$i%%2)knZNcm@vE^v(bUE}uFncZXT0isi@n{pFDT&sW z+mtsE<)?jDJy~}?>mQ6Z5X}6+v^VoHeXg20Un*|sSvO$_!RXx_aW3EW_dy#7o0G^a zPx5)X|13TE9Nj!a_wTn-a+`7j&&!S6=9sKIpY@x$^aiwrVA`EHnrFi1d2s4kaPxCW z^9fd8TBZCz)qS<~fo%Z=PQW{-2xu z+pm5z4zGbP5}M;bsekiK#H?qVwRrO!#GE(JKm2DOrX1^ehlzW0M1A?L-^@eJ`goxK zGi&-r&eU3d^E$pcZ`O}}{iWnzh;xKQJw|SGH0N>5OZ}`Jw605tCy~&DS<^M^(f(R= zavj>NL7VkwTx;}a);({;xf@MAVMpZ2cm3Va2Evm`G_Om#<~!+pGmkXuc8U9&FuBe7 zWZikIpS8n`$FtBT!k0-HyM`Uj{Bbt&6EcqXrk=1PuFGrvrd?=ko-_2OMcFfv%xz%{{)kw_l5M#)r*)yh+o&`($7qK=_-<#DRxSr;;{x{Cex6I8q z%bVLk*ZXtjK>e7PnC~TRnOA&u_|{nMO+{+j0!cO+<9QoK54{vP!Oq{KYwAoHdH@#^of + + Group 14 + + + + + + + + + + + \ No newline at end of file diff --git a/src/manifest.json b/src/manifest.json index 8bd4cbd..d22fe19 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -21,6 +21,8 @@ "matches": [ "https://*.ghosterysearch.com/", "https://*.ghosterysearch.com/?*", + "https://*.glowstery.com/", + "https://*.glowstery.com/?*", "http://localhost/", "http://localhost/?*" ], @@ -31,6 +33,7 @@ }, { "matches": [ "https://*.ghosterysearch.com/*", + "https://*.glowstery.com/*", "http://localhost/*" ], "js": [ @@ -39,12 +42,13 @@ }, { "matches": [ "https://*.ghosterysearch.com/search*", + "https://*.glowstery.com/search*", "http://localhost/search*" ], "js": ["content/additional-search-engines.js"] }], "manifest_version": 2, - "name": "Ghostery Search", + "name": "Ghostery Glow", "permissions": [ "search", "storage", @@ -59,22 +63,25 @@ "https://consumerapi.ghosterystage.com/*", "https://ghosterysearch.com/*", "https://staging.ghosterysearch.com/*", + "https://glowstery.com/*", + "https://staging.glowstery.com/*", "http://localhost/*" ], "icons": { - "16": "favicon.ico" + "48": "icon.svg", + "96": "icon.svg" }, "web_accessible_resources": [ - "favicon.ico" + "icon.svg" ], "chrome_settings_overrides" : { "search_provider": { - "name": "Ghostery Search", - "search_url": "https://ghosterysearch.com/search?q={searchTerms}", + "name": "Ghostery Glow", + "search_url": "https://glowstery.com/search?q={searchTerms}", "keyword": "@ghostery", - "favicon_url": "https://ghosterysearch.com/img/favicon-32x32.png", + "favicon_url": "https://glowstery.com/img/favicon-32x32.png", "is_default": true, - "suggest_url": "https://ghosterysearch.com/suggest", + "suggest_url": "https://glowstery.com/suggest", "suggest_url_get_params": "q={searchTerms}" } }, diff --git a/src/pages/choice-screen.html b/src/pages/choice-screen.html index 952d822..8d0bb27 100644 --- a/src/pages/choice-screen.html +++ b/src/pages/choice-screen.html @@ -258,7 +258,7 @@

Pick a default search engine for all your searches.

- +
diff --git a/src/pages/common.js b/src/pages/common.js index 09b1aed..eb182c4 100644 --- a/src/pages/common.js +++ b/src/pages/common.js @@ -27,7 +27,7 @@ async function selectSearchEngine(name) { }); if (name === browser.runtime.getManifest()["chrome_settings_overrides"]["search_provider"].name) { browser.tabs.update(currentTab.id, { - url: "https://ghosterysearch.com/account", + url: "https://glowstery.com/account", }); } else { await browser.tabs.create({}); From cce1cf9a8a66034ab25b5892770e5a150b2e4ce0 Mon Sep 17 00:00:00 2001 From: Krzysztof Jan Modras Date: Mon, 18 Jan 2021 16:50:52 +0100 Subject: [PATCH 2/5] Ghostery Dawn detection --- src/background.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/background.js b/src/background.js index 12653ed..81fd6a0 100644 --- a/src/background.js +++ b/src/background.js @@ -112,6 +112,18 @@ async function start() { requestHeaders, }; }, { urls: [`${SERP_BASE_URL}/search*`]}, ["blocking", "requestHeaders"]); + + // TODO: this should only run in Ghostery Dawn + browser.webRequest.onBeforeSendHeaders.addListener(async (details) => { + const { requestHeaders } = details; + requestHeaders.push({ + name: "SERP-browser", + value: "Ghostery Dawn", + }); + return { + requestHeaders, + }; + }, { urls: [`${SERP_BASE_URL}/*`]}, ["blocking", "requestHeaders"]); } browser.runtime.onMessage.addListener(async ({ action, args }, { tab }) => { From e6aa417e10aabcad6c197740184dd04ac316eb8a Mon Sep 17 00:00:00 2001 From: Krzysztof Jan Modras Date: Mon, 18 Jan 2021 16:53:47 +0100 Subject: [PATCH 3/5] Not top sites in incognito windows - fix #40 --- src/background.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/background.js b/src/background.js index 81fd6a0..c7118ae 100644 --- a/src/background.js +++ b/src/background.js @@ -128,6 +128,9 @@ async function start() { browser.runtime.onMessage.addListener(async ({ action, args }, { tab }) => { if (action === 'getTopSites') { + if (tab.incognito) { + return; + } return (await browser.topSites.get({ newtab: true, includeFavicon: true, From 15ffb48c7e2e8f4e083c588c4ef0f51ce2b2730e Mon Sep 17 00:00:00 2001 From: Krzysztof Jan Modras Date: Mon, 18 Jan 2021 16:54:37 +0100 Subject: [PATCH 4/5] version bump --- src/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/manifest.json b/src/manifest.json index d22fe19..e2365ab 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -1,5 +1,5 @@ { - "version": "0.1.22", + "version": "0.2.0", "browser_specific_settings": { "gecko": { "id": "search@ghostery.com" From faf54700d9989e3e3be6f6c2bbf38b8645fa1c35 Mon Sep 17 00:00:00 2001 From: Krzysztof Jan Modras Date: Mon, 18 Jan 2021 16:57:43 +0100 Subject: [PATCH 5/5] Handle legacy domain ghosterysearch.com gracefully --- src/background.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/background.js b/src/background.js index c7118ae..0b9d22d 100644 --- a/src/background.js +++ b/src/background.js @@ -111,7 +111,7 @@ async function start() { return { requestHeaders, }; - }, { urls: [`${SERP_BASE_URL}/search*`]}, ["blocking", "requestHeaders"]); + }, { urls: [`${SERP_BASE_URL}/search*`, USE_STAGING ? 'https://staging.ghosterysearch.com/search*' : 'https://ghosterysearch.com/search*']}, ["blocking", "requestHeaders"]); // TODO: this should only run in Ghostery Dawn browser.webRequest.onBeforeSendHeaders.addListener(async (details) => { @@ -123,7 +123,7 @@ async function start() { return { requestHeaders, }; - }, { urls: [`${SERP_BASE_URL}/*`]}, ["blocking", "requestHeaders"]); + }, { urls: [`${SERP_BASE_URL}/*`, USE_STAGING ? 'https://staging.ghosterysearch.com/search*' : 'https://ghosterysearch.com/search*']}, ["blocking", "requestHeaders"]); } browser.runtime.onMessage.addListener(async ({ action, args }, { tab }) => {