From 54b5be97e27e4be5c3bf0fa0a8cf41fabb16c8a7 Mon Sep 17 00:00:00 2001 From: idk Date: Sun, 31 Jan 2021 01:07:14 -0500 Subject: [PATCH] fix the theme issue --- background.js | 250 +++++++++++----------- bookmarks.js | 108 +++++----- cert.js | 28 +-- config.js | 26 +-- content.js | 70 +++--- context.js | 8 +- handler.js | 110 +++++----- home.js | 34 +-- host.js | 146 ++++++------- i2pcontrol/i2pcontrol.js | 160 +++++++------- index.html | 367 ++++++++++++++++---------------- info.js | 6 +- location.js | 4 +- options/options.js | 446 +++++++++++++++++++-------------------- platform.js | 8 +- privacy.js | 27 +-- proxy.js | 164 +++++++------- script.js | 6 +- scrub.js | 270 ++++++++++++------------ torrent.js | 4 +- torrent/background.js | 10 +- torrent/common.js | 36 ++-- torrent/popup.js | 47 +++-- 23 files changed, 1158 insertions(+), 1177 deletions(-) diff --git a/background.js b/background.js index bb10c5e..82a6fd4 100644 --- a/background.js +++ b/background.js @@ -1,24 +1,24 @@ -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 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"); function onError(err) { - console.log('(background)', err); + console.log("(background)", err); } function onContextGotLog(contexts) { @@ -33,13 +33,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); } @@ -47,8 +47,8 @@ function onContextsGot(contexts) { browser.contextualIdentities .create({ name: webpref, - color: 'red', - icon: 'circle', + color: "red", + icon: "circle", }) .then(onCreated, onNotCreated); } @@ -56,8 +56,8 @@ function onContextsGot(contexts) { browser.contextualIdentities .create({ name: routerpref, - color: 'blue', - icon: 'briefcase', + color: "blue", + icon: "briefcase", }) .then(onCreated, onNotCreated); } @@ -65,8 +65,8 @@ function onContextsGot(contexts) { browser.contextualIdentities .create({ name: tunnelpref, - color: 'green', - icon: 'tree', + color: "green", + icon: "tree", }) .then(onCreated, onNotCreated); } @@ -74,8 +74,8 @@ function onContextsGot(contexts) { browser.contextualIdentities .create({ name: mailpref, - color: 'yellow', - icon: 'briefcase', + color: "yellow", + icon: "briefcase", }) .then(onCreated, onNotCreated); } @@ -83,8 +83,8 @@ function onContextsGot(contexts) { browser.contextualIdentities .create({ name: torrentpref, - color: 'purple', - icon: 'chill', + color: "purple", + icon: "chill", }) .then(onCreated, onNotCreated); } @@ -92,8 +92,8 @@ function onContextsGot(contexts) { browser.contextualIdentities .create({ name: ircpref, - color: 'red', - icon: 'vacation', + color: "red", + icon: "vacation", }) .then(onCreated, onNotCreated); } @@ -101,8 +101,8 @@ function onContextsGot(contexts) { browser.contextualIdentities .create({ name: muwirepref, - color: 'turquoise', - icon: 'gift', + color: "turquoise", + icon: "gift", }) .then(onCreated, onNotCreated); } @@ -110,30 +110,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); @@ -146,7 +146,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 { @@ -155,7 +155,7 @@ function themeWindowByTab(tabId) { } }); } - if (typeof tabId === 'number') { + if (typeof tabId === "number") { let tab = browser.tabs.get(tabId); tab.then(tabWindow); } else { @@ -175,54 +175,50 @@ function isEmpty(obj) { return true; } +let btheme = { + colors: { + frame: "#363A68", + toolbar: "#363A68", + }, +}; + +let dtheme = { + colors: { + 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"); } + function dynamicTheme() { if (window.incognito) { - browser.theme.update(window.id, { - colors: { - frame: '#4456B7', - toolbar: '#4456B7', - }, - }); + browser.theme.update(window.id, dtheme); } else { - browser.theme.update(window.id, { - colors: { - frame: '#4456B7', - toolbar: '#4456B7', - }, - }); + browser.theme.update(window.id, dtheme); } } + function browserTheme() { - console.log('Active in I2P window'); + console.log("Active in I2P window"); if (window.incognito) { - browser.theme.update(window.id, { - colors: { - frame: '#363A68', - toolbar: '#363A68', - }, - }); + browser.theme.update(window.id, btheme); } else { - browser.theme.update(window.id, { - colors: { - frame: '#363A68', - toolbar: '#363A68', - }, - }); + browser.theme.update(window.id, btheme); } } function logTabs(tabInfo) { function onContextGotTheme(context) { if (context.name == titlepref) { browserTheme(); - if (tabInfo[0].url.startsWith('https://')) { + if (tabInfo[0].url.startsWith("https://")) { browser.pageAction.setPopup({ tabId: tabInfo[0].id, - popup: 'security.html', + popup: "security.html", }); //console.log("(background) tabinfo", tabInfo[0].id) browser.pageAction.show(tabInfo[0].id); @@ -230,46 +226,50 @@ function themeWindow(window) { //browser.pageAction.hide(tabInfo[0].id); } } else if (context.name == routerpref) { - console.log('Active in Router Console window'); + console.log("Active in Router Console window"); dynamicTheme(); } else if (context.name == tunnelpref) { - console.log('Active in Hidden Services Manager window'); + console.log("Active in Hidden Services Manager window"); dynamicTheme(); } else if (context.name == mailpref) { - console.log('Active in Web Mail window'); + console.log("Active in Web Mail window"); dynamicTheme(); } else if (context.name == torrentpref) { - console.log('Active in Bittorrent window'); + console.log("Active in Bittorrent window"); dynamicTheme(); } else if (context.name == botepref) { - console.log('Active in Bote window'); + console.log("Active in Bote window"); dynamicTheme(); } else if (context.name == ircpref) { - console.log('Active in IRC window'); + console.log("Active in IRC window"); dynamicTheme(); } else if (context.name == muwirepref) { - console.log('Active in MuWire window'); + console.log("Active in MuWire window"); dynamicTheme(); } } 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('Not active in I2P window'); + console.log("Not active in I2P window"); function unSetTheme(them) { - console.log('unsetting theme', them); + console.log("unsetting theme", them); if (Object.keys(them).length > 0) { - browser.theme.update(window.id, them.originalTheme); + try { + browser.theme.update(window.id, them.originalTheme); + }catch(e){ + console.log("Original theme set error. Your theme must have an SVG in it.", e) + } } else { browser.theme.update(window.id, { colors: null }); } } - browser.storage.local.get('originalTheme').then(unSetTheme, onError); + browser.storage.local.get("originalTheme").then(unSetTheme, onError); } } @@ -283,62 +283,62 @@ 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 == 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: "", }); } } @@ -353,9 +353,9 @@ 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, @@ -375,39 +375,31 @@ function handleUpdated(updateInfo) { function maybeSet(them) { console.log("original theme found:", them, Object.keys(them).length); try { - if ( - Object.keys(them).length == 0 || - (them.originalTheme.colors == null && - them.originalTheme.images == null && - them.originalTheme.properties == null) - ) { - if (updateInfo.theme.colors != null) { - if ( - updateInfo.theme.colors.frame != "#4456B7" && - updateInfo.theme.colors.frame != "#363A68" - ) { - function onSet() { - console.log("stored theme:", updateInfo.theme); - } - if ( - updateInfo.theme.colors != null && - updateInfo.theme.images != null && - updateInfo.theme.properties != null - ) { - console.log("storing theme:", updateInfo.theme); - browser.storage.local - .set({ originalTheme: updateInfo.theme }) - .then(onSet, onError); - } + console.log("testing theme", updateInfo.theme.colors.toolbar, "!=", btheme.colors.toolbar); + console.log("testing theme", updateInfo.theme.colors.toolbar, "!=", dtheme.colors.toolbar); + if ( + updateInfo.theme.colors.toolbar != dtheme.colors.toolbar && + updateInfo.theme.colors.toolbar != btheme.colors.toolbar + ) { + function onSet() { + console.log("stored theme:", updateInfo.theme); } + /*if ( + updateInfo.theme.colors != null && + updateInfo.theme.images != null && + updateInfo.theme.properties != null + ) {*/ + console.log("storing theme:", updateInfo.theme); + browser.storage.local + .set({ originalTheme: updateInfo.theme }) + .then(onSet, onError); + //} } - } else { - console.log("keeping stored theme:", them); - } } catch (e) { console.log("theme storage error", e); } } + console.log("Handling theme", updateInfo); browser.storage.local.get("originalTheme").then(maybeSet, onError); } diff --git a/bookmarks.js b/bookmarks.js index 854515a..444795c 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', + 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', + 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,19 +36,19 @@ 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', + 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', + "http://" + control_host + ":" + control_port + "/i2psnark", + title: "Bittorrent", parentId: bookmarkToolbar[0].id, }); createRhizomeBookmark.then(onCreated); @@ -64,18 +64,18 @@ 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', + 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', + 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', + 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', + "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', + 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', + "/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,53 +155,53 @@ 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', + 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,11 @@ function conditionalBookmarksSetup(obj) { } if (browser != null) { - let gettingStorage = browser.storage.local.get('bookmarks_state'); + 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 80268bb..5c53542 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 db98366..0b8ff55 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 feeda64..e19c3ba 100644 --- a/content.js +++ b/content.js @@ -2,52 +2,52 @@ 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'); +fetch("http://proxy.i2p").then((myJson) => { + contentUpdateById("proxy-check", "proxySuccessStatus"); }); diff --git a/context.js b/context.js index 9628f85..d468dee 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,17 +10,17 @@ function eventHandler(event) { console.log(`Created window : ${windowInfo.id}`); browser.tabs.create({ windowId: windowInfo.id, - url: 'about:blank', + 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, }); 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, diff --git a/handler.js b/handler.js index 740132f..ce2400c 100644 --- a/handler.js +++ b/handler.js @@ -1,69 +1,69 @@ 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') { - 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'; + console.log("(urlcheck) Torrent application path", final); + return "i2psnark"; + } else if (final === "webmail" || final === "susimail") { + 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('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 === 'sitemap' || - final.startsWith('config') + final === "home" || + final === "console" || + final === "dns" || + 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); } @@ -73,36 +73,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 b7f66f4..2001fe1 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 ea2d4f6..8759d3c 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,16 +17,16 @@ 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]; - if (hostname === '127.0.0.1') { + hostname = hostname.split(":")[0]; + if (hostname === "127.0.0.1") { return true; - } else if (hostname === 'localhost') { + } else if (hostname === "localhost") { return true; } @@ -35,122 +35,122 @@ function localHost(url) { function extensionHost(url) { if (url.originUrl !== undefined) { - var res = url.originUrl.startsWith(browser.runtime.getURL('')); + var res = url.originUrl.startsWith(browser.runtime.getURL("")); if (res) return res; } if (url.url !== undefined) { - var res = url.url.startsWith(browser.runtime.getURL('')); + var res = url.url.startsWith(browser.runtime.getURL("")); if (res) return res; } } 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') { - 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'; + console.log("(urlcheck) Torrent application path", final); + return "i2psnark"; + } else if (final === "webmail" || final === "susimail") { + 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('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 bdf67c8..f7d1a62 100644 --- a/i2pcontrol/i2pcontrol.js +++ b/i2pcontrol/i2pcontrol.js @@ -1,9 +1,9 @@ -var hello = 'hello i2pcontrol'; +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,15 +22,15 @@ 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 + 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); @@ -39,7 +39,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 +51,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 +81,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 +121,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 +160,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 +204,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 +255,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 +300,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,49 +336,49 @@ 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" ); } @@ -386,6 +386,6 @@ var done = Echo(hello); done.then(Done); function Done(output) { - console.log('(i2pcontrol) I2PControl connection tested,', output); + console.log("(i2pcontrol) I2PControl connection tested,", output); return output; } diff --git a/index.html b/index.html index de9e637..1d6e117 100644 --- a/index.html +++ b/index.html @@ -1,233 +1,222 @@ - I2P in Private Browsing Mode - - + I2P in Private Browsing Mode + + -

