diff --git a/background.js b/background.js index 9d095a9..b936ef2 100644 --- a/background.js +++ b/background.js @@ -1,20 +1,20 @@ -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 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 botepref = chrome.i18n.getMessage('botePreface'); function onContextsGot(contexts) { var ids = []; @@ -22,13 +22,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); } @@ -36,8 +36,8 @@ function onContextsGot(contexts) { browser.contextualIdentities .create({ name: webpref, - color: "red", - icon: "circle", + color: 'red', + icon: 'circle', }) .then(onCreated, onNotCreated); } @@ -45,8 +45,8 @@ function onContextsGot(contexts) { browser.contextualIdentities .create({ name: routerpref, - color: "blue", - icon: "briefcase", + color: 'blue', + icon: 'briefcase', }) .then(onCreated, onNotCreated); } @@ -54,8 +54,8 @@ function onContextsGot(contexts) { browser.contextualIdentities .create({ name: tunnelpref, - color: "green", - icon: "tree", + color: 'green', + icon: 'tree', }) .then(onCreated, onNotCreated); } @@ -63,8 +63,8 @@ function onContextsGot(contexts) { browser.contextualIdentities .create({ name: mailpref, - color: "yellow", - icon: "briefcase", + color: 'yellow', + icon: 'briefcase', }) .then(onCreated, onNotCreated); } @@ -72,8 +72,8 @@ function onContextsGot(contexts) { browser.contextualIdentities .create({ name: torrentpref, - color: "purple", - icon: "chill", + color: 'purple', + icon: 'chill', }) .then(onCreated, onNotCreated); } @@ -81,8 +81,8 @@ function onContextsGot(contexts) { browser.contextualIdentities .create({ name: ircpref, - color: "red", - icon: "vacation", + color: 'red', + icon: 'vacation', }) .then(onCreated, onNotCreated); } @@ -90,8 +90,8 @@ function onContextsGot(contexts) { browser.contextualIdentities .create({ name: muwirepref, - color: "turquoise", - icon: "gift", + color: 'turquoise', + icon: 'gift', }) .then(onCreated, onNotCreated); } @@ -99,30 +99,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); @@ -135,7 +135,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 { @@ -144,7 +144,7 @@ function themeWindowByTab(tabId) { } }); } - if (typeof tabId === "number") { + if (typeof tabId === 'number') { let tab = browser.tabs.get(tabId); tab.then(tabWindow); } else { @@ -167,21 +167,21 @@ function isEmpty(obj) { 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", + frame: '#4456B7', + toolbar: '#4456B7', }, }); } else { browser.theme.update(window.id, { colors: { - frame: "#4456B7", - toolbar: "#4456B7", + frame: '#4456B7', + toolbar: '#4456B7', }, }); } @@ -189,26 +189,26 @@ function themeWindow(window) { function logTabs(tabInfo) { function onContextGotTheme(context) { if (context.name == titlepref) { - 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", + frame: '#363A68', + toolbar: '#363A68', }, }); } else { browser.theme.update(window.id, { colors: { - frame: "#363A68", - toolbar: "#363A68", + frame: '#363A68', + toolbar: '#363A68', }, }); } - 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); @@ -216,46 +216,46 @@ 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); } else { browser.theme.update(window.id, { colors: null }); } } - browser.storage.local.get("originalTheme").then(unSetTheme, onError); + browser.storage.local.get('originalTheme').then(unSetTheme, onError); } } @@ -269,62 +269,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: '', }); } } @@ -339,9 +339,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, diff --git a/bookmarks.js b/bookmarks.js index 7c6efe4..0e2586b 100644 --- a/bookmarks.js +++ b/bookmarks.js @@ -1,29 +1,29 @@ 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" @@ -35,19 +35,19 @@ gettingInfo.then((got) => { 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); @@ -63,18 +63,18 @@ gettingInfo.then((got) => { 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); @@ -90,23 +90,23 @@ gettingInfo.then((got) => { 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", + url: '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" @@ -118,24 +118,24 @@ gettingInfo.then((got) => { 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://" + control_host + ":" + control_port + "/i2ptunnel", - title: "Hidden Services Manager", + 'http://' + control_host + ':' + control_port + '/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" @@ -149,49 +149,49 @@ gettingInfo.then((got) => { 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); } var bt = browser.bookmarks.search({ - query: "Toolbar", + query: 'Toolbar', }); function toolDir(bookmarkToolbar) { - var ibbt = browser.bookmarks.search("I2P Toolbar"); + 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); diff --git a/cert.js b/cert.js index 5c53542..80268bb 100644 --- a/cert.js +++ b/cert.js @@ -1,42 +1,42 @@ function blankContent(id) { let infoTitle = document.getElementById(id); if (infoTitle === null) { - console.log("content error", id); + console.log('content error', id); return; } - infoTitle.textContent = ""; + infoTitle.textContent = ''; } function contentUpdateById(id, message) { let infoTitle = document.getElementById(id); let messageContent = chrome.i18n.getMessage(message); if (infoTitle === null) { - console.log("content error", id, messageContent); + console.log('content error', id, messageContent); return; } infoTitle.textContent = messageContent; } -contentUpdateById("TypeLabel", "siteLabel"); +contentUpdateById('TypeLabel', 'siteLabel'); -contentUpdateById("CertLabel", "certLabel"); +contentUpdateById('CertLabel', 'certLabel'); function tabCheck(tabInfo) { // Information Section - console.log("(cert) checking tab"); - var host = tabInfo[0].url.split(".i2p")[0] + ".i2p"; + console.log('(cert) checking tab'); + var host = tabInfo[0].url.split('.i2p')[0] + '.i2p'; if (host.length < 51) { - contentUpdateById("AddressInfo", "isHostName"); + contentUpdateById('AddressInfo', 'isHostName'); } else { - if (host.endsWith("b32.i2p")) { - contentUpdateById("AddressInfo", "isBase32"); + if (host.endsWith('b32.i2p')) { + contentUpdateById('AddressInfo', 'isBase32'); } } - if (host.startsWith("https")) { - contentUpdateById("AddressCertInfo", "certPresent"); - console.log("(cert) initiating request to check server cert"); + if (host.startsWith('https')) { + contentUpdateById('AddressCertInfo', 'certPresent'); + console.log('(cert) initiating request to check server cert'); fetch(host).then((response) => { - console.log("Updating cert information", response); + console.log('Updating cert information', response); }); } else { contentUpdateById("AddressCertInfo", "certAbsent"); diff --git a/config.js b/config.js index 0b8ff55..db98366 100644 --- a/config.js +++ b/config.js @@ -1,18 +1,18 @@ -var proxy_scheme = "HTTP"; -var proxy_host = "127.0.0.1"; -var proxy_port = "4444"; +var proxy_scheme = 'HTTP'; +var proxy_host = '127.0.0.1'; +var proxy_port = '4444'; -var control_host = "127.0.0.1"; -var control_port = "7657"; +var control_host = '127.0.0.1'; +var control_port = '7657'; -var rpc_host = "127.0.0.1"; -var rpc_port = "7657"; -var rpc_path = "jsonrpc"; -var rpc_pass = "itoopie"; +var rpc_host = '127.0.0.1'; +var rpc_port = '7657'; +var rpc_path = 'jsonrpc'; +var rpc_pass = 'itoopie'; -var bt_rpc_host = "127.0.0.1"; -var bt_rpc_port = "7657"; -var bt_rpc_path = "transmission/rpc"; -var bt_rpc_pass = "transmission"; +var bt_rpc_host = '127.0.0.1'; +var bt_rpc_port = '7657'; +var bt_rpc_path = 'transmission/rpc'; +var bt_rpc_pass = 'transmission'; var disable_history = false; diff --git a/content.js b/content.js index bfffd6b..b3546e6 100644 --- a/content.js +++ b/content.js @@ -2,53 +2,53 @@ 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) => { - console.log("FETCH RESULT", myJson); - contentUpdateById("proxy-check", "proxySuccessStatus"); +fetch('http://proxy.i2p').then((myJson) => { + console.log('FETCH RESULT', myJson); + contentUpdateById('proxy-check', 'proxySuccessStatus'); }); diff --git a/context.js b/context.js index d468dee..9628f85 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 bd88028..b1113b2 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); @@ -112,6 +112,6 @@ var handlerSetup = function (requestDetails) { browser.webRequest.onBeforeRequest.addListener( handlerSetup, - { urls: [""] }, - ["blocking"] + { urls: [''] }, + ['blocking'] ); diff --git a/home.js b/home.js index 2001fe1..b7f66f4 100644 --- a/home.js +++ b/home.js @@ -1,25 +1,25 @@ -document.addEventListener("click", (clickEvent) => { - if (clickEvent.target.id === "onboardingButtonZero") { - flipVisibility("onboardingContentZero"); - } else if (clickEvent.target.id === "onboardingButtonOne") { - flipVisibility("onboardingContentOne"); - } else if (clickEvent.target.id === "onboardingButtonTwo") { - flipVisibility("onboardingContentTwo"); - } else if (clickEvent.target.id === "onboardingButtonThree") { - flipVisibility("onboardingContentThree"); - } else if (clickEvent.target.id === "onboardingButtonFour") { - flipVisibility("onboardingContentFour"); - } else if (clickEvent.target.id === "fliplinks") { - flipVisibility("info-content"); +document.addEventListener('click', (clickEvent) => { + if (clickEvent.target.id === 'onboardingButtonZero') { + flipVisibility('onboardingContentZero'); + } else if (clickEvent.target.id === 'onboardingButtonOne') { + flipVisibility('onboardingContentOne'); + } else if (clickEvent.target.id === 'onboardingButtonTwo') { + flipVisibility('onboardingContentTwo'); + } else if (clickEvent.target.id === 'onboardingButtonThree') { + flipVisibility('onboardingContentThree'); + } else if (clickEvent.target.id === 'onboardingButtonFour') { + flipVisibility('onboardingContentFour'); + } else if (clickEvent.target.id === 'fliplinks') { + flipVisibility('info-content'); } }); function flipVisibility(div) { - console.log("(home) seeking flippable", div); + console.log('(home) seeking flippable', div); let flippable = document.getElementById(div); - if (flippable.style.display !== "block") { - flippable.style.display = "block"; + if (flippable.style.display !== 'block') { + flippable.style.display = 'block'; } else { - flippable.style.display = "none"; + flippable.style.display = 'none'; } } diff --git a/host.js b/host.js index ffa45d4..ac5686c 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,99 +35,99 @@ 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 = ""; - 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]; } 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 === "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) { 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 f7d1a62..bdf67c8 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/info.js b/info.js index 2a41979..ab0a478 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 94b32c9..0e574f5 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 5bd07cd..4a41a4d 100644 --- a/options/options.js +++ b/options/options.js @@ -1,151 +1,151 @@ 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 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; } @@ -153,85 +153,85 @@ 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["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['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); @@ -243,72 +243,72 @@ function checkStoredSettings(storedSettings) { function checkAndroidStoredSettings(storedSettings) { let defaultSettings = {}; - let host = ""; - let port = ""; - 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['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; @@ -320,80 +320,80 @@ function onError(e) { function storeSettings() { let storableSettings = {}; - 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['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); - 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; //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; //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; //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; //console.log("(options)showing bt rpc pass:"); @@ -412,18 +412,18 @@ function onError(e) { var gettingInfo = browser.runtime.getPlatformInfo(); gettingInfo.then((got) => { - if (got.os != "android") { - chrome.storage.local.get(function (got) { + if (got.os != 'android') { + chrome.storage.local.get(function(got) { let settings = checkStoredSettings(got); settings.then(updateUI); }); } else { - chrome.storage.local.get(function (got) { + chrome.storage.local.get(function(got) { checkAndroidStoredSettings(got); updateUI(got); }); } }); -const saveButton = document.querySelector("#save-button"); -saveButton.addEventListener("click", storeSettings); +const saveButton = document.querySelector('#save-button'); +saveButton.addEventListener('click', storeSettings); diff --git a/platform.js b/platform.js index 854e912..9f2818a 100644 --- a/platform.js +++ b/platform.js @@ -2,19 +2,19 @@ var android = false; var gettingInfo = browser.runtime.getPlatformInfo(); gettingInfo.then((got) => { - if (got.os == "android") { - console.log("Running in Android detected"); + if (got.os == 'android') { + console.log('Running in Android detected'); android = true; return true; } else { - console.log("Running in Desktop detected"); + console.log('Running in Desktop detected'); android = false; return false; } }); function isDroid() { - console.log("android?", android); + console.log('android?', android); if (android == undefined) { return false; } diff --git a/privacy.js b/privacy.js index 51a2eff..13ca3e3 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); @@ -25,7 +25,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); @@ -39,13 +39,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, }, }); diff --git a/proxy.js b/proxy.js index fc64815..389dbd8 100644 --- a/proxy.js +++ b/proxy.js @@ -1,8 +1,9 @@ -var titlepref = chrome.i18n.getMessage("titlePreface"); -var webpref = chrome.i18n.getMessage("webPreface"); -var ircpref = chrome.i18n.getMessage("ircPreface"); -var routerpref = chrome.i18n.getMessage("routerPreface"); -var routerprefpriv = chrome.i18n.getMessage("routerPrefacePrivate"); +var titlepref = chrome.i18n.getMessage('titlePreface'); +var webpref = chrome.i18n.getMessage('webPreface'); +var ircpref = chrome.i18n.getMessage('ircPreface'); +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, @@ -12,30 +13,39 @@ 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) { try { - var handleProxyRequest = function (context) { + var handleProxyRequest = function(context) { proxy = { failoverTimeout: 0, proxyDns: false, }; - if (context == "firefox-default" || context == "firefox-private") { + if (context == 'firefox-default' || context == 'firefox-private') { proxy = null; return proxy; } - console.log("(proxy), context", context); + console.log('(proxy), context', context); if (context != undefined) { + if (context.name == ircpref) { + if (!requestDetails.url.includes('7669')) { + proxy = { + type: getScheme(), + host: getHost(), + port: getPort(), + }; + } + } if (context.name == titlepref) { - if (!requestDetails.url.includes("/i2psnark/")) { - console.log("URL", requestDetails.url); + if (!requestDetails.url.includes('/i2psnark/')) { + console.log('URL', requestDetails.url); proxy = { type: getScheme(), host: getHost(), @@ -49,7 +59,7 @@ var handleContextProxyRequest = async function (requestDetails) { host: getHost(), port: getPort(), }; - if (requestDetails.url.includes(":7669")) { + if (requestDetails.url.includes(':7669')) { proxy = null; } } else if (context.name == routerpref) { @@ -67,9 +77,9 @@ var handleContextProxyRequest = async function (requestDetails) { if (localHost(requestDetails.url)) { if (!routerHost(requestDetails.url)) { proxy = { - type: "http", - host: "localhost", - port: "65535", + type: 'http', + host: 'localhost', + port: '65535', }; } } @@ -78,11 +88,11 @@ var handleContextProxyRequest = async function (requestDetails) { } if (!routerHost(requestDetails.url)) { if (localHost(requestDetails.url)) { - if (requestDetails.url.includes(":7669")) { + if (requestDetails.url.includes(':7669')) { proxy = null; } else { console.log( - "(proxy) non-routerconsole localhost url, will not interfere", + '(proxy) non-routerconsole localhost url, will not interfere', requestDetails.url ); } @@ -98,23 +108,23 @@ var handleContextProxyRequest = async function (requestDetails) { //tab.then(handleTabRequest,) return proxy; }; - var contextGet = async function (tabInfo) { + var contextGet = async function(tabInfo) { try { - console.log("(proxy)Tab info from Function", tabInfo); + console.log('(proxy)Tab info from Function', tabInfo); 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 { - console.log("(proxy)Tab ID from Request", tabId); + console.log('(proxy)Tab ID from Request', tabId); 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)) { @@ -125,10 +135,10 @@ var handleContextProxyRequest = async function (requestDetails) { }; return proxy; } - if (requestDetails.originUrl == browser.runtime.getURL("security.html")) { + if (requestDetails.originUrl == browser.runtime.getURL('security.html')) { console.log( - "(proxy) extension security URL", - browser.runtime.getURL("security.html") + '(proxy) extension security URL', + browser.runtime.getURL('security.html') ); proxy = { type: getScheme(), @@ -138,8 +148,8 @@ 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({}); } @@ -158,7 +168,7 @@ var handleContextProxyRequest = async function (requestDetails) { requestDetails.tabId = tab; var context = tab.then(contextGet); var proxy = await context.then(handleProxyRequest); - console.log("(proxy)Returning I2P Proxy", proxy); + console.log('(proxy)Returning I2P Proxy', proxy); return proxy; } else { var tab = tabGet(requestDetails.tabId); @@ -172,62 +182,62 @@ var handleContextProxyRequest = async function (requestDetails) { 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, @@ -237,14 +247,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, @@ -258,28 +268,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; } @@ -287,8 +297,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; } @@ -296,38 +306,38 @@ function getPort() { function getConsolePort() { if (control_port == undefined) { var scheme = getScheme(); - if (scheme == "socks") proxy_port = "7657"; - else proxy_port = "7657"; + if (scheme == 'socks') proxy_port = '7657'; + else proxy_port = '7657'; } return proxy_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") { + if (got.os != 'android') { browser.windows.getAll().then((wins) => wins.forEach(themeWindow)); } }); @@ -341,7 +351,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 ff339f4..19322e6 100644 --- a/script.js +++ b/script.js @@ -1,66 +1,66 @@ browser.runtime.onMessage.addListener((request) => { - var response = ""; - if (request.req === "i2p-location") { - response = "no-alt-location"; - const metas = document.getElementsByTagName("meta"); + var response = ''; + if (request.req === 'i2p-location') { + response = 'no-alt-location'; + const metas = document.getElementsByTagName('meta'); for (let i = 0; i < metas.length; i++) { try { - tag = metas[i].getAttribute("http-equiv"); - if (tag.toUpperCase() === "I2P-LOCATION") { - response = metas[i].getAttribute("content"); + tag = metas[i].getAttribute('http-equiv'); + if (tag.toUpperCase() === 'I2P-LOCATION') { + response = metas[i].getAttribute('content'); } - if (tag.toUpperCase() === "X-I2P-LOCATION") { - response = metas[i].getAttribute("content"); + if (tag.toUpperCase() === 'X-I2P-LOCATION') { + response = metas[i].getAttribute('content'); } - } catch {} + } catch {}; } } - if (request.req === "i2p-torrentlocation") { - response = "no-alt-location"; - const metas = document.getElementsByTagName("meta"); + if (request.req === 'i2p-torrentlocation') { + response = 'no-alt-location'; + const metas = document.getElementsByTagName('meta'); for (let i = 0; i < metas.length; i++) { try { - tag = metas[i].getAttribute("http-equiv"); - if (tag.toUpperCase() === "I2P-TORRENTLOCATION") { - response = metas[i].getAttribute("content"); - var imgs = document.getElementsByTagName("img"); + tag = metas[i].getAttribute('http-equiv'); + if (tag.toUpperCase() === 'I2P-TORRENTLOCATION') { + response = metas[i].getAttribute('content'); + var imgs = document.getElementsByTagName('img'); for (let img of imgs) { let tmpsrc = new URL(img.src); 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 links = document.getElementsByTagName("a"); - console.log("Listing link", links); + var links = document.getElementsByTagName('a'); + console.log('Listing link', links); for (let link of links) { - console.log("(Changing Link)", link); + console.log('(Changing Link)', link); let tmpsrc = new URL(link.href); // console.log("link", tmpsrc.host, tmpsrc.pathname) if (tmpsrc.host == location.host) { if ( - !tmpsrc.pathname.endsWith("html") && - !tmpsrc.pathname.endsWith("htm") && - !tmpsrc.pathname.endsWith("php") && - !tmpsrc.pathname.endsWith("jsp") && - !tmpsrc.pathname.endsWith("asp") && - !tmpsrc.pathname.endsWith("aspx") && - !tmpsrc.pathname.endsWith("atom") && - !tmpsrc.pathname.endsWith("rss") && - !tmpsrc.pathname.endsWith("/") && - tmpsrc.pathname.includes(".") + !tmpsrc.pathname.endsWith('html') && + !tmpsrc.pathname.endsWith('htm') && + !tmpsrc.pathname.endsWith('php') && + !tmpsrc.pathname.endsWith('jsp') && + !tmpsrc.pathname.endsWith('asp') && + !tmpsrc.pathname.endsWith('aspx') && + !tmpsrc.pathname.endsWith('atom') && + !tmpsrc.pathname.endsWith('rss') && + !tmpsrc.pathname.endsWith('/') && + tmpsrc.pathname.includes('.') ) { - console.log("link", tmpsrc.host, tmpsrc.pathname); + console.log('link', tmpsrc.host, tmpsrc.pathname); link.href = - "http://127.0.0.1:7657/i2psnark/" + + 'http://127.0.0.1:7657/i2psnark/' + tmpsrc.host + tmpsrc.pathname; - link.onerror = function () { + link.onerror = function() { window.location.href = tmpsrc.href; }; } @@ -76,75 +76,75 @@ browser.runtime.onMessage.addListener((request) => { //} } } - var videos = document.getElementsByTagName("video"); + var videos = document.getElementsByTagName('video'); for (let video of videos) { let tmpsrc = new URL(video.currentSrc); if (tmpsrc.host == location.host) { - if (!video.innerHTML.includes("127.0.0.1")) { + if (!video.innerHTML.includes('127.0.0.1')) { innerHTML = video.innerHTML; topInnerHTML = video.innerHTML.replace( 'src="', - 'src="http://127.0.0.1:7657/i2psnark/' + location.host + "/" + 'src="http://127.0.0.1:7657/i2psnark/' + location.host + '/' ); video.innerHTML = topInnerHTML + innerHTML; } } } - var audios = document.getElementsByTagName("audio"); + var audios = document.getElementsByTagName('audio'); for (let audio of audios) { let tmpsrc = new URL(audio.currentSrc); if (tmpsrc.host == location.host) { - if (!audio.innerHTML.includes("127.0.0.1")) { + if (!audio.innerHTML.includes('127.0.0.1')) { innerHTML = audio.innerHTML; topInnerHTML = audio.innerHTML.replace( 'src="', - 'src="http://127.0.0.1:7657/i2psnark/' + location.host + "/" + 'src="http://127.0.0.1:7657/i2psnark/' + location.host + '/' ); audio.innerHTML = topInnerHTML + innerHTML; } } } } - if (tag.toUpperCase() === "X-I2P-TORRENTLOCATION") { - response = metas[i].getAttribute("content"); - var imgs = document.getElementsByTagName("img"); + if (tag.toUpperCase() === 'X-I2P-TORRENTLOCATION') { + response = metas[i].getAttribute('content'); + var imgs = document.getElementsByTagName('img'); for (let img of imgs) { let tmpsrc = new URL(img.src); 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 links = document.getElementsByTagName("a"); - console.log("Listing link", links); + var links = document.getElementsByTagName('a'); + console.log('Listing link', links); for (let link of links) { - console.log("(Changing Link)", link); + console.log('(Changing Link)', link); let tmpsrc = new URL(link.href); //console.log("link", tmpsrc.host, tmpsrc.pathname) if (tmpsrc.host == location.host) { if ( - !tmpsrc.pathname.endsWith("html") && - !tmpsrc.pathname.endsWith("htm") && - !tmpsrc.pathname.endsWith("php") && - !tmpsrc.pathname.endsWith("jsp") && - !tmpsrc.pathname.endsWith("asp") && - !tmpsrc.pathname.endsWith("aspx") && - !tmpsrc.pathname.endsWith("atom") && - !tmpsrc.pathname.endsWith("rss") && - !tmpsrc.pathname.endsWith("/") && - tmpsrc.pathname.includes(".") + !tmpsrc.pathname.endsWith('html') && + !tmpsrc.pathname.endsWith('htm') && + !tmpsrc.pathname.endsWith('php') && + !tmpsrc.pathname.endsWith('jsp') && + !tmpsrc.pathname.endsWith('asp') && + !tmpsrc.pathname.endsWith('aspx') && + !tmpsrc.pathname.endsWith('atom') && + !tmpsrc.pathname.endsWith('rss') && + !tmpsrc.pathname.endsWith('/') && + tmpsrc.pathname.includes('.') ) { - console.log("link", tmpsrc.host, tmpsrc.pathname); + console.log('link', tmpsrc.host, tmpsrc.pathname); link.href = - "http://127.0.0.1:7657/i2psnark/" + + 'http://127.0.0.1:7657/i2psnark/' + tmpsrc.host + tmpsrc.pathname; - link.onerror = function () { + link.onerror = function() { window.location.href = tmpsrc.href; }; } @@ -160,36 +160,36 @@ browser.runtime.onMessage.addListener((request) => { //} } } - var videos = document.getElementsByTagName("video"); + var videos = document.getElementsByTagName('video'); for (let video of videos) { let tmpsrc = new URL(video.currentSrc); if (tmpsrc.host == location.host) { - if (!video.innerHTML.includes("127.0.0.1")) { + if (!video.innerHTML.includes('127.0.0.1')) { innerHTML = video.innerHTML; topInnerHTML = video.innerHTML.replace( 'src="', - 'src="http://127.0.0.1:7657/i2psnark/' + location.host + "/" + 'src="http://127.0.0.1:7657/i2psnark/' + location.host + '/' ); video.innerHTML = topInnerHTML + innerHTML; } } } - var audios = document.getElementsByTagName("audio"); + var audios = document.getElementsByTagName('audio'); for (let audio of audios) { let tmpsrc = new URL(audio.currentSrc); if (tmpsrc.host == location.host) { - if (!audio.innerHTML.includes("127.0.0.1")) { + if (!audio.innerHTML.includes('127.0.0.1')) { innerHTML = audio.innerHTML; topInnerHTML = audio.innerHTML.replace( 'src="', - 'src="http://127.0.0.1:7657/i2psnark/' + location.host + "/" + 'src="http://127.0.0.1:7657/i2psnark/' + location.host + '/' ); audio.innerHTML = topInnerHTML + innerHTML; } } } } - } catch {} + } catch {}; } } return Promise.resolve({ content: response }); diff --git a/scrub.js b/scrub.js index 15f797e..935a41c 100644 --- a/scrub.js +++ b/scrub.js @@ -1,29 +1,29 @@ -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'); } //console.log("(scrub)Scrubbing info from contextualized request"); 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) { if (i2pHost(requestDetails.url)) { for (var header of requestDetails.requestHeaders) { - if (header.name.toLowerCase() === "user-agent") { + if (header.name.toLowerCase() === 'user-agent') { header.value = ua; - console.log("(scrub)User-Agent header modified", header.value); + console.log('(scrub)User-Agent header modified', header.value); } } } @@ -33,9 +33,9 @@ var contextScrub = async function (requestDetails) { } else if (context.name == routerpref) { if (i2pHost(requestDetails.url)) { for (var header of requestDetails.requestHeaders) { - if (header.name.toLowerCase() === "user-agent") { + if (header.name.toLowerCase() === 'user-agent') { header.value = ua; - console.log("(scrub)User-Agent header modified", header.value); + console.log('(scrub)User-Agent header modified', header.value); } } } @@ -44,7 +44,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( @@ -55,7 +55,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); @@ -85,11 +85,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, @@ -116,7 +116,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 || @@ -128,9 +128,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") @@ -138,15 +138,16 @@ 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('(scrub) host', requestDetails.url); //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, @@ -156,14 +157,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); } @@ -181,10 +182,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, @@ -194,9 +195,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 }); } @@ -210,10 +211,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, @@ -228,10 +229,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, @@ -241,11 +242,11 @@ 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: 1 }); + browser.tabs.move(tab.id, { index: 0 }); } for (index = 0; index < tabs.length; index++) { if (index != tabs.length - 1) @@ -257,10 +258,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, @@ -275,10 +276,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, @@ -288,18 +289,18 @@ 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: 2 }); + browser.tabs.move(tab.id, { index: 0 }); } for (index = 0; index < tabs.length; index++) { if (index != tabs.length - 1) @@ -311,10 +312,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, @@ -330,10 +331,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, @@ -343,11 +344,11 @@ 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: 4 }); + browser.tabs.move(tab.id, { index: 0 }); } for (index = 0; index < tabs.length; index++) { if (index != tabs.length - 1) @@ -359,10 +360,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, @@ -377,10 +378,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, @@ -390,11 +391,11 @@ 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: 5 }); + browser.tabs.move(tab.id, { index: 0 }); } for (index = 0; index < tabs.length; index++) { if (index != tabs.length - 1) @@ -406,10 +407,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, @@ -424,10 +425,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, @@ -437,11 +438,11 @@ 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: 3 }); + browser.tabs.move(tab.id, { index: 0 }); } for (index = 0; index < tabs.length; index++) { if (index != tabs.length - 1) @@ -453,10 +454,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, @@ -471,25 +472,25 @@ 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: 6 }); + browser.tabs.move(tab.id, { index: 0 }); } for (index = 0; index < tabs.length; index++) { if (index != tabs.length - 1) @@ -515,10 +516,10 @@ var contextSetup = function (requestDetails) { } } } catch (error) { - console.log("(isolate)Context Error", error); + console.log('(isolate)Context Error', error); } }; - var normalTabFind = async function (tabId) { + var normalTabFind = async function(tabId) { if (tabId == undefined) { return; } @@ -533,21 +534,21 @@ var contextSetup = function (requestDetails) { var nmp = false; for (context in othercontexts) { if (tabId.cookieStoreId == othercontexts[context].cookieStoreId) { - console.log("Not my problem"); + console.log('Not my problem'); nmp = true; } } if ( - tabId.cookieStoreId == "firefox-default" || - tabId.cookieStoreId == "firefox-private" || + tabId.cookieStoreId == 'firefox-default' || + tabId.cookieStoreId == 'firefox-private' || tabId.cookieStoreId == anoncontext[0].cookieStoreId || tabId.cookieStoreId == irccontext[0].cookieStoreId || nmp ) { console.log( - "(ISOLATE)", + '(ISOLATE)', tabId.cookieStoreId, - "not", + 'not', anoncontext[0].cookieStoreId, irccontext[0].cookieStoreId ); @@ -561,15 +562,15 @@ var contextSetup = function (requestDetails) { tabId.cookieStoreId != tab.cookieStoreId ) { console.log( - "(isolate) Closing isolated tab", + '(isolate) Closing isolated tab', tabId.id, - "with context", + 'with context', tabId.cookieStoreId ); console.log( - "(isolate) in favor of", + '(isolate) in favor of', tab.id, - "with context", + 'with context', tab.cookieStoreId ); browser.tabs.remove(tabId.id); @@ -579,7 +580,7 @@ var contextSetup = function (requestDetails) { } var created = browser.tabs.create({ active: true, - cookieStoreId: "firefox-default", + cookieStoreId: 'firefox-default', url: requestDetails.url, }); created.then(onCreated, onContextError); @@ -589,16 +590,16 @@ var contextSetup = function (requestDetails) { return tabId; } } 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) { @@ -617,6 +618,14 @@ var contextSetup = function (requestDetails) { if (requestDetails.tabId > 0) { var tab = tabGet(requestDetails.tabId); if (i2pHost(requestDetails.url)) { + var thn = i2pHostName(requestDetails.url); + if (requestDetails.url.includes('=' + thn)) { + console.log('(scrub)checking search hostnames =' + thn); + var tpt = requestDetails.url.split('=' + thn, 2); + requestDetails.url = + 'http://' + thn + '/' + tpt[1].replace('%2F', ''); + } + console.log('(scrub) new hostname', requestDetails.url); var setcookie = browser.cookies.set({ firstPartyDomain: i2pHostName(requestDetails.url), url: requestDetails.url, @@ -632,22 +641,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; } @@ -662,26 +671,26 @@ 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(() => { for (i = 0; i < e.responseHeaders.length; i++) { let header = e.responseHeaders[i]; - if (e.url.startsWith("https")) { + if (e.url.startsWith('https')) { if ( - header.name.toUpperCase() === "I2P-LOCATION" || - header.name.toUpperCase() === "X-I2P-LOCATION" + header.name.toUpperCase() === 'I2P-LOCATION' || + header.name.toUpperCase() === 'X-I2P-LOCATION' ) { 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, }); browser.pageAction.setTitle({ @@ -692,44 +701,44 @@ var coolheadersSetup = function (e) { break; } if ( - header.name.toUpperCase() === "I2P-TORRENTLOCATION" || - header.name.toUpperCase() === "X-I2P-TORRENTLOCATION" + header.name.toUpperCase() === 'I2P-TORRENTLOCATION' || + header.name.toUpperCase() === 'X-I2P-TORRENTLOCATION' ) { - var imgs = document.getElementsByTagName("img"); + var imgs = document.getElementsByTagName('img'); for (let img of imgs) { if (tmpsrc.host == location.host) { img.src = - "http://127.0.0.1:7657/i2psnark/" + + 'http://127.0.0.1:7657/i2psnark/' + tmpsrc.host + tmpsrc.pathname; - img.onerror = function () { + img.onerror = function() { img.src = tmpsrc; }; } } - var videos = document.getElementsByTagName("video"); + var videos = document.getElementsByTagName('video'); for (let video of videos) { let tmpsrc = new URL(video.currentSrc); if (tmpsrc.host == location.host) { - if (!video.innerHTML.includes("127.0.0.1")) { + if (!video.innerHTML.includes('127.0.0.1')) { innerHTML = video.innerHTML; topInnerHTML = video.innerHTML.replace( 'src="', - 'src="http://127.0.0.1:7657/i2psnark/' + location.host + "/" + 'src="http://127.0.0.1:7657/i2psnark/' + location.host + '/' ); video.innerHTML = topInnerHTML + innerHTML; } } } - var audios = document.getElementsByTagName("audio"); + var audios = document.getElementsByTagName('audio'); for (let audio of audios) { let tmpsrc = new URL(audio.currentSrc); if (tmpsrc.host == location.host) { - if (!audio.innerHTML.includes("127.0.0.1")) { + if (!audio.innerHTML.includes('127.0.0.1')) { innerHTML = audio.innerHTML; topInnerHTML = audio.innerHTML.replace( 'src="', - 'src="http://127.0.0.1:7657/i2psnark/' + location.host + "/" + 'src="http://127.0.0.1:7657/i2psnark/' + location.host + '/' ); audio.innerHTML = topInnerHTML + innerHTML; } @@ -737,10 +746,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({ @@ -752,44 +761,44 @@ var coolheadersSetup = function (e) { } } else { if ( - header.name.toUpperCase() === "I2P-TORRENTLOCATION" || - header.name.toUpperCase() === "X-I2P-TORRENTLOCATION" + header.name.toUpperCase() === 'I2P-TORRENTLOCATION' || + header.name.toUpperCase() === 'X-I2P-TORRENTLOCATION' ) { - var imgs = document.getElementsByTagName("img"); + var imgs = document.getElementsByTagName('img'); for (let img of imgs) { if (tmpsrc.host == location.host) { img.src = - "http://127.0.0.1:7657/i2psnark/" + + 'http://127.0.0.1:7657/i2psnark/' + tmpsrc.host + tmpsrc.pathname; - img.onerror = function () { + img.onerror = function() { img.src = tmpsrc; }; } } - var videos = document.getElementsByTagName("video"); + var videos = document.getElementsByTagName('video'); for (let video of videos) { let tmpsrc = new URL(video.currentSrc); if (tmpsrc.host == location.host) { - if (!video.innerHTML.includes("127.0.0.1")) { + if (!video.innerHTML.includes('127.0.0.1')) { innerHTML = video.innerHTML; topInnerHTML = video.innerHTML.replace( 'src="', - 'src="http://127.0.0.1:7657/i2psnark/' + location.host + "/" + 'src="http://127.0.0.1:7657/i2psnark/' + location.host + '/' ); video.innerHTML = topInnerHTML + innerHTML; } } } - var audios = document.getElementsByTagName("audio"); + var audios = document.getElementsByTagName('audio'); for (let audio of audios) { let tmpsrc = new URL(audio.currentSrc); if (tmpsrc.host == location.host) { - if (!audio.innerHTML.includes("127.0.0.1")) { + if (!audio.innerHTML.includes('127.0.0.1')) { innerHTML = audio.innerHTML; topInnerHTML = audio.innerHTML.replace( 'src="', - 'src="http://127.0.0.1:7657/i2psnark/' + location.host + "/" + 'src="http://127.0.0.1:7657/i2psnark/' + location.host + '/' ); audio.innerHTML = topInnerHTML + innerHTML; } @@ -797,10 +806,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({ @@ -818,61 +827,88 @@ var coolheadersSetup = function (e) { return asyncSetPageAction; }; -function getClearTab(tobj) { - function getTabURL(tab) { - if (tab.url.startsWith("https")) { - browser.tabs - .sendMessage(tab.id, { req: "i2p-location" }) - .then((response) => { - if (response.content.toUpperCase() != "NO-ALT-LOCATION") { - browser.pageAction.setPopup({ - tabId: tab.id, - popup: "location.html", - }); - browser.pageAction.setIcon({ - path: "icons/i2plogo.png", - tabId: tab.id, - }); - browser.pageAction.setTitle({ - tabId: tab.id, - title: response.content, - }); - browser.pageAction.show(tab.id); - } - }); - console.log("(pageaction)", tab.id, tab.url); - } else { - browser.tabs - .sendMessage(tab.id, { req: "i2p-torrentlocation" }) - .then((response) => { - if (response.content.toUpperCase() != "NO-ALT-LOCATION") { - browser.pageAction.setPopup({ - tabId: tab.id, - popup: "torrent.html", - }); - browser.pageAction.setIcon({ - path: "icons/i2plogo.png", - tabId: tab.id, - }); - browser.pageAction.setTitle({ - tabId: tab.id, - title: response.content, - }); - browser.pageAction.show(tab.id); - } - }); - console.log("(pageaction)", tab.id, tab.url); - } - } - if (typeof tobj == "number") { - browser.tabs.get(tobj).then(getTabURL, onError); +function getTabURL(tab) { + console.log("(scrub)", tab); + if (tab.url.startsWith("https")) { + browser.tabs + .sendMessage(tab.id, { req: "i2p-location" }) + .then((response) => { + if (response.content.toUpperCase() != "NO-ALT-LOCATION") { + browser.pageAction.setPopup({ + tabId: tab.id, + popup: "location.html", + }); + browser.pageAction.setIcon({ + path: "icons/i2plogo.png", + tabId: tab.id, + }); + browser.pageAction.setTitle({ + tabId: tab.id, + title: response.content, + }); + browser.pageAction.show(tab.id); + } + }); + console.log("(pageaction)", tab.id, tab.url); } else { - browser.tabs.get(tobj.tabId).then(getTabURL, onError); + browser.tabs + .sendMessage(tab.id, { req: "i2p-torrentlocation" }) + .then((response) => { + if (response.content.toUpperCase() != "NO-ALT-LOCATION") { + browser.pageAction.setPopup({ + tabId: tab.id, + popup: "torrent.html", + }); + browser.pageAction.setIcon({ + path: "icons/i2plogo.png", + tabId: tab.id, + }); + browser.pageAction.setTitle({ + tabId: tab.id, + title: response.content, + }); + browser.pageAction.show(tab.id); + } + }); + console.log("(pageaction)", tab.id, tab.url); } } +function getClearTab(tobj) { + if (typeof tobj == "number") { + browser.tabs.get(tobj).then(getTabURL, onError); + } + if (typeof tobj.tabId == "number") { + console.log("(scrub) tobj", tobj); + browser.tabs.get(tobj.tabId).then(getTabURL, onError); + } else { + for (let tab in tobj.tabIds) { + console.log("(scrub) tab", tobj, tab, tobj.tabIds[tab]); + browser.tabs.get(tobj.tabIds[tab]).then(getTabURL, onError); + } + } +} + +const filter = { + url: [{ hostContains: ".i2p" }], +}; + +function logOnDOMContentLoaded(details) { + console.log(`onDOMContentLoaded: ${details.url}`); +} + +browser.webNavigation.onDOMContentLoaded.addListener(getClearTab, filter); + browser.tabs.onActivated.addListener(getClearTab); browser.tabs.onUpdated.addListener(getClearTab); +browser.tabs.onAttached.addListener(getClearTab); +browser.tabs.onCreated.addListener(getClearTab); +browser.tabs.onDetached.addListener(getClearTab); +browser.tabs.onHighlighted.addListener(getClearTab); +browser.tabs.onMoved.addListener(getClearTab); +browser.tabs.onRemoved.addListener(getClearTab); +browser.tabs.onReplaced.addListener(getClearTab); +browser.tabs.onZoomChange.addListener(getClearTab); function reloadTabs(tabs) { for (let tab of tabs) { @@ -892,9 +928,11 @@ querying.then(reloadTabs, onError); browser.webRequest.onHeadersReceived.addListener( coolheadersSetup, { urls: [""] }, - ["blocking", "responseHeaders"] + ["responseHeaders"] ); +//browser.webNavigation.onDOMContentLoaded.addListener(getClearTab) + browser.webRequest.onBeforeRequest.addListener( contextSetup, { urls: [""] }, diff --git a/torrent.js b/torrent.js index 94b32c9..0e574f5 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 7304600..7b1cefc 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 637ad0f..d3a71c3 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 1d567a7..41613cb 100644 --- a/torrent/popup.js +++ b/torrent/popup.js @@ -1,22 +1,22 @@ -"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.btrpcpass !== '') { + myHeaders['Authorization'] = + 'Basic ' + btoa((server.username || '') + ':' + (server.btrpcpass || '')); } - console.log("(torrent) rpcurl", server.base_url + "rpc"); - return fetch(server.base_url + "rpc", { - method: "POST", + console.log('(torrent) rpcurl', server.base_url + 'rpc'); + 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) { @@ -32,13 +32,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(); }); }