This commit is contained in:
idk
2020-12-03 12:20:43 -05:00
parent 8c256241cb
commit cd3dafe9c8
23 changed files with 1013 additions and 1012 deletions

View File

@@ -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,

View File

@@ -1,31 +1,30 @@
function bookmarksSetup() {
var gettingInfo = browser.runtime.getPlatformInfo();
gettingInfo.then((got) => {
if (got.os != "android") {
if (got.os != 'android') {
function bookmarks(bookmarkToolbar) {
console.log("(bookmarks)", bookmarkToolbar);
console.log("Setting up bookmark toolbar", bookmarkToolbar);
console.log('(bookmarks)', bookmarkToolbar);
console.log('Setting up bookmark toolbar', bookmarkToolbar);
function bookHome(bookmarkItems) {
if (!bookmarkItems.length) {
function gotProxyInfo(info) {
let port = info.value.http.split(":")[1];
if (port == "7644") {
let port = info.value.http.split(':')[1];
if (port == '7644') {
let createRhizomeBookmark = browser.bookmarks.create({
url: "about:I2p",
title: "I2P Extension Home Page",
url: 'about:I2p',
title: 'I2P Extension Home Page',
parentId: bookmarkToolbar[0].id,
});
createRhizomeBookmark.then(onCreated);
} else {
let createBookmark = browser.bookmarks.create({
url: browser.runtime.getURL("home.html"),
title: "I2P Extension Home Page",
url: browser.runtime.getURL('home.html'),
title: 'I2P Extension Home Page',
parentId: bookmarkToolbar[0].id,
});
createBookmark.then(onCreated);
}
console.log("(bookmarks) adding home page bookmark");
console.log('(bookmarks) adding home page bookmark');
}
console.log(
"(bookmarks) checking if we're running in an I2P Browser"
@@ -37,19 +36,19 @@ function bookmarksSetup() {
function bookTorrent(bookmarkItems) {
if (!bookmarkItems.length) {
function gotProxyInfo(info) {
let port = info.value.http.split(":")[1];
if (port == "7644") {
let port = info.value.http.split(':')[1];
if (port == '7644') {
let createBookmark = browser.bookmarks.create({
url: "http://localhost:7657/i2psnark",
title: "Bittorrent",
url: 'http://localhost:7657/i2psnark',
title: 'Bittorrent',
parentId: bookmarkToolbar[0].id,
});
createBookmark.then(onCreated);
} else {
let createRhizomeBookmark = browser.bookmarks.create({
url:
"http://" + control_host + ":" + control_port + "/i2psnark",
title: "Bittorrent",
'http://' + control_host + ':' + control_port + '/i2psnark',
title: 'Bittorrent',
parentId: bookmarkToolbar[0].id,
});
createRhizomeBookmark.then(onCreated);
@@ -65,18 +64,18 @@ function bookmarksSetup() {
function bookConsole(bookmarkItems) {
if (!bookmarkItems.length) {
function gotProxyInfo(info) {
let port = info.value.http.split(":")[1];
if (port == "7644") {
let port = info.value.http.split(':')[1];
if (port == '7644') {
let createBookmark = browser.bookmarks.create({
url: "http://localhost:7657/home",
title: "I2P Console",
url: 'http://localhost:7657/home',
title: 'I2P Console',
parentId: bookmarkToolbar[0].id,
});
createBookmark.then(onCreated);
} else {
let createRhizomeBookmark = browser.bookmarks.create({
url: "http://" + control_host + ":" + control_port + "/home",
title: "I2P Console",
url: 'http://' + control_host + ':' + control_port + '/home',
title: 'I2P Console',
parentId: bookmarkToolbar[0].id,
});
createRhizomeBookmark.then(onCreated);
@@ -92,23 +91,24 @@ function bookmarksSetup() {
function bookMail(bookmarkItems) {
if (!bookmarkItems.length) {
function gotProxyInfo(info) {
let port = info.value.http.split(":")[1];
if (port == "7644") {
let port = info.value.http.split(':')[1];
if (port == '7644') {
let createBookmark = browser.bookmarks.create({
url: "http://localhost:7657/webmail",
title: "Web Mail",
url: 'http://localhost:7657/webmail',
title: 'Web Mail',
parentId: bookmarkToolbar[0].id,
});
createBookmark.then(onCreated);
} else {
let createRhizomeBookmark = browser.bookmarks.create({
url: "http://" + control_host + ":" + control_port + "/webmail",
title: "Web Mail",
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"
@@ -120,24 +120,28 @@ function bookmarksSetup() {
function bookI2PTunnel(bookmarkItems) {
if (!bookmarkItems.length) {
function gotProxyInfo(info) {
let port = info.value.http.split(":")[1];
if (port == "7644") {
let port = info.value.http.split(':')[1];
if (port == '7644') {
var createBookmark = browser.bookmarks.create({
url: "http://localhost:7657/i2ptunnel",
title: "Hidden Services Manager",
url: 'http://localhost:7657/i2ptunnel',
title: 'Hidden Services Manager',
parentId: bookmarkToolbar[0].id,
});
createBookmark.then(onCreated);
} else {
var createRhizomeBookmark = browser.bookmarks.create({
url:
"http://" + 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"
@@ -151,53 +155,53 @@ function bookmarksSetup() {
console.log(`An error : ${error}`);
}
function onCreated(node) {
console.log("Bookmarked", node);
console.log('Bookmarked', node);
}
var b0 = browser.bookmarks.search({
title: "I2P Extension Home Page",
title: 'I2P Extension Home Page',
});
b0.then(bookHome, onRejected);
var b1 = browser.bookmarks.search({
title: "Bittorrent",
title: 'Bittorrent',
});
b1.then(bookTorrent, onRejected);
var b2 = browser.bookmarks.search({
title: "Hidden Services Manager",
title: 'Hidden Services Manager',
});
b2.then(bookI2PTunnel, onRejected);
var b3 = browser.bookmarks.search({
title: "Web Mail",
title: 'Web Mail',
});
b3.then(bookMail, onRejected);
var b4 = browser.bookmarks.search({
title: "I2P Console",
title: 'I2P Console',
});
b4.then(bookConsole, onRejected);
}
var bt = browser.bookmarks.search({
query: "Toolbar",
query: 'Toolbar',
});
function toolDir(bookmarkToolbar) {
let defaultSettings = {};
defaultSettings["bookmarks_state"] = true
chrome.storage.local.set(defaultSettings)
console.log("(bookmarks) created")
var ibbt = browser.bookmarks.search("I2P Toolbar");
defaultSettings['bookmarks_state'] = true;
chrome.storage.local.set(defaultSettings);
console.log('(bookmarks) created');
var ibbt = browser.bookmarks.search('I2P Toolbar');
function setupDir(ibbt) {
function onToolbarCreated(node) {
var ibt = browser.bookmarks.search("I2P Toolbar");
var ibt = browser.bookmarks.search('I2P Toolbar');
ibt.then(bookmarks);
}
if (ibbt[0] == null) {
let createBookmark = browser.bookmarks.create({
title: "I2P Toolbar",
title: 'I2P Toolbar',
parentId: bookmarkToolbar[0].id,
});
createBookmark.then(onToolbarCreated);
@@ -220,23 +224,22 @@ function bookmarksSetup() {
});
}
function conditionalBookmarksSetup(obj){
console.log("(bookmarks) state", obj.bookmarks_state)
function conditionalBookmarksSetup(obj) {
console.log('(bookmarks) state', obj.bookmarks_state);
if (obj.bookmarks_state == false) {
bookmarksSetup()
bookmarksSetup();
}
if (obj.bookmarks_state == undefined) {
bookmarksSetup()
bookmarksSetup();
}
}
if (browser != null){
let gettingStorage = browser.storage.local.get("bookmarks_state");
if (browser != null) {
let gettingStorage = browser.storage.local.get('bookmarks_state');
gettingStorage.then(conditionalBookmarksSetup, bookmarksSetup);
}
const bookmarksButton = document.getElementById("bookmarksButton");
if (bookmarksButton != null){
bookmarksButton.addEventListener("click", bookmarksSetup);
const bookmarksButton = document.getElementById('bookmarksButton');
if (bookmarksButton != null) {
bookmarksButton.addEventListener('click', bookmarksSetup);
}

28
cert.js
View File

@@ -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");

View File

@@ -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;

View File

@@ -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');
});

View File

@@ -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,

View File

@@ -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: ["<all_urls>"] },
["blocking"]
{ urls: ['<all_urls>'] },
['blocking']
);

34
home.js
View File

@@ -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';
}
}

124
host.js
View File

@@ -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;

View File

@@ -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;
}

View File

@@ -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;
});
}

View File

@@ -1,8 +1,8 @@
function gotCurrent(tab) {
function gotTitle(title) {
let addr = title;
document.getElementById("TypeInfo").innerHTML =
'<div class="AddressInfo"><a href="' + addr + '">' + addr + "</a></div>";
document.getElementById('TypeInfo').innerHTML =
'<div class="AddressInfo"><a href="' + addr + '">' + addr + '</a></div>';
}
console.log(tab);
var gettingTitle = browser.pageAction.getTitle({

View File

@@ -20,21 +20,20 @@
</section>
<section class="scheme-options">
<span class="title">Bookmarks Status:</span>
<input type="checkbox" id="bookmarksState" name="bookmarksstate" value="bookmarksstate">
<label for="bookmarksState">Bookmarks were created at install-time.</tv>
<button type="submit" id="bookmarksButton">Re-Create Bookmarks</button>
<span class="title">Bookmarks Status:</span> <input id="bookmarksState" name="bookmarksstate" type="checkbox" value="bookmarksstate"> <label for="bookmarksState">Bookmarks were created at install-time. <button id="bookmarksButton" type="submit">Re-Create Bookmarks</button></label>
</section>
<section class="scheme-options proxy-options" id="proxy-options">
<label for="bookmarksState"></label>
<div class="title">
Proxy Options
<label for="bookmarksState">Proxy Options</label>
</div>
<p id="proxyHelpText">
<label for="bookmarksState"></label>
<p id="proxyHelpText"><label for="bookmarksState"></label>
</p>
<label id="portText">Host:</label> <input data="host" id="host" type="text" value="127.0.0.1">
<label for="bookmarksState"><label id="portText">Host:</label> <input data="host" id="host" type="text" value="127.0.0.1">
<br>
<label id="hostText">Port:</label> <input data="port" id="port" type="text" value="4444">
<label id="hostText">Port:</label> <input data="port" id="port" type="text" value="4444"></label>
</section>
<!--<section class="scheme-options identity-options">
<div class="panel">
@@ -89,7 +88,7 @@
</div>
</section>
<input id="save-button" type="button" value="Save preferences">
<script src="options.js"></script>
<script src="options.js"></script>
<script src="/bookmarks.js"></script> <!--<script src="/torrent/browser-polyfill.min.js"></script>
<script src="/torrent/options.js"></script>-->
</body>

View File

@@ -1,171 +1,171 @@
function SetBookButton() {
// var bmid = document.getElementById("bookmark");
// var bmid = document.getElementById("bookmark");
//bmid.textContent = chrome.i18n.getMessage("bookmarkButton");
}
function SetHostText() {
var hostid = document.getElementById("hostText");
hostid.textContent = chrome.i18n.getMessage("hostText");
var hostid = document.getElementById('hostText');
hostid.textContent = chrome.i18n.getMessage('hostText');
}
function SetPortText() {
var portid = document.getElementById("portText");
portid.textContent = chrome.i18n.getMessage("portText");
var portid = document.getElementById('portText');
portid.textContent = chrome.i18n.getMessage('portText');
}
function SetPortHelpText() {
var portid = document.getElementById("proxyHelpText");
portid.textContent = chrome.i18n.getMessage("proxyHelpText");
var portid = document.getElementById('proxyHelpText');
portid.textContent = chrome.i18n.getMessage('proxyHelpText');
}
function SetControlHostText() {
var controlhostid = document.getElementById("controlHostText");
controlhostid.textContent = chrome.i18n.getMessage("controlHostText");
var controlhostid = document.getElementById('controlHostText');
controlhostid.textContent = chrome.i18n.getMessage('controlHostText');
}
function SetControlPortText() {
var controlportid = document.getElementById("controlPortText");
controlportid.textContent = chrome.i18n.getMessage("controlPortText");
var controlportid = document.getElementById('controlPortText');
controlportid.textContent = chrome.i18n.getMessage('controlPortText');
}
function SetControlHelpText() {
var portid = document.getElementById("controlHelpText");
portid.textContent = chrome.i18n.getMessage("controlHelpText");
var portid = document.getElementById('controlHelpText');
portid.textContent = chrome.i18n.getMessage('controlHelpText');
}
function getBookmarksCreated() {
bookmarks_state = document.getElementById("bookmarks").value;
console.log("(options)Got i2p bookmarks state:", bookmarks_state);
bookmarks_state = document.getElementById('bookmarks').value;
console.log('(options)Got i2p bookmarks state:', bookmarks_state);
if (bookmarks_state == undefined) {
return false;
}
if (bookmarks_state == "false") {
return false
if (bookmarks_state == 'false') {
return false;
}
if (bookmarks_state == "true") {
return true
if (bookmarks_state == 'true') {
return true;
}
return false;
}
function getScheme() {
const proxy_scheme = document.querySelector("#proxy_scheme");
console.log("(options)Got i2p proxy scheme:", proxy_scheme.value);
if (proxy_scheme.value == "HTTP") {
return "http";
const proxy_scheme = document.querySelector('#proxy_scheme');
console.log('(options)Got i2p proxy scheme:', proxy_scheme.value);
if (proxy_scheme.value == 'HTTP') {
return 'http';
}
if (proxy_scheme.value == "SOCKS") {
return "socks";
if (proxy_scheme.value == 'SOCKS') {
return 'socks';
}
if (proxy_scheme.value == "http") return "http";
if (proxy_scheme.value == "socks") return "socks";
else return "http";
if (proxy_scheme.value == 'http') return 'http';
if (proxy_scheme.value == 'socks') return 'socks';
else return 'http';
}
function getHost() {
proxy_host = document.getElementById("host").value;
console.log("(options)Got i2p proxy host:", proxy_host);
proxy_host = document.getElementById('host').value;
console.log('(options)Got i2p proxy host:', proxy_host);
if (proxy_host == undefined) {
return "127.0.0.1";
return '127.0.0.1';
}
return proxy_host;
}
function getPort() {
proxy_port = document.getElementById("port").value;
console.log("(options)Got i2p proxy port:", proxy_port);
proxy_port = document.getElementById('port').value;
console.log('(options)Got i2p proxy port:', proxy_port);
if (proxy_port == undefined) {
return "4444";
return '4444';
}
return proxy_port;
}
function getControlHost() {
control_host = document.getElementById("controlhost").value;
console.log("(options)Got i2p control host:", control_host);
control_host = document.getElementById('controlhost').value;
console.log('(options)Got i2p control host:', control_host);
if (control_host == undefined) {
return "127.0.0.1";
return '127.0.0.1';
}
return control_host;
}
function getControlPort() {
control_port = document.getElementById("controlport").value;
console.log("(options)Got i2p control port:", control_port);
control_port = document.getElementById('controlport').value;
console.log('(options)Got i2p control port:', control_port);
if (control_port == undefined) {
return "4444";
return '4444';
}
return control_port;
}
function getRPCHost() {
rpc_host = document.getElementById("rpchost").value;
console.log("(options)Got i2pcontrol rpc host:", rpc_host);
rpc_host = document.getElementById('rpchost').value;
console.log('(options)Got i2pcontrol rpc host:', rpc_host);
if (rpc_host == undefined) {
return "127.0.0.1";
return '127.0.0.1';
}
return rpc_host;
}
function getRPCPort() {
rpc_port = document.getElementById("rpcport").value;
console.log("(options)Got i2pcontrol rpc port:", rpc_port);
rpc_port = document.getElementById('rpcport').value;
console.log('(options)Got i2pcontrol rpc port:', rpc_port);
if (rpc_port == undefined) {
return "7657";
return '7657';
}
return rpc_port;
}
function getRPCPath() {
rpc_path = document.getElementById("rpcpath").value;
console.log("(options)Got i2pcontrol rpc path:", rpc_path);
rpc_path = document.getElementById('rpcpath').value;
console.log('(options)Got i2pcontrol rpc path:', rpc_path);
if (rpc_path == undefined) {
return "jsonrpc";
return 'jsonrpc';
}
return rpc_path;
}
function getRPCPass() {
rpc_pass = document.getElementById("rpcpass").value;
console.log("(options)Got i2pcontrol rpc password:");
rpc_pass = document.getElementById('rpcpass').value;
console.log('(options)Got i2pcontrol rpc password:');
if (rpc_pass == undefined) {
return "itoopie";
return 'itoopie';
}
return rpc_pass;
}
function getBTRPCHost() {
bt_rpc_host = document.getElementById("btrpchost").value;
console.log("(options)Got torrent rpc host:", bt_rpc_host);
bt_rpc_host = document.getElementById('btrpchost').value;
console.log('(options)Got torrent rpc host:', bt_rpc_host);
if (bt_rpc_host == undefined) {
return "127.0.0.1";
return '127.0.0.1';
}
return bt_rpc_host;
}
function getBTRPCPort() {
bt_rpc_port = document.getElementById("btrpcport").value;
console.log("(options)Got torrent rpc port:", bt_rpc_port);
bt_rpc_port = document.getElementById('btrpcport').value;
console.log('(options)Got torrent rpc port:', bt_rpc_port);
if (bt_rpc_port == undefined) {
return "7657";
return '7657';
}
return bt_rpc_port;
}
function getBTRPCPath() {
bt_rpc_path = document.getElementById("btrpcpath").value;
console.log("(options)Got torrent rpc path:", bt_rpc_path);
bt_rpc_path = document.getElementById('btrpcpath').value;
console.log('(options)Got torrent rpc path:', bt_rpc_path);
if (bt_rpc_path == undefined) {
return "transmission/rpc";
return 'transmission/rpc';
}
return bt_rpc_path;
}
function getBTRPCPass() {
bt_rpc_pass = document.getElementById("btrpcpass").value;
console.log("(options)Got torrent rpc password:");
bt_rpc_pass = document.getElementById('btrpcpass').value;
console.log('(options)Got torrent rpc password:');
if (bt_rpc_pass == undefined) {
return "itoopie";
return 'itoopie';
}
return bt_rpc_pass;
}
@@ -173,88 +173,88 @@ function getBTRPCPass() {
function checkStoredSettings(storedSettings) {
function gotProxyInfo(info) {
let defaultSettings = {};
let host = info.value.http.split(":")[0];
let port = info.value.http.split(":")[1];
let host = info.value.http.split(':')[0];
let port = info.value.http.split(':')[1];
if (port != 7644) {
port = undefined;
}
console.log("(options)proxy", "'" + host + "'", ":", port);
if (!storedSettings["bookmarks_state"])
defaultSettings["bookmarks_state"] = false;
else defaultSettings["bookmarks_state"] = storedSettings["bookmarks_state"];
if (!storedSettings["proxy_scheme"])
defaultSettings["proxy_scheme"] = "http";
else defaultSettings["proxy_scheme"] = storedSettings["proxy_scheme"];
if (!storedSettings["proxy_host"]) {
if (host == "") defaultSettings["proxy_host"] = "127.0.0.1";
else defaultSettings["proxy_host"] = host;
} else defaultSettings["proxy_host"] = storedSettings["proxy_host"];
console.log('(options)proxy', "'" + host + "'", ':', port);
if (!storedSettings['bookmarks_state'])
defaultSettings['bookmarks_state'] = false;
else defaultSettings['bookmarks_state'] = storedSettings['bookmarks_state'];
if (!storedSettings['proxy_scheme'])
defaultSettings['proxy_scheme'] = 'http';
else defaultSettings['proxy_scheme'] = storedSettings['proxy_scheme'];
if (!storedSettings['proxy_host']) {
if (host == '') defaultSettings['proxy_host'] = '127.0.0.1';
else defaultSettings['proxy_host'] = host;
} else defaultSettings['proxy_host'] = storedSettings['proxy_host'];
if (!storedSettings["proxy_port"]) {
if (port == undefined) defaultSettings["proxy_port"] = 4444;
else if (port == 7644) defaultSettings["proxy_port"] = port;
else defaultSettings["proxy_port"] = 4444;
} else defaultSettings["proxy_port"] = storedSettings.proxy_port;
if (!storedSettings['proxy_port']) {
if (port == undefined) defaultSettings['proxy_port'] = 4444;
else if (port == 7644) defaultSettings['proxy_port'] = port;
else defaultSettings['proxy_port'] = 4444;
} else defaultSettings['proxy_port'] = storedSettings.proxy_port;
if (!storedSettings["control_host"]) {
if (host == "") defaultSettings["control_host"] = "127.0.0.1";
else defaultSettings["control_host"] = host;
} else defaultSettings["control_host"] = storedSettings.control_host;
if (!storedSettings['control_host']) {
if (host == '') defaultSettings['control_host'] = '127.0.0.1';
else defaultSettings['control_host'] = host;
} else defaultSettings['control_host'] = storedSettings.control_host;
if (!storedSettings["control_port"]) {
defaultSettings["control_port"] = 7657;
} else defaultSettings["control_port"] = storedSettings.control_port;
if (!storedSettings['control_port']) {
defaultSettings['control_port'] = 7657;
} else defaultSettings['control_port'] = storedSettings.control_port;
if (!storedSettings["rpc_host"]) {
if (host == "") defaultSettings["rpc_host"] = "127.0.0.1";
else defaultSettings["rpc_host"] = host;
} else defaultSettings["rpc_host"] = storedSettings.rpc_host;
if (!storedSettings['rpc_host']) {
if (host == '') defaultSettings['rpc_host'] = '127.0.0.1';
else defaultSettings['rpc_host'] = host;
} else defaultSettings['rpc_host'] = storedSettings.rpc_host;
if (!storedSettings["rpc_port"]) {
defaultSettings["rpc_port"] = 7657;
} else defaultSettings["rpc_port"] = storedSettings.rpc_port;
if (!storedSettings['rpc_port']) {
defaultSettings['rpc_port'] = 7657;
} else defaultSettings['rpc_port'] = storedSettings.rpc_port;
if (!storedSettings["rpc_path"]) {
defaultSettings["rpc_path"] = "jsonrpc";
} else defaultSettings["rpc_path"] = storedSettings.rpc_path;
if (!storedSettings['rpc_path']) {
defaultSettings['rpc_path'] = 'jsonrpc';
} else defaultSettings['rpc_path'] = storedSettings.rpc_path;
if (!storedSettings["rpc_pass"]) {
defaultSettings["rpc_pass"] = "itoopie";
} else defaultSettings["rpc_pass"] = storedSettings.rpc_pass;
if (!storedSettings['rpc_pass']) {
defaultSettings['rpc_pass'] = 'itoopie';
} else defaultSettings['rpc_pass'] = storedSettings.rpc_pass;
if (!storedSettings["bt_rpc_host"]) {
if (host == "") defaultSettings["bt_rpc_host"] = "127.0.0.1";
else defaultSettings["bt_rpc_host"] = host;
} else defaultSettings["bt_rpc_host"] = storedSettings.bt_rpc_host;
if (!storedSettings['bt_rpc_host']) {
if (host == '') defaultSettings['bt_rpc_host'] = '127.0.0.1';
else defaultSettings['bt_rpc_host'] = host;
} else defaultSettings['bt_rpc_host'] = storedSettings.bt_rpc_host;
if (!storedSettings["bt_rpc_port"]) {
defaultSettings["bt_rpc_port"] = 7657;
} else defaultSettings["bt_rpc_port"] = storedSettings.bt_rpc_port;
if (!storedSettings['bt_rpc_port']) {
defaultSettings['bt_rpc_port'] = 7657;
} else defaultSettings['bt_rpc_port'] = storedSettings.bt_rpc_port;
if (!storedSettings["bt_rpc_path"]) {
defaultSettings["bt_rpc_path"] = "transmission/";
} else defaultSettings["bt_rpc_path"] = storedSettings.bt_rpc_path;
if (!storedSettings['bt_rpc_path']) {
defaultSettings['bt_rpc_path'] = 'transmission/';
} else defaultSettings['bt_rpc_path'] = storedSettings.bt_rpc_path;
if (!storedSettings["bt_rpc_pass"]) {
defaultSettings["bt_rpc_pass"] = "transmission";
} else defaultSettings["bt_rpc_pass"] = storedSettings.bt_rpc_pass;
if (!storedSettings['bt_rpc_pass']) {
defaultSettings['bt_rpc_pass'] = 'transmission';
} else defaultSettings['bt_rpc_pass'] = storedSettings.bt_rpc_pass;
console.log("(options)(browserinfo) NATIVE PROXYSETTINGS", info.value);
defaultSettings["base_url"] =
"http://" +
defaultSettings["bt_rpc_host"] +
":" +
defaultSettings["bt_rpc_port"] +
"/" +
defaultSettings["bt_rpc_path"];
console.log('(options)(browserinfo) NATIVE PROXYSETTINGS', info.value);
defaultSettings['base_url'] =
'http://' +
defaultSettings['bt_rpc_host'] +
':' +
defaultSettings['bt_rpc_port'] +
'/' +
defaultSettings['bt_rpc_path'];
console.log(
"(options)",
defaultSettings["proxy_scheme"],
defaultSettings["proxy_host"],
defaultSettings["proxy_port"],
defaultSettings["control_host"],
defaultSettings["control_port"],
defaultSettings["base_url"]
'(options)',
defaultSettings['proxy_scheme'],
defaultSettings['proxy_host'],
defaultSettings['proxy_port'],
defaultSettings['control_host'],
defaultSettings['control_port'],
defaultSettings['base_url']
);
chrome.storage.local.set(defaultSettings);
@@ -266,75 +266,75 @@ function checkStoredSettings(storedSettings) {
function checkAndroidStoredSettings(storedSettings) {
let defaultSettings = {};
let host = "";
let port = "";
if (!storedSettings["bookmarks_state"])
defaultSettings["bookmarks_state"] = false;
else defaultSettings["bookmarks_state"] = storedSettings["bookmarks_state"];
if (!storedSettings["proxy_scheme"]) defaultSettings["proxy_scheme"] = "http";
else defaultSettings["proxy_scheme"] = storedSettings["proxy_scheme"];
if (!storedSettings["proxy_host"]) {
if (host == "") defaultSettings["proxy_host"] = "127.0.0.1";
else defaultSettings["proxy_host"] = host;
} else defaultSettings["proxy_host"] = storedSettings["proxy_host"];
let host = '';
let port = '';
if (!storedSettings['bookmarks_state'])
defaultSettings['bookmarks_state'] = false;
else defaultSettings['bookmarks_state'] = storedSettings['bookmarks_state'];
if (!storedSettings['proxy_scheme']) defaultSettings['proxy_scheme'] = 'http';
else defaultSettings['proxy_scheme'] = storedSettings['proxy_scheme'];
if (!storedSettings['proxy_host']) {
if (host == '') defaultSettings['proxy_host'] = '127.0.0.1';
else defaultSettings['proxy_host'] = host;
} else defaultSettings['proxy_host'] = storedSettings['proxy_host'];
if (!storedSettings["proxy_port"]) {
if (port == undefined) defaultSettings["proxy_port"] = 4444;
else if (port == 7644) defaultSettings["proxy_port"] = port;
else defaultSettings["proxy_port"] = 4444;
} else defaultSettings["proxy_port"] = storedSettings.proxy_port;
if (!storedSettings['proxy_port']) {
if (port == undefined) defaultSettings['proxy_port'] = 4444;
else if (port == 7644) defaultSettings['proxy_port'] = port;
else defaultSettings['proxy_port'] = 4444;
} else defaultSettings['proxy_port'] = storedSettings.proxy_port;
if (!storedSettings["control_host"]) {
if (host == "") defaultSettings["control_host"] = "127.0.0.1";
else defaultSettings["control_host"] = host;
} else defaultSettings["control_host"] = storedSettings.control_host;
if (!storedSettings['control_host']) {
if (host == '') defaultSettings['control_host'] = '127.0.0.1';
else defaultSettings['control_host'] = host;
} else defaultSettings['control_host'] = storedSettings.control_host;
if (!storedSettings["control_port"]) {
defaultSettings["control_port"] = 7657;
} else defaultSettings["control_port"] = storedSettings.control_port;
if (!storedSettings['control_port']) {
defaultSettings['control_port'] = 7657;
} else defaultSettings['control_port'] = storedSettings.control_port;
if (!storedSettings["rpc_host"]) {
if (host == "") defaultSettings["rpc_host"] = "127.0.0.1";
else defaultSettings["rpc_host"] = host;
} else defaultSettings["rpc_host"] = storedSettings.rpc_host;
if (!storedSettings['rpc_host']) {
if (host == '') defaultSettings['rpc_host'] = '127.0.0.1';
else defaultSettings['rpc_host'] = host;
} else defaultSettings['rpc_host'] = storedSettings.rpc_host;
if (!storedSettings["rpc_port"]) {
defaultSettings["rpc_port"] = 7657;
} else defaultSettings["rpc_port"] = storedSettings.rpc_port;
if (!storedSettings['rpc_port']) {
defaultSettings['rpc_port'] = 7657;
} else defaultSettings['rpc_port'] = storedSettings.rpc_port;
if (!storedSettings["rpc_path"]) {
defaultSettings["rpc_path"] = "jsonrpc";
} else defaultSettings["rpc_path"] = storedSettings.rpc_path;
if (!storedSettings['rpc_path']) {
defaultSettings['rpc_path'] = 'jsonrpc';
} else defaultSettings['rpc_path'] = storedSettings.rpc_path;
if (!storedSettings["rpc_pass"]) {
defaultSettings["rpc_pass"] = "itoopie";
} else defaultSettings["rpc_pass"] = storedSettings.rpc_pass;
if (!storedSettings['rpc_pass']) {
defaultSettings['rpc_pass'] = 'itoopie';
} else defaultSettings['rpc_pass'] = storedSettings.rpc_pass;
if (!storedSettings["bt_rpc_host"]) {
if (host == "") defaultSettings["bt_rpc_host"] = "127.0.0.1";
else defaultSettings["bt_rpc_host"] = host;
} else defaultSettings["bt_rpc_host"] = storedSettings.bt_rpc_host;
if (!storedSettings['bt_rpc_host']) {
if (host == '') defaultSettings['bt_rpc_host'] = '127.0.0.1';
else defaultSettings['bt_rpc_host'] = host;
} else defaultSettings['bt_rpc_host'] = storedSettings.bt_rpc_host;
if (!storedSettings["bt_rpc_port"]) {
defaultSettings["bt_rpc_port"] = 7657;
} else defaultSettings["bt_rpc_port"] = storedSettings.bt_rpc_port;
if (!storedSettings['bt_rpc_port']) {
defaultSettings['bt_rpc_port'] = 7657;
} else defaultSettings['bt_rpc_port'] = storedSettings.bt_rpc_port;
if (!storedSettings["bt_rpc_path"]) {
defaultSettings["bt_rpc_path"] = "transmission/rpc";
} else defaultSettings["bt_rpc_path"] = storedSettings.bt_rpc_path;
if (!storedSettings['bt_rpc_path']) {
defaultSettings['bt_rpc_path'] = 'transmission/rpc';
} else defaultSettings['bt_rpc_path'] = storedSettings.bt_rpc_path;
if (!storedSettings["bt_rpc_pass"]) {
defaultSettings["bt_rpc_pass"] = "transmission";
} else defaultSettings["bt_rpc_pass"] = storedSettings.bt_rpc_pass;
if (!storedSettings['bt_rpc_pass']) {
defaultSettings['bt_rpc_pass'] = 'transmission';
} else defaultSettings['bt_rpc_pass'] = storedSettings.bt_rpc_pass;
console.log("(options)(browserinfo) NATIVE PROXYSETTINGS", info.value);
console.log('(options)(browserinfo) NATIVE PROXYSETTINGS', info.value);
console.log(
"(options)",
defaultSettings["proxy_scheme"],
defaultSettings["proxy_host"],
defaultSettings["proxy_port"],
defaultSettings["control_host"],
defaultSettings["control_port"]
'(options)',
defaultSettings['proxy_scheme'],
defaultSettings['proxy_host'],
defaultSettings['proxy_port'],
defaultSettings['control_host'],
defaultSettings['control_port']
);
chrome.storage.local.set(defaultSettings);
return defaultSettings;
@@ -346,90 +346,90 @@ function onError(e) {
function storeSettings() {
let storableSettings = {};
storableSettings["bookmarks_state"] = getBookmarksCreated()
storableSettings["proxy_scheme"] = getScheme();
storableSettings["proxy_host"] = getHost();
storableSettings["proxy_port"] = getPort();
storableSettings["control_host"] = getControlHost();
storableSettings["control_port"] = getControlPort();
storableSettings["rpc_host"] = getRPCHost();
storableSettings["rpc_port"] = getRPCPort();
storableSettings["rpc_path"] = getRPCPath();
storableSettings["rpc_pass"] = getRPCPass();
storableSettings["bt_rpc_host"] = getBTRPCHost();
storableSettings["bt_rpc_port"] = getBTRPCPort();
storableSettings["bt_rpc_path"] = getBTRPCPath();
storableSettings["bt_rpc_pass"] = getBTRPCPass();
storableSettings["base_url"] =
"http://" + bt_rpc_host + ":" + bt_rpc_port + "/" + bt_rpc_path;
console.log("storing", storableSettings);
storableSettings['bookmarks_state'] = getBookmarksCreated();
storableSettings['proxy_scheme'] = getScheme();
storableSettings['proxy_host'] = getHost();
storableSettings['proxy_port'] = getPort();
storableSettings['control_host'] = getControlHost();
storableSettings['control_port'] = getControlPort();
storableSettings['rpc_host'] = getRPCHost();
storableSettings['rpc_port'] = getRPCPort();
storableSettings['rpc_path'] = getRPCPath();
storableSettings['rpc_pass'] = getRPCPass();
storableSettings['bt_rpc_host'] = getBTRPCHost();
storableSettings['bt_rpc_port'] = getBTRPCPort();
storableSettings['bt_rpc_path'] = getBTRPCPath();
storableSettings['bt_rpc_pass'] = getBTRPCPass();
storableSettings['base_url'] =
'http://' + bt_rpc_host + ':' + bt_rpc_port + '/' + bt_rpc_path;
console.log('storing', storableSettings);
chrome.storage.local.set(storableSettings);
}
function updateUI(restoredSettings) {
const selectList = document.querySelector("#proxy_scheme");
const selectList = document.querySelector('#proxy_scheme');
if (selectList != undefined) selectList.value = restoredSettings.proxy_scheme;
//console.log("(options)showing proxy scheme:", selectList.value);
console.log(restoredSettings)
const bms = document.getElementById("bookmarksState");
console.log(restoredSettings);
const bms = document.getElementById('bookmarksState');
if (bms != undefined) bms.checked = restoredSettings.bookmarks_state;
const hostitem = document.getElementById("host");
const hostitem = document.getElementById('host');
if (hostitem != undefined) hostitem.value = restoredSettings.proxy_host;
//console.log("(options)showing proxy host:", hostitem.value);
const portitem = document.getElementById("port");
const portitem = document.getElementById('port');
if (portitem != undefined) portitem.value = restoredSettings.proxy_port;
//console.log("(options)showing proxy port:", portitem.value);
const controlhostitem = document.getElementById("controlhost");
const controlhostitem = document.getElementById('controlhost');
if (controlhostitem == undefined)
controlhostitem.value = restoredSettings.control_host;
//console.log("(options)showing control host:", controlhostitem.value);
const controlportitem = document.getElementById("controlport");
const controlportitem = document.getElementById('controlport');
if (controlportitem == undefined)
controlportitem.value = restoredSettings.control_port;
//console.log("(options)showing control port:", controlportitem.value);
const rpchostitem = document.getElementById("rpchost");
const rpchostitem = document.getElementById('rpchost');
if (rpchostitem != undefined) rpchostitem.value = restoredSettings.rpc_host;
//console.log("(options)showing rpc host:", rpchostitem.value);
const rpcportitem = document.getElementById("rpcport");
const rpcportitem = document.getElementById('rpcport');
if (rpcportitem != undefined) rpcportitem.value = restoredSettings.rpc_port;
//console.log("(options)showing rpc port:", rpcportitem.value);
const rpcpathitem = document.getElementById("rpcpath");
const rpcpathitem = document.getElementById('rpcpath');
if (rpcpathitem != undefined) rpcpathitem.value = restoredSettings.rpc_path;
//console.log("(options)showing rpc path:", rpcpathitem.value);
const rpcpassitem = document.getElementById("rpcpass");
const rpcpassitem = document.getElementById('rpcpass');
if (rpcpassitem != undefined) rpcpassitem.value = restoredSettings.rpc_pass;
//console.log("(options)showing rpc pass:");
const btrpchostitem = document.getElementById("btrpchost");
const btrpchostitem = document.getElementById('btrpchost');
if (btrpchostitem != undefined)
btrpchostitem.value = restoredSettings.rpc_host;
//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:");
SetBookButton()
SetBookButton();
SetHostText();
SetPortText();
SetPortHelpText();
@@ -444,19 +444,18 @@ function onError(e) {
var gettingInfo = browser.runtime.getPlatformInfo();
gettingInfo.then((got) => {
if (got.os != "android") {
chrome.storage.local.get(function (got) {
if (got.os != 'android') {
chrome.storage.local.get(function(got) {
let settings = checkStoredSettings(got);
settings.then(updateUI);
});
} else {
chrome.storage.local.get(function (got) {
chrome.storage.local.get(function(got) {
checkAndroidStoredSettings(got);
updateUI(got);
});
}
});
const saveButton = document.querySelector("#save-button");
saveButton.addEventListener("click", storeSettings);
const saveButton = document.querySelector('#save-button');
saveButton.addEventListener('click', storeSettings);

View File

@@ -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;
}

View File

@@ -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,
},
});

148
proxy.js
View File

@@ -1,8 +1,8 @@
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');
browser.privacy.network.peerConnectionEnabled.set({
value: true,
@@ -12,30 +12,30 @@ 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 == 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 +49,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 +67,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 +78,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 +98,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 +125,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 +138,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 +158,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 +172,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 +237,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 +258,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 +287,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 +296,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: ["<all_urls>"],
urls: ['<all_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 +341,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();
});
});

138
script.js
View File

@@ -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 });

300
scrub.js
View File

@@ -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,15 @@ var notMyContextNotMyProblem = async function () {
}
}
return othercontexts;
};
}
var contextSetup = function (requestDetails) {
var contextSetup = function(requestDetails) {
function onContextError() {
console.log("Context launcher error");
console.log('Context launcher error');
}
//console.log("(isolate)Forcing I2P requests into context");
try {
var i2pTabFind = async function (tabId) {
var i2pTabFind = async function(tabId) {
try {
var context = await browser.contextualIdentities.query({
name: titlepref,
@@ -156,14 +156,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 +181,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 +194,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 +210,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 +228,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,9 +241,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: 1 });
}
@@ -257,10 +257,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 +275,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,16 +288,16 @@ var contextSetup = function (requestDetails) {
name: titlepref,
});
let tmp = new URL(tabId.url);
console.log("(isolate)tabid host", tmp.host);
if (!requestDetails.url.includes("snark/" + tmp.host)) {
console.log('(isolate)tabid host', tmp.host);
if (!requestDetails.url.includes('snark/' + tmp.host)) {
// if (tabId.cookieStoreId != exemptContext[0].cookieStoreId){
function Create() {
function onCreated(tab) {
function closeOldTab(tabs) {
if (tabId.id != tab.id) {
console.log("(isolate) Closing un-isolated tab", tabId.id);
console.log("in favor of", tab.id);
console.log("with context", tab.cookieStoreId);
console.log('(isolate) Closing un-isolated tab', tabId.id);
console.log('in favor of', tab.id);
console.log('with context', tab.cookieStoreId);
browser.tabs.remove(tabId.id);
browser.tabs.move(tab.id, { index: 2 });
}
@@ -311,10 +311,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 +330,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,9 +343,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: 4 });
}
@@ -359,10 +359,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 +377,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,9 +390,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: 5 });
}
@@ -406,10 +406,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 +424,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,9 +437,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: 3 });
}
@@ -453,10 +453,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,23 +471,23 @@ var contextSetup = function (requestDetails) {
return tabId;
}
} catch (error) {
console.log("(isolate)Context Error", error);
console.log('(isolate)Context Error', error);
}
};
var ircTabFind = async function (tabId) {
var ircTabFind = async function(tabId) {
try {
var context = await browser.contextualIdentities.query({
name: ircpref,
});
if (tabId.cookieStoreId != context[0].cookieStoreId) {
if (requestDetails.url.includes(":7669")) {
if (requestDetails.url.includes(':7669')) {
function Create() {
function onCreated(tab) {
function closeOldTab(tabs) {
if (tabId.id != tab.id) {
console.log("(isolate) Closing un-isolated tab", tabId.id);
console.log("in favor of", tab.id);
console.log("with context", tab.cookieStoreId);
console.log('(isolate) Closing un-isolated tab', tabId.id);
console.log('in favor of', tab.id);
console.log('with context', tab.cookieStoreId);
browser.tabs.remove(tabId.id);
browser.tabs.move(tab.id, { index: 6 });
}
@@ -515,10 +515,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 +533,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 +561,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 +579,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 +589,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) {
@@ -632,22 +632,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 +662,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 +692,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 +737,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 +752,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 +797,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({

View File

@@ -1,8 +1,8 @@
function gotCurrent(tab) {
function gotTitle(title) {
let addr = title;
document.getElementById("TypeInfo").innerHTML =
'<div class="AddressInfo"><a href="' + addr + '">' + addr + "</a></div>";
document.getElementById('TypeInfo').innerHTML =
'<div class="AddressInfo"><a href="' + addr + '">' + addr + '</a></div>';
}
console.log(tab);
var gettingTitle = browser.pageAction.getTitle({

View File

@@ -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']
);
});
}

View File

@@ -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';
}

View File

@@ -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();
});
}