I2P in Private Browsing Mode(Firefox-Only)

+

I2P in Private Browsing Mode(Firefox-Only)

-

This is an webextension which introduces a set of new "Private Browsing" modes -to Firefox-based browsers(Supporting webextensions) that makes it easier to -configure a browser to use I2P securely and adds features for making I2P -applications easier to use. It does this by isolating I2P-specific settings to -Contextual Identities within Firefox, then loading them automatically when the -user requests them. It also adds convenience and management features, like an -embedded I2P console and Bittorrent integration with clients using the -transmission-rpc API.

+

This is an webextension which introduces a set of new "Private Browsing" modes to Firefox-based browsers(Supporting webextensions) that makes it easier to configure a browser to use I2P securely and adds features for making I2P applications easier to use. It does this by isolating I2P-specific settings to Contextual Identities within Firefox, then loading them automatically when the user requests them. It also adds convenience and management features, like an embedded I2P console and Bittorrent integration with clients using the transmission-rpc API.

-

Privacy Policy

+

Privacy Policy

-

This browser extension does not collect any personal information. It requires -access to local storage and browsing data permissions in order to delete them -when directed to by the user. This browser extension does not transmit any -information to any third party, nor will it, ever.

+

This browser extension does not collect any personal information. It requires access to local storage and browsing data permissions in order to delete them when directed to by the user. This browser extension does not transmit any information to any third party, nor will it, ever.

