From 7bfc4f8c664bb95307a3eccb1a3d2b174e6884bf Mon Sep 17 00:00:00 2001 From: idk Date: Thu, 30 Sep 2021 16:46:20 -0400 Subject: [PATCH] create android-trunk branch --- Makefile | 12 ++ background.js | 191 ++++++++--------- bookmarks.js | 134 ++++++------ cert.js | 28 +-- config.js | 26 +-- content.js | 72 +++---- context.js | 14 +- handler.js | 116 +++++------ home.js | 34 +-- host.js | 168 +++++++-------- i2pcontrol/i2pcontrol.js | 175 ++++++++-------- info.js | 14 +- location.js | 6 +- manifest.json | 22 -- options/options.js | 438 +++++++++++++++++++-------------------- platform.js | 8 +- privacy.js | 40 ++-- proxy.js | 204 +++++++++--------- script.js | 6 +- scrub.js | 292 +++++++++++++------------- torrent.js | 6 +- torrent/background.js | 15 +- torrent/common.js | 36 ++-- torrent/popup.js | 42 ++-- 24 files changed, 1053 insertions(+), 1046 deletions(-) diff --git a/Makefile b/Makefile index 00e34d1..024300f 100644 --- a/Makefile +++ b/Makefile @@ -366,3 +366,15 @@ lht-test: -u http://localhost:7657/webmail \ -u http://localhost:7657/MuWire/ \ -u http://idk.i2p + +android: + $(HOME)/web-ext/bin/web-ext run --target firefox-android \ + --android-device NE1GAM7780819544 \ + --browser-console + +run: + $(HOME)/web-ext/bin/web-ext run --firefox /usr/bin/firefox -u about:debugging + +chromium: + $(HOME)/web-ext/bin/web-ext run --target chromium + \ No newline at end of file diff --git a/background.js b/background.js index 1a81065..dc62a0a 100644 --- a/background.js +++ b/background.js @@ -1,26 +1,26 @@ -var titlepref = chrome.i18n.getMessage("titlePreface"); -var titleprefpriv = chrome.i18n.getMessage("titlePrefacePrivate"); -var webpref = chrome.i18n.getMessage("webPreface"); -var webprefpriv = chrome.i18n.getMessage("webPrefacePrivate"); -var routerpref = chrome.i18n.getMessage("routerPreface"); -var routerprefpriv = chrome.i18n.getMessage("routerPrefacePrivate"); -var mailpref = chrome.i18n.getMessage("mailPreface"); -var mailprefpriv = chrome.i18n.getMessage("mailPrefacePrivate"); -var torrentpref = chrome.i18n.getMessage("torrentPreface"); -var torrentprefpriv = chrome.i18n.getMessage("torrentPrefacePrivate"); -var tunnelpref = chrome.i18n.getMessage("i2ptunnelPreface"); -var tunnelprefpriv = chrome.i18n.getMessage("i2ptunnelPrefacePrivate"); -var ircpref = chrome.i18n.getMessage("ircPreface"); -var ircprefpriv = chrome.i18n.getMessage("ircPrefacePrivate"); -var extensionpref = chrome.i18n.getMessage("extensionPreface"); -var muwirepref = chrome.i18n.getMessage("muwirePreface"); -var muwireprefpriv = chrome.i18n.getMessage("muwirePrefacePrivate"); -var botepref = chrome.i18n.getMessage("botePreface"); -var blogpref = chrome.i18n.getMessage("blogPreface"); -var blogprefpriv = chrome.i18n.getMessage("blogPrefacePrivate"); +var titlepref = chrome.i18n.getMessage('titlePreface'); +var titleprefpriv = chrome.i18n.getMessage('titlePrefacePrivate'); +var webpref = chrome.i18n.getMessage('webPreface'); +var webprefpriv = chrome.i18n.getMessage('webPrefacePrivate'); +var routerpref = chrome.i18n.getMessage('routerPreface'); +var routerprefpriv = chrome.i18n.getMessage('routerPrefacePrivate'); +var mailpref = chrome.i18n.getMessage('mailPreface'); +var mailprefpriv = chrome.i18n.getMessage('mailPrefacePrivate'); +var torrentpref = chrome.i18n.getMessage('torrentPreface'); +var torrentprefpriv = chrome.i18n.getMessage('torrentPrefacePrivate'); +var tunnelpref = chrome.i18n.getMessage('i2ptunnelPreface'); +var tunnelprefpriv = chrome.i18n.getMessage('i2ptunnelPrefacePrivate'); +var ircpref = chrome.i18n.getMessage('ircPreface'); +var ircprefpriv = chrome.i18n.getMessage('ircPrefacePrivate'); +var extensionpref = chrome.i18n.getMessage('extensionPreface'); +var muwirepref = chrome.i18n.getMessage('muwirePreface'); +var muwireprefpriv = chrome.i18n.getMessage('muwirePrefacePrivate'); +var botepref = chrome.i18n.getMessage('botePreface'); +var blogpref = chrome.i18n.getMessage('blogPreface'); +var blogprefpriv = chrome.i18n.getMessage('blogPrefacePrivate'); function onError(err) { - console.log("(background)", err); + console.log('(background)', err); } function onContextGotLog(contexts) { @@ -35,13 +35,13 @@ function onContextsGot(contexts) { console.log(`Name : ${context.name}`); ids.push(context.name); } - console.log("Checking new contexts"); + console.log('Checking new contexts'); if (ids.indexOf(titlepref) == -1) { browser.contextualIdentities .create({ name: titlepref, - color: "orange", - icon: "fingerprint", + color: 'orange', + icon: 'fingerprint' }) .then(onCreated, onNotCreated); } @@ -49,8 +49,8 @@ function onContextsGot(contexts) { browser.contextualIdentities .create({ name: blogpref, - color: "pink", - icon: "pet", + color: 'pink', + icon: 'pet' }) .then(onCreated, onNotCreated); } @@ -58,8 +58,8 @@ function onContextsGot(contexts) { browser.contextualIdentities .create({ name: webpref, - color: "red", - icon: "circle", + color: 'red', + icon: 'circle' }) .then(onCreated, onNotCreated); } @@ -67,8 +67,8 @@ function onContextsGot(contexts) { browser.contextualIdentities .create({ name: routerpref, - color: "blue", - icon: "briefcase", + color: 'blue', + icon: 'briefcase' }) .then(onCreated, onNotCreated); } @@ -76,8 +76,8 @@ function onContextsGot(contexts) { browser.contextualIdentities .create({ name: tunnelpref, - color: "green", - icon: "tree", + color: 'green', + icon: 'tree' }) .then(onCreated, onNotCreated); } @@ -85,8 +85,8 @@ function onContextsGot(contexts) { browser.contextualIdentities .create({ name: mailpref, - color: "yellow", - icon: "briefcase", + color: 'yellow', + icon: 'briefcase' }) .then(onCreated, onNotCreated); } @@ -94,8 +94,8 @@ function onContextsGot(contexts) { browser.contextualIdentities .create({ name: torrentpref, - color: "purple", - icon: "chill", + color: 'purple', + icon: 'chill' }) .then(onCreated, onNotCreated); } @@ -103,8 +103,8 @@ function onContextsGot(contexts) { browser.contextualIdentities .create({ name: ircpref, - color: "red", - icon: "vacation", + color: 'red', + icon: 'vacation' }) .then(onCreated, onNotCreated); } @@ -112,8 +112,8 @@ function onContextsGot(contexts) { browser.contextualIdentities .create({ name: muwirepref, - color: "turquoise", - icon: "gift", + color: 'turquoise', + icon: 'gift' }) .then(onCreated, onNotCreated); } @@ -121,30 +121,30 @@ function onContextsGot(contexts) { browser.contextualIdentities .create({ name: botepref, - color: "blue", - icon: "fence", + color: 'blue', + icon: 'fence' }) .then(onCreated, onNotCreated); } } function onContextsError() { - console.log("Error finding contextual identities, is the API enabled?"); + console.log('Error finding contextual identities, is the API enabled?'); } function onCreated(context) { - console.log(" ID:", context.cookieStoreId, "created."); + console.log(' ID:', context.cookieStoreId, 'created.'); } function onNotCreated(context) { - console.log("ID:", context.cookieStoreId, "not created."); + console.log('ID:', context.cookieStoreId, 'not created.'); } browser.contextualIdentities.query({}).then(onContextsGot, onContextsError); var gettingInfo = browser.runtime.getPlatformInfo(); gettingInfo.then((got) => { - if (got.os != "android") { + if (got.os != 'android') { browser.windows.onCreated.addListener(themeWindow); browser.windows.onFocusChanged.addListener(themeWindow); browser.windows.onRemoved.addListener(themeWindow); @@ -157,7 +157,7 @@ function themeWindowByTab(tabId) { function tabWindow(tab) { var gettingPlatformInfo = browser.runtime.getPlatformInfo(); gettingPlatformInfo.then((got) => { - if (got.os == "android") { + if (got.os == 'android') { let getwindow = browser.tabs.get(tab.tabId); getwindow.then(themeWindow); } else { @@ -166,7 +166,7 @@ function themeWindowByTab(tabId) { } }); } - if (typeof tabId === "number") { + if (typeof tabId === 'number') { let tab = browser.tabs.get(tabId); tab.then(tabWindow); } else { @@ -188,22 +188,22 @@ function isEmpty(obj) { let btheme = { colors: { - frame: "#363A68", - toolbar: "#363A68", - }, + frame: '#363A68', + toolbar: '#363A68' + } }; let dtheme = { colors: { - frame: "#4456B7", - toolbar: "#4456B7", - }, + frame: '#4456B7', + toolbar: '#4456B7' + } }; function themeWindow(window) { // Check if the window is in private browsing function onThemeError() { - console.log("(theme) color set error"); + console.log('(theme) color set error'); browser.theme.reset(); } @@ -216,7 +216,7 @@ function themeWindow(window) { } function browserTheme() { - console.log("(theme)Active in I2P window"); + console.log('(theme)Active in I2P window'); if (window.incognito) { browser.theme.update(window.id, btheme); } else { @@ -233,50 +233,50 @@ function themeWindow(window) { browserTheme(); browser.pageAction.show(tabInfo[0].id); } else if (context.name == routerpref) { - console.log("(theme) Active in Router Console window"); + console.log('(theme) Active in Router Console window'); dynamicTheme(); } else if (context.name == tunnelpref) { - console.log("(theme) Active in Hidden Services Manager window"); + console.log('(theme) Active in Hidden Services Manager window'); dynamicTheme(); } else if (context.name == mailpref) { - console.log("(theme) Active in Web Mail window"); + console.log('(theme) Active in Web Mail window'); dynamicTheme(); } else if (context.name == torrentpref) { - console.log("(theme) Active in Bittorrent window"); + console.log('(theme) Active in Bittorrent window'); dynamicTheme(); } else if (context.name == botepref) { - console.log("(theme) Active in Bote window"); + console.log('(theme) Active in Bote window'); dynamicTheme(); } else if (context.name == ircpref) { - console.log("(theme) Active in IRC window"); + console.log('(theme) Active in IRC window'); dynamicTheme(); } else if (context.name == blogpref) { - console.log("(theme) (theme) Active in Blog window"); + console.log('(theme) (theme) Active in Blog window'); dynamicTheme(); } else if (context.name == muwirepref) { - console.log("(theme) Active in MuWire window"); + console.log('(theme) Active in MuWire window'); dynamicTheme(); } else { - console.log("(theme) Not active in MuWire window"); + console.log('(theme) Not active in MuWire window'); browser.theme.reset(); } } if ( - tabInfo[0].cookieStoreId != "firefox-default" && - tabInfo[0].cookieStoreId != "firefox-private" + tabInfo[0].cookieStoreId != 'firefox-default' && + tabInfo[0].cookieStoreId != 'firefox-private' ) { browser.contextualIdentities .get(tabInfo[0].cookieStoreId) .then(onContextGotTheme, onThemeError); } else { - console.log("(theme) Not active in I2P window"); + console.log('(theme) Not active in I2P window'); browser.theme.reset(); } } var querying = browser.tabs.query({ currentWindow: true, - active: true, + active: true }); querying.then(logTabs, onThemeError); } @@ -284,72 +284,72 @@ function themeWindow(window) { function setTitle(window) { // Check if the window is in private browsing function onContextError() { - console.log("Context Error"); + console.log('Context Error'); } function setTitle(title, privtitle) { if (window.incognito) { browser.windows.update(window.id, { - titlePreface: privtitle + ": ", + titlePreface: privtitle + ': ' }); } else { browser.windows.update(window.id, { - titlePreface: title + ": ", + titlePreface: title + ': ' }); } } function logTabs(tabInfo) { function onContextGotTitle(context) { if (context.name == titlepref) { - console.log("Active in I2P window"); + console.log('Active in I2P window'); setTitle(titlepref, titleprefpriv); } else if (context.name == muwirepref) { - console.log("Active in MuWire window"); + console.log('Active in MuWire window'); setTitle(muwirepref, muwireprefpriv); } else if (context.name == routerpref) { - console.log("Active in Router Console window"); + console.log('Active in Router Console window'); setTitle(routerpref, routerprefpriv); } else if (context.name == botepref) { - console.log("Active in Bote window"); + console.log('Active in Bote window'); setTitle(botepref, boteprefpriv); } else if (context.name == tunnelpref) { - console.log("Active in Hidden Services Manager window"); + console.log('Active in Hidden Services Manager window'); setTitle(tunnelpref, tunnelprefpriv); } else if (context.name == mailpref) { - console.log("Active in I2P Web Mail window"); + console.log('Active in I2P Web Mail window'); setTitle(mailpref, mailprefpriv); } else if (context.name == blogpref) { - console.log("Active in I2P Blog window"); + console.log('Active in I2P Blog window'); setTitle(blogpref, blogprefpriv); } else if (context.name == torrentpref) { - console.log("Active in I2P Torrent window"); + console.log('Active in I2P Torrent window'); setTitle(torrentpref, torrentprefpriv); } else if (context.name == ircpref) { - console.log("Active in IRC window"); + console.log('Active in IRC window'); setTitle(ircpref, ircprefpriv); } } if ( - tabInfo[0].cookieStoreId != "firefox-default" && - tabInfo[0].cookieStoreId != "firefox-private" + tabInfo[0].cookieStoreId != 'firefox-default' && + tabInfo[0].cookieStoreId != 'firefox-private' ) { browser.contextualIdentities .get(tabInfo[0].cookieStoreId) .then(onContextGotTitle, onContextError); } else if (window.incognito) { browser.windows.update(window.id, { - titlePreface: "", + titlePreface: '' }); } else { browser.windows.update(window.id, { - titlePreface: "", + titlePreface: '' }); } } var querying = browser.tabs.query({ currentWindow: true, - active: true, + active: true }); querying.then(logTabs, onContextError); } @@ -357,18 +357,18 @@ function setTitle(window) { var gettingListenerInfo = browser.runtime.getPlatformInfo(); gettingListenerInfo.then((got) => { function onPlatformError() { - console.log("Error finding platform info"); + console.log('Error finding platform info'); } - if (got.os != "android") { + if (got.os != 'android') { browser.tabs.onCreated.addListener(() => { var getting = browser.windows.getCurrent({ - populate: true, + populate: true }); getting.then(setTitle, onPlatformError); }); browser.tabs.onActivated.addListener(() => { var getting = browser.windows.getCurrent({ - populate: true, + populate: true }); getting.then(setTitle, onPlatformError); }); @@ -446,7 +446,8 @@ function onOpenedWindowCheck() { function checkTabs(ctx) { for (let context in ctx) { function conditionallyDelete(tabs) { - if (tabs.length == 0) { + if (tabs.length == 0 && context != 0) { + console.log(context) browser.contextualIdentities.remove(context.cookieStoreId); } } @@ -460,5 +461,9 @@ function onOpenedWindowCheck() { onOpenedWindowCheck(); browser.tabs.onRemoved.addListener(onClosedWindowCheck); -browser.windows.onRemoved.addListener(onClosedWindowCheck); -browser.windows.onCreated.addListener(onOpenedWindowCheck); + +if (browser.windows != undefined){ + console.log("windows unavailable on android", browser.runtime.PlatformOs) + browser.windows.onRemoved.addListener(onClosedWindowCheck); + browser.windows.onCreated.addListener(onOpenedWindowCheck); +} diff --git a/bookmarks.js b/bookmarks.js index 444795c..63dd47e 100644 --- a/bookmarks.js +++ b/bookmarks.js @@ -1,30 +1,30 @@ function bookmarksSetup() { var gettingInfo = browser.runtime.getPlatformInfo(); gettingInfo.then((got) => { - if (got.os != "android") { + if (got.os != 'android') { function bookmarks(bookmarkToolbar) { - console.log("(bookmarks)", bookmarkToolbar); - console.log("Setting up bookmark toolbar", bookmarkToolbar); + console.log('(bookmarks)', bookmarkToolbar); + console.log('Setting up bookmark toolbar', bookmarkToolbar); function bookHome(bookmarkItems) { if (!bookmarkItems.length) { function gotProxyInfo(info) { - let port = info.value.http.split(":")[1]; - if (port == "7644") { + let port = info.value.http.split(':')[1]; + if (port == '7644') { let createRhizomeBookmark = browser.bookmarks.create({ - url: "about:I2p", - title: "I2P Extension Home Page", - parentId: bookmarkToolbar[0].id, + url: 'about:I2p', + title: 'I2P Extension Home Page', + parentId: bookmarkToolbar[0].id }); createRhizomeBookmark.then(onCreated); } else { let createBookmark = browser.bookmarks.create({ - url: browser.runtime.getURL("home.html"), - title: "I2P Extension Home Page", - parentId: bookmarkToolbar[0].id, + url: browser.runtime.getURL('home.html'), + title: 'I2P Extension Home Page', + parentId: bookmarkToolbar[0].id }); createBookmark.then(onCreated); } - console.log("(bookmarks) adding home page bookmark"); + console.log('(bookmarks) adding home page bookmark'); } console.log( "(bookmarks) checking if we're running in an I2P Browser" @@ -36,20 +36,20 @@ function bookmarksSetup() { function bookTorrent(bookmarkItems) { if (!bookmarkItems.length) { function gotProxyInfo(info) { - let port = info.value.http.split(":")[1]; - if (port == "7644") { + let port = info.value.http.split(':')[1]; + if (port == '7644') { let createBookmark = browser.bookmarks.create({ - url: "http://localhost:7657/i2psnark", - title: "Bittorrent", - parentId: bookmarkToolbar[0].id, + url: 'http://localhost:7657/i2psnark', + title: 'Bittorrent', + parentId: bookmarkToolbar[0].id }); createBookmark.then(onCreated); } else { let createRhizomeBookmark = browser.bookmarks.create({ url: - "http://" + control_host + ":" + control_port + "/i2psnark", - title: "Bittorrent", - parentId: bookmarkToolbar[0].id, + 'http://' + control_host + ':' + control_port + '/i2psnark', + title: 'Bittorrent', + parentId: bookmarkToolbar[0].id }); createRhizomeBookmark.then(onCreated); } @@ -64,19 +64,19 @@ function bookmarksSetup() { function bookConsole(bookmarkItems) { if (!bookmarkItems.length) { function gotProxyInfo(info) { - let port = info.value.http.split(":")[1]; - if (port == "7644") { + let port = info.value.http.split(':')[1]; + if (port == '7644') { let createBookmark = browser.bookmarks.create({ - url: "http://localhost:7657/home", - title: "I2P Console", - parentId: bookmarkToolbar[0].id, + url: 'http://localhost:7657/home', + title: 'I2P Console', + parentId: bookmarkToolbar[0].id }); createBookmark.then(onCreated); } else { let createRhizomeBookmark = browser.bookmarks.create({ - url: "http://" + control_host + ":" + control_port + "/home", - title: "I2P Console", - parentId: bookmarkToolbar[0].id, + url: 'http://' + control_host + ':' + control_port + '/home', + title: 'I2P Console', + parentId: bookmarkToolbar[0].id }); createRhizomeBookmark.then(onCreated); } @@ -91,24 +91,24 @@ function bookmarksSetup() { function bookMail(bookmarkItems) { if (!bookmarkItems.length) { function gotProxyInfo(info) { - let port = info.value.http.split(":")[1]; - if (port == "7644") { + let port = info.value.http.split(':')[1]; + if (port == '7644') { let createBookmark = browser.bookmarks.create({ - url: "http://localhost:7657/webmail", - title: "Web Mail", - parentId: bookmarkToolbar[0].id, + url: 'http://localhost:7657/webmail', + title: 'Web Mail', + parentId: bookmarkToolbar[0].id }); createBookmark.then(onCreated); } else { let createRhizomeBookmark = browser.bookmarks.create({ url: - "http://" + control_host + ":" + control_port + "/webmail", - title: "Web Mail", - parentId: bookmarkToolbar[0].id, + 'http://' + control_host + ':' + control_port + '/webmail', + title: 'Web Mail', + parentId: bookmarkToolbar[0].id }); createRhizomeBookmark.then(onCreated); } - console.log("(bookmarks) adding webmail bookmark"); + console.log('(bookmarks) adding webmail bookmark'); } console.log( "(bookmarks) checking if we're running in an I2P Browser" @@ -120,28 +120,28 @@ function bookmarksSetup() { function bookI2PTunnel(bookmarkItems) { if (!bookmarkItems.length) { function gotProxyInfo(info) { - let port = info.value.http.split(":")[1]; - if (port == "7644") { + let port = info.value.http.split(':')[1]; + if (port == '7644') { var createBookmark = browser.bookmarks.create({ - url: "http://localhost:7657/i2ptunnel", - title: "Hidden Services Manager", - parentId: bookmarkToolbar[0].id, + url: 'http://localhost:7657/i2ptunnel', + title: 'Hidden Services Manager', + parentId: bookmarkToolbar[0].id }); createBookmark.then(onCreated); } else { var createRhizomeBookmark = browser.bookmarks.create({ url: - "http://" + + 'http://' + control_host + - ":" + + ':' + control_port + - "/i2ptunnel", - title: "Hidden Services Manager", - parentId: bookmarkToolbar[0].id, + '/i2ptunnel', + title: 'Hidden Services Manager', + parentId: bookmarkToolbar[0].id }); createRhizomeBookmark.then(onCreated); } - console.log("(bookmarks) adding i2ptunnel bookmark"); + console.log('(bookmarks) adding i2ptunnel bookmark'); } console.log( "(bookmarks) checking if we're running in an I2P Browser" @@ -155,54 +155,54 @@ function bookmarksSetup() { console.log(`An error : ${error}`); } function onCreated(node) { - console.log("Bookmarked", node); + console.log('Bookmarked', node); } var b0 = browser.bookmarks.search({ - title: "I2P Extension Home Page", + title: 'I2P Extension Home Page' }); b0.then(bookHome, onRejected); var b1 = browser.bookmarks.search({ - title: "Bittorrent", + title: 'Bittorrent' }); b1.then(bookTorrent, onRejected); var b2 = browser.bookmarks.search({ - title: "Hidden Services Manager", + title: 'Hidden Services Manager' }); b2.then(bookI2PTunnel, onRejected); var b3 = browser.bookmarks.search({ - title: "Web Mail", + title: 'Web Mail' }); b3.then(bookMail, onRejected); var b4 = browser.bookmarks.search({ - title: "I2P Console", + title: 'I2P Console' }); b4.then(bookConsole, onRejected); - defaultSettings["bookmarks_state"] = true; + defaultSettings['bookmarks_state'] = true; } var bt = browser.bookmarks.search({ - query: "Toolbar", + query: 'Toolbar' }); function toolDir(bookmarkToolbar) { let defaultSettings = {}; chrome.storage.local.set(defaultSettings); - console.log("(bookmarks) created"); - var ibbt = browser.bookmarks.search("I2P Toolbar"); + console.log('(bookmarks) created'); + var ibbt = browser.bookmarks.search('I2P Toolbar'); function setupDir(ibbt) { function onToolbarCreated(node) { - var ibt = browser.bookmarks.search("I2P Toolbar"); + var ibt = browser.bookmarks.search('I2P Toolbar'); ibt.then(bookmarks); } if (ibbt[0] == null) { let createBookmark = browser.bookmarks.create({ - title: "I2P Toolbar", - parentId: bookmarkToolbar[0].id, + title: 'I2P Toolbar', + parentId: bookmarkToolbar[0].id }); createBookmark.then(onToolbarCreated); } @@ -225,7 +225,7 @@ function bookmarksSetup() { } function conditionalBookmarksSetup(obj) { - console.log("(bookmarks) state", obj.bookmarks_state); + console.log('(bookmarks) state', obj.bookmarks_state); if (obj.bookmarks_state == false) { bookmarksSetup(); } @@ -235,11 +235,13 @@ function conditionalBookmarksSetup(obj) { } if (browser != null) { - let gettingStorage = browser.storage.local.get("bookmarks_state"); - gettingStorage.then(conditionalBookmarksSetup, bookmarksSetup); + if (browser.windows != undefined) { + let gettingStorage = browser.storage.local.get('bookmarks_state'); + gettingStorage.then(conditionalBookmarksSetup, bookmarksSetup); + } } -const bookmarksButton = document.getElementById("bookmarksButton"); +const bookmarksButton = document.getElementById('bookmarksButton'); if (bookmarksButton != null) { - bookmarksButton.addEventListener("click", bookmarksSetup); + bookmarksButton.addEventListener('click', bookmarksSetup); } diff --git a/cert.js b/cert.js index 5c53542..80268bb 100644 --- a/cert.js +++ b/cert.js @@ -1,42 +1,42 @@ function blankContent(id) { let infoTitle = document.getElementById(id); if (infoTitle === null) { - console.log("content error", id); + console.log('content error', id); return; } - infoTitle.textContent = ""; + infoTitle.textContent = ''; } function contentUpdateById(id, message) { let infoTitle = document.getElementById(id); let messageContent = chrome.i18n.getMessage(message); if (infoTitle === null) { - console.log("content error", id, messageContent); + console.log('content error', id, messageContent); return; } infoTitle.textContent = messageContent; } -contentUpdateById("TypeLabel", "siteLabel"); +contentUpdateById('TypeLabel', 'siteLabel'); -contentUpdateById("CertLabel", "certLabel"); +contentUpdateById('CertLabel', 'certLabel'); function tabCheck(tabInfo) { // Information Section - console.log("(cert) checking tab"); - var host = tabInfo[0].url.split(".i2p")[0] + ".i2p"; + console.log('(cert) checking tab'); + var host = tabInfo[0].url.split('.i2p')[0] + '.i2p'; if (host.length < 51) { - contentUpdateById("AddressInfo", "isHostName"); + contentUpdateById('AddressInfo', 'isHostName'); } else { - if (host.endsWith("b32.i2p")) { - contentUpdateById("AddressInfo", "isBase32"); + if (host.endsWith('b32.i2p')) { + contentUpdateById('AddressInfo', 'isBase32'); } } - if (host.startsWith("https")) { - contentUpdateById("AddressCertInfo", "certPresent"); - console.log("(cert) initiating request to check server cert"); + if (host.startsWith('https')) { + contentUpdateById('AddressCertInfo', 'certPresent'); + console.log('(cert) initiating request to check server cert'); fetch(host).then((response) => { - console.log("Updating cert information", response); + console.log('Updating cert information', response); }); } else { contentUpdateById("AddressCertInfo", "certAbsent"); diff --git a/config.js b/config.js index 0b8ff55..db98366 100644 --- a/config.js +++ b/config.js @@ -1,18 +1,18 @@ -var proxy_scheme = "HTTP"; -var proxy_host = "127.0.0.1"; -var proxy_port = "4444"; +var proxy_scheme = 'HTTP'; +var proxy_host = '127.0.0.1'; +var proxy_port = '4444'; -var control_host = "127.0.0.1"; -var control_port = "7657"; +var control_host = '127.0.0.1'; +var control_port = '7657'; -var rpc_host = "127.0.0.1"; -var rpc_port = "7657"; -var rpc_path = "jsonrpc"; -var rpc_pass = "itoopie"; +var rpc_host = '127.0.0.1'; +var rpc_port = '7657'; +var rpc_path = 'jsonrpc'; +var rpc_pass = 'itoopie'; -var bt_rpc_host = "127.0.0.1"; -var bt_rpc_port = "7657"; -var bt_rpc_path = "transmission/rpc"; -var bt_rpc_pass = "transmission"; +var bt_rpc_host = '127.0.0.1'; +var bt_rpc_port = '7657'; +var bt_rpc_path = 'transmission/rpc'; +var bt_rpc_pass = 'transmission'; var disable_history = false; diff --git a/content.js b/content.js index 565f7fb..8eb50bf 100644 --- a/content.js +++ b/content.js @@ -2,55 +2,55 @@ function contentUpdateById(id, message) { let infoTitle = document.getElementById(id); let messageContent = chrome.i18n.getMessage(message); if (infoTitle === null) { - console.log("content error", id, messageContent); + console.log('content error', id, messageContent); return; } infoTitle.textContent = messageContent; } // Information Section -contentUpdateById("text-section-header", "extensionName"); -contentUpdateById("description", "extensionDescription"); -contentUpdateById("i2pbrowser-version", "extensionVersion"); -contentUpdateById("proxy-check", "proxyFailedStatus"); +contentUpdateById('text-section-header', 'extensionName'); +contentUpdateById('description', 'extensionDescription'); +contentUpdateById('i2pbrowser-version', 'extensionVersion'); +contentUpdateById('proxy-check', 'proxyFailedStatus'); // Control Section -contentUpdateById("controlHeader", "controlHeader"); -contentUpdateById("controlExplain", "controlExplain"); -contentUpdateById("clear-browser-data", "clearData"); -contentUpdateById("clear-desc", "clearDesc"); -contentUpdateById("enable-web-rtc", "enableWebRTC"); -contentUpdateById("rtcDesc", "rtcDesc"); -contentUpdateById("disable-history", "disableHistory"); -contentUpdateById("histDesc", "histDesc"); +contentUpdateById('controlHeader', 'controlHeader'); +contentUpdateById('controlExplain', 'controlExplain'); +contentUpdateById('clear-browser-data', 'clearData'); +contentUpdateById('clear-desc', 'clearDesc'); +contentUpdateById('enable-web-rtc', 'enableWebRTC'); +contentUpdateById('rtcDesc', 'rtcDesc'); +contentUpdateById('disable-history', 'disableHistory'); +contentUpdateById('histDesc', 'histDesc'); // Application Section -contentUpdateById("applicationHeader", "applicationHeader"); -contentUpdateById("applicationExplain", "applicationExplain"); -contentUpdateById("window-visit-index", "windowVisitHelppage"); -contentUpdateById("help", "help"); -contentUpdateById("window-visit-router", "windowVisitConsole"); -contentUpdateById("routerConsole", "routerConsole"); -contentUpdateById("window-visit-homepage", "windowVisitHomepage"); -contentUpdateById("abouthome", "abouthome"); -contentUpdateById("window-visit-i2ptunnel", "windowVisitI2ptunnel"); -contentUpdateById("i2ptunnel", "i2ptunnel"); -contentUpdateById("window-visit-susimail", "windowVisitSusiMail"); -contentUpdateById("susimail", "susimail"); -contentUpdateById("window-visit-snark", "windowVisitSnark"); -contentUpdateById("snark", "snark"); +contentUpdateById('applicationHeader', 'applicationHeader'); +contentUpdateById('applicationExplain', 'applicationExplain'); +contentUpdateById('window-visit-index', 'windowVisitHelppage'); +contentUpdateById('help', 'help'); +contentUpdateById('window-visit-router', 'windowVisitConsole'); +contentUpdateById('routerConsole', 'routerConsole'); +contentUpdateById('window-visit-homepage', 'windowVisitHomepage'); +contentUpdateById('abouthome', 'abouthome'); +contentUpdateById('window-visit-i2ptunnel', 'windowVisitI2ptunnel'); +contentUpdateById('i2ptunnel', 'i2ptunnel'); +contentUpdateById('window-visit-susimail', 'windowVisitSusiMail'); +contentUpdateById('susimail', 'susimail'); +contentUpdateById('window-visit-snark', 'windowVisitSnark'); +contentUpdateById('snark', 'snark'); // Homepage Section -contentUpdateById("window-visit-webpage", "windowVisitWebPage"); -contentUpdateById("webpage", "help"); -contentUpdateById("window-visit-sources", "windowVisitSources"); -contentUpdateById("sources", "sources"); -contentUpdateById("window-visit-releases", "windowVisitReleases"); -contentUpdateById("releases", "releases"); +contentUpdateById('window-visit-webpage', 'windowVisitWebPage'); +contentUpdateById('webpage', 'help'); +contentUpdateById('window-visit-sources', 'windowVisitSources'); +contentUpdateById('sources', 'sources'); +contentUpdateById('window-visit-releases', 'windowVisitReleases'); +contentUpdateById('releases', 'releases'); -fetch("http://proxy.i2p").then((myJson) => { - contentUpdateById("proxy-check", "proxySuccessStatus"); - let readyness = document.querySelectorAll(".readyness"); +fetch('http://proxy.i2p').then((myJson) => { + contentUpdateById('proxy-check', 'proxySuccessStatus'); + let readyness = document.querySelectorAll('.readyness'); if (readyness != null) { hide(readyness); } diff --git a/context.js b/context.js index d468dee..67068ee 100644 --- a/context.js +++ b/context.js @@ -1,5 +1,5 @@ //var windowIds = [] -var titlepref = chrome.i18n.getMessage("titlePreface"); +var titlepref = chrome.i18n.getMessage('titlePreface'); function onError(error) { console.log(`Error : ${error}`); @@ -10,20 +10,20 @@ function eventHandler(event) { console.log(`Created window : ${windowInfo.id}`); browser.tabs.create({ windowId: windowInfo.id, - url: "about:blank", - cookieStoreId: event.target.dataset.identity, + url: 'about:blank', + cookieStoreId: event.target.dataset.identity }); } - if (event.target.dataset.action == "create") { + if (event.target.dataset.action == 'create') { var creating = browser.tabs.create({ - cookieStoreId: event.target.dataset.identity, + cookieStoreId: event.target.dataset.identity }); creating.then(onCreated, onError); } - if (event.target.dataset.action == "close-all") { + if (event.target.dataset.action == 'close-all') { browser.tabs .query({ - cookieStoreId: event.target.dataset.identity, + cookieStoreId: event.target.dataset.identity }) .then((tabs) => { browser.tabs.remove(tabs.map((rem) => rem.id)); diff --git a/handler.js b/handler.js index 99c9d9c..899f783 100644 --- a/handler.js +++ b/handler.js @@ -1,73 +1,73 @@ function routerHost(url) { // console.log("(urlcheck) HANDLER URL CHECK"); - let hostname = ""; - let path = ""; + let hostname = ''; + let path = ''; function pathcheck(str) { // console.log("(urlcheck) HANDLER PATH CHECK", str); if (str != undefined) { - let final = str.split("/")[0]; - if (final === "i2ptunnelmgr" || final === "i2ptunnel") { - console.log("(urlcheck) Tunnel application path", final); - return "i2ptunnelmgr"; + let final = str.split('/')[0]; + if (final === 'i2ptunnelmgr' || final === 'i2ptunnel') { + console.log('(urlcheck) Tunnel application path', final); + return 'i2ptunnelmgr'; } else if ( - final === "i2psnark" || - final === "torrents" || - final.startsWith("transmission") || - final.startsWith("tracker") || - url.includes(":7662") + final === 'i2psnark' || + final === 'torrents' || + final.startsWith('transmission') || + final.startsWith('tracker') || + url.includes(':7662') ) { - console.log("(urlcheck) Torrent application path", final); - return "i2psnark"; - } else if (final === "webmail" || final === "susimail") { - if (!url.includes(".css")) { - console.log("(urlcheck) Mail application path", final); - return "webmail"; + console.log('(urlcheck) Torrent application path', final); + return 'i2psnark'; + } else if (final === 'webmail' || final === 'susimail') { + if (!url.includes('.css')) { + console.log('(urlcheck) Mail application path', final); + return 'webmail'; } - } else if (final.startsWith("MuWire")) { - if (!url.includes(".png")) { - console.log("(urlcheck) MuWire application path", final); - return "muwire"; + } else if (final.startsWith('MuWire')) { + if (!url.includes('.png')) { + console.log('(urlcheck) MuWire application path', final); + return 'muwire'; } - } else if (final.startsWith("i2pbote")) { - if (!url.includes(".png")) { - console.log("(urlcheck) I2PBote application path", final); - return "i2pbote"; + } else if (final.startsWith('i2pbote')) { + if (!url.includes('.png')) { + console.log('(urlcheck) I2PBote application path', final); + return 'i2pbote'; } } else if ( - final === "home" || - final === "console" || - final === "dns" || - final === "susidns" || - final.startsWith("susidns") || - final === "sitemap" || - final.startsWith("config") + final === 'home' || + final === 'console' || + final === 'dns' || + final === 'susidns' || + final.startsWith('susidns') || + final === 'sitemap' || + final.startsWith('config') ) { - console.log("(urlcheck) Console application path", final); - return "routerconsole"; + console.log('(urlcheck) Console application path', final); + return 'routerconsole'; } } return true; } - if (url.indexOf("://") > -1) { - hostname = url.split("/")[2]; - let prefix = url.substr(0, url.indexOf("://") + 3); - path = url.replace(prefix + hostname + "/", ""); + if (url.indexOf('://') > -1) { + hostname = url.split('/')[2]; + let prefix = url.substr(0, url.indexOf('://') + 3); + path = url.replace(prefix + hostname + '/', ''); } else if (identifyProtocolHandler(url)) { let newurl = identifyProtocolHandler(url); return routerHost(newurl); } else { - hostname = url.split("/")[0]; - path = url.replace(hostname + "/", ""); + hostname = url.split('/')[0]; + path = url.replace(hostname + '/', ''); } - if (hostname === control_host + ":" + control_port) { + if (hostname === control_host + ':' + control_port) { //console.log("(hostcheck) router console found on configured ports"); return pathcheck(path); } - if (hostname === "localhost" + ":" + control_port) { + if (hostname === 'localhost' + ':' + control_port) { //console.log("(hostcheck) router console found on configured ports"); return pathcheck(path); } - if (hostname === "127.0.0.1" + ":" + control_port) { + if (hostname === '127.0.0.1' + ':' + control_port) { return pathcheck(path); } @@ -77,36 +77,36 @@ function routerHost(url) { function identifyProtocolHandler(url) { //console.log("looking for handler-able requests") if (routerHost(url)) { - if (url.includes(encodeURIComponent("ext+rc:"))) { - return url.replace(encodeURIComponent("ext+rc:"), ""); - } else if (url.includes("ext+rc:")) { - return url.replace("ext+rc:", ""); + if (url.includes(encodeURIComponent('ext+rc:'))) { + return url.replace(encodeURIComponent('ext+rc:'), ''); + } else if (url.includes('ext+rc:')) { + return url.replace('ext+rc:', ''); } - } else if (url.includes("ext+rc:")) { + } else if (url.includes('ext+rc:')) { return url; } return false; } function trimHost(url) { - let hostname = ""; - let prefix = ""; - if (url.indexOf("://") > -1) { - prefix = url.substr(0, url.indexOf("://") + 3); - hostname = url.split("/")[2]; + let hostname = ''; + let prefix = ''; + if (url.indexOf('://') > -1) { + prefix = url.substr(0, url.indexOf('://') + 3); + hostname = url.split('/')[2]; } else { - hostname = url.split("/")[0]; + hostname = url.split('/')[0]; } - let path = url.replace(prefix + hostname, ""); - console.log("(handler) path", prefix + hostname, path); + let path = url.replace(prefix + hostname, ''); + console.log('(handler) path', prefix + hostname, path); return path; } -var handlerSetup = function (requestDetails) { +var handlerSetup = function(requestDetails) { //console.log("checking protocol handler listener") let rwurl = identifyProtocolHandler(requestDetails.url); if (rwurl != false) { - console.log("(handler) rewrite URL requested", rwurl); + console.log('(handler) rewrite URL requested', rwurl); requestDetails.redirectUrl = rwurl; requestDetails.url = trimHost(rwurl); requestDetails.originUrl = trimHost(rwurl); diff --git a/home.js b/home.js index 2001fe1..b7f66f4 100644 --- a/home.js +++ b/home.js @@ -1,25 +1,25 @@ -document.addEventListener("click", (clickEvent) => { - if (clickEvent.target.id === "onboardingButtonZero") { - flipVisibility("onboardingContentZero"); - } else if (clickEvent.target.id === "onboardingButtonOne") { - flipVisibility("onboardingContentOne"); - } else if (clickEvent.target.id === "onboardingButtonTwo") { - flipVisibility("onboardingContentTwo"); - } else if (clickEvent.target.id === "onboardingButtonThree") { - flipVisibility("onboardingContentThree"); - } else if (clickEvent.target.id === "onboardingButtonFour") { - flipVisibility("onboardingContentFour"); - } else if (clickEvent.target.id === "fliplinks") { - flipVisibility("info-content"); +document.addEventListener('click', (clickEvent) => { + if (clickEvent.target.id === 'onboardingButtonZero') { + flipVisibility('onboardingContentZero'); + } else if (clickEvent.target.id === 'onboardingButtonOne') { + flipVisibility('onboardingContentOne'); + } else if (clickEvent.target.id === 'onboardingButtonTwo') { + flipVisibility('onboardingContentTwo'); + } else if (clickEvent.target.id === 'onboardingButtonThree') { + flipVisibility('onboardingContentThree'); + } else if (clickEvent.target.id === 'onboardingButtonFour') { + flipVisibility('onboardingContentFour'); + } else if (clickEvent.target.id === 'fliplinks') { + flipVisibility('info-content'); } }); function flipVisibility(div) { - console.log("(home) seeking flippable", div); + console.log('(home) seeking flippable', div); let flippable = document.getElementById(div); - if (flippable.style.display !== "block") { - flippable.style.display = "block"; + if (flippable.style.display !== 'block') { + flippable.style.display = 'block'; } else { - flippable.style.display = "none"; + flippable.style.display = 'none'; } } diff --git a/host.js b/host.js index 58cfc7f..33accbe 100644 --- a/host.js +++ b/host.js @@ -1,15 +1,15 @@ function proxyHost(url) { - let hostname = ""; - if (url.indexOf("://") > -1) { - hostname = url.split("/")[2]; + let hostname = ''; + if (url.indexOf('://') > -1) { + hostname = url.split('/')[2]; } else { - hostname = url.split("/")[0]; + hostname = url.split('/')[0]; } - if (hostname == "proxy.i2p") { + if (hostname == 'proxy.i2p') { return true; } if ( - hostname == "c6lilt4cr5x7jifxridpkesf2zgfwqfchtp6laihr4pdqomq25iq.b32.i2p" + hostname == 'c6lilt4cr5x7jifxridpkesf2zgfwqfchtp6laihr4pdqomq25iq.b32.i2p' ) { return true; } @@ -17,21 +17,21 @@ function proxyHost(url) { } function localHost(url) { - let hostname = ""; - if (url.indexOf("://") > -1) { - hostname = url.split("/")[2]; + let hostname = ''; + if (url.indexOf('://') > -1) { + hostname = url.split('/')[2]; } else { - hostname = url.split("/")[0]; + hostname = url.split('/')[0]; } - hostname = hostname.split(":")[0]; - console.log("(urlcheck) hostname localhost", hostname); - console.log("(urlcheck) url localhost", url); - if (hostname === "127.0.0.1") { - if (url.indexOf("\:8084") != -1) return "blog"; - if (url.indexOf("\:7669") != -1) return "irc"; - } else if (hostname === "localhost") { - if (url.indexOf("\:8084") != -1) return "blog"; - if (url.indexOf("\:7669") != -1) return "irc"; + hostname = hostname.split(':')[0]; + console.log('(urlcheck) hostname localhost', hostname); + console.log('(urlcheck) url localhost', url); + if (hostname === '127.0.0.1') { + if (url.indexOf('\:8084') != -1) return 'blog'; + if (url.indexOf('\:7669') != -1) return 'irc'; + } else if (hostname === 'localhost') { + if (url.indexOf('\:8084') != -1) return 'blog'; + if (url.indexOf('\:7669') != -1) return 'irc'; } return false; @@ -39,13 +39,13 @@ function localHost(url) { function extensionHost(url) { var prefix = browser.runtime - .getURL("") - .replace("moz-extension://", "") - .replace("/", ""); + .getURL('') + .replace('moz-extension://', '') + .replace('/', ''); if (url.originUrl !== undefined) { var originUrl = url.originUrl - .replace("moz-extension://", "") - .replace("/", ""); + .replace('moz-extension://', '') + .replace('/', ''); // console.log("(urlcheck) Extension application path", originUrl); // console.log("(urlcheck) Extension application path", prefix); var res = originUrl.startsWith(prefix); @@ -59,118 +59,118 @@ function extensionHost(url) { // console.log("(urlcheck) Extension application path", res); if (res) return res; } - console.log("(urlcheck) Extension application path", url); + console.log('(urlcheck) Extension application path', url); } function i2pHostName(url) { - let hostname = ""; - console.log("(hosts)", url); + let hostname = ''; + console.log('(hosts)', url); let u = new URL(url); - if (u.host.endsWith(".i2p")) { + if (u.host.endsWith('.i2p')) { hostname = u.host; - } else if (url.includes("=")) { - if (url.includes(".i2p")) { - lsit = url.split("="); + } else if (url.includes('=')) { + if (url.includes('.i2p')) { + lsit = url.split('='); for (let item in lsit) { var items = lsit[item].split(`\ % `); //"\%") for (let p in items) { - if (items[p].includes(".i2p")) { - hostname = items[p].replace("3D", 1); + if (items[p].includes('.i2p')) { + hostname = items[p].replace('3D', 1); } break; } - if (hostname != "") { + if (hostname != '') { break; } } } - } else if (url.indexOf("://") > -1) { - hostname = url.split("/")[2]; + } else if (url.indexOf('://') > -1) { + hostname = url.split('/')[2]; } else { - hostname = url.split("/")[0]; + hostname = url.split('/')[0]; } - console.log("(hosts) scrub", hostname); + console.log('(hosts) scrub', hostname); return hostname; } function i2pHost(url) { let hostname = i2pHostName(url); - return hostname.endsWith(".i2p"); + return hostname.endsWith('.i2p'); } function routerHost(url) { // console.log("(urlcheck) HOST URL CHECK"); - let hostname = ""; - let path = ""; + let hostname = ''; + let path = ''; function pathcheck(str) { if (str != undefined) { - let final = str.split("/")[0]; - if (final === "i2ptunnelmgr" || final === "i2ptunnel") { - console.log("(urlcheck) Tunnel application path", final); - return "i2ptunnelmgr"; + let final = str.split('/')[0]; + if (final === 'i2ptunnelmgr' || final === 'i2ptunnel') { + console.log('(urlcheck) Tunnel application path', final); + return 'i2ptunnelmgr'; } else if ( - final === "i2psnark" || - final === "torrents" || - final.startsWith("transmission") || - final.startsWith("tracker") || - url.includes(":7662") + final === 'i2psnark' || + final === 'torrents' || + final.startsWith('transmission') || + final.startsWith('tracker') || + url.includes(':7662') ) { - console.log("(urlcheck) Torrent application path", final); - return "i2psnark"; - } else if (final === "webmail" || final === "susimail") { - if (!url.includes(".css")) { - console.log("(urlcheck) Mail application path", final); - return "webmail"; + console.log('(urlcheck) Torrent application path', final); + return 'i2psnark'; + } else if (final === 'webmail' || final === 'susimail') { + if (!url.includes('.css')) { + console.log('(urlcheck) Mail application path', final); + return 'webmail'; } - } else if (final.startsWith("MuWire")) { - if (!url.includes(".png")) { - console.log("(urlcheck) MuWire application path", final); - return "muwire"; + } else if (final.startsWith('MuWire')) { + if (!url.includes('.png')) { + console.log('(urlcheck) MuWire application path', final); + return 'muwire'; } - } else if (final.startsWith("i2pbote")) { - if (!url.includes(".png")) { - console.log("(urlcheck) I2PBote application path", final); - return "i2pbote"; + } else if (final.startsWith('i2pbote')) { + if (!url.includes('.png')) { + console.log('(urlcheck) I2PBote application path', final); + return 'i2pbote'; } } else if ( - final === "home" || - final === "console" || - final === "dns" || - final === "susidns" || - final.startsWith("susidns") || - final === "sitemap" || - final.startsWith("config") + final === 'home' || + final === 'console' || + final === 'dns' || + final === 'susidns' || + final.startsWith('susidns') || + final === 'sitemap' || + final.startsWith('config') ) { - console.log("(urlcheck) Console application path", final); - return "routerconsole"; + console.log('(urlcheck) Console application path', final); + return 'routerconsole'; } } return true; } - if (url.indexOf("://") > -1) { - hostname = url.split("/")[2]; - let prefix = url.substr(0, url.indexOf("://") + 3); - path = url.replace(prefix + hostname + "/", ""); + if (url.indexOf('://') > -1) { + hostname = url.split('/')[2]; + let prefix = url.substr(0, url.indexOf('://') + 3); + path = url.replace(prefix + hostname + '/', ''); } else if (identifyProtocolHandler(url)) { let newurl = identifyProtocolHandler(url); return routerHost(newurl); } else { - hostname = url.split("/")[0]; - path = url.replace(hostname + "/", ""); + hostname = url.split('/')[0]; + path = url.replace(hostname + '/', ''); } - if (hostname === control_host + ":" + control_port) { + if (hostname === control_host + ':' + control_port) { return pathcheck(path); } - if (hostname === "localhost" + ":" + control_port) { + if (hostname === 'localhost' + ':' + control_port) { return pathcheck(path); } - if (hostname === "127.0.0.1" + ":" + control_port) { + if (hostname === '127.0.0.1' + ':' + control_port) { return pathcheck(path); } - if (hostname === "localhost" + ":" + 7070) { + if (hostname === 'localhost' + ':' + 7070) { return pathcheck(path); } - if (hostname === "127.0.0.1" + ":" + 7070) { + if (hostname === '127.0.0.1' + ':' + 7070) { return pathcheck(path); } return false; diff --git a/i2pcontrol/i2pcontrol.js b/i2pcontrol/i2pcontrol.js index cdb11d9..34bf72e 100644 --- a/i2pcontrol/i2pcontrol.js +++ b/i2pcontrol/i2pcontrol.js @@ -1,9 +1,11 @@ -var hello = "hello i2pcontrol"; + +if (browser.windows != undefined) { +var hello = 'hello i2pcontrol'; function makeid(length) { - var result = ""; + var result = ''; var characters = - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; + 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; var charactersLength = characters.length; for (var i = 0; i < length; i++) { result += characters.charAt(Math.floor(Math.random() * charactersLength)); @@ -22,16 +24,16 @@ function send( let requestBody = JSON.stringify(data); //console.log("(i2pcontrol) sending request", requestBody); let opts = { - method: "POST", // *GET, POST, PUT, DELETE, etc. - mode: "cors", // no-cors, *cors, same-origin - cache: "no-cache", // *default, no-cache, reload, force-cache, only-if-cached - credentials: "same-origin", // include, *same-origin, omit + method: 'POST', // *GET, POST, PUT, DELETE, etc. + mode: 'cors', // no-cors, *cors, same-origin + cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached + credentials: 'same-origin', // include, *same-origin, omit headers: { - "Content-Type": "application/json", + 'Content-Type': 'application/json' }, - redirect: "follow", // manual, *follow, error - referrerPolicy: "no-referrer", // no-referrer, *client - body: requestBody, // body data type must match "Content-Type" header + redirect: 'follow', // manual, *follow, error + referrerPolicy: 'no-referrer', // no-referrer, *client + body: requestBody // body data type must match "Content-Type" header }; const response = await fetch(url, opts); return await response.json(); // parses JSON response into native JavaScript objects @@ -39,7 +41,7 @@ function send( //console.log("http://" + control_host + ":" + control_port + "/" + control_path) return postData( - "http://" + control_host + ":" + control_port + "/" + control_path + "/", + 'http://' + control_host + ':' + control_port + '/' + control_path + '/', message ); } @@ -51,12 +53,12 @@ async function authenticate( control_path = "jsonrpc" ) { var json = new Object(); - json["id"] = makeid(6); - json["jsonrpc"] = "2.0"; - json["method"] = "Authenticate"; - json["params"] = new Object(); - json["params"]["API"] = 1; - json["params"]["Password"] = password; + json['id'] = makeid(6); + json['jsonrpc'] = '2.0'; + json['method'] = 'Authenticate'; + json['params'] = new Object(); + json['params']['API'] = 1; + json['params']['Password'] = password; return send(json, control_host, control_port, control_path); } @@ -81,14 +83,14 @@ async function Echo( password = "itoopie" ) { function echo(token) { - console.log("(i2pcontrol) testing I2PControl connection"); + console.log('(i2pcontrol) testing I2PControl connection'); var json = new Object(); - json["id"] = makeid(6); - json["jsonrpc"] = "2.0"; - json["method"] = "Echo"; - json["params"] = new Object(); - json["params"]["Token"] = token; - json["params"]["Echo"] = message; + json['id'] = makeid(6); + json['jsonrpc'] = '2.0'; + json['method'] = 'Echo'; + json['params'] = new Object(); + json['params']['Token'] = token; + json['params']['Echo'] = message; return send(json, control_host, control_port, control_path); } let token = GetToken(password, control_host, control_port, control_path); @@ -121,13 +123,13 @@ async function GetRate( ) { function getrate(token) { var json = new Object(); - json["id"] = makeid(6); - json["jsonrpc"] = "2.0"; - json["method"] = "I2PControl"; - json["params"] = new Object(); - json["params"]["Token"] = token; - json["params"]["Stat"] = Query; - json["params"]["Period"] = 2000; + json['id'] = makeid(6); + json['jsonrpc'] = '2.0'; + json['method'] = 'I2PControl'; + json['params'] = new Object(); + json['params']['Token'] = token; + json['params']['Stat'] = Query; + json['params']['Period'] = 2000; return send(json, control_host, control_port, control_path); } let token = GetToken(password, control_host, control_port, control_path); @@ -160,12 +162,12 @@ async function I2PControl( ) { function i2pcontrol(token) { var json = new Object(); - json["id"] = makeid(6); - json["jsonrpc"] = "2.0"; - json["method"] = "I2PControl"; - json["params"] = new Object(); - json["params"]["Token"] = token; - json["params"][Query] = null; + json['id'] = makeid(6); + json['jsonrpc'] = '2.0'; + json['method'] = 'I2PControl'; + json['params'] = new Object(); + json['params']['Token'] = token; + json['params'][Query] = null; return send(json, control_host, control_port, control_path); } let token = GetToken(password, control_host, control_port, control_path); @@ -204,12 +206,12 @@ async function RouterInfo( ) { function routerinfo(token) { var json = new Object(); - json["id"] = makeid(6); - json["jsonrpc"] = "2.0"; - json["method"] = "RouterInfo"; - json["params"] = new Object(); - json["params"]["Token"] = token; - json["params"][Query] = null; + json['id'] = makeid(6); + json['jsonrpc'] = '2.0'; + json['method'] = 'RouterInfo'; + json['params'] = new Object(); + json['params']['Token'] = token; + json['params'][Query] = null; return send(json, control_host, control_port, control_path); } let token = GetToken(password, control_host, control_port, control_path); @@ -255,12 +257,12 @@ async function RouterManager( ) { function routermanager(token) { var json = new Object(); - json["id"] = makeid(6); - json["jsonrpc"] = "2.0"; - json["method"] = "RouterManager"; - json["params"] = new Object(); - json["params"]["Token"] = token; - json["params"][Query] = null; + json['id'] = makeid(6); + json['jsonrpc'] = '2.0'; + json['method'] = 'RouterManager'; + json['params'] = new Object(); + json['params']['Token'] = token; + json['params'][Query] = null; return send(json, control_host, control_port, control_path); } let token = GetToken(password, control_host, control_port, control_path); @@ -300,12 +302,12 @@ async function NetworkSetting( ) { function networksetting(token) { var json = new Object(); - json["id"] = makeid(6); - json["jsonrpc"] = "2.0"; - json["method"] = "NetworkSetting"; - json["params"] = new Object(); - json["params"]["Token"] = token; - json["params"][Query] = null; + json['id'] = makeid(6); + json['jsonrpc'] = '2.0'; + json['method'] = 'NetworkSetting'; + json['params'] = new Object(); + json['params']['Token'] = token; + json['params'][Query] = null; return send(json, control_host, control_port, control_path); } let token = GetToken(password, control_host, control_port, control_path); @@ -336,77 +338,78 @@ function UpdateNetworkSettingElementByID( } function UpdateContents() { - UpdateRouterInfoElementByID("i2p.router.status", "router-status"); - UpdateRouterInfoElementByID("i2p.router.uptime", "router-uptime"); - UpdateRouterInfoElementByID("i2p.router.version", "router-version"); + UpdateRouterInfoElementByID('i2p.router.status', 'router-status'); + UpdateRouterInfoElementByID('i2p.router.uptime', 'router-uptime'); + UpdateRouterInfoElementByID('i2p.router.version', 'router-version'); UpdateRouterInfoElementByID( - "i2p.router.net.bw.inbound.1s", - "router-net-bw-inbound-1s" + 'i2p.router.net.bw.inbound.1s', + 'router-net-bw-inbound-1s' ); UpdateRouterInfoElementByID( - "i2p.router.net.bw.inbound.15s", - "router-net-bw-inbound-15s" + 'i2p.router.net.bw.inbound.15s', + 'router-net-bw-inbound-15s' ); UpdateRouterInfoElementByID( - "i2p.router.net.bw.outbound.1s", - "router-net-bw-outbound-1s" + 'i2p.router.net.bw.outbound.1s', + 'router-net-bw-outbound-1s' ); UpdateRouterInfoElementByID( - "i2p.router.net.bw.outbound.15s", - "router-net-bw-outbound-15s" + 'i2p.router.net.bw.outbound.15s', + 'router-net-bw-outbound-15s' ); - UpdateRouterInfoElementByID("i2p.router.net.status", "router-net-status"); + UpdateRouterInfoElementByID('i2p.router.net.status', 'router-net-status'); UpdateRouterInfoElementByID( - "i2p.router.net.tunnels.participating", - "router-net-tunnels-participating" + 'i2p.router.net.tunnels.participating', + 'router-net-tunnels-participating' ); UpdateRouterInfoElementByID( - "i2p.router.netdb.activepeers", - "router-netdb-activepeers" + 'i2p.router.netdb.activepeers', + 'router-netdb-activepeers' ); UpdateRouterInfoElementByID( - "i2p.router.netdb.fastpeers", - "router-netdb-fastpeers" + 'i2p.router.netdb.fastpeers', + 'router-netdb-fastpeers' ); UpdateRouterInfoElementByID( - "i2p.router.netdb.highcapacitypeers", - "router-netdb-highcapacitypeers" + 'i2p.router.netdb.highcapacitypeers', + 'router-netdb-highcapacitypeers' ); UpdateRouterInfoElementByID( - "i2p.router.netdb.isreseeding", - "router-netdb-isreseeding" + 'i2p.router.netdb.isreseeding', + 'router-netdb-isreseeding' ); UpdateRouterInfoElementByID( - "i2p.router.netdb.knownpeers", - "router-netdb-knownpeers" + 'i2p.router.netdb.knownpeers', + 'router-netdb-knownpeers' ); } var done = Echo(hello); -done.then(Done).catch(Done); +done.then(Done).catch (Done); function Done(output) { function hide(elements) { elements = elements.length ? elements : [elements]; for (var index = 0; index < elements.length; index++) { - elements[index].style.display = "none"; + elements[index].style.display = 'none'; } } function unhide(elements) { elements = elements.length ? elements : [elements]; for (var index = 0; index < elements.length; index++) { - elements[index].style.display = "inline-block"; + elements[index].style.display = 'inline-block'; } } - console.log("(i2pcontrol) I2PControl connection tested,", output); + console.log('(i2pcontrol) I2PControl connection tested,', output); if (output == hello) { - var toopieLinks = document.querySelectorAll(".window-visit-toopie"); + var toopieLinks = document.querySelectorAll('.window-visit-toopie'); unhide(toopieLinks); } else { - var toopieLinks = document.querySelectorAll(".window-visit-toopie"); + var toopieLinks = document.querySelectorAll('.window-visit-toopie'); hide(toopieLinks); } return output; } +} diff --git a/info.js b/info.js index f59b70f..cc5148f 100644 --- a/info.js +++ b/info.js @@ -2,9 +2,9 @@ function checkPeerConnection() { let getting = browser.privacy.network.peerConnectionEnabled.get({}); getting.then((got) => { let webrtc = got.value; - console.log("checking webrtc", webrtc); - if (document.getElementById("enable-web-rtc") !== null) - document.getElementById("enable-web-rtc").checked = webrtc; + console.log('checking webrtc', webrtc); + if (document.getElementById('enable-web-rtc') !== null) + document.getElementById('enable-web-rtc').checked = webrtc; }); } @@ -225,9 +225,11 @@ function goHome() { } console.log("(bookmarks) adding home page bookmark"); } - console.log("(bookmarks) checking if we're running in an I2P Browser"); - var gettingProxyInfo = browser.proxy.settings.get({}); - gettingProxyInfo.then(gotProxyInfo); + if (browser.windows != undefined){ + console.log("(bookmarks) checking if we're running in an I2P Browser"); + var gettingProxyInfo = browser.proxy.settings.get({}); + gettingProxyInfo.then(gotProxyInfo); + } } function goIndex() { diff --git a/location.js b/location.js index 94b32c9..fc5957d 100644 --- a/location.js +++ b/location.js @@ -1,12 +1,12 @@ function gotCurrent(tab) { function gotTitle(title) { let addr = title; - document.getElementById("TypeInfo").innerHTML = - '
' + addr + "
"; + document.getElementById('TypeInfo').innerHTML = + '
' + addr + '
'; } console.log(tab); var gettingTitle = browser.pageAction.getTitle({ - tabId: tab[0].id, + tabId: tab[0].id }); gettingTitle.then(gotTitle); } diff --git a/manifest.json b/manifest.json index d82e967..e50f4a8 100644 --- a/manifest.json +++ b/manifest.json @@ -9,8 +9,6 @@ "theme", "alarms", "browsingData", - "bookmarks", - "contextMenus", "management", "notifications", "proxy", @@ -21,7 +19,6 @@ "webRequestBlocking", "contextualIdentities", "cookies", - "history", "tabs", "" ], @@ -39,13 +36,6 @@ "default_title": "__MSG_extensionName__", "default_popup": "window.html" }, - "sidebar_action": { - "browser_style": true, - "default_icon": "icons/i2plogo.png", - "default_title": "__MSG_toopieName__", - "default_panel": "toopie.html", - "open_at_install": false - }, "page_action": { "browser_style": true, "default_title": "__MSG_toopieTLS__", @@ -86,17 +76,5 @@ "bookmarks.js" ] }, - "protocol_handlers": [ - { - "protocol": "ext+rc", - "name": "RouterConsole", - "uriTemplate": "http://127.0.0.1:7657/%s" - }, - { - "protocol": "magnet", - "name": "I2PTorrent", - "uriTemplate": "http://127.0.0.1:7657/i2psnark/?nofilter_newURL=%s&action=Add&foo=Add+torrent" - } - ], "default_locale": "en" } diff --git a/options/options.js b/options/options.js index adec9ac..67ffc07 100644 --- a/options/options.js +++ b/options/options.js @@ -4,168 +4,168 @@ function SetBookButton() { } function SetHostText() { - var hostid = document.getElementById("hostText"); - hostid.textContent = chrome.i18n.getMessage("hostText"); + var hostid = document.getElementById('hostText'); + hostid.textContent = chrome.i18n.getMessage('hostText'); } function SetPortText() { - var portid = document.getElementById("portText"); - portid.textContent = chrome.i18n.getMessage("portText"); + var portid = document.getElementById('portText'); + portid.textContent = chrome.i18n.getMessage('portText'); } function SetPortHelpText() { - var portid = document.getElementById("proxyHelpText"); - portid.textContent = chrome.i18n.getMessage("proxyHelpText"); + var portid = document.getElementById('proxyHelpText'); + portid.textContent = chrome.i18n.getMessage('proxyHelpText'); } function SetControlHostText() { - var controlhostid = document.getElementById("controlHostText"); - controlhostid.textContent = chrome.i18n.getMessage("controlHostText"); + var controlhostid = document.getElementById('controlHostText'); + controlhostid.textContent = chrome.i18n.getMessage('controlHostText'); } function SetControlPortText() { - var controlportid = document.getElementById("controlPortText"); - controlportid.textContent = chrome.i18n.getMessage("controlPortText"); + var controlportid = document.getElementById('controlPortText'); + controlportid.textContent = chrome.i18n.getMessage('controlPortText'); } function SetControlHelpText() { - var portid = document.getElementById("controlHelpText"); - portid.textContent = chrome.i18n.getMessage("controlHelpText"); + var portid = document.getElementById('controlHelpText'); + portid.textContent = chrome.i18n.getMessage('controlHelpText'); } function getBookmarksCreated() { - bookmarks_state = document.getElementById("bookmarks"); - console.log("(options)Got i2p bookmarks state:", bookmarks_state); + bookmarks_state = document.getElementById('bookmarks'); + console.log('(options)Got i2p bookmarks state:', bookmarks_state); if (bookmarks_state == undefined) { return false; } - if (bookmarks_state.value == "false") { + if (bookmarks_state.value == 'false') { return false; } - if (bookmarks_state.value == "true") { + if (bookmarks_state.value == 'true') { return true; } return false; } function getScheme() { - const proxy_scheme = document.querySelector("#proxy_scheme"); - console.log("(options)Got i2p proxy scheme:", proxy_scheme.value); - if (proxy_scheme.value == "HTTP") { - return "http"; + const proxy_scheme = document.querySelector('#proxy_scheme'); + console.log('(options)Got i2p proxy scheme:', proxy_scheme.value); + if (proxy_scheme.value == 'HTTP') { + return 'http'; } - if (proxy_scheme.value == "SOCKS") { - return "socks"; + if (proxy_scheme.value == 'SOCKS') { + return 'socks'; } - if (proxy_scheme.value == "http") return "http"; - if (proxy_scheme.value == "socks") return "socks"; - else return "http"; + if (proxy_scheme.value == 'http') return 'http'; + if (proxy_scheme.value == 'socks') return 'socks'; + else return 'http'; } function getHost() { - proxy_host = document.getElementById("host").value; - console.log("(options)Got i2p proxy host:", proxy_host); + proxy_host = document.getElementById('host').value; + console.log('(options)Got i2p proxy host:', proxy_host); if (proxy_host == undefined) { - return "127.0.0.1"; + return '127.0.0.1'; } return proxy_host; } function getPort() { - proxy_port = document.getElementById("port").value; - console.log("(options)Got i2p proxy port:", proxy_port); + proxy_port = document.getElementById('port').value; + console.log('(options)Got i2p proxy port:', proxy_port); if (proxy_port == undefined) { - return "4444"; + return '4444'; } return proxy_port; } function getControlHost() { - control_host = document.getElementById("controlhost").value; - console.log("(options)Got i2p control host:", control_host); + control_host = document.getElementById('controlhost').value; + console.log('(options)Got i2p control host:', control_host); if (control_host == undefined) { - return "127.0.0.1"; + return '127.0.0.1'; } return control_host; } function getControlPort() { - control_port = document.getElementById("controlport").value; - console.log("(options)Got i2p control port:", control_port); + control_port = document.getElementById('controlport').value; + console.log('(options)Got i2p control port:', control_port); if (control_port == undefined) { - return "4444"; + return '4444'; } return control_port; } function getRPCHost() { - rpc_host = document.getElementById("rpchost").value; - console.log("(options)Got i2pcontrol rpc host:", rpc_host); + rpc_host = document.getElementById('rpchost').value; + console.log('(options)Got i2pcontrol rpc host:', rpc_host); if (rpc_host == undefined) { - return "127.0.0.1"; + return '127.0.0.1'; } return rpc_host; } function getRPCPort() { - rpc_port = document.getElementById("rpcport").value; - console.log("(options)Got i2pcontrol rpc port:", rpc_port); + rpc_port = document.getElementById('rpcport').value; + console.log('(options)Got i2pcontrol rpc port:', rpc_port); if (rpc_port == undefined) { - return "7657"; + return '7657'; } return rpc_port; } function getRPCPath() { - rpc_path = document.getElementById("rpcpath").value; - console.log("(options)Got i2pcontrol rpc path:", rpc_path); + rpc_path = document.getElementById('rpcpath').value; + console.log('(options)Got i2pcontrol rpc path:', rpc_path); if (rpc_path == undefined) { - return "jsonrpc"; + return 'jsonrpc'; } return rpc_path; } function getRPCPass() { - rpc_pass = document.getElementById("rpcpass").value; - console.log("(options)Got i2pcontrol rpc password:"); + rpc_pass = document.getElementById('rpcpass').value; + console.log('(options)Got i2pcontrol rpc password:'); if (rpc_pass == undefined) { - return "itoopie"; + return 'itoopie'; } return rpc_pass; } function getBTRPCHost() { - bt_rpc_host = document.getElementById("btrpchost").value; - console.log("(options)Got torrent rpc host:", bt_rpc_host); + bt_rpc_host = document.getElementById('btrpchost').value; + console.log('(options)Got torrent rpc host:', bt_rpc_host); if (bt_rpc_host == undefined) { - return "127.0.0.1"; + return '127.0.0.1'; } return bt_rpc_host; } function getBTRPCPort() { - bt_rpc_port = document.getElementById("btrpcport").value; - console.log("(options)Got torrent rpc port:", bt_rpc_port); + bt_rpc_port = document.getElementById('btrpcport').value; + console.log('(options)Got torrent rpc port:', bt_rpc_port); if (bt_rpc_port == undefined) { - return "7657"; + return '7657'; } return bt_rpc_port; } function getBTRPCPath() { - bt_rpc_path = document.getElementById("btrpcpath").value; - console.log("(options)Got torrent rpc path:", bt_rpc_path); + bt_rpc_path = document.getElementById('btrpcpath').value; + console.log('(options)Got torrent rpc path:', bt_rpc_path); if (bt_rpc_path == undefined) { - return "transmission/rpc"; + return 'transmission/rpc'; } return bt_rpc_path; } function getBTRPCPass() { - bt_rpc_pass = document.getElementById("btrpcpass").value; - console.log("(options)Got torrent rpc password:"); + bt_rpc_pass = document.getElementById('btrpcpass').value; + console.log('(options)Got torrent rpc password:'); if (bt_rpc_pass == undefined) { - return "itoopie"; + return 'itoopie'; } return bt_rpc_pass; } @@ -173,88 +173,88 @@ function getBTRPCPass() { function checkStoredSettings(storedSettings) { function gotProxyInfo(info) { let defaultSettings = {}; - let host = info.value.http.split(":")[0]; - let port = info.value.http.split(":")[1]; + let host = info.value.http.split(':')[0]; + let port = info.value.http.split(':')[1]; if (port != 7644) { port = undefined; } - console.log("(options)proxy", "'" + host + "'", ":", port); - if (!storedSettings["bookmarks_state"]) - defaultSettings["bookmarks_state"] = false; - else defaultSettings["bookmarks_state"] = storedSettings["bookmarks_state"]; - if (!storedSettings["proxy_scheme"]) - defaultSettings["proxy_scheme"] = "http"; - else defaultSettings["proxy_scheme"] = storedSettings["proxy_scheme"]; - if (!storedSettings["proxy_host"]) { - if (host == "") defaultSettings["proxy_host"] = "127.0.0.1"; - else defaultSettings["proxy_host"] = host; - } else defaultSettings["proxy_host"] = storedSettings["proxy_host"]; + console.log('(options)proxy', "'" + host + "'", ':', port); + if (!storedSettings['bookmarks_state']) + defaultSettings['bookmarks_state'] = false; + else defaultSettings['bookmarks_state'] = storedSettings['bookmarks_state']; + if (!storedSettings['proxy_scheme']) + defaultSettings['proxy_scheme'] = 'http'; + else defaultSettings['proxy_scheme'] = storedSettings['proxy_scheme']; + if (!storedSettings['proxy_host']) { + if (host == '') defaultSettings['proxy_host'] = '127.0.0.1'; + else defaultSettings['proxy_host'] = host; + } else defaultSettings['proxy_host'] = storedSettings['proxy_host']; - if (!storedSettings["proxy_port"]) { - if (port == undefined) defaultSettings["proxy_port"] = 4444; - else if (port == 7644) defaultSettings["proxy_port"] = port; - else defaultSettings["proxy_port"] = 4444; - } else defaultSettings["proxy_port"] = storedSettings.proxy_port; + if (!storedSettings['proxy_port']) { + if (port == undefined) defaultSettings['proxy_port'] = 4444; + else if (port == 7644) defaultSettings['proxy_port'] = port; + else defaultSettings['proxy_port'] = 4444; + } else defaultSettings['proxy_port'] = storedSettings.proxy_port; - if (!storedSettings["control_host"]) { - if (host == "") defaultSettings["control_host"] = "127.0.0.1"; - else defaultSettings["control_host"] = host; - } else defaultSettings["control_host"] = storedSettings.control_host; + if (!storedSettings['control_host']) { + if (host == '') defaultSettings['control_host'] = '127.0.0.1'; + else defaultSettings['control_host'] = host; + } else defaultSettings['control_host'] = storedSettings.control_host; - if (!storedSettings["control_port"]) { - defaultSettings["control_port"] = 7657; - } else defaultSettings["control_port"] = storedSettings.control_port; + if (!storedSettings['control_port']) { + defaultSettings['control_port'] = 7657; + } else defaultSettings['control_port'] = storedSettings.control_port; - if (!storedSettings["rpc_host"]) { - if (host == "") defaultSettings["rpc_host"] = "127.0.0.1"; - else defaultSettings["rpc_host"] = host; - } else defaultSettings["rpc_host"] = storedSettings.rpc_host; + if (!storedSettings['rpc_host']) { + if (host == '') defaultSettings['rpc_host'] = '127.0.0.1'; + else defaultSettings['rpc_host'] = host; + } else defaultSettings['rpc_host'] = storedSettings.rpc_host; - if (!storedSettings["rpc_port"]) { - defaultSettings["rpc_port"] = 7657; - } else defaultSettings["rpc_port"] = storedSettings.rpc_port; + if (!storedSettings['rpc_port']) { + defaultSettings['rpc_port'] = 7657; + } else defaultSettings['rpc_port'] = storedSettings.rpc_port; - if (!storedSettings["rpc_path"]) { - defaultSettings["rpc_path"] = "jsonrpc"; - } else defaultSettings["rpc_path"] = storedSettings.rpc_path; + if (!storedSettings['rpc_path']) { + defaultSettings['rpc_path'] = 'jsonrpc'; + } else defaultSettings['rpc_path'] = storedSettings.rpc_path; - if (!storedSettings["rpc_pass"]) { - defaultSettings["rpc_pass"] = "itoopie"; - } else defaultSettings["rpc_pass"] = storedSettings.rpc_pass; + if (!storedSettings['rpc_pass']) { + defaultSettings['rpc_pass'] = 'itoopie'; + } else defaultSettings['rpc_pass'] = storedSettings.rpc_pass; - if (!storedSettings["bt_rpc_host"]) { - if (host == "") defaultSettings["bt_rpc_host"] = "127.0.0.1"; - else defaultSettings["bt_rpc_host"] = host; - } else defaultSettings["bt_rpc_host"] = storedSettings.bt_rpc_host; + if (!storedSettings['bt_rpc_host']) { + if (host == '') defaultSettings['bt_rpc_host'] = '127.0.0.1'; + else defaultSettings['bt_rpc_host'] = host; + } else defaultSettings['bt_rpc_host'] = storedSettings.bt_rpc_host; - if (!storedSettings["bt_rpc_port"]) { - defaultSettings["bt_rpc_port"] = 7657; - } else defaultSettings["bt_rpc_port"] = storedSettings.bt_rpc_port; + if (!storedSettings['bt_rpc_port']) { + defaultSettings['bt_rpc_port'] = 7657; + } else defaultSettings['bt_rpc_port'] = storedSettings.bt_rpc_port; - if (!storedSettings["bt_rpc_path"]) { - defaultSettings["bt_rpc_path"] = "transmission/"; - } else defaultSettings["bt_rpc_path"] = storedSettings.bt_rpc_path; + if (!storedSettings['bt_rpc_path']) { + defaultSettings['bt_rpc_path'] = 'transmission/'; + } else defaultSettings['bt_rpc_path'] = storedSettings.bt_rpc_path; - if (!storedSettings["bt_rpc_pass"]) { - defaultSettings["bt_rpc_pass"] = "transmission"; - } else defaultSettings["bt_rpc_pass"] = storedSettings.bt_rpc_pass; + if (!storedSettings['bt_rpc_pass']) { + defaultSettings['bt_rpc_pass'] = 'transmission'; + } else defaultSettings['bt_rpc_pass'] = storedSettings.bt_rpc_pass; - console.log("(options)(browserinfo) NATIVE PROXYSETTINGS", info.value); - defaultSettings["base_url"] = - "http://" + - defaultSettings["bt_rpc_host"] + - ":" + - defaultSettings["bt_rpc_port"] + - "/" + - defaultSettings["bt_rpc_path"]; + console.log('(options)(browserinfo) NATIVE PROXYSETTINGS', info.value); + defaultSettings['base_url'] = + 'http://' + + defaultSettings['bt_rpc_host'] + + ':' + + defaultSettings['bt_rpc_port'] + + '/' + + defaultSettings['bt_rpc_path']; console.log( - "(options)", - defaultSettings["proxy_scheme"], - defaultSettings["proxy_host"], - defaultSettings["proxy_port"], - defaultSettings["control_host"], - defaultSettings["control_port"], - defaultSettings["base_url"] + '(options)', + defaultSettings['proxy_scheme'], + defaultSettings['proxy_host'], + defaultSettings['proxy_port'], + defaultSettings['control_host'], + defaultSettings['control_port'], + defaultSettings['base_url'] ); chrome.storage.local.set(defaultSettings); @@ -266,75 +266,75 @@ function checkStoredSettings(storedSettings) { function checkAndroidStoredSettings(storedSettings) { let defaultSettings = {}; - let host = ""; - let port = ""; - if (!storedSettings["bookmarks_state"]) - defaultSettings["bookmarks_state"] = false; - else defaultSettings["bookmarks_state"] = storedSettings["bookmarks_state"]; - if (!storedSettings["proxy_scheme"]) defaultSettings["proxy_scheme"] = "http"; - else defaultSettings["proxy_scheme"] = storedSettings["proxy_scheme"]; - if (!storedSettings["proxy_host"]) { - if (host == "") defaultSettings["proxy_host"] = "127.0.0.1"; - else defaultSettings["proxy_host"] = host; - } else defaultSettings["proxy_host"] = storedSettings["proxy_host"]; + let host = ''; + let port = ''; + if (!storedSettings['bookmarks_state']) + defaultSettings['bookmarks_state'] = false; + else defaultSettings['bookmarks_state'] = storedSettings['bookmarks_state']; + if (!storedSettings['proxy_scheme']) defaultSettings['proxy_scheme'] = 'http'; + else defaultSettings['proxy_scheme'] = storedSettings['proxy_scheme']; + if (!storedSettings['proxy_host']) { + if (host == '') defaultSettings['proxy_host'] = '127.0.0.1'; + else defaultSettings['proxy_host'] = host; + } else defaultSettings['proxy_host'] = storedSettings['proxy_host']; - if (!storedSettings["proxy_port"]) { - if (port == undefined) defaultSettings["proxy_port"] = 4444; - else if (port == 7644) defaultSettings["proxy_port"] = port; - else defaultSettings["proxy_port"] = 4444; - } else defaultSettings["proxy_port"] = storedSettings.proxy_port; + if (!storedSettings['proxy_port']) { + if (port == undefined) defaultSettings['proxy_port'] = 4444; + else if (port == 7644) defaultSettings['proxy_port'] = port; + else defaultSettings['proxy_port'] = 4444; + } else defaultSettings['proxy_port'] = storedSettings.proxy_port; - if (!storedSettings["control_host"]) { - if (host == "") defaultSettings["control_host"] = "127.0.0.1"; - else defaultSettings["control_host"] = host; - } else defaultSettings["control_host"] = storedSettings.control_host; + if (!storedSettings['control_host']) { + if (host == '') defaultSettings['control_host'] = '127.0.0.1'; + else defaultSettings['control_host'] = host; + } else defaultSettings['control_host'] = storedSettings.control_host; - if (!storedSettings["control_port"]) { - defaultSettings["control_port"] = 7657; - } else defaultSettings["control_port"] = storedSettings.control_port; + if (!storedSettings['control_port']) { + defaultSettings['control_port'] = 7657; + } else defaultSettings['control_port'] = storedSettings.control_port; - if (!storedSettings["rpc_host"]) { - if (host == "") defaultSettings["rpc_host"] = "127.0.0.1"; - else defaultSettings["rpc_host"] = host; - } else defaultSettings["rpc_host"] = storedSettings.rpc_host; + if (!storedSettings['rpc_host']) { + if (host == '') defaultSettings['rpc_host'] = '127.0.0.1'; + else defaultSettings['rpc_host'] = host; + } else defaultSettings['rpc_host'] = storedSettings.rpc_host; - if (!storedSettings["rpc_port"]) { - defaultSettings["rpc_port"] = 7657; - } else defaultSettings["rpc_port"] = storedSettings.rpc_port; + if (!storedSettings['rpc_port']) { + defaultSettings['rpc_port'] = 7657; + } else defaultSettings['rpc_port'] = storedSettings.rpc_port; - if (!storedSettings["rpc_path"]) { - defaultSettings["rpc_path"] = "jsonrpc"; - } else defaultSettings["rpc_path"] = storedSettings.rpc_path; + if (!storedSettings['rpc_path']) { + defaultSettings['rpc_path'] = 'jsonrpc'; + } else defaultSettings['rpc_path'] = storedSettings.rpc_path; - if (!storedSettings["rpc_pass"]) { - defaultSettings["rpc_pass"] = "itoopie"; - } else defaultSettings["rpc_pass"] = storedSettings.rpc_pass; + if (!storedSettings['rpc_pass']) { + defaultSettings['rpc_pass'] = 'itoopie'; + } else defaultSettings['rpc_pass'] = storedSettings.rpc_pass; - if (!storedSettings["bt_rpc_host"]) { - if (host == "") defaultSettings["bt_rpc_host"] = "127.0.0.1"; - else defaultSettings["bt_rpc_host"] = host; - } else defaultSettings["bt_rpc_host"] = storedSettings.bt_rpc_host; + if (!storedSettings['bt_rpc_host']) { + if (host == '') defaultSettings['bt_rpc_host'] = '127.0.0.1'; + else defaultSettings['bt_rpc_host'] = host; + } else defaultSettings['bt_rpc_host'] = storedSettings.bt_rpc_host; - if (!storedSettings["bt_rpc_port"]) { - defaultSettings["bt_rpc_port"] = 7657; - } else defaultSettings["bt_rpc_port"] = storedSettings.bt_rpc_port; + if (!storedSettings['bt_rpc_port']) { + defaultSettings['bt_rpc_port'] = 7657; + } else defaultSettings['bt_rpc_port'] = storedSettings.bt_rpc_port; - if (!storedSettings["bt_rpc_path"]) { - defaultSettings["bt_rpc_path"] = "transmission/rpc"; - } else defaultSettings["bt_rpc_path"] = storedSettings.bt_rpc_path; + if (!storedSettings['bt_rpc_path']) { + defaultSettings['bt_rpc_path'] = 'transmission/rpc'; + } else defaultSettings['bt_rpc_path'] = storedSettings.bt_rpc_path; - if (!storedSettings["bt_rpc_pass"]) { - defaultSettings["bt_rpc_pass"] = "transmission"; - } else defaultSettings["bt_rpc_pass"] = storedSettings.bt_rpc_pass; + if (!storedSettings['bt_rpc_pass']) { + defaultSettings['bt_rpc_pass'] = 'transmission'; + } else defaultSettings['bt_rpc_pass'] = storedSettings.bt_rpc_pass; - console.log("(options)(browserinfo) NATIVE PROXYSETTINGS", info.value); + console.log('(options)(browserinfo) NATIVE PROXYSETTINGS', info.value); console.log( - "(options)", - defaultSettings["proxy_scheme"], - defaultSettings["proxy_host"], - defaultSettings["proxy_port"], - defaultSettings["control_host"], - defaultSettings["control_port"] + '(options)', + defaultSettings['proxy_scheme'], + defaultSettings['proxy_host'], + defaultSettings['proxy_port'], + defaultSettings['control_host'], + defaultSettings['control_port'] ); chrome.storage.local.set(defaultSettings); return defaultSettings; @@ -346,85 +346,85 @@ function onError(e) { function storeSettings() { let storableSettings = {}; - storableSettings["bookmarks_state"] = getBookmarksCreated(); - storableSettings["proxy_scheme"] = getScheme(); - storableSettings["proxy_host"] = getHost(); - storableSettings["proxy_port"] = getPort(); - storableSettings["control_host"] = getControlHost(); - storableSettings["control_port"] = getControlPort(); - storableSettings["rpc_host"] = getRPCHost(); - storableSettings["rpc_port"] = getRPCPort(); - storableSettings["rpc_path"] = getRPCPath(); - storableSettings["rpc_pass"] = getRPCPass(); - storableSettings["bt_rpc_host"] = getBTRPCHost(); - storableSettings["bt_rpc_port"] = getBTRPCPort(); - storableSettings["bt_rpc_path"] = getBTRPCPath(); - storableSettings["bt_rpc_pass"] = getBTRPCPass(); - storableSettings["base_url"] = - "http://" + bt_rpc_host + ":" + bt_rpc_port + "/" + bt_rpc_path; - console.log("storing", storableSettings); + storableSettings['bookmarks_state'] = getBookmarksCreated(); + storableSettings['proxy_scheme'] = getScheme(); + storableSettings['proxy_host'] = getHost(); + storableSettings['proxy_port'] = getPort(); + storableSettings['control_host'] = getControlHost(); + storableSettings['control_port'] = getControlPort(); + storableSettings['rpc_host'] = getRPCHost(); + storableSettings['rpc_port'] = getRPCPort(); + storableSettings['rpc_path'] = getRPCPath(); + storableSettings['rpc_pass'] = getRPCPass(); + storableSettings['bt_rpc_host'] = getBTRPCHost(); + storableSettings['bt_rpc_port'] = getBTRPCPort(); + storableSettings['bt_rpc_path'] = getBTRPCPath(); + storableSettings['bt_rpc_pass'] = getBTRPCPass(); + storableSettings['base_url'] = + 'http://' + bt_rpc_host + ':' + bt_rpc_port + '/' + bt_rpc_path; + console.log('storing', storableSettings); chrome.storage.local.set(storableSettings); } function updateUI(restoredSettings) { - const selectList = document.querySelector("#proxy_scheme"); + const selectList = document.querySelector('#proxy_scheme'); if (selectList != undefined) selectList.value = restoredSettings.proxy_scheme; //console.log("(options)showing proxy scheme:", selectList.value); console.log(restoredSettings); - const bms = document.getElementById("bookmarksState"); + const bms = document.getElementById('bookmarksState'); if (bms != undefined) bms.checked = restoredSettings.bookmarks_state; - const hostitem = document.getElementById("host"); + const hostitem = document.getElementById('host'); if (hostitem != undefined) hostitem.value = restoredSettings.proxy_host; //console.log("(options)showing proxy host:", hostitem.value); - const portitem = document.getElementById("port"); + const portitem = document.getElementById('port'); if (portitem != undefined) portitem.value = restoredSettings.proxy_port; //console.log("(options)showing proxy port:", portitem.value); - const controlhostitem = document.getElementById("controlhost"); + const controlhostitem = document.getElementById('controlhost'); if (controlhostitem == undefined) controlhostitem.value = restoredSettings.control_host; //console.log("(options)showing control host:", controlhostitem.value); - const controlportitem = document.getElementById("controlport"); + const controlportitem = document.getElementById('controlport'); if (controlportitem == undefined) controlportitem.value = restoredSettings.control_port; //console.log("(options)showing control port:", controlportitem.value); - const rpchostitem = document.getElementById("rpchost"); + const rpchostitem = document.getElementById('rpchost'); if (rpchostitem != undefined) rpchostitem.value = restoredSettings.rpc_host; //console.log("(options)showing rpc host:", rpchostitem.value); - const rpcportitem = document.getElementById("rpcport"); + const rpcportitem = document.getElementById('rpcport'); if (rpcportitem != undefined) rpcportitem.value = restoredSettings.rpc_port; //console.log("(options)showing rpc port:", rpcportitem.value); - const rpcpathitem = document.getElementById("rpcpath"); + const rpcpathitem = document.getElementById('rpcpath'); if (rpcpathitem != undefined) rpcpathitem.value = restoredSettings.rpc_path; //console.log("(options)showing rpc path:", rpcpathitem.value); - const rpcpassitem = document.getElementById("rpcpass"); + const rpcpassitem = document.getElementById('rpcpass'); if (rpcpassitem != undefined) rpcpassitem.value = restoredSettings.rpc_pass; //console.log("(options)showing rpc pass:"); - const btrpchostitem = document.getElementById("btrpchost"); + const btrpchostitem = document.getElementById('btrpchost'); if (btrpchostitem != undefined) btrpchostitem.value = restoredSettings.bt_rpc_host; //console.log("(options)showing bt rpc host:", btrpchostitem.value); - const btrpcportitem = document.getElementById("btrpcport"); + const btrpcportitem = document.getElementById('btrpcport'); if (btrpcportitem != undefined) btrpcportitem.value = restoredSettings.bt_rpc_port; //console.log("(options)showing rbt pc port:", rpcportitem.value); - const btrpcpathitem = document.getElementById("btrpcpath"); + const btrpcpathitem = document.getElementById('btrpcpath'); if (btrpcpathitem != undefined) btrpcpathitem.value = restoredSettings.bt_rpc_path; //console.log("(options)showing bt rpc path:", btrpcpathitem.value); - const btrpcpassitem = document.getElementById("btrpcpass"); + const btrpcpassitem = document.getElementById('btrpcpass'); if (btrpcpassitem != undefined) btrpcpassitem.value = restoredSettings.bt_rpc_pass; //console.log("(options)showing bt rpc pass:"); @@ -444,18 +444,18 @@ function onError(e) { var gettingInfo = browser.runtime.getPlatformInfo(); gettingInfo.then((got) => { - if (got.os != "android") { - chrome.storage.local.get(function (got) { + if (got.os != 'android') { + chrome.storage.local.get(function(got) { let settings = checkStoredSettings(got); settings.then(updateUI); }); } else { - chrome.storage.local.get(function (got) { + chrome.storage.local.get(function(got) { checkAndroidStoredSettings(got); updateUI(got); }); } }); -const saveButton = document.querySelector("#save-button"); -saveButton.addEventListener("click", storeSettings); +const saveButton = document.querySelector('#save-button'); +saveButton.addEventListener('click', storeSettings); diff --git a/platform.js b/platform.js index 854e912..9f2818a 100644 --- a/platform.js +++ b/platform.js @@ -2,19 +2,19 @@ var android = false; var gettingInfo = browser.runtime.getPlatformInfo(); gettingInfo.then((got) => { - if (got.os == "android") { - console.log("Running in Android detected"); + if (got.os == 'android') { + console.log('Running in Android detected'); android = true; return true; } else { - console.log("Running in Desktop detected"); + console.log('Running in Desktop detected'); android = false; return false; } }); function isDroid() { - console.log("android?", android); + console.log('android?', android); if (android == undefined) { return false; } diff --git a/privacy.js b/privacy.js index 78815e5..d274bdb 100644 --- a/privacy.js +++ b/privacy.js @@ -1,10 +1,10 @@ -var titlepref = chrome.i18n.getMessage("titlePreface"); +var titlepref = chrome.i18n.getMessage('titlePreface'); function onSet(result) { if (result) { - console.log("->: Value was updated"); + console.log('->: Value was updated'); } else { - console.log("-X: Value was not updated"); + console.log('-X: Value was not updated'); } } @@ -12,10 +12,10 @@ function onSet(result) { risky sites in your browser */ function disableHyperlinkAuditing() { var setting = browser.privacy.websites.hyperlinkAuditingEnabled.set({ - value: false, + value: false }); - console.log("Disabling hyperlink auditing/val=", { - value: false, + console.log('Disabling hyperlink auditing/val=', { + value: false }); setting.then(onSet); } @@ -23,8 +23,8 @@ function disableHyperlinkAuditing() { // UNINSTALL ONLY function enableHyperlinkAuditing() { var setting = browser.privacy.websites.hyperlinkAuditingEnabled.clear(); - console.log("Disabling hyperlink auditing/val=", { - value: false, + console.log('Disabling hyperlink auditing/val=', { + value: false }); setting.then(onSet); } @@ -32,10 +32,10 @@ function enableHyperlinkAuditing() { // This enables first-party isolation function enableFirstPartyIsolation() { var setting = browser.privacy.websites.firstPartyIsolate.set({ - value: true, + value: true }); - console.log("Enabling first party isolation/val=", { - value: true, + console.log('Enabling first party isolation/val=', { + value: true }); setting.then(onSet); } @@ -43,8 +43,8 @@ function enableFirstPartyIsolation() { // UNINSTALL ONLY function disableFirstPartyIsolation() { var setting = browser.privacy.websites.firstPartyIsolate.clear(); - console.log("Enabling first party isolation/val=", { - value: true, + console.log('Enabling first party isolation/val=', { + value: true }); setting.then(onSet); } @@ -57,15 +57,15 @@ function disableEvilCookies() { getting.then((got) => { var setting = browser.privacy.websites.cookieConfig.set({ value: { - behavior: "reject_third_party", - nonPersistentCookies: got.value.nonPersistentCookies, - }, + behavior: 'reject_third_party', + nonPersistentCookies: got.value.nonPersistentCookies + } }); - console.log("Setting cookie behavior/val=", { + console.log('Setting cookie behavior/val=', { value: { - behavior: "reject_third_party", - nonPersistentCookies: got.value.nonPersistentCookies, - }, + behavior: 'reject_third_party', + nonPersistentCookies: got.value.nonPersistentCookies + } }); setting.then(onSet); }); diff --git a/proxy.js b/proxy.js index 1b5cc16..30c0b18 100644 --- a/proxy.js +++ b/proxy.js @@ -1,57 +1,57 @@ -var titlepref = chrome.i18n.getMessage("titlePreface"); -var webpref = chrome.i18n.getMessage("webPreface"); -var routerpref = chrome.i18n.getMessage("routerPreface"); -var mailpref = chrome.i18n.getMessage("mailPreface"); -var torrentpref = chrome.i18n.getMessage("torrentPreface"); -var tunnelpref = chrome.i18n.getMessage("i2ptunnelPreface"); -var ircpref = chrome.i18n.getMessage("ircPreface"); -var extensionpref = chrome.i18n.getMessage("extensionPreface"); -var muwirepref = chrome.i18n.getMessage("muwirePreface"); -var botepref = chrome.i18n.getMessage("botePreface"); -var blogpref = chrome.i18n.getMessage("blogPreface"); -var blogprefpriv = chrome.i18n.getMessage("blogPrefacePrivate"); +var titlepref = chrome.i18n.getMessage('titlePreface'); +var webpref = chrome.i18n.getMessage('webPreface'); +var routerpref = chrome.i18n.getMessage('routerPreface'); +var mailpref = chrome.i18n.getMessage('mailPreface'); +var torrentpref = chrome.i18n.getMessage('torrentPreface'); +var tunnelpref = chrome.i18n.getMessage('i2ptunnelPreface'); +var ircpref = chrome.i18n.getMessage('ircPreface'); +var extensionpref = chrome.i18n.getMessage('extensionPreface'); +var muwirepref = chrome.i18n.getMessage('muwirePreface'); +var botepref = chrome.i18n.getMessage('botePreface'); +var blogpref = chrome.i18n.getMessage('blogPreface'); +var blogprefpriv = chrome.i18n.getMessage('blogPrefacePrivate'); browser.privacy.network.peerConnectionEnabled.set({ - value: true, + value: true }); chrome.privacy.network.networkPredictionEnabled.set({ - value: false, + value: false }); chrome.privacy.network.webRTCIPHandlingPolicy.set({ - value: "disable_non_proxied_udp", + value: 'disable_non_proxied_udp' }); -console.log("Disabled unproxied UDP."); +console.log('Disabled unproxied UDP.'); function shouldProxyRequest(requestInfo) { return requestInfo.parentFrameId != -1; } -var handleContextProxyRequest = async function (requestDetails) { +var handleContextProxyRequest = async function(requestDetails) { function ircProxy() { - if (!requestDetails.url.includes("7669")) { + if (!requestDetails.url.includes('7669')) { proxy = { type: getScheme(), host: getHost(), - port: getPort(), + port: getPort() }; return proxy; } - if (requestDetails.url.includes(":7669")) { + if (requestDetails.url.includes(':7669')) { proxy = null; return proxy; } } function blogProxy() { - if (!requestDetails.url.includes("8084")) { + if (!requestDetails.url.includes('8084')) { proxy = { type: getScheme(), host: getHost(), - port: getPort(), + port: getPort() }; return proxy; } - if (requestDetails.url.includes(":8084")) { + if (requestDetails.url.includes(':8084')) { proxy = null; return proxy; } @@ -59,28 +59,28 @@ var handleContextProxyRequest = async function (requestDetails) { function btProxy() { proxy = routerProxy(); - if (requestDetails.url.includes(":7662")) { + if (requestDetails.url.includes(':7662')) { proxy = null; return proxy; } - console.log("(bt proxy)", proxy); + console.log('(bt proxy)', proxy); return proxy; } function mainProxy() { - console.log("(proxy) mainproxy 0"); + console.log('(proxy) mainproxy 0'); proxy = { type: getScheme(), host: getHost(), - port: getPort(), + port: getPort() }; let url = new URL(requestDetails.url); if ( requestDetails.url.startsWith( - "http://" + getHost() + ":" + getConsolePort() + "/i2psnark/" + 'http://' + getHost() + ':' + getConsolePort() + '/i2psnark/' ) ) { //+url.host)) { - console.log("(proxy) mainproxy 2", url); + console.log('(proxy) mainproxy 2', url); proxy = null; } return proxy; @@ -93,26 +93,26 @@ var handleContextProxyRequest = async function (requestDetails) { proxy = { type: getScheme(), host: getHost(), - port: getPort(), + port: getPort() }; return proxy; } } try { - var handleProxyRequest = function (context) { + var handleProxyRequest = function(context) { proxy = { type: getScheme(), host: getHost(), - port: getPort(), + port: getPort() }; - if (context == "firefox-default" || context == "firefox-private") { + if (context == 'firefox-default' || context == 'firefox-private') { proxy = null; return proxy; } if (context != undefined) { - console.log("(proxy), context", context); + console.log('(proxy), context', context); proxy = routerProxy(); if (context.name == ircpref) { proxy = ircProxy(); @@ -141,13 +141,13 @@ var handleContextProxyRequest = async function (requestDetails) { } else { if (!routerHost(requestDetails.url)) { if (localHost(requestDetails.url)) { - if (requestDetails.url.includes(":7669")) { + if (requestDetails.url.includes(':7669')) { proxy = null; - } else if (requestDetails.url.includes(":7662")) { + } else if (requestDetails.url.includes(':7662')) { proxy = null; } else { console.log( - "(proxy) non-routerconsole localhost url, will not interfere", + '(proxy) non-routerconsole localhost url, will not interfere', requestDetails.url ); } @@ -157,67 +157,69 @@ var handleContextProxyRequest = async function (requestDetails) { proxy = { type: getScheme(), host: getHost(), - port: getPort(), + port: getPort() }; } else { proxy = null; } - if (requestDetails.url.includes("rpc")) { - console.log("(proxy for rpc url)", rpc); + if (requestDetails.url.includes('rpc')) { + console.log('(proxy for rpc url)', rpc); } //var tab = tabGet(requestDetails.tabId); //tab.then(handleTabRequest,) return proxy; } }; - var contextGet = async function (tabInfo) { + var contextGet = async function(tabInfo) { try { context = await browser.contextualIdentities.get(tabInfo.cookieStoreId); return context; } catch (error) { - console.error(error); - return "firefox-default"; + console.warn(error); + return 'firefox-default'; } }; - var tabGet = async function (tabId) { + var tabGet = async function(tabId) { try { let tabInfo = await browser.tabs.get(tabId); return tabInfo; } catch (error) { - console.log("(proxy)Tab error", error); + console.log('(proxy)Tab error', error); } }; if (proxyHost(requestDetails.url)) { proxy = { type: getScheme(), host: getHost(), - port: getPort(), + port: getPort() }; return proxy; } - if (requestDetails.originUrl == browser.runtime.getURL("security.html")) { + if (requestDetails.originUrl == browser.runtime.getURL('security.html')) { proxy = { type: getScheme(), host: getHost(), - port: getPort(), + port: getPort() }; return proxy; } if ( - requestDetails.cookieStoreId == "firefox-default" || - requestDetails.cookieStoreId == "firefox-private" + requestDetails.cookieStoreId == 'firefox-default' || + requestDetails.cookieStoreId == 'firefox-private' ) { - return browser.proxy.settings.get({}); + if (browser.windows != undefined) { + return browser.proxy.settings.get({}); + } } if (requestDetails.tabId > 0) { - if (requestDetails.url.includes("MuWire")) { + if (requestDetails.url.includes('MuWire')) { return; } if (proxyHost(requestDetails.url)) { proxy = { type: getScheme(), host: getHost(), - port: getPort(), + port: getPort() }; return proxy; } else if (i2pHost(requestDetails.url)) { @@ -243,68 +245,68 @@ var handleContextProxyRequest = async function (requestDetails) { proxy = { type: getScheme(), host: getHost(), - port: getPort(), + port: getPort() }; - console.log("(proxy for rpc url)", rpc); + //console.log('(proxy for rpc url)', rpc); return proxy; } } catch (error) { - console.log("(proxy)Not using I2P Proxy.", error); + console.log('(proxy)Not using I2P Proxy.', error); } -}; +} function SetupSettings() { - console.log("Initialising Settings"); + console.log('Initialising Settings'); function onSetupError() { - console.log("Settings initialization error"); + console.log('Settings initialization error'); } // function checkSchemeStoredSettings(storedSettings) { if (storedSettings.proxy_scheme == undefined) - storedSettings.proxy_scheme = "http"; + storedSettings.proxy_scheme = 'http'; else proxy_scheme = storedSettings.proxy_scheme; - console.log("Initialising Proxy Scheme", storedSettings.proxy_scheme); + console.log('Initialising Proxy Scheme', storedSettings.proxy_scheme); setupProxy(); } - var gettingSchemeStoredSettings = browser.storage.local.get("proxy_scheme"); + var gettingSchemeStoredSettings = browser.storage.local.get('proxy_scheme'); gettingSchemeStoredSettings.then(checkSchemeStoredSettings, onSetupError); // function checkHostStoredSettings(storedSettings) { if (storedSettings.proxy_host == undefined) - storedSettings.proxy_host = "127.0.0.1"; + storedSettings.proxy_host = '127.0.0.1'; else proxy_host = storedSettings.proxy_host; - console.log("Initialising Host", storedSettings.proxy_host); + console.log('Initialising Host', storedSettings.proxy_host); setupProxy(); } - var gettingHostStoredSettings = browser.storage.local.get("proxy_host"); + var gettingHostStoredSettings = browser.storage.local.get('proxy_host'); gettingHostStoredSettings.then(checkHostStoredSettings, onSetupError); // function checkPortStoredSettings(storedSettings) { if (storedSettings.proxy_port == undefined) - storedSettings.proxy_port = "4444"; + storedSettings.proxy_port = '4444'; else proxy_port = storedSettings.proxy_port; - console.log("Initialising Port", storedSettings.proxy_port); + console.log('Initialising Port', storedSettings.proxy_port); setupProxy(); } - var gettingPortStoredSettings = browser.storage.local.get("proxy_port"); + var gettingPortStoredSettings = browser.storage.local.get('proxy_port'); gettingPortStoredSettings.then(checkPortStoredSettings, onSetupError); // function checkControlHostStoredSettings(storedSettings) { if (storedSettings.control_host == undefined) - storedSettings.control_host = "127.0.0.1"; + storedSettings.control_host = '127.0.0.1'; else control_host = storedSettings.control_host; - console.log("Initialising Control Host", storedSettings.control_host); + console.log('Initialising Control Host', storedSettings.control_host); setupProxy(); } var gettingControlHostStoredSettings = browser.storage.local.get( - "control_host" + 'control_host' ); gettingControlHostStoredSettings.then( checkControlHostStoredSettings, @@ -314,14 +316,14 @@ function SetupSettings() { // function checkControlPortStoredSettings(storedSettings) { if (storedSettings.control_port == undefined) - storedSettings.control_port = "7657"; + storedSettings.control_port = '7657'; else control_port = storedSettings.control_port; - console.log("Initialising Control Port", storedSettings.control_port); + console.log('Initialising Control Port', storedSettings.control_port); setupProxy(); } var gettingControlPortStoredSettings = browser.storage.local.get( - "control_port" + 'control_port' ); gettingControlPortStoredSettings.then( checkControlPortStoredSettings, @@ -335,28 +337,28 @@ function SetupSettings() { else disable_history = storedSettings.disable_history; console.log( - "Initialising Disabled History", + 'Initialising Disabled History', storedSettings.disable_history ); setupProxy(); } var gettingHistoryStoredSettings = browser.storage.local.get( - "disable_history" + 'disable_history' ); gettingHistoryStoredSettings.then(checkHistoryStoredSettings, onSetupError); } function getScheme() { - if (proxy_scheme == "HTTP") return "http"; - if (proxy_scheme == "SOCKS") return "socks"; - if (proxy_scheme == "http") return "http"; - if (proxy_scheme == "socks") return "socks"; - else return "http"; + if (proxy_scheme == 'HTTP') return 'http'; + if (proxy_scheme == 'SOCKS') return 'socks'; + if (proxy_scheme == 'http') return 'http'; + if (proxy_scheme == 'socks') return 'socks'; + else return 'http'; } function getHost() { if (proxy_host == undefined) { - proxy_host = "127.0.0.1"; + proxy_host = '127.0.0.1'; } return proxy_host; } @@ -364,8 +366,8 @@ function getHost() { function getPort() { if (proxy_port == undefined) { var scheme = getScheme(); - if (scheme == "socks") proxy_port = "4446"; - else proxy_port = "4444"; + if (scheme == 'socks') proxy_port = '4446'; + else proxy_port = '4444'; } return proxy_port; } @@ -373,31 +375,31 @@ function getPort() { function getConsolePort() { if (control_port == undefined) { var scheme = getScheme(); - if (scheme == "socks") proxy_port = "7657"; - else control_port = "7657"; + if (scheme == 'socks') proxy_port = '7657'; + else control_port = '7657'; } return control_port; } function setupProxy() { - console.log("Setting up Firefox WebExtension proxy"); + console.log('Setting up Firefox WebExtension proxy'); browser.proxy.onRequest.addListener(handleContextProxyRequest, { - urls: [""], + urls: [''] }); - console.log("i2p settings created for WebExtension Proxy"); + console.log('i2p settings created for WebExtension Proxy'); } function update() { - console.log("restoring proxy scheme:", proxy_scheme); - console.log("restoring proxy host:", proxy_host); - console.log("restoring proxy port:", proxy_port); - console.log("restoring control host:", control_host); - console.log("restoring control port:", control_port); + console.log('restoring proxy scheme:', proxy_scheme); + console.log('restoring proxy host:', proxy_host); + console.log('restoring proxy port:', proxy_port); + console.log('restoring control host:', control_host); + console.log('restoring control port:', control_port); } function updateFromStorage() { - console.log("updating settings from storage"); - chrome.storage.local.get(function () { + console.log('updating settings from storage'); + chrome.storage.local.get(function() { SetupSettings(); update(); setupProxy(); @@ -411,9 +413,11 @@ setupProxy(); var gettingListenerInfo = browser.runtime.getPlatformInfo(); gettingListenerInfo.then((got) => { - browser.windows.onCreated.addListener(() => { - chrome.storage.local.get(function () { - setupProxy(); + if (browser.windows != undefined) { + browser.windows.onCreated.addListener(() => { + chrome.storage.local.get(function() { + setupProxy(); + }); }); - }); + } }); diff --git a/script.js b/script.js index 8bdeae9..600cd7c 100644 --- a/script.js +++ b/script.js @@ -1,7 +1,7 @@ browser.runtime.onMessage.addListener((request) => { - var response = "no-alt-location"; + var response = 'no-alt-location'; console.log(request); - if (request.req === "i2p-location") { + if (request.req === 'i2p-location') { var tag = document.querySelector('meta[http-equiv="i2p-location"]'); if (tag != undefined) { console.log(tag); @@ -13,7 +13,7 @@ browser.runtime.onMessage.addListener((request) => { if (tag) response = tag.content; } } - if (request.req === "i2p-torrentlocation") { + if (request.req === 'i2p-torrentlocation') { var tag = document.querySelector('meta[http-equiv="i2p-torrentlocation"]'); if (tag != undefined) { console.log(tag); diff --git a/scrub.js b/scrub.js index d34e313..aba0561 100644 --- a/scrub.js +++ b/scrub.js @@ -1,36 +1,36 @@ -var titlepref = chrome.i18n.getMessage("titlePreface"); -var webpref = chrome.i18n.getMessage("webPreface"); -var routerpref = chrome.i18n.getMessage("routerPreface"); -var mailpref = chrome.i18n.getMessage("mailPreface"); -var torrentpref = chrome.i18n.getMessage("torrentPreface"); -var tunnelpref = chrome.i18n.getMessage("i2ptunnelPreface"); -var ircpref = chrome.i18n.getMessage("ircPreface"); -var extensionpref = chrome.i18n.getMessage("extensionPreface"); -var muwirepref = chrome.i18n.getMessage("muwirePreface"); -var botepref = chrome.i18n.getMessage("botePreface"); -var blogpref = chrome.i18n.getMessage("blogPreface"); -var blogprefpriv = chrome.i18n.getMessage("blogPrefacePrivate"); +var titlepref = chrome.i18n.getMessage('titlePreface'); +var webpref = chrome.i18n.getMessage('webPreface'); +var routerpref = chrome.i18n.getMessage('routerPreface'); +var mailpref = chrome.i18n.getMessage('mailPreface'); +var torrentpref = chrome.i18n.getMessage('torrentPreface'); +var tunnelpref = chrome.i18n.getMessage('i2ptunnelPreface'); +var ircpref = chrome.i18n.getMessage('ircPreface'); +var extensionpref = chrome.i18n.getMessage('extensionPreface'); +var muwirepref = chrome.i18n.getMessage('muwirePreface'); +var botepref = chrome.i18n.getMessage('botePreface'); +var blogpref = chrome.i18n.getMessage('blogPreface'); +var blogprefpriv = chrome.i18n.getMessage('blogPrefacePrivate'); -var contextScrub = async function (requestDetails) { +var contextScrub = async function(requestDetails) { function onHeaderError() { - console.log("Header scrub error"); + console.log('Header scrub error'); } try { - var headerScrub = function (context) { - var ua = "MYOB/6.66 (AN/ON)"; + var headerScrub = function(context) { + var ua = 'MYOB/6.66 (AN/ON)'; if (!context) { } else if (context.name == titlepref) { for (var header of requestDetails.requestHeaders) { - if (header.name.toLowerCase() === "user-agent") { + if (header.name.toLowerCase() === 'user-agent') { header.value = ua; } } return { - requestHeaders: requestDetails.requestHeaders, + requestHeaders: requestDetails.requestHeaders }; } }; - var contextGet = async function (tabInfo) { + var contextGet = async function(tabInfo) { try { //console.log("(scrub)Tab info from Function", tabInfo); let context = await browser.contextualIdentities.get( @@ -41,7 +41,7 @@ var contextScrub = async function (requestDetails) { return undefined; } }; - var tabGet = async function (tabId) { + var tabGet = async function(tabId) { try { //console.log("(scrub)Tab ID from Request", tabId); let tabInfo = await browser.tabs.get(tabId); @@ -58,41 +58,41 @@ var contextScrub = async function (requestDetails) { return req; } } catch (error) { - console.log("(scrub)Not scrubbing non-I2P request.", error); + console.log('(scrub)Not scrubbing non-I2P request.', error); } -}; +} -var notMyContextNotMyProblem = async function () { +var notMyContextNotMyProblem = async function() { var contexts = await browser.contextualIdentities.query({}); var context1 = await browser.contextualIdentities.query({ - name: titlepref, + name: titlepref }); var context2 = await browser.contextualIdentities.query({ - name: routerpref, + name: routerpref }); var context3 = await browser.contextualIdentities.query({ - name: mailpref, + name: mailpref }); var context4 = await browser.contextualIdentities.query({ - name: torrentpref, + name: torrentpref }); var context5 = await browser.contextualIdentities.query({ - name: tunnelpref, + name: tunnelpref }); var context6 = await browser.contextualIdentities.query({ - name: ircpref, + name: ircpref }); var context7 = await browser.contextualIdentities.query({ - name: muwirepref, + name: muwirepref }); var context7 = await browser.contextualIdentities.query({ - name: botepref, + name: botepref }); var context8 = await browser.contextualIdentities.query({ - name: blogpref, + name: blogpref }); var othercontexts = []; - console.log("Contexts:", contexts); + console.log('Contexts:', contexts); for (context in contexts) { if ( contexts[context].cookieStoreId == context1[0].cookieStoreId || @@ -104,9 +104,9 @@ var notMyContextNotMyProblem = async function () { contexts[context].cookieStoreId == context7[0].cookieStoreId ) { console.log( - "Context found", + 'Context found', contexts[context].cookieStoreId, - "is my responsibility" + 'is my responsibility' ); } else { //console.log("Context found", contexts[context].cookieStoreId, "is not my responsibility") @@ -114,22 +114,22 @@ var notMyContextNotMyProblem = async function () { } } return othercontexts; -}; +} -var contextSetup = function (requestDetails) { +var contextSetup = function(requestDetails) { function onContextError() { - console.error("Context launcher error"); + console.error('Context launcher error'); } async function forceIntoIsolation(tabId, contextidentifier, tab, pin = true) { console.info( - "(isolate) forcing context for", + '(isolate) forcing context for', tabId, contextidentifier, tab ); try { var context = await browser.contextualIdentities.query({ - name: contextidentifier, + name: contextidentifier }); if (tabId.cookieStoreId != context[0].cookieStoreId) { function Create() { @@ -137,18 +137,18 @@ var contextSetup = function (requestDetails) { function closeOldTab() { if (tabId.id != tab.id) { console.log( - "(isolate) Closing un-isolated tab", + '(isolate) Closing un-isolated tab', tabId.id, - "in favor of", + 'in favor of', tab.id, - "with context", + 'with context', tab.cookieStoreId ); browser.tabs.remove(tabId.id); } browser.pageAction.setPopup({ tabId: tabId.id, - popup: "security.html", + popup: 'security.html' }); browser.pageAction.show(tabId.id); } @@ -158,7 +158,7 @@ var contextSetup = function (requestDetails) { active: true, cookieStoreId: context[0].cookieStoreId, url: requestDetails.url, - pinned: pin, + pinned: pin }); created.then(onCreated, onContextError); } @@ -167,67 +167,67 @@ var contextSetup = function (requestDetails) { return tabId; } } catch (error) { - console.error("(isolate)Context Error", error); + console.error('(isolate)Context Error', error); } } try { - var i2pTabFind = async function (tabId) { - console.info("(isolate)Context Discovery browser"); + var i2pTabFind = async function(tabId) { + console.info('(isolate)Context Discovery browser'); try { var context = await browser.contextualIdentities.query({ - name: titlepref, + name: titlepref }); return forceIntoIsolation(tabId, titlepref, tab, false); } catch (error) { - console.error("(isolate)Context Error", error); + console.error('(isolate)Context Error', error); } }; - var routerTabFind = async function (tabId) { - console.info("(isolate)Context Discovery console"); + var routerTabFind = async function(tabId) { + console.info('(isolate)Context Discovery console'); try { var context = await browser.contextualIdentities.query({ - name: routerpref, + name: routerpref }); return forceIntoIsolation(tabId, routerpref, tab); } catch (error) { - console.error("(isolate)Context Error", error); + console.error('(isolate)Context Error', error); } }; - var i2ptunnelTabFind = async function (tabId) { - console.info("(isolate)Context Discovery browser"); + var i2ptunnelTabFind = async function(tabId) { + console.info('(isolate)Context Discovery browser'); try { var context = await browser.contextualIdentities.query({ - name: tunnelpref, + name: tunnelpref }); return forceIntoIsolation(tabId, tunnelpref, tab); } catch (error) { - console.error("(isolate)Context Error", error); + console.error('(isolate)Context Error', error); } }; - var snarkTabFind = async function (tabId) { - console.info("(isolate)Context Discovery torrents"); + var snarkTabFind = async function(tabId) { + console.info('(isolate)Context Discovery torrents'); try { var context = await browser.contextualIdentities.query({ - name: torrentpref, + name: torrentpref }); if (tabId.cookieStoreId != context[0].cookieStoreId) { var exemptContext = await browser.contextualIdentities.query({ - name: titlepref, + name: titlepref }); let tmp = new URL(tabId.url); - console.log("(isolate)tabid host", tmp.host); - if (!requestDetails.url.includes("snark/" + tmp.host)) { + console.log('(isolate)tabid host', tmp.host); + if (!requestDetails.url.includes('snark/' + tmp.host)) { // if (tabId.cookieStoreId != exemptContext[0].cookieStoreId){ function Create() { function onCreated(tab) { function closeOldTab(tabs) { if (tabId.id != tab.id) { console.log( - "(isolate) Closing un-isolated tab", + '(isolate) Closing un-isolated tab', tabId.id, - "in favor of", + 'in favor of', tab.id, - "with context", + 'with context', tab.cookieStoreId ); browser.tabs.remove(tabId.id); @@ -239,20 +239,20 @@ var contextSetup = function (requestDetails) { } } var pins = browser.tabs.query({ - cookieStoreId: context[0].cookieStoreId, + cookieStoreId: context[0].cookieStoreId }); pins.then(closeOldTab, onError); } - if (requestDetails.url.endsWith("xhr1.html")) { - hostname = url.split("/")[2]; - let prefix = url.substr(0, url.indexOf("://") + 3); - requestDetails.url = prefix + hostname + "/i2psnark/"; + if (requestDetails.url.endsWith('xhr1.html')) { + hostname = url.split('/')[2]; + let prefix = url.substr(0, url.indexOf('://') + 3); + requestDetails.url = prefix + hostname + '/i2psnark/'; } var created = browser.tabs.create({ active: true, pinned: true, cookieStoreId: context[0].cookieStoreId, - url: requestDetails.url, + url: requestDetails.url }); created.then(onCreated, onContextError); } @@ -262,71 +262,71 @@ var contextSetup = function (requestDetails) { } } } catch (error) { - console.log("(isolate)Context Error", error); + console.log('(isolate)Context Error', error); } }; - var muwireTabFind = async function (tabId) { - console.info("(isolate)Context Discovery muwire"); + var muwireTabFind = async function(tabId) { + console.info('(isolate)Context Discovery muwire'); try { var context = await browser.contextualIdentities.query({ - name: muwirepref, + name: muwirepref }); return forceIntoIsolation(tabId, muwirepref, tab); } catch (error) { - console.error("(isolate)Context Error", error); + console.error('(isolate)Context Error', error); } }; - var i2pboteTabFind = async function (tabId) { - console.info("(isolate)Context Discovery bote"); + var i2pboteTabFind = async function(tabId) { + console.info('(isolate)Context Discovery bote'); try { var context = await browser.contextualIdentities.query({ - name: botepref, + name: botepref }); return forceIntoIsolation(tabId, botepref, tab); } catch (error) { - console.error("(isolate)Context Error", error); + console.error('(isolate)Context Error', error); } }; - var mailTabFind = async function (tabId) { - console.info("(isolate)Context Discovery mail"); + var mailTabFind = async function(tabId) { + console.info('(isolate)Context Discovery mail'); try { var context = await browser.contextualIdentities.query({ - name: mailpref, + name: mailpref }); return forceIntoIsolation(tabId, mailpref, tab); } catch (error) { - console.error("(isolate)Context Error", error); + console.error('(isolate)Context Error', error); } }; - var ircTabFind = async function (tabId) { - console.info("(isolate)Context Discovery irc"); + var ircTabFind = async function(tabId) { + console.info('(isolate)Context Discovery irc'); try { var context = await browser.contextualIdentities.query({ - name: ircpref, + name: ircpref }); return forceIntoIsolation(tabId, ircpref, tab); } catch (error) { - console.error("(isolate)Context Error", error); + console.error('(isolate)Context Error', error); } }; - var blogTabFind = async function (tabId) { - console.info("(isolate)Context Discovery blog"); + var blogTabFind = async function(tabId) { + console.info('(isolate)Context Discovery blog'); try { var context = await browser.contextualIdentities.query({ - name: blogpref, + name: blogpref }); return forceIntoIsolation(tabId, blogpref, tab); } catch (error) { - console.error("(isolate)Context Error", error); + console.error('(isolate)Context Error', error); } }; - var tabGet = async function (tabId) { + var tabGet = async function(tabId) { try { //console.log("(isolate)Tab ID from Request", tabId); let tabInfo = await browser.tabs.get(tabId); return tabInfo; } catch (error) { - console.log("(isolate)Tab error", error); + console.log('(isolate)Tab error', error); } }; if (requestDetails == undefined) { @@ -336,7 +336,7 @@ var contextSetup = function (requestDetails) { setcookie = browser.cookies.set({ firstPartyDomain: i2pHostName(requestDetails.url), url: requestDetails.url, - secure: true, + secure: true }); setcookie.then(onContextGotLog, onContextError); return requestDetails; @@ -350,31 +350,31 @@ var contextSetup = function (requestDetails) { let localhost = localHost(requestDetails.url); let routerhost = routerHost(requestDetails.url); if (routerhost) { - if (routerhost === "i2ptunnelmgr") { + if (routerhost === 'i2ptunnelmgr') { var tunneltab = tab.then(i2ptunnelTabFind, onContextError); return requestDetails; - } else if (routerhost === "i2psnark") { + } else if (routerhost === 'i2psnark') { var snarktab = tab.then(snarkTabFind, onContextError); return requestDetails; - } else if (routerhost === "webmail") { + } else if (routerhost === 'webmail') { var mailtab = tab.then(mailTabFind, onContextError); return requestDetails; - } else if (routerhost === "muwire") { + } else if (routerhost === 'muwire') { var routertab = tab.then(muwireTabFind, onContextError); return requestDetails; - } else if (routerhost === "i2pbote") { + } else if (routerhost === 'i2pbote') { var routertab = tab.then(i2pboteTabFind, onContextError); return requestDetails; - } else if (routerhost === "routerconsole") { + } else if (routerhost === 'routerconsole') { var routertab = tab.then(routerTabFind, onContextError); return requestDetails; } } else { if (localhost) { - if (localhost === "blog") { + if (localhost === 'blog') { var routertab = tab.then(blogTabFind, onContextError); return requestDetails; - } else if (localhost === "irc") { + } else if (localhost === 'irc') { var irctab = tab.then(ircTabFind, onContextError); return requestDetails; } @@ -383,26 +383,26 @@ var contextSetup = function (requestDetails) { // if (oldtab.cookieStoreId == 'firefox-default') { if (i2pHost(requestDetails.url)) { var thn = i2pHostName(requestDetails.url); - if (requestDetails.url.includes("=" + thn)) { + if (requestDetails.url.includes('=' + thn)) { if ( - !requestDetails.url.includes("://github.com") || - !requestDetails.url.includes("://notabug.org") || - !requestDetails.url.includes("://i2pgit.org") || - !requestDetails.url.includes("://gitlab.com") + !requestDetails.url.includes('://github.com') || + !requestDetails.url.includes('://notabug.org') || + !requestDetails.url.includes('://i2pgit.org') || + !requestDetails.url.includes('://gitlab.com') ) { if (!localhost) { - console.log("(scrub)checking search hostnames =" + thn); - var tpt = requestDetails.url.split("=" + thn, 2); + console.log('(scrub)checking search hostnames =' + thn); + var tpt = requestDetails.url.split('=' + thn, 2); requestDetails.url = - "http://" + thn + "/" + tpt[1].replace("%2F", ""); + 'http://' + thn + '/' + tpt[1].replace('%2F', ''); } } } - console.log("(scrub) new hostname", requestDetails.url); + console.log('(scrub) new hostname', requestDetails.url); var setcookie = browser.cookies.set({ firstPartyDomain: i2pHostName(requestDetails.url), url: requestDetails.url, - secure: true, + secure: true }); setcookie.then(onContextGotLog, onContextError); if (!routerhost) { @@ -418,11 +418,11 @@ var contextSetup = function (requestDetails) { } } } catch (error) { - console.log("(isolate)Not an I2P request, blackholing", error); + console.log('(isolate)Not an I2P request, blackholing', error); } }; -var coolheadersSetup = function (e) { +var coolheadersSetup = function(e) { var asyncSetPageAction = new Promise((resolve, reject) => { window.setTimeout(() => { if (e.tabId != undefined) { @@ -430,80 +430,80 @@ var coolheadersSetup = function (e) { popup.then(gotPopup); } function gotPopup(p) { - console.log("(scrub) checking popup", p); + console.log('(scrub) checking popup', p); if (p.length != 0) return; let headers = e.responseHeaders.filter((word) => - word.name.toUpperCase().includes("I2P") + word.name.toUpperCase().includes('I2P') ); for (i = headers.length - 1; i >= 0; i--) { let header = headers[i]; - console.log("(scrub) checking header", header); - if (header.name.toUpperCase().endsWith("I2P-LOCATION")) { + console.log('(scrub) checking header', header); + if (header.name.toUpperCase().endsWith('I2P-LOCATION')) { var tab = browser.tabs.get(e.tabId); tab.then(altSrc); function altSrc(tab) { - console.log("(scrub) X-I2P-LOCATION", header.value); + console.log('(scrub) X-I2P-LOCATION', header.value); let url = new URL(header.value); browser.pageAction.setPopup({ tabId: e.tabId, - popup: "location.html", + popup: 'location.html' }); browser.pageAction.setIcon({ - path: "icons/i2plogo.png", - tabId: e.tabId, + path: 'icons/i2plogo.png', + tabId: e.tabId }); let eurl = new URL(tab.url); browser.pageAction.setTitle({ tabId: e.tabId, - title: "http://" + url.host + eurl.pathname, + title: 'http://' + url.host + eurl.pathname }); browser.pageAction.show(e.tabId); } break; } - if (header.name.toUpperCase().endsWith("I2P-TORRENTLOCATION")) { - console.log("(scrub) checking header torrentlocation", header); - var imgs = document.getElementsByTagName("img"); + if (header.name.toUpperCase().endsWith('I2P-TORRENTLOCATION')) { + console.log('(scrub) checking header torrentlocation', header); + var imgs = document.getElementsByTagName('img'); for (let img of imgs) { if (tmpsrc.host == location.host) { img.src = - "http://127.0.0.1:7657/i2psnark/" + + 'http://127.0.0.1:7657/i2psnark/' + tmpsrc.host + tmpsrc.pathname; - img.onerror = function () { + img.onerror = function() { img.src = tmpsrc; }; } } - var videos = document.getElementsByTagName("video"); + var videos = document.getElementsByTagName('video'); for (let video of videos) { let tmpsrc = new URL(video.currentSrc); if (tmpsrc.host == location.host) { - if (!video.innerHTML.includes("127.0.0.1")) { + if (!video.innerHTML.includes('127.0.0.1')) { innerHTML = video.innerHTML; topInnerHTML = video.innerHTML.replace( 'src="', - 'src="http://127.0.0.1:7657/i2psnark/' + location.host + "/" + 'src="http://127.0.0.1:7657/i2psnark/' + location.host + '/' ); video.innerHTML = topInnerHTML; // + innerHTML; - video.onerror = function () { + video.onerror = function() { video.innerHTML = topInnerHTML + innerHTML; }; } } } - var audios = document.getElementsByTagName("audio"); + var audios = document.getElementsByTagName('audio'); for (let audio of audios) { let tmpsrc = new URL(audio.currentSrc); if (tmpsrc.host == location.host) { - if (!audio.innerHTML.includes("127.0.0.1")) { + if (!audio.innerHTML.includes('127.0.0.1')) { innerHTML = audio.innerHTML; topInnerHTML = audio.innerHTML.replace( 'src="', - 'src="http://127.0.0.1:7657/i2psnark/' + location.host + "/" + 'src="http://127.0.0.1:7657/i2psnark/' + location.host + '/' ); audio.innerHTML = topInnerHTML; // + innerHTML; - audio.onerror = function () { + audio.onerror = function() { audio.innerHTML = topInnerHTML + innerHTML; }; } @@ -511,22 +511,22 @@ var coolheadersSetup = function (e) { } browser.pageAction.setPopup({ tabId: e.tabId, - popup: "torrent.html", + popup: 'torrent.html' }); - if (tab.url.startsWith("https")) { + if (tab.url.startsWith('https')) { browser.pageAction.setIcon({ - path: "icons/infotoopiesbt.png", - tabId: e.tabId, + path: 'icons/infotoopiesbt.png', + tabId: e.tabId }); } else { browser.pageAction.setIcon({ - path: "icons/infotoopiebt.png", - tabId: e.tabId, + path: 'icons/infotoopiebt.png', + tabId: e.tabId }); } browser.pageAction.setTitle({ tabId: e.tabId, - title: header.value, + title: header.value }); browser.pageAction.show(e.tabId); break; diff --git a/torrent.js b/torrent.js index 94b32c9..fc5957d 100644 --- a/torrent.js +++ b/torrent.js @@ -1,12 +1,12 @@ function gotCurrent(tab) { function gotTitle(title) { let addr = title; - document.getElementById("TypeInfo").innerHTML = - '"; + document.getElementById('TypeInfo').innerHTML = + ''; } console.log(tab); var gettingTitle = browser.pageAction.getTitle({ - tabId: tab[0].id, + tabId: tab[0].id }); gettingTitle.then(gotTitle); } diff --git a/torrent/background.js b/torrent/background.js index 7304600..969a6f6 100644 --- a/torrent/background.js +++ b/torrent/background.js @@ -1,18 +1,18 @@ -"use strict"; +'use strict'; ////// Session extraction function setupExtractor() { browser.webRequest.onHeadersReceived.removeListener(extractSession); - browser.storage.local.get("server").then(({ server }) => { + browser.storage.local.get('server').then(({ server }) => { if (!server) { return; } - console.log("Session extractor setup for", server.base_url); + console.log('Session extractor setup for', server.base_url); browser.webRequest.onBeforeSendHeaders.addListener( extractSession, - { urls: [server.base_url + "*"] }, - ["requestHeaders"] + { urls: [server.base_url + '*'] }, + ['requestHeaders'] ); }); } @@ -126,7 +126,8 @@ function createContextMenu() { }); } -createContextMenu(); +if (browser.windows != undefined){ + createContextMenu(); browser.contextMenus.onClicked.addListener((info, tab) => { if (info.menuItemId === "transmitter-add") { @@ -139,7 +140,7 @@ browser.contextMenus.onClicked.addListener((info, tab) => { }); } }); - +} ////// Badge function updateBadge() { diff --git a/torrent/common.js b/torrent/common.js index 637ad0f..3ae5b10 100644 --- a/torrent/common.js +++ b/torrent/common.js @@ -1,30 +1,30 @@ -"use strict"; +'use strict'; ////// RPC function rpcCall(meth, args) { - return browser.storage.local.get(function (server) { + return browser.storage.local.get(function(server) { const myHeaders = { - "Content-Type": "application/json", - "x-transmission-session-id": server.session, + 'Content-Type': 'application/json', + 'x-transmission-session-id': server.session }; //console.log("(torrent)", server.session) - if (server.username !== "" || server.btrpcpass !== "") { - myHeaders["Authorization"] = - "Basic " + - btoa((server.username || "") + ":" + (server.btrpcpass || "")); + if (server.username !== '' || server.btrpcpass !== '') { + myHeaders['Authorization'] = + 'Basic ' + + btoa((server.username || '') + ':' + (server.btrpcpass || '')); } //console.log("(torrent) rpc", server.base_url); - return fetch(server.base_url + "rpc", { - method: "POST", + return fetch(server.base_url + 'rpc', { + method: 'POST', headers: myHeaders, body: JSON.stringify({ method: meth, arguments: args }), - credentials: "include", // allows HTTPS client certs! + credentials: 'include' // allows HTTPS client certs! }) - .then(function (response) { - const session = response.headers.get("x-transmission-session-id"); + .then(function(response) { + const session = response.headers.get('x-transmission-session-id'); if (session) { - browser.storage.local.get({}).then(function (storage) { + browser.storage.local.get({}).then(function(storage) { storage.session = session; browser.storage.local.set(storage); }); @@ -39,7 +39,7 @@ function rpcCall(meth, args) { error.response = response; throw error; }) - .then(function (response) { + .then(function(response) { return response.json(); }); }); @@ -50,11 +50,11 @@ function rpcCall(meth, args) { function formatSpeed(s) { // Firefox shows 4 characters max if (s < 1000 * 1000) { - return (s / 1000).toFixed() + "K"; + return (s / 1000).toFixed() + 'K'; } if (s < 1000 * 1000 * 1000) { - return (s / 1000 / 1000).toFixed() + "M"; + return (s / 1000 / 1000).toFixed() + 'M'; } // You probably don't have that download speed… - return (s / 1000 / 1000 / 1000).toFixed() + "T"; + return (s / 1000 / 1000 / 1000).toFixed() + 'T'; } diff --git a/torrent/popup.js b/torrent/popup.js index e28ee6b..e46c5b4 100644 --- a/torrent/popup.js +++ b/torrent/popup.js @@ -1,27 +1,27 @@ -"use strict"; +'use strict'; -var TrpcCall = async function (meth, args) { +var TrpcCall = async function(meth, args) { const server = await browser.storage.local.get(null); const myHeaders = { - "Content-Type": "application/json", - "x-transmission-session-id": server.session, + 'Content-Type': 'application/json', + 'x-transmission-session-id': server.session }; - console.log("(torrent) session", server.session); - if (server.username !== "" || server.bt_rpc_pass !== "") { - myHeaders["Authorization"] = - "Basic " + - btoa((server.username || "") + ":" + (server.bt_rpc_pass || "")); + console.log('(torrent) session', server.session); + if (server.username !== '' || server.bt_rpc_pass !== '') { + myHeaders['Authorization'] = + 'Basic ' + + btoa((server.username || '') + ':' + (server.bt_rpc_pass || '')); } - let req_url = "http://" + server.bt_rpc_host; - if (server.bt_rpc_port != 0) req_url += ":" + server.bt_rpc_port; - req_url += "/" + server.bt_rpc_path; - console.log("(torrent) rpcurl", req_url); - return fetch(req_url + "rpc", { - method: "POST", + let req_url = 'http://' + server.bt_rpc_host; + if (server.bt_rpc_port != 0) req_url += ':' + server.bt_rpc_port; + req_url += '/' + server.bt_rpc_path; + console.log('(torrent) rpcurl', req_url); + return fetch(req_url + 'rpc', { + method: 'POST', headers: myHeaders, body: JSON.stringify({ method: meth, arguments: args }), - credentials: "include", // allows HTTPS client certs! + credentials: 'include' // allows HTTPS client certs! }); /*.then(function(response) { @@ -37,13 +37,13 @@ var TrpcCall = async function (meth, args) { error.response = response; throw error; });*/ -}; +} -const torrentsPane = document.getElementById("torrents-pane"); -const configPane = document.getElementById("config-pane"); +const torrentsPane = document.getElementById('torrents-pane'); +const configPane = document.getElementById('config-pane'); -for (const opener of document.querySelectorAll(".config-opener")) { - opener.addEventListener("click", (e) => { +for (const opener of document.querySelectorAll('.config-opener')) { + opener.addEventListener('click', (e) => { browser.runtime.openOptionsPage(); }); }