From 448beb77c653eb3b7b7649d8bcd8a1704c3144c6 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 18 Sep 2022 17:21:42 -0400 Subject: Remove Tor integration support, pending further discussion. For rationale and discussion, see: * data/extensions/torproxy@icecat.gnu: Remove directory. * data/settings.js: Remove IceCat-specific customizations to "network.dns.blockDotOnion" and "network.http.referer.hideOnionSource" settings. --- .../torproxy@icecat.gnu/META-INF/cose.manifest | 37 ----- .../torproxy@icecat.gnu/META-INF/cose.sig | Bin 3110 -> 0 bytes .../torproxy@icecat.gnu/META-INF/manifest.mf | 47 ------- .../torproxy@icecat.gnu/META-INF/mozilla.rsa | Bin 4359 -> 0 bytes .../torproxy@icecat.gnu/META-INF/mozilla.sf | 4 - data/extensions/torproxy@icecat.gnu/background.js | 149 --------------------- data/extensions/torproxy@icecat.gnu/icons/p1.svg | 91 ------------- data/extensions/torproxy@icecat.gnu/icons/p2.svg | 85 ------------ data/extensions/torproxy@icecat.gnu/manifest.json | 45 ------- data/extensions/torproxy@icecat.gnu/settings.css | 30 ----- data/extensions/torproxy@icecat.gnu/settings.html | 63 --------- data/extensions/torproxy@icecat.gnu/settings.js | 53 -------- data/settings.js | 4 - 13 files changed, 608 deletions(-) delete mode 100644 data/extensions/torproxy@icecat.gnu/META-INF/cose.manifest delete mode 100644 data/extensions/torproxy@icecat.gnu/META-INF/cose.sig delete mode 100644 data/extensions/torproxy@icecat.gnu/META-INF/manifest.mf delete mode 100644 data/extensions/torproxy@icecat.gnu/META-INF/mozilla.rsa delete mode 100644 data/extensions/torproxy@icecat.gnu/META-INF/mozilla.sf delete mode 100644 data/extensions/torproxy@icecat.gnu/background.js delete mode 100644 data/extensions/torproxy@icecat.gnu/icons/p1.svg delete mode 100644 data/extensions/torproxy@icecat.gnu/icons/p2.svg delete mode 100644 data/extensions/torproxy@icecat.gnu/manifest.json delete mode 100644 data/extensions/torproxy@icecat.gnu/settings.css delete mode 100644 data/extensions/torproxy@icecat.gnu/settings.html delete mode 100644 data/extensions/torproxy@icecat.gnu/settings.js (limited to 'data') diff --git a/data/extensions/torproxy@icecat.gnu/META-INF/cose.manifest b/data/extensions/torproxy@icecat.gnu/META-INF/cose.manifest deleted file mode 100644 index 42cda05..0000000 --- a/data/extensions/torproxy@icecat.gnu/META-INF/cose.manifest +++ /dev/null @@ -1,37 +0,0 @@ -Manifest-Version: 1.0 - -Name: settings.css -Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 6anv3xncTMc8eediw8wscgbrlmo= -SHA256-Digest: 47v3ADsxI7OFsLI9Ob3YZjekabJtPfjlZ/Usy1jNSEo= - -Name: settings.html -Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: TaPwMv87CAK19sNiNk9L++NH/xY= -SHA256-Digest: QJcp4e6yvxtRLNJiPtGMXAFsUEhujgTYmhDdqw6mOXQ= - -Name: settings.js -Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: DlYXdL43JwSn+1amJCsnPOqAkkg= -SHA256-Digest: 8rt7OebmlZC0XObdccAXaL4cKXYLt+YIyutZsfXURzY= - -Name: background.js -Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: G/prqg/9BDrAPnyZUfVxVW9PYLc= -SHA256-Digest: W6G77oxIH0mEdKqOLY7BWWbfMrrZUn1wzwl4Wrvwil4= - -Name: manifest.json -Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: MQzINwoLrV6jGsswMbk5++CdA8M= -SHA256-Digest: ez97jvQuuItTUiGeFJMQ4tAyj40TlSBc+Lhr8VkjGD0= - -Name: icons/p2.svg -Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: rKFFu6DEQKi9NhW0lOqcyqqDegU= -SHA256-Digest: roEOnaLvEsHYPB4h+oNOMps9upEX5dPUCndsvAUz2vU= - -Name: icons/p1.svg -Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: WrE4n1huN0Rg12GmZLi7S36OrZU= -SHA256-Digest: VkQJQTiZC7Uyf6ExDuquEW/Ixe9T1XndEqwTJ/1T0wM= - diff --git a/data/extensions/torproxy@icecat.gnu/META-INF/cose.sig b/data/extensions/torproxy@icecat.gnu/META-INF/cose.sig deleted file mode 100644 index c591bad..0000000 Binary files a/data/extensions/torproxy@icecat.gnu/META-INF/cose.sig and /dev/null differ diff --git a/data/extensions/torproxy@icecat.gnu/META-INF/manifest.mf b/data/extensions/torproxy@icecat.gnu/META-INF/manifest.mf deleted file mode 100644 index 0f11800..0000000 --- a/data/extensions/torproxy@icecat.gnu/META-INF/manifest.mf +++ /dev/null @@ -1,47 +0,0 @@ -Manifest-Version: 1.0 - -Name: settings.css -Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 6anv3xncTMc8eediw8wscgbrlmo= -SHA256-Digest: 47v3ADsxI7OFsLI9Ob3YZjekabJtPfjlZ/Usy1jNSEo= - -Name: settings.html -Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: TaPwMv87CAK19sNiNk9L++NH/xY= -SHA256-Digest: QJcp4e6yvxtRLNJiPtGMXAFsUEhujgTYmhDdqw6mOXQ= - -Name: settings.js -Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: DlYXdL43JwSn+1amJCsnPOqAkkg= -SHA256-Digest: 8rt7OebmlZC0XObdccAXaL4cKXYLt+YIyutZsfXURzY= - -Name: background.js -Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: G/prqg/9BDrAPnyZUfVxVW9PYLc= -SHA256-Digest: W6G77oxIH0mEdKqOLY7BWWbfMrrZUn1wzwl4Wrvwil4= - -Name: manifest.json -Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: MQzINwoLrV6jGsswMbk5++CdA8M= -SHA256-Digest: ez97jvQuuItTUiGeFJMQ4tAyj40TlSBc+Lhr8VkjGD0= - -Name: icons/p2.svg -Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: rKFFu6DEQKi9NhW0lOqcyqqDegU= -SHA256-Digest: roEOnaLvEsHYPB4h+oNOMps9upEX5dPUCndsvAUz2vU= - -Name: icons/p1.svg -Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: WrE4n1huN0Rg12GmZLi7S36OrZU= -SHA256-Digest: VkQJQTiZC7Uyf6ExDuquEW/Ixe9T1XndEqwTJ/1T0wM= - -Name: META-INF/cose.manifest -Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: gO96ZggerANLr/y5PZAOlQA5llc= -SHA256-Digest: 9JY77ZX1b8zxeCJBBWrsG1K/FWJTwkNFQdY2InYbaqo= - -Name: META-INF/cose.sig -Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 2IW2783wdc49TwbvnjvRJ8sfW5E= -SHA256-Digest: Cualpja8+9v8KBgYoKIfaC7qCKRo3CT1Mtj4EFS3OvM= - diff --git a/data/extensions/torproxy@icecat.gnu/META-INF/mozilla.rsa b/data/extensions/torproxy@icecat.gnu/META-INF/mozilla.rsa deleted file mode 100644 index a62fb90..0000000 Binary files a/data/extensions/torproxy@icecat.gnu/META-INF/mozilla.rsa and /dev/null differ diff --git a/data/extensions/torproxy@icecat.gnu/META-INF/mozilla.sf b/data/extensions/torproxy@icecat.gnu/META-INF/mozilla.sf deleted file mode 100644 index e8dfcd7..0000000 --- a/data/extensions/torproxy@icecat.gnu/META-INF/mozilla.sf +++ /dev/null @@ -1,4 +0,0 @@ -Signature-Version: 1.0 -SHA1-Digest-Manifest: XjlJha4UffyHXIfl6oiV88clQQQ= -SHA256-Digest-Manifest: UsuiDWtMby2Eo7ESWqMa+92iSdPyY+o01Suox9uqEu0= - diff --git a/data/extensions/torproxy@icecat.gnu/background.js b/data/extensions/torproxy@icecat.gnu/background.js deleted file mode 100644 index 8a27219..0000000 --- a/data/extensions/torproxy@icecat.gnu/background.js +++ /dev/null @@ -1,149 +0,0 @@ -const DEBUG = 0; -const DIRECT_PROXY = { - type: 'direct' -}; -const DEFAULT_PROXY_SETTINGS = { - type: 'socks', - host: '127.0.0.1', - port: 9050, - username: '', - password: '', - proxyDNS: true -}; -let proxies = [ DIRECT_PROXY, DIRECT_PROXY ]; -var skipLocal = 1; -var pendingRequests = []; -var currentProxy = 0; - -function buttonClicked() { - currentProxy = (currentProxy ? 0 : 1); - browser.storage.local.set({ currentProxy: currentProxy }); - updateState(); -} - -function updateState() { - if(currentProxy==0) - { - if (DEBUG) - console.log('Update state (proxy off)'); - browser.browserAction.setIcon({path: "icons/p1.svg"}); - browser.browserAction.setTitle({title: "Tor Proxy (disabled)"}); - } - else - { - if (DEBUG) - console.log('Update state (proxy on)'); - browser.browserAction.setIcon({path: "icons/p2.svg"}); - browser.browserAction.setTitle({title: "Tor Proxy (enabled)"}); - } -} - -function settingsChanged(settings) { - if ("proxySettings" in settings) - proxies[1] = settings.proxySettings.newValue; - if ("skipLocal" in settings) - skipLocal = settings.skipLocal.newValue; -} - -function completed(requestDetails) { - if (DEBUG) { - console.log("completed request: " + requestDetails.requestId); - } - var index = pendingRequests.indexOf(requestDetails.requestId); - if (index > -1) { - pendingRequests.splice(index, 1); - } -} - -function provideCredentialsSync(requestDetails) { - if (!requestDetails.isProxy) - return; - if (!currentProxy == 1) - return; - if (pendingRequests.indexOf(requestDetails.requestId) != -1) { - //if we've seen the request before, assume bad credentials and give up - console.log("Bad proxy credentials for request: " + requestDetails.requestId); - return {cancel:true}; - } - var credentials = { - username: proxies[1].username, - password: proxies[1].password - } - pendingRequests.push(requestDetails.requestId); - if (DEBUG) { - console.log(`Providing proxy credentials for request: ${requestDetails.requestId} username: ${credentials.username}`); - } - return {authCredentials: credentials}; -} - -function isLocalIPv4(host) -{ - var octets = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/.exec(host); - if(!octets) - return false; - if(octets[1]>255||octets[2]>255||octets[3]>255||octets[4]>255) - return false; - if(octets[1]==10||octets[1]==127) //class A or local loopback - return true; - if(octets[1]==172&&octets[2]>=16&&octets[2]<=31) //class B - return true; - if(octets[1]==192&&octets[2]==168) //class C - return true; - return false; -} - -function isLocal(host) -{ - if(host.indexOf('.') == -1) - return true; - if(host.endsWith(".local")) - return true; - if(host=="::1") - return true; - return(isLocalIPv4(host)); -} - -function handleProxyRequest(requestInfo) { - const url = new URL(requestInfo.url); - var host = url.hostname; - var proxyNum = currentProxy; - if (skipLocal) { - if(isLocal(host)) { - if (DEBUG) - console.log(`Local host detected: ${host}`); - proxyNum = 0; - } - } - if (DEBUG) { - console.log(`Proxying: ${url.hostname}`); - console.log(proxies[proxyNum]); - } - return(proxies[proxyNum]); -} - -browser.storage.local.get({ currentProxy: 0, skipLocal: true, proxySettings: DEFAULT_PROXY_SETTINGS }, items=>{ - currentProxy = items.currentProxy; - skipLocal = items.skipLocal; - proxies[1] = items.proxySettings; - updateState(); -}); - -browser.storage.onChanged.addListener(settingsChanged); -browser.browserAction.onClicked.addListener(buttonClicked); -browser.proxy.onRequest.addListener(handleProxyRequest, {urls: [""]}); -browser.proxy.onError.addListener(error => { - console.error(`Proxy error: ${error.message}`); -}); -browser.webRequest.onAuthRequired.addListener( - provideCredentialsSync, - {urls: [""]}, - ["blocking"] -); -browser.webRequest.onCompleted.addListener( - completed, - {urls: [""]} -); -browser.webRequest.onErrorOccurred.addListener( - completed, - {urls: [""]} -); diff --git a/data/extensions/torproxy@icecat.gnu/icons/p1.svg b/data/extensions/torproxy@icecat.gnu/icons/p1.svg deleted file mode 100644 index a18de5b..0000000 --- a/data/extensions/torproxy@icecat.gnu/icons/p1.svg +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/data/extensions/torproxy@icecat.gnu/icons/p2.svg b/data/extensions/torproxy@icecat.gnu/icons/p2.svg deleted file mode 100644 index 83632e8..0000000 --- a/data/extensions/torproxy@icecat.gnu/icons/p2.svg +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/data/extensions/torproxy@icecat.gnu/manifest.json b/data/extensions/torproxy@icecat.gnu/manifest.json deleted file mode 100644 index f03ee3e..0000000 --- a/data/extensions/torproxy@icecat.gnu/manifest.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "manifest_version": 2, - "name": "Tor Proxy Toggle", - "version": "1.2.1", - "description": "Toggle between direct connection and using Tor routing from a local daemon (requires a Tor service installed an running, separately of IceCat). Based on 'Proxy toggle' extension", - "icons": { - "48": "icons/p1.svg", - "96": "icons/p1.svg" - }, - "permissions": [ - "storage", - "proxy", - "", - "webRequest", - "webRequestBlocking" - ], - "browser_action": { - "browser_style": true, - "default_icon": "icons/p1.svg", - "default_title": "Tor Proxy Toggle" - }, - "commands": { - "_execute_browser_action": { - "suggested_key": { - "default": "Ctrl+Shift+Y" - }, - "description": "Toggle Tor proxy on/off" - } - }, - "background": { - "scripts": [ - "background.js" - ] - }, - "options_ui": { - "page": "settings.html", - "browser_style": true - }, - "applications": { - "gecko": { - "strict_min_version": "60.0", - "id": "torproxy@icecat.gnu" - } - } -} diff --git a/data/extensions/torproxy@icecat.gnu/settings.css b/data/extensions/torproxy@icecat.gnu/settings.css deleted file mode 100644 index 0fe75e2..0000000 --- a/data/extensions/torproxy@icecat.gnu/settings.css +++ /dev/null @@ -1,30 +0,0 @@ -#dnsrow{ - display: none; -} -.configtable { - border-collapse:collapse; - margin: 6px; - font-size: 11pt; - min-width: 400px; - border: 2px solid black; - box-shadow: 3px 3px 2px #000 -} -.configtable th,.configtable td { - border: 1px solid black; - padding: 10px; -} -.configtable th { - color: #000; - font-size: 18px; - text-align: left; -} -.configtable td { - width: 50%; -} -.configtable tr { - background-color: lavender; - transition: background-color 0.5s ease; -} -.configtable tr:hover { - background-color: #fff; -} diff --git a/data/extensions/torproxy@icecat.gnu/settings.html b/data/extensions/torproxy@icecat.gnu/settings.html deleted file mode 100644 index 1fe61c9..0000000 --- a/data/extensions/torproxy@icecat.gnu/settings.html +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Proxy configuration -
The default values to use with a Tor service are:
type=socks5, host=127.0.0.1, port=9050, RemoteDNS=true.
The Tor service needs to be installed and running, separately of IceCat.
Type - -
Host
Port
Username (optional)
Password (optional)
Remote DNS
- General settings -
Don't use proxy for hosts we can detect as local (e.g. LAN IPs)
-
- - - diff --git a/data/extensions/torproxy@icecat.gnu/settings.js b/data/extensions/torproxy@icecat.gnu/settings.js deleted file mode 100644 index d227763..0000000 --- a/data/extensions/torproxy@icecat.gnu/settings.js +++ /dev/null @@ -1,53 +0,0 @@ -function saveOptions(e) { - e.preventDefault(); - browser.storage.local.set({ - proxySettings: { - type: document.querySelector("#type").value, - host: document.querySelector("#host").value, - port: document.querySelector("#port").value, - username: document.querySelector("#username").value, - password: document.querySelector("#password").value, - proxyDNS: document.querySelector("#dns").checked - }, - skipLocal: document.querySelector("#skiplocal").checked - }); -} - -function restoreOptions(e) { - function onGot(item) { - document.querySelector("#host").value = item.proxySettings.host; - document.querySelector("#port").value = item.proxySettings.port; - document.querySelector('#type [value="' + item.proxySettings.type + '"]').selected = true; - document.querySelector("#username").value = item.proxySettings.username; - document.querySelector("#password").value = item.proxySettings.password; - document.querySelector("#dns").checked = item.proxySettings.proxyDNS; - document.querySelector("#skiplocal").checked = item.skipLocal; - typeChanged(e); - } - function onError(error) { - console.log(`Error: ${error}`); - } - var gettingItem = browser.storage.local.get({ skipLocal: true, proxySettings: {type: 'socks', host: '127.0.0.1', port: 9050, username: '', password: '', proxyDNS: true}}); - gettingItem.then(onGot, onError); -} - -function typeChanged(e) { - var type = document.querySelector("#type").value; - var dnsDisplay = 'none'; - if(type=="socks"||type=="socks4") - dnsDisplay = 'table-row'; - else - document.querySelector("#dns").checked = false; - document.querySelector("#dnsrow").style.display = dnsDisplay; - saveOptions(e); -} - -document.addEventListener("DOMContentLoaded", restoreOptions); -document.querySelector("#type").addEventListener("change", typeChanged); -document.querySelector("#host").addEventListener("blur", saveOptions); -document.querySelector("#port").addEventListener("blur", saveOptions); -document.querySelector("#port").addEventListener("change", saveOptions); -document.querySelector("#username").addEventListener("blur", saveOptions); -document.querySelector("#password").addEventListener("blur", saveOptions); -document.querySelector("#dns").addEventListener("change", saveOptions); -document.querySelector("#skiplocal").addEventListener("change", saveOptions); diff --git a/data/settings.js b/data/settings.js index 6c965bb..3b9bc75 100644 --- a/data/settings.js +++ b/data/settings.js @@ -402,7 +402,3 @@ pref("browser.contentblocking.report.vpn-promo.url", ""); pref("browser.contentblocking.report.vpn-android.url", ""); pref("browser.contentblocking.report.vpn-ios.url", ""); pref("browser.privatebrowsing.promoEnabled", false); - -// Enable onion dns resolving -pref("network.dns.blockDotOnion", false); -pref("network.http.referer.hideOnionSource", true); -- cgit v1.2.3