-

This browser extension cannot influence telemetry carried out by browser vendors -to determine performance in their distribution channels, nor can it mitigate any -other browser vendor telemetry.

+

This browser extension cannot influence telemetry carried out by browser vendors to determine performance in their distribution channels, nor can it mitigate any other browser vendor telemetry.

-

This browser extension is entirely Free, Open-Source software.

+

This browser extension is entirely Free, Open-Source software.

-

Installation(Cross-Platform):

+

Installation(Cross-Platform):

-

For desktop users this addon is available from addons.mozilla.org, where you -will be able to recive automatic updates: -I2P in Private Browsing.

+

For desktop users this addon is available from addons.mozilla.org, where you will be able to recive automatic updates: I2P in Private Browsing.

-

Debian Installation:

+

Debian Installation:

-

Should you prefer, it is possible to install this extension system-wide by -side-loading it into Debian. You can generate your own deb file by running the -command:

+

Should you prefer, it is possible to install this extension system-wide by side-loading it into Debian. You can generate your own deb file by running the command:

-
    make deb
+    
    make deb
 
+

and then you can install it with:

-

and then you can install it with:

- -
    sudo apt install ../i2psetproxy.js_*.deb
+    
    sudo apt install ../i2psetproxy.js_*.deb
 
+

Bittorrent Download:

-

Bittorrent Download:

+

The self-hosted plugin is available from bittorrent both within the I2P and Clearnet Bittorrent network(With a web seed to support it in case one goes dead).

-

The self-hosted plugin is available from bittorrent both within the I2P and -Clearnet Bittorrent network(With a web seed to support it in case one goes -dead).

+ -

Usage:

+

Usage:

-
    -
  • Basically, it "Just Works." After you install the plugin, browsing to an I2P -domain will automatically stop the current tab and re-open the I2P site in an -I2P Browser tab.
  • -
  • Besides that, four bookmarks are added to the "Bookmarks Toolbar," which -will take you to visit your Java I2P applications, or the "Simplified I2P -Landing Page" embedded in the plugin:
  • -
  • Landing page
  • -
  • Also, there's a menu for accessing I2P functionality while you're browsing. -It lets you control a few settings in a granular way.
  • -
  • Menu
  • -
  • You can re-enable WebRTC but force it to always use the proxy that is -enforced by the tab.
  • -
  • You can either force the browser to delete all history for I2P sites -immediately, or you can close all your I2P Browser tabs at once and delete -the history for I2P browsing when you're done.
  • -
  • That's all there is to it! Your browser is configured to safely use and -administer I2P.
  • -
  • Optionally, you can add I2PSnark-RPC and use Bittorrent-over-I2P via the -transmission-rpc interface. To do this, have a look at the torrent guide: -Torrent guide
  • -
+
    +
  • Basically, it "Just Works." After you install the plugin, browsing to an I2P domain will automatically stop the current tab and re-open the I2P site in an I2P Browser tab.
  • -

    Features

    +
  • Besides that, four bookmarks are added to the "Bookmarks Toolbar," which will take you to visit your Java I2P applications, or the "Simplified I2P Landing Page" embedded in the plugin:
  • -
      -
    • [done] Provide a way to launch into an I2P-Specific contextual identity -(container). Intercept requests to .i2p domains and automatically route them -to the I2P container. Isolate the router console from other local -applications by automatically intercepting requests to the router console to -another container.
    • -
    • Visiting i2p-projekt.i2p
    • -
    • [done] Indicate the I2P browser is in use visually. Find an -acceptable way to indicate it on Android.
    • -
    • Visiting webmail
    • -
    • [done] Set the http proxy to use the local I2P proxy automatically. -Provide specific configuration for other types of I2P proxies(SOCKS, -isolating HTTP)
    • -
    • [done] Disable risky webRTC features/offer the option to re-enable -them with the proxy enforced.
    • -
    • [done] Change the color of the browser window to indicate that I2P is in -use
    • -
    • Visiting i2ptunnel
    • -
    • [ready] Provide help in a variety of languages.
    • -
    • [done] Monitor the health and readiness of the I2P router it is -instructed to use. Currently the plugin checks whether the HTTP Proxy is -working by fetching an image from "http://proxy.i2p" and displaying a result. -A work-in-progress binding to i2pcontrol is available in ./i2pcontrol, it is -inert at this time.
    • -
    • Visiting toopie.html
    • -
    • [Done] Handle router console applications under their own origins and -within their own contextual identity. (1) The router console is automatically -confined to it's own container tab. (2) Use a custom protocol handler to -place each i2p application/plugin under it's own origin, shortening router -console URL's and placing applications under their own origin.
    • -
    • Visiting routerconsole
    • -
    • [Done] Handle Torrents by talking to i2psnark-rpc plugin and then -adding them directly into the Firefox downloads drop-downs, menus, etc. Enable -the use of I2PSnark as a peer-to-peer delivery mechanism for media files.
    • -
    • Visiting i2psnark
    • -
    • Monitoring torrents
    • -
    • Distribute your site as a torrent.
    • -
    • [Started] Indicate the level of authenticity provided by TLS. TLS is -optional on I2P for now, but some sites offer it anyway. TLS support is -experimental and in the works.
    • -
    • [Started] Provide alternate, in-I2P destinations for web sites that want to -mirror their content within I2P.
    • -
    • [Started] Enhance the I2P browsing experience by allowing site developers -distribute some or all of their resources as torrents, allowing the torrents to -be treated effectively as a CDN.
    • -
    • [barely started] Isolate traffic by contextual identity to it's own HTTP -Proxy tunnel, each reflecting it's own pseudonymous identity within I2P. The -contextual identities. For now, the contextual identities used to manage -browsing are "I2P Browsing" and "Web Browsing" where I2P Browsing is capable -of using an outproxy but in the case of traffic destined for the clearnet -does not do header rewriting, and Web Browsing falls back to the Proxy -configured in Firefox. The I2P Browsing will be expanded to -
        -
      • I2P Amnesiac Browsing: Use for General Browsing, stores no history and -uses an HTTP Proxy with a very short tunnel-close timeout and no key-reuse.
      • -
      • I2P Social Networking: Use this for logging into social network accounts, -forums, and other interactive asynchronous public communication platforms -where your identity is behaviorally linkable. This has a very long -tunnel-close timeout and key-reuse until specifically invoked.
      • -
      • I2P Blogging: Use this for posting content to the web interface of your -blog or to other similar websites that you create content on.
      • -
    • -
    • Visiting clearweb
    • -
    +
  • Landing page +
  • -

    Video

    +
  • Also, there's a menu for accessing I2P functionality while you're browsing. It lets you control a few settings in a granular way.
  • -
      -
    • Video of the plugin in action
    • -
    +
  • Menu +
  • -

    Documents

    +
  • You can re-enable WebRTC but force it to always use the proxy that is enforced by the tab.
  • -
      -
    • Browser Outline: This document is an outline of each of -the browser extension's feature panels in presentation form.
    • -
    • Smart Lander Design: This is the original outline of -the smart landing page which became the I2P home page within the browser and -the drop-down control panel.
    • -
    • Other extensions: and how they work with this one.
    • -
    +
  • You can either force the browser to delete all history for I2P sites immediately, or you can close all your I2P Browser tabs at once and delete the history for I2P browsing when you're done.
  • -

    Super Extra Important Background Info:

    +
  • That's all there is to it! Your browser is configured to safely use and administer I2P.
  • -

    This plugin's viability is directly related to the viability of Mozilla and -Tor's work on hardening Firefox itself and of particular interest are the -"Uplift" and "Fusion(Firefox Using Onions)" projects.

    +
  • Optionally, you can add I2PSnark-RPC and use Bittorrent-over-I2P via the transmission-rpc interface. To do this, have a look at the torrent guide: Torrent guide +
  • +
-

Links about Project Uplift

+

Features

-
    -
  • Tor Uplift is a project which -brings important features of the Tor Browser to the mainstream of Firefox -users by including patches from Tor Browser Bundle into Firefox where it is -appropriate.
  • -
  • First Party Isolation -is a feature in Firefox and other browsers which keeps information from -leaking across first-party domains.
  • -
  • Fingerprinting is a -technique where a tracker attempts to extract unique information about a user -from a side-channel in order to create an identifier that can be used to -correlate the user across many sites.
  • -
  • Fennec is Firefox -for Android and this link has some analysis of the privacy consequences of the -Android platform.
  • -
  • Tracking in Firefox -is surveyed here.
  • -
+
    +
  • [done] Provide a way to launch into an I2P-Specific contextual identity (container). Intercept requests to .i2p domains and automatically route them to the I2P container. Isolate the router console from other local applications by automatically intercepting requests to the router console to another container.
  • -

    Project uplift seems to have largely been accomplished?

    +
  • Visiting i2p-projekt.i2p +
  • -

    Links about Project Fusion

    +
  • [done] Indicate the I2P browser is in use visually. Find an acceptable way to indicate it on Android.
  • -
      -
    • Project Fusion or Firefox using -Onions is a joint Mozilla/Tor effort to create an enhanced Private Browsing -mode for Firefox which uses Tor.
    • -
    • Notes -from a meeting about Fusion.
    • -
    • Tor at the Heart: Firefox is -a blog about Tor and the relationship they have to Firefox re: TBB, Fusion.
    • -
    +
  • Visiting webmail +
  • -

    The Other Version

    +
  • [done] Set the http proxy to use the local I2P proxy automatically. Provide specific configuration for other types of I2P proxies(SOCKS, isolating HTTP)
  • -

    New versions of this extension create an I2P in Private Browsing mode instead, -using container tabs.

    +
  • [done] Disable risky webRTC features/offer the option to re-enable them with the proxy enforced.
  • -

    Since this is a drastic change to the behavior of the old plugin, and since there -is no UI a new entry -for the new plugin has been made at a new location on addons.mozilla.org.

    +
  • [done] Change the color of the browser window to indicate that I2P is in use
  • -
      -
    • This is the new version: [link]

    • -
    • This is the old version: [link]

    • -
    +
  • Visiting i2ptunnel +
  • -

    Android usage:

    +
  • [ready] Provide help in a variety of languages.
  • -

    Use the old version, on either an old version of Firefox(pre-68) or by enabling -this custom collection: [Recommended Plugins] https://addons.mozilla.org/en-US/firefox/collections/14614396/I2P-Browser-Fork/

    +
  • [done] Monitor the health and readiness of the I2P router it is instructed to use. Currently the plugin checks whether the HTTP Proxy is working by fetching an image from "http://proxy.i2p" and displaying a result. A work-in-progress binding to i2pcontrol is available in ./i2pcontrol, it is inert at this time.
  • + +
  • Visiting toopie.html +
  • + +
  • [Done] Handle router console applications under their own origins and within their own contextual identity. (1) The router console is automatically confined to it's own container tab. (2) Use a custom protocol handler to place each i2p application/plugin under it's own origin, shortening router console URL's and placing applications under their own origin.
  • + +
  • Visiting routerconsole +
  • + +
  • [Done] Handle Torrents by talking to i2psnark-rpc plugin and then adding them directly into the Firefox downloads drop-downs, menus, etc. Enable the use of I2PSnark as a peer-to-peer delivery mechanism for media files.
  • + +
  • Visiting i2psnark +
  • + +
  • Monitoring torrents +
  • + +
  • Distribute your site as a torrent. +
  • + +
  • [Started] Indicate the level of authenticity provided by TLS. TLS is optional on I2P for now, but some sites offer it anyway. TLS support is experimental and in the works.
  • + +
  • [Started] Provide alternate, in-I2P destinations for web sites that want to mirror their content within I2P.
  • + +
  • [Started] Enhance the I2P browsing experience by allowing site developers distribute some or all of their resources as torrents, allowing the torrents to be treated effectively as a CDN.
  • + +
  • [barely started] Isolate traffic by contextual identity to it's own HTTP Proxy tunnel, each reflecting it's own pseudonymous identity within I2P. The contextual identities. For now, the contextual identities used to manage browsing are "I2P Browsing" and "Web Browsing" where I2P Browsing is capable of using an outproxy but in the case of traffic destined for the clearnet does not do header rewriting, and Web Browsing falls back to the Proxy configured in Firefox. The I2P Browsing will be expanded to +
      +
    • I2P Amnesiac Browsing: Use for General Browsing, stores no history and uses an HTTP Proxy with a very short tunnel-close timeout and no key-reuse.
    • + +
    • I2P Social Networking: Use this for logging into social network accounts, forums, and other interactive asynchronous public communication platforms where your identity is behaviorally linkable. This has a very long tunnel-close timeout and key-reuse until specifically invoked.
    • + +
    • I2P Blogging: Use this for posting content to the web interface of your blog or to other similar websites that you create content on.
    • +
    +
  • + +
  • Visiting clearweb +
  • +
+ +

Video

+ +
    +
  • Video of the plugin in action +
  • +
+ +

Documents

+ +
    +
  • Browser Outline: This document is an outline of each of the browser extension's feature panels in presentation form.
  • + +
  • Smart Lander Design: This is the original outline of the smart landing page which became the I2P home page within the browser and the drop-down control panel.
  • + +
  • Other extensions: and how they work with this one.
  • +
+ +

Super Extra Important Background Info:

+ +

This plugin's viability is directly related to the viability of Mozilla and Tor's work on hardening Firefox itself and of particular interest are the "Uplift" and "Fusion(Firefox Using Onions)" projects.

+ +

Links about Project Uplift

+ +
    +
  • + Tor Uplift is a project which brings important features of the Tor Browser to the mainstream of Firefox users by including patches from Tor Browser Bundle into Firefox where it is appropriate. +
  • + +
  • + First Party Isolation is a feature in Firefox and other browsers which keeps information from leaking across first-party domains. +
  • + +
  • + Fingerprinting is a technique where a tracker attempts to extract unique information about a user from a side-channel in order to create an identifier that can be used to correlate the user across many sites. +
  • + +
  • + Fennec is Firefox for Android and this link has some analysis of the privacy consequences of the Android platform. +
  • + +
  • + Tracking in Firefox is surveyed here. +
  • +
+ +

Project uplift seems to have largely been accomplished?

+ +

Links about Project Fusion

+ +
    +
  • + Project Fusion or Firefox using Onions is a joint Mozilla/Tor effort to create an enhanced Private Browsing mode for Firefox which uses Tor. +
  • + +
  • + Notes from a meeting about Fusion. +
  • + +
  • + Tor at the Heart: Firefox is a blog about Tor and the relationship they have to Firefox re: TBB, Fusion. +
  • +
+ +

The Other Version

+ +

New versions of this extension create an I2P in Private Browsing mode instead, using container tabs.

+ +

Since this is a drastic change to the behavior of the old plugin, and since there is no UI a new entry for the new plugin has been made at a new location on addons.mozilla.org.

+ +
    +
  • +

    This is the new version: [link]

    +
  • + +
  • +

    This is the old version: [link]

    +
  • +
+ +

Android usage:

+ +

Use the old version, on either an old version of Firefox(pre-68) or by enabling this custom collection: [Recommended Plugins] https://addons.mozilla.org/en-US/firefox/collections/14614396/I2P-Browser-Fork/

diff --git a/info.js b/info.js index 4784ed5..1212aa8 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; }); } diff --git a/location.js b/location.js index 0e574f5..94b32c9 100644 --- a/location.js +++ b/location.js @@ -1,8 +1,8 @@ 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({ diff --git a/options/options.js b/options/options.js index d26922e..adec9ac 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,87 +346,87 @@ 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.rpc_host; + 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.rpc_port; + 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.rpc_path; + 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.rpc_pass; + btrpcpassitem.value = restoredSettings.bt_rpc_pass; //console.log("(options)showing bt rpc pass:"); SetBookButton(); @@ -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 9f2818a..854e912 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 fe9b945..78815e5 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"); } } @@ -14,7 +14,7 @@ function disableHyperlinkAuditing() { var setting = browser.privacy.websites.hyperlinkAuditingEnabled.set({ value: false, }); - console.log('Disabling hyperlink auditing/val=', { + console.log("Disabling hyperlink auditing/val=", { value: false, }); setting.then(onSet); @@ -23,7 +23,7 @@ function disableHyperlinkAuditing() { // UNINSTALL ONLY function enableHyperlinkAuditing() { var setting = browser.privacy.websites.hyperlinkAuditingEnabled.clear(); - console.log('Disabling hyperlink auditing/val=', { + console.log("Disabling hyperlink auditing/val=", { value: false, }); setting.then(onSet); @@ -34,7 +34,7 @@ function enableFirstPartyIsolation() { var setting = browser.privacy.websites.firstPartyIsolate.set({ value: true, }); - console.log('Enabling first party isolation/val=', { + console.log("Enabling first party isolation/val=", { value: true, }); setting.then(onSet); @@ -43,7 +43,7 @@ function enableFirstPartyIsolation() { // UNINSTALL ONLY function disableFirstPartyIsolation() { var setting = browser.privacy.websites.firstPartyIsolate.clear(); - console.log('Enabling first party isolation/val=', { + console.log("Enabling first party isolation/val=", { value: true, }); setting.then(onSet); @@ -57,13 +57,13 @@ function disableEvilCookies() { getting.then((got) => { var setting = browser.privacy.websites.cookieConfig.set({ value: { - behavior: 'reject_third_party', + 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', + behavior: "reject_third_party", nonPersistentCookies: got.value.nonPersistentCookies, }, }); @@ -421,33 +421,26 @@ function i2pHostName(url) { if (u.host.endsWith(".i2p")) { hostname = u.host; } else if (url.includes("=")) { - console.log("(hosts) scrub 1", url); if (url.includes(".i2p")) { lsit = url.split("="); - console.log("(hosts) scrub 2", hostname); 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); } - console.log("(hosts) scrub 3", hostname); break; } if (hostname != "") { - console.log("(hosts) scrub 4", hostname); break; } } } } else if (url.indexOf("://") > -1) { hostname = url.split("/")[2]; - console.log("(hosts) scrub 5", hostname); } else { hostname = url.split("/")[0]; - console.log("(hosts) scrub 6", hostname); } - console.log("(hosts) scrub 7", hostname); return hostname; } diff --git a/proxy.js b/proxy.js index 2a95e0d..dffd372 100644 --- a/proxy.js +++ b/proxy.js @@ -1,10 +1,10 @@ -var titlepref = chrome.i18n.getMessage('titlePreface'); -var webpref = chrome.i18n.getMessage('webPreface'); -var ircpref = chrome.i18n.getMessage('ircPreface'); -var torrentpref = chrome.i18n.getMessage('torrentPreface'); -var routerpref = chrome.i18n.getMessage('routerPreface'); -var routerprefpriv = chrome.i18n.getMessage('routerPrefacePrivate'); -var ircpref = chrome.i18n.getMessage('ircPreface'); +var titlepref = chrome.i18n.getMessage("titlePreface"); +var webpref = chrome.i18n.getMessage("webPreface"); +var ircpref = chrome.i18n.getMessage("ircPreface"); +var torrentpref = chrome.i18n.getMessage("torrentPreface"); +var routerpref = chrome.i18n.getMessage("routerPreface"); +var routerprefpriv = chrome.i18n.getMessage("routerPrefacePrivate"); +var ircpref = chrome.i18n.getMessage("ircPreface"); browser.privacy.network.peerConnectionEnabled.set({ value: true, @@ -14,17 +14,17 @@ chrome.privacy.network.networkPredictionEnabled.set({ 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(), @@ -32,22 +32,22 @@ var handleContextProxyRequest = async function(requestDetails) { }; return proxy; } - if (requestDetails.url.includes(':7669')) { + if (requestDetails.url.includes(":7669")) { proxy = null; return proxy; } } 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(), @@ -56,11 +56,11 @@ var handleContextProxyRequest = async function(requestDetails) { 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; @@ -79,20 +79,20 @@ var handleContextProxyRequest = async function(requestDetails) { } } try { - var handleProxyRequest = function(context) { + var handleProxyRequest = function (context) { proxy = { type: getScheme(), host: getHost(), 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(); @@ -111,13 +111,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 ); } @@ -130,29 +130,29 @@ var handleContextProxyRequest = async function(requestDetails) { port: getPort(), }; } - 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'; + 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)) { @@ -163,7 +163,7 @@ var handleContextProxyRequest = async function(requestDetails) { }; return proxy; } - if (requestDetails.originUrl == browser.runtime.getURL('security.html')) { + if (requestDetails.originUrl == browser.runtime.getURL("security.html")) { proxy = { type: getScheme(), host: getHost(), @@ -172,13 +172,13 @@ var handleContextProxyRequest = async function(requestDetails) { 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 (requestDetails.tabId > 0) { - if (requestDetails.url.includes('MuWire')) { + if (requestDetails.url.includes("MuWire")) { return; } if (proxyHost(requestDetails.url)) { @@ -207,64 +207,72 @@ var handleContextProxyRequest = async function(requestDetails) { /*proxy = {}; console.log("(proxy)Returning unset Proxy", proxy); return proxy;*/ + } else { + proxy = { + type: getScheme(), + host: getHost(), + port: getPort(), + }; + 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, @@ -274,14 +282,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, @@ -295,28 +303,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; } @@ -324,8 +332,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; } @@ -333,41 +341,35 @@ 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(); }); - var gettingInfo = browser.runtime.getPlatformInfo(); - gettingInfo.then((got) => { - if (got.os != 'android') { - browser.windows.getAll().then((wins) => wins.forEach(themeWindow)); - } - }); } updateFromStorage(); @@ -378,7 +380,7 @@ setupProxy(); var gettingListenerInfo = browser.runtime.getPlatformInfo(); gettingListenerInfo.then((got) => { browser.windows.onCreated.addListener(() => { - chrome.storage.local.get(function() { + chrome.storage.local.get(function () { setupProxy(); }); }); diff --git a/script.js b/script.js index 600cd7c..8bdeae9 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 316c842..676ab86 100644 --- a/scrub.js +++ b/scrub.js @@ -1,25 +1,25 @@ -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 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 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; } } @@ -28,7 +28,7 @@ var contextScrub = async function(requestDetails) { }; } }; - 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( @@ -39,7 +39,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); @@ -56,11 +56,11 @@ 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, @@ -87,7 +87,7 @@ var notMyContextNotMyProblem = async function() { name: botepref, }); var othercontexts = []; - console.log('Contexts:', contexts); + console.log("Contexts:", contexts); for (context in contexts) { if ( contexts[context].cookieStoreId == context1[0].cookieStoreId || @@ -99,9 +99,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") @@ -109,15 +109,15 @@ var notMyContextNotMyProblem = async function() { } } return othercontexts; -} +}; -var contextSetup = function(requestDetails) { +var contextSetup = function (requestDetails) { function onContextError() { - console.log('Context launcher error'); + console.log("Context launcher error"); } //console.log("(isolate)Forcing I2P requests into context"); try { - var i2pTabFind = async function(tabId) { + var i2pTabFind = async function (tabId) { try { var context = await browser.contextualIdentities.query({ name: titlepref, @@ -127,14 +127,14 @@ var contextSetup = function(requestDetails) { function onCreated(tab) { function closeOldTab() { if (tabId.id != tab.id) { - console.log('(isolate) Closing un-isolated tab', tabId.id); - console.log('in favor of', tab.id); - console.log('with context', tab.cookieStoreId); + console.log("(isolate) Closing un-isolated tab", tabId.id); + console.log("in favor of", tab.id); + console.log("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); } @@ -152,10 +152,10 @@ var contextSetup = function(requestDetails) { return tabId; } } catch (error) { - console.log('(isolate)Context Error', error); + console.log("(isolate)Context Error", error); } }; - var routerTabFind = async function(tabId) { + var routerTabFind = async function (tabId) { try { var context = await browser.contextualIdentities.query({ name: routerpref, @@ -165,9 +165,9 @@ var contextSetup = function(requestDetails) { function onCreated(tab) { function closeOldTab(tabs) { if (tabId.id != tab.id) { - console.log('(isolate) Closing un-isolated tab', tabId.id); - console.log('in favor of', tab.id); - console.log('with context', tab.cookieStoreId); + console.log("(isolate) Closing un-isolated tab", tabId.id); + console.log("in favor of", tab.id); + console.log("with context", tab.cookieStoreId); browser.tabs.remove(tabId.id); browser.tabs.move(tab.id, { index: 0 }); } @@ -181,10 +181,10 @@ var contextSetup = function(requestDetails) { }); 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 + '/home'; + if (requestDetails.url.endsWith("xhr1.html")) { + hostname = url.split("/")[2]; + let prefix = url.substr(0, url.indexOf("://") + 3); + requestDetails.url = prefix + hostname + "/home"; } var created = browser.tabs.create({ active: true, @@ -199,10 +199,10 @@ var contextSetup = function(requestDetails) { return tabId; } } catch (error) { - console.log('(isolate)Context Error', error); + console.log("(isolate)Context Error", error); } }; - var i2ptunnelTabFind = async function(tabId) { + var i2ptunnelTabFind = async function (tabId) { try { var context = await browser.contextualIdentities.query({ name: tunnelpref, @@ -212,9 +212,9 @@ var contextSetup = function(requestDetails) { function onCreated(tab) { function closeOldTab(tabs) { if (tabId.id != tab.id) { - console.log('(isolate) Closing un-isolated tab', tabId.id); - console.log('in favor of', tab.id); - console.log('with context', tab.cookieStoreId); + console.log("(isolate) Closing un-isolated tab", tabId.id); + console.log("in favor of", tab.id); + console.log("with context", tab.cookieStoreId); browser.tabs.remove(tabId.id); browser.tabs.move(tab.id, { index: 0 }); } @@ -228,10 +228,10 @@ var contextSetup = function(requestDetails) { }); 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 + '/i2ptunnelmgr/'; + if (requestDetails.url.endsWith("xhr1.html")) { + hostname = url.split("/")[2]; + let prefix = url.substr(0, url.indexOf("://") + 3); + requestDetails.url = prefix + hostname + "/i2ptunnelmgr/"; } var created = browser.tabs.create({ active: true, @@ -246,10 +246,10 @@ var contextSetup = function(requestDetails) { return tabId; } } catch (error) { - console.log('(isolate)Context Error', error); + console.log("(isolate)Context Error", error); } }; - var snarkTabFind = async function(tabId) { + var snarkTabFind = async function (tabId) { try { var context = await browser.contextualIdentities.query({ name: torrentpref, @@ -259,16 +259,16 @@ var contextSetup = function(requestDetails) { 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', tabId.id); - console.log('in favor of', tab.id); - console.log('with context', tab.cookieStoreId); + console.log("(isolate) Closing un-isolated tab", tabId.id); + console.log("in favor of", tab.id); + console.log("with context", tab.cookieStoreId); browser.tabs.remove(tabId.id); browser.tabs.move(tab.id, { index: 0 }); } @@ -282,10 +282,10 @@ var contextSetup = function(requestDetails) { }); 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, @@ -301,10 +301,10 @@ var contextSetup = function(requestDetails) { } } } catch (error) { - console.log('(isolate)Context Error', error); + console.log("(isolate)Context Error", error); } }; - var muwireTabFind = async function(tabId) { + var muwireTabFind = async function (tabId) { try { var context = await browser.contextualIdentities.query({ name: muwirepref, @@ -314,9 +314,9 @@ var contextSetup = function(requestDetails) { function onCreated(tab) { function closeOldTab(tabs) { if (tabId.id != tab.id) { - console.log('(isolate) Closing un-isolated tab', tabId.id); - console.log('in favor of', tab.id); - console.log('with context', tab.cookieStoreId); + console.log("(isolate) Closing un-isolated tab", tabId.id); + console.log("in favor of", tab.id); + console.log("with context", tab.cookieStoreId); browser.tabs.remove(tabId.id); browser.tabs.move(tab.id, { index: 0 }); } @@ -330,10 +330,10 @@ var contextSetup = function(requestDetails) { }); 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 + '/muwire/'; + if (requestDetails.url.endsWith("xhr1.html")) { + hostname = url.split("/")[2]; + let prefix = url.substr(0, url.indexOf("://") + 3); + requestDetails.url = prefix + hostname + "/muwire/"; } var created = browser.tabs.create({ active: true, @@ -348,10 +348,10 @@ var contextSetup = function(requestDetails) { return tabId; } } catch (error) { - console.log('(isolate)Context Error', error); + console.log("(isolate)Context Error", error); } }; - var i2pboteTabFind = async function(tabId) { + var i2pboteTabFind = async function (tabId) { try { var context = await browser.contextualIdentities.query({ name: botepref, @@ -361,9 +361,9 @@ var contextSetup = function(requestDetails) { function onCreated(tab) { function closeOldTab(tabs) { if (tabId.id != tab.id) { - console.log('(isolate) Closing un-isolated tab', tabId.id); - console.log('in favor of', tab.id); - console.log('with context', tab.cookieStoreId); + console.log("(isolate) Closing un-isolated tab", tabId.id); + console.log("in favor of", tab.id); + console.log("with context", tab.cookieStoreId); browser.tabs.remove(tabId.id); browser.tabs.move(tab.id, { index: 0 }); } @@ -377,10 +377,10 @@ var contextSetup = function(requestDetails) { }); 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 + '/i2pbote/'; + if (requestDetails.url.endsWith("xhr1.html")) { + hostname = url.split("/")[2]; + let prefix = url.substr(0, url.indexOf("://") + 3); + requestDetails.url = prefix + hostname + "/i2pbote/"; } var created = browser.tabs.create({ active: true, @@ -395,10 +395,10 @@ var contextSetup = function(requestDetails) { return tabId; } } catch (error) { - console.log('(isolate)Context Error', error); + console.log("(isolate)Context Error", error); } }; - var mailTabFind = async function(tabId) { + var mailTabFind = async function (tabId) { try { var context = await browser.contextualIdentities.query({ name: mailpref, @@ -408,9 +408,9 @@ var contextSetup = function(requestDetails) { function onCreated(tab) { function closeOldTab(tabs) { if (tabId.id != tab.id) { - console.log('(isolate) Closing un-isolated tab', tabId.id); - console.log('in favor of', tab.id); - console.log('with context', tab.cookieStoreId); + console.log("(isolate) Closing un-isolated tab", tabId.id); + console.log("in favor of", tab.id); + console.log("with context", tab.cookieStoreId); browser.tabs.remove(tabId.id); browser.tabs.move(tab.id, { index: 0 }); } @@ -424,10 +424,10 @@ var contextSetup = function(requestDetails) { }); 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 + '/webmail/'; + if (requestDetails.url.endsWith("xhr1.html")) { + hostname = url.split("/")[2]; + let prefix = url.substr(0, url.indexOf("://") + 3); + requestDetails.url = prefix + hostname + "/webmail/"; } var created = browser.tabs.create({ active: true, @@ -442,23 +442,23 @@ var contextSetup = function(requestDetails) { return tabId; } } catch (error) { - console.log('(isolate)Context Error', error); + console.log("(isolate)Context Error", error); } }; - var ircTabFind = async function(tabId) { + var ircTabFind = async function (tabId) { try { var context = await browser.contextualIdentities.query({ name: ircpref, }); if (tabId.cookieStoreId != context[0].cookieStoreId) { - if (requestDetails.url.includes(':7669')) { + if (requestDetails.url.includes(":7669")) { function Create() { function onCreated(tab) { function closeOldTab(tabs) { if (tabId.id != tab.id) { - console.log('(isolate) Closing un-isolated tab', tabId.id); - console.log('in favor of', tab.id); - console.log('with context', tab.cookieStoreId); + console.log("(isolate) Closing un-isolated tab", tabId.id); + console.log("in favor of", tab.id); + console.log("with context", tab.cookieStoreId); browser.tabs.remove(tabId.id); browser.tabs.move(tab.id, { index: 0 }); } @@ -486,16 +486,16 @@ var contextSetup = function(requestDetails) { } } } catch (error) { - console.log('(isolate)Context Error', error); + console.log("(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) { @@ -519,22 +519,22 @@ 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; } @@ -547,22 +547,22 @@ 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, @@ -582,11 +582,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) { @@ -594,83 +594,83 @@ 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'); + console.log("(scrub) X-I2P-LOCATION"); 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', + 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; } else { - if (header.name.toUpperCase().endsWith('I2P-TORRENTLOCATION')) { - var imgs = document.getElementsByTagName('img'); + if (header.name.toUpperCase().endsWith("I2P-TORRENTLOCATION")) { + 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 + - '/' + "/" ); 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 + - '/' + "/" ); audio.innerHTML = topInnerHTML; // + innerHTML; - audio.onerror = function() { + audio.onerror = function () { audio.innerHTML = topInnerHTML + innerHTML; }; } @@ -678,10 +678,10 @@ var coolheadersSetup = function(e) { } browser.pageAction.setPopup({ tabId: tabId.id, - popup: 'torrent.html', + popup: "torrent.html", }); browser.pageAction.setIcon({ - path: 'icons/i2plogo.png', + path: "icons/i2plogo.png", tabId: e.tabId, }); browser.pageAction.setTitle({ diff --git a/torrent.js b/torrent.js index 0e574f5..94b32c9 100644 --- a/torrent.js +++ b/torrent.js @@ -1,8 +1,8 @@ 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({ diff --git a/torrent/background.js b/torrent/background.js index 7b1cefc..7304600 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"] ); }); } diff --git a/torrent/common.js b/torrent/common.js index d3a71c3..637ad0f 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 c4f9e66..e28ee6b 100644 --- a/torrent/popup.js +++ b/torrent/popup.js @@ -1,25 +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.btrpcpass !== '') { - myHeaders['Authorization'] = - 'Basic ' + btoa((server.username || '') + ':' + (server.btrpcpass || '')); + 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 = server.bt_rpc_host - if (server.bt_rpc_port != 0) req_url += ":"+server.bt_rpc_port - 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) { @@ -35,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(); }); } @@ -144,11 +146,14 @@ function showTorrents(server) { torrentsPane.hidden = false; configPane.hidden = true; for (const opener of document.querySelectorAll(".webui-opener")) { - opener.href = server.base_url + "web/"; + 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; + opener.href = req_url + "web/"; } console.log("(torrent) showing torrents"); refreshTorrents(server).catch((_) => refreshTorrentsLogErr(server)); - setInterval(() => refreshTorrentsLogErr(server), 2000); + setInterval(() => refreshTorrentsLogErr(server), 60000); } //let store =