5 Commits

25 changed files with 953 additions and 950 deletions

3
.gitignore vendored
View File

@@ -2,4 +2,5 @@ README.md.asc
node_modules/
web-ext-artifacts
releases.diff
.releases.atom
.releases.atom
.manifest.json

View File

@@ -37,11 +37,11 @@ clean: rc clean-artifacts
## EVEN RELEASES are AMO RELEASES
## ODD RELEASES are SELFHOSTED RELEASES
MOZ_VERSION=0.112
VERSION=0.111
MOZ_VERSION=0.112.1
VERSION=0.111.1
## INCREMENT THIS EVERY TIME YOU DO A RELEASE
LAST_VERSION=0.109
LAST_VERSION=0.112
YELLOW=F7E59A
ORANGE=FFC56D
@@ -366,3 +366,8 @@ lht-test:
-u http://localhost:7657/webmail \
-u http://localhost:7657/MuWire/ \
-u http://idk.i2p
compile:
closure-compiler --js background.js --js cert.js --js content.js --js handler.js --js host.js --js location.js --js privacy.js --js script.js \
--js torrent.js --js bookmarks.js --js config.js --js context.js --js home.js --js info.js --js platform.js --js proxy.js --js scrub.js \
--js_output_file compile.js

View File

@@ -1,26 +1,26 @@
var titlepref = chrome.i18n.getMessage("titlePreface");
var titleprefpriv = chrome.i18n.getMessage("titlePrefacePrivate");
var webpref = chrome.i18n.getMessage("webPreface");
var webprefpriv = chrome.i18n.getMessage("webPrefacePrivate");
var routerpref = chrome.i18n.getMessage("routerPreface");
var routerprefpriv = chrome.i18n.getMessage("routerPrefacePrivate");
var mailpref = chrome.i18n.getMessage("mailPreface");
var mailprefpriv = chrome.i18n.getMessage("mailPrefacePrivate");
var torrentpref = chrome.i18n.getMessage("torrentPreface");
var torrentprefpriv = chrome.i18n.getMessage("torrentPrefacePrivate");
var tunnelpref = chrome.i18n.getMessage("i2ptunnelPreface");
var tunnelprefpriv = chrome.i18n.getMessage("i2ptunnelPrefacePrivate");
var ircpref = chrome.i18n.getMessage("ircPreface");
var ircprefpriv = chrome.i18n.getMessage("ircPrefacePrivate");
var extensionpref = chrome.i18n.getMessage("extensionPreface");
var muwirepref = chrome.i18n.getMessage("muwirePreface");
var muwireprefpriv = chrome.i18n.getMessage("muwirePrefacePrivate");
var botepref = chrome.i18n.getMessage("botePreface");
var blogpref = chrome.i18n.getMessage("blogPreface");
var blogprefpriv = chrome.i18n.getMessage("blogPrefacePrivate");
var titlepref = browser.i18n.getMessage('titlePreface');
var titleprefpriv = browser.i18n.getMessage('titlePrefacePrivate');
var webpref = browser.i18n.getMessage('webPreface');
var webprefpriv = browser.i18n.getMessage('webPrefacePrivate');
var routerpref = browser.i18n.getMessage('routerPreface');
var routerprefpriv = browser.i18n.getMessage('routerPrefacePrivate');
var mailpref = browser.i18n.getMessage('mailPreface');
var mailprefpriv = browser.i18n.getMessage('mailPrefacePrivate');
var torrentpref = browser.i18n.getMessage('torrentPreface');
var torrentprefpriv = browser.i18n.getMessage('torrentPrefacePrivate');
var tunnelpref = browser.i18n.getMessage('i2ptunnelPreface');
var tunnelprefpriv = browser.i18n.getMessage('i2ptunnelPrefacePrivate');
var ircpref = browser.i18n.getMessage('ircPreface');
var ircprefpriv = browser.i18n.getMessage('ircPrefacePrivate');
var extensionpref = browser.i18n.getMessage('extensionPreface');
var muwirepref = browser.i18n.getMessage('muwirePreface');
var muwireprefpriv = browser.i18n.getMessage('muwirePrefacePrivate');
var botepref = browser.i18n.getMessage('botePreface');
var blogpref = browser.i18n.getMessage('blogPreface');
var blogprefpriv = browser.i18n.getMessage('blogPrefacePrivate');
function onError(err) {
console.log("(background)", err);
console.log('(background)', err);
}
function onContextGotLog(contexts) {
@@ -35,13 +35,13 @@ function onContextsGot(contexts) {
console.log(`Name : ${context.name}`);
ids.push(context.name);
}
console.log("Checking new contexts");
console.log('Checking new contexts');
if (ids.indexOf(titlepref) == -1) {
browser.contextualIdentities
.create({
name: titlepref,
color: "orange",
icon: "fingerprint",
color: 'orange',
icon: 'fingerprint',
})
.then(onCreated, onNotCreated);
}
@@ -49,8 +49,8 @@ function onContextsGot(contexts) {
browser.contextualIdentities
.create({
name: blogpref,
color: "pink",
icon: "pet",
color: 'pink',
icon: 'pet',
})
.then(onCreated, onNotCreated);
}
@@ -58,8 +58,8 @@ function onContextsGot(contexts) {
browser.contextualIdentities
.create({
name: webpref,
color: "red",
icon: "circle",
color: 'red',
icon: 'circle',
})
.then(onCreated, onNotCreated);
}
@@ -67,8 +67,8 @@ function onContextsGot(contexts) {
browser.contextualIdentities
.create({
name: routerpref,
color: "blue",
icon: "briefcase",
color: 'blue',
icon: 'briefcase',
})
.then(onCreated, onNotCreated);
}
@@ -76,8 +76,8 @@ function onContextsGot(contexts) {
browser.contextualIdentities
.create({
name: tunnelpref,
color: "green",
icon: "tree",
color: 'green',
icon: 'tree',
})
.then(onCreated, onNotCreated);
}
@@ -85,8 +85,8 @@ function onContextsGot(contexts) {
browser.contextualIdentities
.create({
name: mailpref,
color: "yellow",
icon: "briefcase",
color: 'yellow',
icon: 'briefcase',
})
.then(onCreated, onNotCreated);
}
@@ -94,8 +94,8 @@ function onContextsGot(contexts) {
browser.contextualIdentities
.create({
name: torrentpref,
color: "purple",
icon: "chill",
color: 'purple',
icon: 'chill',
})
.then(onCreated, onNotCreated);
}
@@ -103,8 +103,8 @@ function onContextsGot(contexts) {
browser.contextualIdentities
.create({
name: ircpref,
color: "red",
icon: "vacation",
color: 'red',
icon: 'vacation',
})
.then(onCreated, onNotCreated);
}
@@ -112,8 +112,8 @@ function onContextsGot(contexts) {
browser.contextualIdentities
.create({
name: muwirepref,
color: "turquoise",
icon: "gift",
color: 'turquoise',
icon: 'gift',
})
.then(onCreated, onNotCreated);
}
@@ -121,30 +121,30 @@ function onContextsGot(contexts) {
browser.contextualIdentities
.create({
name: botepref,
color: "blue",
icon: "fence",
color: 'blue',
icon: 'fence',
})
.then(onCreated, onNotCreated);
}
}
function onContextsError() {
console.log("Error finding contextual identities, is the API enabled?");
console.log('Error finding contextual identities, is the API enabled?');
}
function onCreated(context) {
console.log(" ID:", context.cookieStoreId, "created.");
console.log(' ID:', context.cookieStoreId, 'created.');
}
function onNotCreated(context) {
console.log("ID:", context.cookieStoreId, "not created.");
console.log('ID:', context.cookieStoreId, 'not created.');
}
browser.contextualIdentities.query({}).then(onContextsGot, onContextsError);
var gettingInfo = browser.runtime.getPlatformInfo();
gettingInfo.then((got) => {
if (got.os != "android") {
if (got.os != 'android') {
browser.windows.onCreated.addListener(themeWindow);
browser.windows.onFocusChanged.addListener(themeWindow);
browser.windows.onRemoved.addListener(themeWindow);
@@ -157,7 +157,7 @@ function themeWindowByTab(tabId) {
function tabWindow(tab) {
var gettingPlatformInfo = browser.runtime.getPlatformInfo();
gettingPlatformInfo.then((got) => {
if (got.os == "android") {
if (got.os == 'android') {
let getwindow = browser.tabs.get(tab.tabId);
getwindow.then(themeWindow);
} else {
@@ -166,7 +166,7 @@ function themeWindowByTab(tabId) {
}
});
}
if (typeof tabId === "number") {
if (typeof tabId === 'number') {
let tab = browser.tabs.get(tabId);
tab.then(tabWindow);
} else {
@@ -188,22 +188,22 @@ function isEmpty(obj) {
let btheme = {
colors: {
frame: "#363A68",
toolbar: "#363A68",
frame: '#363A68',
toolbar: '#363A68',
},
};
let dtheme = {
colors: {
frame: "#4456B7",
toolbar: "#4456B7",
frame: '#4456B7',
toolbar: '#4456B7',
},
};
function themeWindow(window) {
// Check if the window is in private browsing
function onThemeError() {
console.log("(theme) color set error");
console.log('(theme) color set error');
browser.theme.reset();
}
@@ -216,7 +216,7 @@ function themeWindow(window) {
}
function browserTheme() {
console.log("(theme)Active in I2P window");
console.log('(theme)Active in I2P window');
if (window.incognito) {
browser.theme.update(window.id, btheme);
} else {
@@ -233,43 +233,43 @@ function themeWindow(window) {
browserTheme();
browser.pageAction.show(tabInfo[0].id);
} else if (context.name == routerpref) {
console.log("(theme) Active in Router Console window");
console.log('(theme) Active in Router Console window');
dynamicTheme();
} else if (context.name == tunnelpref) {
console.log("(theme) Active in Hidden Services Manager window");
console.log('(theme) Active in Hidden Services Manager window');
dynamicTheme();
} else if (context.name == mailpref) {
console.log("(theme) Active in Web Mail window");
console.log('(theme) Active in Web Mail window');
dynamicTheme();
} else if (context.name == torrentpref) {
console.log("(theme) Active in Bittorrent window");
console.log('(theme) Active in Bittorrent window');
dynamicTheme();
} else if (context.name == botepref) {
console.log("(theme) Active in Bote window");
console.log('(theme) Active in Bote window');
dynamicTheme();
} else if (context.name == ircpref) {
console.log("(theme) Active in IRC window");
console.log('(theme) Active in IRC window');
dynamicTheme();
} else if (context.name == blogpref) {
console.log("(theme) (theme) Active in Blog window");
console.log('(theme) (theme) Active in Blog window');
dynamicTheme();
} else if (context.name == muwirepref) {
console.log("(theme) Active in MuWire window");
console.log('(theme) Active in MuWire window');
dynamicTheme();
} else {
console.log("(theme) Not active in MuWire window");
console.log('(theme) Not active in MuWire window');
browser.theme.reset();
}
}
if (
tabInfo[0].cookieStoreId != "firefox-default" &&
tabInfo[0].cookieStoreId != "firefox-private"
tabInfo[0].cookieStoreId != 'firefox-default' &&
tabInfo[0].cookieStoreId != 'firefox-private'
) {
browser.contextualIdentities
.get(tabInfo[0].cookieStoreId)
.then(onContextGotTheme, onThemeError);
} else {
console.log("(theme) Not active in I2P window");
console.log('(theme) Not active in I2P window');
browser.theme.reset();
}
}
@@ -284,65 +284,65 @@ function themeWindow(window) {
function setTitle(window) {
// Check if the window is in private browsing
function onContextError() {
console.log("Context Error");
console.log('Context Error');
}
function setTitle(title, privtitle) {
if (window.incognito) {
browser.windows.update(window.id, {
titlePreface: privtitle + ": ",
titlePreface: privtitle + ': ',
});
} else {
browser.windows.update(window.id, {
titlePreface: title + ": ",
titlePreface: title + ': ',
});
}
}
function logTabs(tabInfo) {
function onContextGotTitle(context) {
if (context.name == titlepref) {
console.log("Active in I2P window");
console.log('Active in I2P window');
setTitle(titlepref, titleprefpriv);
} else if (context.name == muwirepref) {
console.log("Active in MuWire window");
console.log('Active in MuWire window');
setTitle(muwirepref, muwireprefpriv);
} else if (context.name == routerpref) {
console.log("Active in Router Console window");
console.log('Active in Router Console window');
setTitle(routerpref, routerprefpriv);
} else if (context.name == botepref) {
console.log("Active in Bote window");
console.log('Active in Bote window');
setTitle(botepref, boteprefpriv);
} else if (context.name == tunnelpref) {
console.log("Active in Hidden Services Manager window");
console.log('Active in Hidden Services Manager window');
setTitle(tunnelpref, tunnelprefpriv);
} else if (context.name == mailpref) {
console.log("Active in I2P Web Mail window");
console.log('Active in I2P Web Mail window');
setTitle(mailpref, mailprefpriv);
} else if (context.name == blogpref) {
console.log("Active in I2P Blog window");
console.log('Active in I2P Blog window');
setTitle(blogpref, blogprefpriv);
} else if (context.name == torrentpref) {
console.log("Active in I2P Torrent window");
console.log('Active in I2P Torrent window');
setTitle(torrentpref, torrentprefpriv);
} else if (context.name == ircpref) {
console.log("Active in IRC window");
console.log('Active in IRC window');
setTitle(ircpref, ircprefpriv);
}
}
if (
tabInfo[0].cookieStoreId != "firefox-default" &&
tabInfo[0].cookieStoreId != "firefox-private"
tabInfo[0].cookieStoreId != 'firefox-default' &&
tabInfo[0].cookieStoreId != 'firefox-private'
) {
browser.contextualIdentities
.get(tabInfo[0].cookieStoreId)
.then(onContextGotTitle, onContextError);
} else if (window.incognito) {
browser.windows.update(window.id, {
titlePreface: "",
titlePreface: '',
});
} else {
browser.windows.update(window.id, {
titlePreface: "",
titlePreface: '',
});
}
}
@@ -357,9 +357,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,30 +1,30 @@
function bookmarksSetup() {
var gettingInfo = browser.runtime.getPlatformInfo();
gettingInfo.then((got) => {
if (got.os != "android") {
if (got.os != 'android') {
function bookmarks(bookmarkToolbar) {
console.log("(bookmarks)", bookmarkToolbar);
console.log("Setting up bookmark toolbar", bookmarkToolbar);
console.log('(bookmarks)', bookmarkToolbar);
console.log('Setting up bookmark toolbar', bookmarkToolbar);
function bookHome(bookmarkItems) {
if (!bookmarkItems.length) {
function gotProxyInfo(info) {
let port = info.value.http.split(":")[1];
if (port == "7644") {
let port = info.value.http.split(':')[1];
if (port == '7644') {
let createRhizomeBookmark = browser.bookmarks.create({
url: "about:I2p",
title: "I2P Extension Home Page",
url: 'about:I2p',
title: 'I2P Extension Home Page',
parentId: bookmarkToolbar[0].id,
});
createRhizomeBookmark.then(onCreated);
} else {
let createBookmark = browser.bookmarks.create({
url: browser.runtime.getURL("home.html"),
title: "I2P Extension Home Page",
url: browser.runtime.getURL('home.html'),
title: 'I2P Extension Home Page',
parentId: bookmarkToolbar[0].id,
});
createBookmark.then(onCreated);
}
console.log("(bookmarks) adding home page bookmark");
console.log('(bookmarks) adding home page bookmark');
}
console.log(
"(bookmarks) checking if we're running in an I2P Browser"
@@ -36,19 +36,19 @@ function bookmarksSetup() {
function bookTorrent(bookmarkItems) {
if (!bookmarkItems.length) {
function gotProxyInfo(info) {
let port = info.value.http.split(":")[1];
if (port == "7644") {
let port = info.value.http.split(':')[1];
if (port == '7644') {
let createBookmark = browser.bookmarks.create({
url: "http://localhost:7657/i2psnark",
title: "Bittorrent",
url: 'http://localhost:7657/i2psnark',
title: 'Bittorrent',
parentId: bookmarkToolbar[0].id,
});
createBookmark.then(onCreated);
} else {
let createRhizomeBookmark = browser.bookmarks.create({
url:
"http://" + control_host + ":" + control_port + "/i2psnark",
title: "Bittorrent",
'http://' + control_host + ':' + control_port + '/i2psnark',
title: 'Bittorrent',
parentId: bookmarkToolbar[0].id,
});
createRhizomeBookmark.then(onCreated);
@@ -64,18 +64,18 @@ function bookmarksSetup() {
function bookConsole(bookmarkItems) {
if (!bookmarkItems.length) {
function gotProxyInfo(info) {
let port = info.value.http.split(":")[1];
if (port == "7644") {
let port = info.value.http.split(':')[1];
if (port == '7644') {
let createBookmark = browser.bookmarks.create({
url: "http://localhost:7657/home",
title: "I2P Console",
url: 'http://localhost:7657/home',
title: 'I2P Console',
parentId: bookmarkToolbar[0].id,
});
createBookmark.then(onCreated);
} else {
let createRhizomeBookmark = browser.bookmarks.create({
url: "http://" + control_host + ":" + control_port + "/home",
title: "I2P Console",
url: 'http://' + control_host + ':' + control_port + '/home',
title: 'I2P Console',
parentId: bookmarkToolbar[0].id,
});
createRhizomeBookmark.then(onCreated);
@@ -91,24 +91,24 @@ function bookmarksSetup() {
function bookMail(bookmarkItems) {
if (!bookmarkItems.length) {
function gotProxyInfo(info) {
let port = info.value.http.split(":")[1];
if (port == "7644") {
let port = info.value.http.split(':')[1];
if (port == '7644') {
let createBookmark = browser.bookmarks.create({
url: "http://localhost:7657/webmail",
title: "Web Mail",
url: 'http://localhost:7657/webmail',
title: 'Web Mail',
parentId: bookmarkToolbar[0].id,
});
createBookmark.then(onCreated);
} else {
let createRhizomeBookmark = browser.bookmarks.create({
url:
"http://" + control_host + ":" + control_port + "/webmail",
title: "Web Mail",
'http://' + control_host + ':' + control_port + '/webmail',
title: 'Web Mail',
parentId: bookmarkToolbar[0].id,
});
createRhizomeBookmark.then(onCreated);
}
console.log("(bookmarks) adding webmail bookmark");
console.log('(bookmarks) adding webmail bookmark');
}
console.log(
"(bookmarks) checking if we're running in an I2P Browser"
@@ -120,28 +120,28 @@ function bookmarksSetup() {
function bookI2PTunnel(bookmarkItems) {
if (!bookmarkItems.length) {
function gotProxyInfo(info) {
let port = info.value.http.split(":")[1];
if (port == "7644") {
let port = info.value.http.split(':')[1];
if (port == '7644') {
var createBookmark = browser.bookmarks.create({
url: "http://localhost:7657/i2ptunnel",
title: "Hidden Services Manager",
url: 'http://localhost:7657/i2ptunnel',
title: 'Hidden Services Manager',
parentId: bookmarkToolbar[0].id,
});
createBookmark.then(onCreated);
} else {
var createRhizomeBookmark = browser.bookmarks.create({
url:
"http://" +
'http://' +
control_host +
":" +
':' +
control_port +
"/i2ptunnel",
title: "Hidden Services Manager",
'/i2ptunnel',
title: 'Hidden Services Manager',
parentId: bookmarkToolbar[0].id,
});
createRhizomeBookmark.then(onCreated);
}
console.log("(bookmarks) adding i2ptunnel bookmark");
console.log('(bookmarks) adding i2ptunnel bookmark');
}
console.log(
"(bookmarks) checking if we're running in an I2P Browser"
@@ -155,53 +155,53 @@ function bookmarksSetup() {
console.log(`An error : ${error}`);
}
function onCreated(node) {
console.log("Bookmarked", node);
console.log('Bookmarked', node);
}
var b0 = browser.bookmarks.search({
title: "I2P Extension Home Page",
title: 'I2P Extension Home Page',
});
b0.then(bookHome, onRejected);
var b1 = browser.bookmarks.search({
title: "Bittorrent",
title: 'Bittorrent',
});
b1.then(bookTorrent, onRejected);
var b2 = browser.bookmarks.search({
title: "Hidden Services Manager",
title: 'Hidden Services Manager',
});
b2.then(bookI2PTunnel, onRejected);
var b3 = browser.bookmarks.search({
title: "Web Mail",
title: 'Web Mail',
});
b3.then(bookMail, onRejected);
var b4 = browser.bookmarks.search({
title: "I2P Console",
title: 'I2P Console',
});
b4.then(bookConsole, onRejected);
defaultSettings["bookmarks_state"] = true;
defaultSettings['bookmarks_state'] = true;
}
var bt = browser.bookmarks.search({
query: "Toolbar",
query: 'Toolbar',
});
function toolDir(bookmarkToolbar) {
let defaultSettings = {};
chrome.storage.local.set(defaultSettings);
console.log("(bookmarks) created");
var ibbt = browser.bookmarks.search("I2P Toolbar");
browser.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);
@@ -225,7 +225,7 @@ function bookmarksSetup() {
}
function conditionalBookmarksSetup(obj) {
console.log("(bookmarks) state", obj.bookmarks_state);
console.log('(bookmarks) state', obj.bookmarks_state);
if (obj.bookmarks_state == false) {
bookmarksSetup();
}
@@ -235,11 +235,11 @@ function conditionalBookmarksSetup(obj) {
}
if (browser != null) {
let gettingStorage = browser.storage.local.get("bookmarks_state");
let gettingStorage = browser.storage.local.get('bookmarks_state');
gettingStorage.then(conditionalBookmarksSetup, bookmarksSetup);
}
const bookmarksButton = document.getElementById("bookmarksButton");
const bookmarksButton = document.getElementById('bookmarksButton');
if (bookmarksButton != null) {
bookmarksButton.addEventListener("click", bookmarksSetup);
bookmarksButton.addEventListener('click', bookmarksSetup);
}

30
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);
let messageContent = browser.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

@@ -1,56 +1,56 @@
function contentUpdateById(id, message) {
let infoTitle = document.getElementById(id);
let messageContent = chrome.i18n.getMessage(message);
let messageContent = browser.i18n.getMessage(message);
if (infoTitle === null) {
console.log("content error", id, messageContent);
console.log('content error', id, messageContent);
return;
}
infoTitle.textContent = messageContent;
}
// Information Section
contentUpdateById("text-section-header", "extensionName");
contentUpdateById("description", "extensionDescription");
contentUpdateById("i2pbrowser-version", "extensionVersion");
contentUpdateById("proxy-check", "proxyFailedStatus");
contentUpdateById('text-section-header', 'extensionName');
contentUpdateById('description', 'extensionDescription');
contentUpdateById('i2pbrowser-version', 'extensionVersion');
contentUpdateById('proxy-check', 'proxyFailedStatus');
// Control Section
contentUpdateById("controlHeader", "controlHeader");
contentUpdateById("controlExplain", "controlExplain");
contentUpdateById("clear-browser-data", "clearData");
contentUpdateById("clear-desc", "clearDesc");
contentUpdateById("enable-web-rtc", "enableWebRTC");
contentUpdateById("rtcDesc", "rtcDesc");
contentUpdateById("disable-history", "disableHistory");
contentUpdateById("histDesc", "histDesc");
contentUpdateById('controlHeader', 'controlHeader');
contentUpdateById('controlExplain', 'controlExplain');
contentUpdateById('clear-browser-data', 'clearData');
contentUpdateById('clear-desc', 'clearDesc');
contentUpdateById('enable-web-rtc', 'enableWebRTC');
contentUpdateById('rtcDesc', 'rtcDesc');
contentUpdateById('disable-history', 'disableHistory');
contentUpdateById('histDesc', 'histDesc');
// Application Section
contentUpdateById("applicationHeader", "applicationHeader");
contentUpdateById("applicationExplain", "applicationExplain");
contentUpdateById("window-visit-index", "windowVisitHelppage");
contentUpdateById("help", "help");
contentUpdateById("window-visit-router", "windowVisitConsole");
contentUpdateById("routerConsole", "routerConsole");
contentUpdateById("window-visit-homepage", "windowVisitHomepage");
contentUpdateById("abouthome", "abouthome");
contentUpdateById("window-visit-i2ptunnel", "windowVisitI2ptunnel");
contentUpdateById("i2ptunnel", "i2ptunnel");
contentUpdateById("window-visit-susimail", "windowVisitSusiMail");
contentUpdateById("susimail", "susimail");
contentUpdateById("window-visit-snark", "windowVisitSnark");
contentUpdateById("snark", "snark");
contentUpdateById('applicationHeader', 'applicationHeader');
contentUpdateById('applicationExplain', 'applicationExplain');
contentUpdateById('window-visit-index', 'windowVisitHelppage');
contentUpdateById('help', 'help');
contentUpdateById('window-visit-router', 'windowVisitConsole');
contentUpdateById('routerConsole', 'routerConsole');
contentUpdateById('window-visit-homepage', 'windowVisitHomepage');
contentUpdateById('abouthome', 'abouthome');
contentUpdateById('window-visit-i2ptunnel', 'windowVisitI2ptunnel');
contentUpdateById('i2ptunnel', 'i2ptunnel');
contentUpdateById('window-visit-susimail', 'windowVisitSusiMail');
contentUpdateById('susimail', 'susimail');
contentUpdateById('window-visit-snark', 'windowVisitSnark');
contentUpdateById('snark', 'snark');
// Homepage Section
contentUpdateById("window-visit-webpage", "windowVisitWebPage");
contentUpdateById("webpage", "help");
contentUpdateById("window-visit-sources", "windowVisitSources");
contentUpdateById("sources", "sources");
contentUpdateById("window-visit-releases", "windowVisitReleases");
contentUpdateById("releases", "releases");
contentUpdateById('window-visit-webpage', 'windowVisitWebPage');
contentUpdateById('webpage', 'help');
contentUpdateById('window-visit-sources', 'windowVisitSources');
contentUpdateById('sources', 'sources');
contentUpdateById('window-visit-releases', 'windowVisitReleases');
contentUpdateById('releases', 'releases');
fetch("http://proxy.i2p").then((myJson) => {
contentUpdateById("proxy-check", "proxySuccessStatus");
let readyness = document.querySelectorAll(".readyness");
fetch('http://proxy.i2p').then((myJson) => {
contentUpdateById('proxy-check', 'proxySuccessStatus');
let readyness = document.querySelectorAll('.readyness');
if (readyness != null) {
hide(readyness);
}

View File

@@ -1,5 +1,5 @@
//var windowIds = []
var titlepref = chrome.i18n.getMessage("titlePreface");
var titlepref = browser.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,73 +1,73 @@
function routerHost(url) {
// console.log("(urlcheck) HANDLER URL CHECK");
let hostname = "";
let path = "";
let hostname = '';
let path = '';
function pathcheck(str) {
// console.log("(urlcheck) HANDLER PATH CHECK", str);
if (str != undefined) {
let final = str.split("/")[0];
if (final === "i2ptunnelmgr" || final === "i2ptunnel") {
console.log("(urlcheck) Tunnel application path", final);
return "i2ptunnelmgr";
let final = str.split('/')[0];
if (final === 'i2ptunnelmgr' || final === 'i2ptunnel') {
console.log('(urlcheck) Tunnel application path', final);
return 'i2ptunnelmgr';
} else if (
final === "i2psnark" ||
final === "torrents" ||
final.startsWith("transmission") ||
final.startsWith("tracker") ||
url.includes(":7662")
final === 'i2psnark' ||
final === 'torrents' ||
final.startsWith('transmission') ||
final.startsWith('tracker') ||
url.includes(':7662')
) {
console.log("(urlcheck) Torrent application path", final);
return "i2psnark";
} else if (final === "webmail" || final === "susimail") {
if (!url.includes(".css")) {
console.log("(urlcheck) Mail application path", final);
return "webmail";
console.log('(urlcheck) Torrent application path', final);
return 'i2psnark';
} else if (final === 'webmail' || final === 'susimail') {
if (!url.includes('.css')) {
console.log('(urlcheck) Mail application path', final);
return 'webmail';
}
} else if (final.startsWith("MuWire")) {
if (!url.includes(".png")) {
console.log("(urlcheck) MuWire application path", final);
return "muwire";
} else if (final.startsWith('MuWire')) {
if (!url.includes('.png')) {
console.log('(urlcheck) MuWire application path', final);
return 'muwire';
}
} else if (final.startsWith("i2pbote")) {
if (!url.includes(".png")) {
console.log("(urlcheck) I2PBote application path", final);
return "i2pbote";
} else if (final.startsWith('i2pbote')) {
if (!url.includes('.png')) {
console.log('(urlcheck) I2PBote application path', final);
return 'i2pbote';
}
} else if (
final === "home" ||
final === "console" ||
final === "dns" ||
final === "susidns" ||
final.startsWith("susidns") ||
final === "sitemap" ||
final.startsWith("config")
final === 'home' ||
final === 'console' ||
final === 'dns' ||
final === 'susidns' ||
final.startsWith('susidns') ||
final === 'sitemap' ||
final.startsWith('config')
) {
console.log("(urlcheck) Console application path", final);
return "routerconsole";
console.log('(urlcheck) Console application path', final);
return 'routerconsole';
}
}
return true;
}
if (url.indexOf("://") > -1) {
hostname = url.split("/")[2];
let prefix = url.substr(0, url.indexOf("://") + 3);
path = url.replace(prefix + hostname + "/", "");
if (url.indexOf('://') > -1) {
hostname = url.split('/')[2];
let prefix = url.substr(0, url.indexOf('://') + 3);
path = url.replace(prefix + hostname + '/', '');
} else if (identifyProtocolHandler(url)) {
let newurl = identifyProtocolHandler(url);
return routerHost(newurl);
} else {
hostname = url.split("/")[0];
path = url.replace(hostname + "/", "");
hostname = url.split('/')[0];
path = url.replace(hostname + '/', '');
}
if (hostname === control_host + ":" + control_port) {
if (hostname === control_host + ':' + control_port) {
//console.log("(hostcheck) router console found on configured ports");
return pathcheck(path);
}
if (hostname === "localhost" + ":" + control_port) {
if (hostname === 'localhost' + ':' + control_port) {
//console.log("(hostcheck) router console found on configured ports");
return pathcheck(path);
}
if (hostname === "127.0.0.1" + ":" + control_port) {
if (hostname === '127.0.0.1' + ':' + control_port) {
return pathcheck(path);
}
@@ -77,36 +77,36 @@ function routerHost(url) {
function identifyProtocolHandler(url) {
//console.log("looking for handler-able requests")
if (routerHost(url)) {
if (url.includes(encodeURIComponent("ext+rc:"))) {
return url.replace(encodeURIComponent("ext+rc:"), "");
} else if (url.includes("ext+rc:")) {
return url.replace("ext+rc:", "");
if (url.includes(encodeURIComponent('ext+rc:'))) {
return url.replace(encodeURIComponent('ext+rc:'), '');
} else if (url.includes('ext+rc:')) {
return url.replace('ext+rc:', '');
}
} else if (url.includes("ext+rc:")) {
} else if (url.includes('ext+rc:')) {
return url;
}
return false;
}
function trimHost(url) {
let hostname = "";
let prefix = "";
if (url.indexOf("://") > -1) {
prefix = url.substr(0, url.indexOf("://") + 3);
hostname = url.split("/")[2];
let hostname = '';
let prefix = '';
if (url.indexOf('://') > -1) {
prefix = url.substr(0, url.indexOf('://') + 3);
hostname = url.split('/')[2];
} else {
hostname = url.split("/")[0];
hostname = url.split('/')[0];
}
let path = url.replace(prefix + hostname, "");
console.log("(handler) path", prefix + hostname, path);
let path = url.replace(prefix + hostname, '');
console.log('(handler) path', prefix + hostname, path);
return path;
}
var handlerSetup = function (requestDetails) {
var handlerSetup = function(requestDetails) {
//console.log("checking protocol handler listener")
let rwurl = identifyProtocolHandler(requestDetails.url);
if (rwurl != false) {
console.log("(handler) rewrite URL requested", rwurl);
console.log('(handler) rewrite URL requested', rwurl);
requestDetails.redirectUrl = rwurl;
requestDetails.url = trimHost(rwurl);
requestDetails.originUrl = trimHost(rwurl);

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

164
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,19 +17,19 @@ function proxyHost(url) {
}
function localHost(url) {
let hostname = "";
if (url.indexOf("://") > -1) {
hostname = url.split("/")[2];
let hostname = '';
if (url.indexOf('://') > -1) {
hostname = url.split('/')[2];
} else {
hostname = url.split("/")[0];
hostname = url.split('/')[0];
}
hostname = hostname.split(":")[0];
console.log("(isolate) hostname localhost", hostname);
console.log("(isolate) url localhost", url);
if (hostname === "127.0.0.1") {
if (url.indexOf("7669") != -1) return "irc";
} else if (hostname === "localhost") {
if (url.indexOf("8084") != -1) return "blog";
hostname = hostname.split(':')[0];
console.log('(isolate) hostname localhost', hostname);
console.log('(isolate) url localhost', url);
if (hostname === '127.0.0.1') {
if (url.indexOf('7669') != -1) return 'irc';
} else if (hostname === 'localhost') {
if (url.indexOf('8084') != -1) return 'blog';
}
return false;
@@ -37,13 +37,13 @@ function localHost(url) {
function extensionHost(url) {
var prefix = browser.runtime
.getURL("")
.replace("moz-extension://", "")
.replace("/", "");
.getURL('')
.replace('moz-extension://', '')
.replace('/', '');
if (url.originUrl !== undefined) {
var originUrl = url.originUrl
.replace("moz-extension://", "")
.replace("/", "");
.replace('moz-extension://', '')
.replace('/', '');
// console.log("(urlcheck) Extension application path", originUrl);
// console.log("(urlcheck) Extension application path", prefix);
var res = originUrl.startsWith(prefix);
@@ -57,118 +57,118 @@ function extensionHost(url) {
// console.log("(urlcheck) Extension application path", res);
if (res) return res;
}
console.log("(urlcheck) Extension application path", url);
console.log('(urlcheck) Extension application path', url);
}
function i2pHostName(url) {
let hostname = "";
console.log("(hosts)", url);
let hostname = '';
console.log('(hosts)', url);
let u = new URL(url);
if (u.host.endsWith(".i2p")) {
if (u.host.endsWith('.i2p')) {
hostname = u.host;
} else if (url.includes("=")) {
if (url.includes(".i2p")) {
lsit = url.split("=");
} else if (url.includes('=')) {
if (url.includes('.i2p')) {
lsit = url.split('=');
for (let item in lsit) {
var items = lsit[item].split(`\ % `); //"\%")
for (let p in items) {
if (items[p].includes(".i2p")) {
hostname = items[p].replace("3D", 1);
if (items[p].includes('.i2p')) {
hostname = items[p].replace('3D', 1);
}
break;
}
if (hostname != "") {
if (hostname != '') {
break;
}
}
}
} else if (url.indexOf("://") > -1) {
hostname = url.split("/")[2];
} else if (url.indexOf('://') > -1) {
hostname = url.split('/')[2];
} else {
hostname = url.split("/")[0];
hostname = url.split('/')[0];
}
console.log("(hosts) scrub", hostname);
console.log('(hosts) scrub', hostname);
return hostname;
}
function i2pHost(url) {
let hostname = i2pHostName(url);
return hostname.endsWith(".i2p");
return hostname.endsWith('.i2p');
}
function routerHost(url) {
// console.log("(urlcheck) HOST URL CHECK");
let hostname = "";
let path = "";
let hostname = '';
let path = '';
function pathcheck(str) {
if (str != undefined) {
let final = str.split("/")[0];
if (final === "i2ptunnelmgr" || final === "i2ptunnel") {
console.log("(urlcheck) Tunnel application path", final);
return "i2ptunnelmgr";
let final = str.split('/')[0];
if (final === 'i2ptunnelmgr' || final === 'i2ptunnel') {
console.log('(urlcheck) Tunnel application path', final);
return 'i2ptunnelmgr';
} else if (
final === "i2psnark" ||
final === "torrents" ||
final.startsWith("transmission") ||
final.startsWith("tracker") ||
url.includes(":7662")
final === 'i2psnark' ||
final === 'torrents' ||
final.startsWith('transmission') ||
final.startsWith('tracker') ||
url.includes(':7662')
) {
console.log("(urlcheck) Torrent application path", final);
return "i2psnark";
} else if (final === "webmail" || final === "susimail") {
if (!url.includes(".css")) {
console.log("(urlcheck) Mail application path", final);
return "webmail";
console.log('(urlcheck) Torrent application path', final);
return 'i2psnark';
} else if (final === 'webmail' || final === 'susimail') {
if (!url.includes('.css')) {
console.log('(urlcheck) Mail application path', final);
return 'webmail';
}
} else if (final.startsWith("MuWire")) {
if (!url.includes(".png")) {
console.log("(urlcheck) MuWire application path", final);
return "muwire";
} else if (final.startsWith('MuWire')) {
if (!url.includes('.png')) {
console.log('(urlcheck) MuWire application path', final);
return 'muwire';
}
} else if (final.startsWith("i2pbote")) {
if (!url.includes(".png")) {
console.log("(urlcheck) I2PBote application path", final);
return "i2pbote";
} else if (final.startsWith('i2pbote')) {
if (!url.includes('.png')) {
console.log('(urlcheck) I2PBote application path', final);
return 'i2pbote';
}
} else if (
final === "home" ||
final === "console" ||
final === "dns" ||
final === "susidns" ||
final.startsWith("susidns") ||
final === "sitemap" ||
final.startsWith("config")
final === 'home' ||
final === 'console' ||
final === 'dns' ||
final === 'susidns' ||
final.startsWith('susidns') ||
final === 'sitemap' ||
final.startsWith('config')
) {
console.log("(urlcheck) Console application path", final);
return "routerconsole";
console.log('(urlcheck) Console application path', final);
return 'routerconsole';
}
}
return true;
}
if (url.indexOf("://") > -1) {
hostname = url.split("/")[2];
let prefix = url.substr(0, url.indexOf("://") + 3);
path = url.replace(prefix + hostname + "/", "");
if (url.indexOf('://') > -1) {
hostname = url.split('/')[2];
let prefix = url.substr(0, url.indexOf('://') + 3);
path = url.replace(prefix + hostname + '/', '');
} else if (identifyProtocolHandler(url)) {
let newurl = identifyProtocolHandler(url);
return routerHost(newurl);
} else {
hostname = url.split("/")[0];
path = url.replace(hostname + "/", "");
hostname = url.split('/')[0];
path = url.replace(hostname + '/', '');
}
if (hostname === control_host + ":" + control_port) {
if (hostname === control_host + ':' + control_port) {
return pathcheck(path);
}
if (hostname === "localhost" + ":" + control_port) {
if (hostname === 'localhost' + ':' + control_port) {
return pathcheck(path);
}
if (hostname === "127.0.0.1" + ":" + control_port) {
if (hostname === '127.0.0.1' + ':' + control_port) {
return pathcheck(path);
}
if (hostname === "localhost" + ":" + 7070) {
if (hostname === 'localhost' + ':' + 7070) {
return pathcheck(path);
}
if (hostname === "127.0.0.1" + ":" + 7070) {
if (hostname === '127.0.0.1' + ':' + 7070) {
return pathcheck(path);
}
return false;

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'
);
}
@@ -389,23 +389,23 @@ function Done(output) {
function hide(elements) {
elements = elements.length ? elements : [elements];
for (var index = 0; index < elements.length; index++) {
elements[index].style.display = "none";
elements[index].style.display = 'none';
}
}
function unhide(elements) {
elements = elements.length ? elements : [elements];
for (var index = 0; index < elements.length; index++) {
elements[index].style.display = "inline-block";
elements[index].style.display = 'inline-block';
}
}
console.log("(i2pcontrol) I2PControl connection tested,", output);
console.log('(i2pcontrol) I2PControl connection tested,', output);
if (output == hello) {
var toopieLinks = document.querySelectorAll(".window-visit-toopie");
var toopieLinks = document.querySelectorAll('.window-visit-toopie');
unhide(toopieLinks);
} else {
var toopieLinks = document.querySelectorAll(".window-visit-toopie");
var toopieLinks = document.querySelectorAll('.window-visit-toopie');
hide(toopieLinks);
}
return output;

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

@@ -27,7 +27,7 @@
],
"manifest_version": 2,
"name": "__MSG_extensionName__",
"version": "0.112",
"version": "0.112.1",
"description": "__MSG_extensionDescription__",
"homepage_url": "https://github.com/eyedeekay/I2P-in-Private-Browsing-Mode-Firefox",
"icons": {

View File

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

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 = browser.i18n.getMessage('titlePreface');
function onSet(result) {
if (result) {
console.log("->: Value was updated");
console.log('->: Value was updated');
} else {
console.log("-X: Value was not updated");
console.log('-X: Value was not updated');
}
}
@@ -14,7 +14,7 @@ function disableHyperlinkAuditing() {
var setting = browser.privacy.websites.hyperlinkAuditingEnabled.set({
value: false,
});
console.log("Disabling hyperlink auditing/val=", {
console.log('Disabling hyperlink auditing/val=', {
value: false,
});
setting.then(onSet);
@@ -23,7 +23,7 @@ function disableHyperlinkAuditing() {
// UNINSTALL ONLY
function enableHyperlinkAuditing() {
var setting = browser.privacy.websites.hyperlinkAuditingEnabled.clear();
console.log("Disabling hyperlink auditing/val=", {
console.log('Disabling hyperlink auditing/val=', {
value: false,
});
setting.then(onSet);
@@ -34,7 +34,7 @@ function enableFirstPartyIsolation() {
var setting = browser.privacy.websites.firstPartyIsolate.set({
value: true,
});
console.log("Enabling first party isolation/val=", {
console.log('Enabling first party isolation/val=', {
value: true,
});
setting.then(onSet);
@@ -43,7 +43,7 @@ function enableFirstPartyIsolation() {
// UNINSTALL ONLY
function disableFirstPartyIsolation() {
var setting = browser.privacy.websites.firstPartyIsolate.clear();
console.log("Enabling first party isolation/val=", {
console.log('Enabling first party isolation/val=', {
value: true,
});
setting.then(onSet);
@@ -57,13 +57,13 @@ function disableEvilCookies() {
getting.then((got) => {
var setting = browser.privacy.websites.cookieConfig.set({
value: {
behavior: "reject_third_party",
behavior: 'reject_third_party',
nonPersistentCookies: got.value.nonPersistentCookies,
},
});
console.log("Setting cookie behavior/val=", {
console.log('Setting cookie behavior/val=', {
value: {
behavior: "reject_third_party",
behavior: 'reject_third_party',
nonPersistentCookies: got.value.nonPersistentCookies,
},
});
@@ -241,7 +241,7 @@ function AssurePeerConnection() {
browser.privacy.network.peerConnectionEnabled.set({
value: true,
});
chrome.privacy.network.webRTCIPHandlingPolicy.set({
browser.privacy.network.webRTCIPHandlingPolicy.set({
value: "disable_non_proxied_udp",
});
}
@@ -255,7 +255,7 @@ function UnsetPeerConnection() {
browser.privacy.network.peerConnectionEnabled.set({
value: true,
});
chrome.privacy.network.webRTCIPHandlingPolicy.set({
browser.privacy.network.webRTCIPHandlingPolicy.set({
value: "default",
});
}

179
proxy.js
View File

@@ -1,35 +1,35 @@
var titlepref = chrome.i18n.getMessage("titlePreface");
var webpref = chrome.i18n.getMessage("webPreface");
var routerpref = chrome.i18n.getMessage("routerPreface");
var mailpref = chrome.i18n.getMessage("mailPreface");
var torrentpref = chrome.i18n.getMessage("torrentPreface");
var tunnelpref = chrome.i18n.getMessage("i2ptunnelPreface");
var ircpref = chrome.i18n.getMessage("ircPreface");
var extensionpref = chrome.i18n.getMessage("extensionPreface");
var muwirepref = chrome.i18n.getMessage("muwirePreface");
var botepref = chrome.i18n.getMessage("botePreface");
var blogpref = chrome.i18n.getMessage("blogPreface");
var blogprefpriv = chrome.i18n.getMessage("blogPrefacePrivate");
var titlepref = browser.i18n.getMessage('titlePreface');
var webpref = browser.i18n.getMessage('webPreface');
var routerpref = browser.i18n.getMessage('routerPreface');
var mailpref = browser.i18n.getMessage('mailPreface');
var torrentpref = browser.i18n.getMessage('torrentPreface');
var tunnelpref = browser.i18n.getMessage('i2ptunnelPreface');
var ircpref = browser.i18n.getMessage('ircPreface');
var extensionpref = browser.i18n.getMessage('extensionPreface');
var muwirepref = browser.i18n.getMessage('muwirePreface');
var botepref = browser.i18n.getMessage('botePreface');
var blogpref = browser.i18n.getMessage('blogPreface');
var blogprefpriv = browser.i18n.getMessage('blogPrefacePrivate');
browser.privacy.network.peerConnectionEnabled.set({
value: true,
});
chrome.privacy.network.networkPredictionEnabled.set({
browser.privacy.network.networkPredictionEnabled.set({
value: false,
});
chrome.privacy.network.webRTCIPHandlingPolicy.set({
value: "disable_non_proxied_udp",
browser.privacy.network.webRTCIPHandlingPolicy.set({
value: 'disable_non_proxied_udp',
});
console.log("Disabled unproxied UDP.");
console.log('Disabled unproxied UDP.');
function shouldProxyRequest(requestInfo) {
return requestInfo.parentFrameId != -1;
}
var handleContextProxyRequest = async function (requestDetails) {
var handleContextProxyRequest = async function(requestDetails) {
function ircProxy() {
if (!requestDetails.url.includes("7669")) {
if (!requestDetails.url.includes('7669')) {
proxy = {
type: getScheme(),
host: getHost(),
@@ -37,13 +37,13 @@ var handleContextProxyRequest = async function (requestDetails) {
};
return proxy;
}
if (requestDetails.url.includes(":7669")) {
if (requestDetails.url.includes(':7669')) {
proxy = null;
return proxy;
}
}
function blogProxy() {
if (!requestDetails.url.includes("8084")) {
if (!requestDetails.url.includes('8084')) {
proxy = {
type: getScheme(),
host: getHost(),
@@ -51,7 +51,7 @@ var handleContextProxyRequest = async function (requestDetails) {
};
return proxy;
}
if (requestDetails.url.includes(":8084")) {
if (requestDetails.url.includes(':8084')) {
proxy = null;
return proxy;
}
@@ -59,15 +59,15 @@ var handleContextProxyRequest = async function (requestDetails) {
function btProxy() {
proxy = routerProxy();
if (requestDetails.url.includes(":7662")) {
if (requestDetails.url.includes(':7662')) {
proxy = null;
return proxy;
}
console.log("(bt proxy)", proxy);
console.log('(bt proxy)', proxy);
return proxy;
}
function mainProxy() {
console.log("(proxy) mainproxy 0");
console.log('(proxy) mainproxy 0');
proxy = {
type: getScheme(),
host: getHost(),
@@ -76,11 +76,11 @@ var handleContextProxyRequest = async function (requestDetails) {
let url = new URL(requestDetails.url);
if (
requestDetails.url.startsWith(
"http://" + getHost() + ":" + getConsolePort() + "/i2psnark/"
'http://' + getHost() + ':' + getConsolePort() + '/i2psnark/'
)
) {
//+url.host)) {
console.log("(proxy) mainproxy 2", url);
console.log('(proxy) mainproxy 2', url);
proxy = null;
}
return proxy;
@@ -99,20 +99,20 @@ var handleContextProxyRequest = async function (requestDetails) {
}
}
try {
var handleProxyRequest = function (context) {
var handleProxyRequest = function(context) {
proxy = {
type: getScheme(),
host: getHost(),
port: getPort(),
};
if (context == "firefox-default" || context == "firefox-private") {
if (context == 'firefox-default' || context == 'firefox-private') {
proxy = null;
return proxy;
}
if (context != undefined) {
console.log("(proxy), context", context);
console.log('(proxy), context', context);
proxy = routerProxy();
if (context.name == ircpref) {
proxy = ircProxy();
@@ -141,13 +141,13 @@ var handleContextProxyRequest = async function (requestDetails) {
} else {
if (!routerHost(requestDetails.url)) {
if (localHost(requestDetails.url)) {
if (requestDetails.url.includes(":7669")) {
if (requestDetails.url.includes(':7669')) {
proxy = null;
} else if (requestDetails.url.includes(":7662")) {
} else if (requestDetails.url.includes(':7662')) {
proxy = null;
} else {
console.log(
"(proxy) non-routerconsole localhost url, will not interfere",
'(proxy) non-routerconsole localhost url, will not interfere',
requestDetails.url
);
}
@@ -162,29 +162,29 @@ var handleContextProxyRequest = async function (requestDetails) {
} else {
proxy = null;
}
if (requestDetails.url.includes("rpc")) {
console.log("(proxy for rpc url)", rpc);
if (requestDetails.url.includes('rpc')) {
console.log('(proxy for rpc url)', rpc);
}
//var tab = tabGet(requestDetails.tabId);
//tab.then(handleTabRequest,)
return proxy;
}
};
var contextGet = async function (tabInfo) {
var contextGet = async function(tabInfo) {
try {
context = await browser.contextualIdentities.get(tabInfo.cookieStoreId);
return context;
} catch (error) {
console.error(error);
return "firefox-default";
return 'firefox-default';
}
};
var tabGet = async function (tabId) {
var tabGet = async function(tabId) {
try {
let tabInfo = await browser.tabs.get(tabId);
return tabInfo;
} catch (error) {
console.log("(proxy)Tab error", error);
console.log('(proxy)Tab error', error);
}
};
if (proxyHost(requestDetails.url)) {
@@ -195,7 +195,7 @@ var handleContextProxyRequest = async function (requestDetails) {
};
return proxy;
}
if (requestDetails.originUrl == browser.runtime.getURL("security.html")) {
if (requestDetails.originUrl == browser.runtime.getURL('security.html')) {
proxy = {
type: getScheme(),
host: getHost(),
@@ -204,13 +204,13 @@ var handleContextProxyRequest = async function (requestDetails) {
return proxy;
}
if (
requestDetails.cookieStoreId == "firefox-default" ||
requestDetails.cookieStoreId == "firefox-private"
requestDetails.cookieStoreId == 'firefox-default' ||
requestDetails.cookieStoreId == 'firefox-private'
) {
return browser.proxy.settings.get({});
}
if (requestDetails.tabId > 0) {
if (requestDetails.url.includes("MuWire")) {
if (requestDetails.url.includes('MuWire')) {
return;
}
if (proxyHost(requestDetails.url)) {
@@ -245,67 +245,66 @@ var handleContextProxyRequest = async function (requestDetails) {
host: getHost(),
port: getPort(),
};
console.log("(proxy for rpc url)", rpc);
console.log('(proxy for rpc url)', rpc);
return proxy;
}
} catch (error) {
console.log("(proxy)Not using I2P Proxy.", error);
console.log('(proxy)Not using I2P Proxy.', error);
}
};
}
function SetupSettings() {
console.log("Initialising Settings");
console.log('Initialising Settings');
function onSetupError() {
console.log("Settings initialization error");
console.log('Settings initialization error');
}
//
function checkSchemeStoredSettings(storedSettings) {
if (storedSettings.proxy_scheme == undefined)
storedSettings.proxy_scheme = "http";
storedSettings.proxy_scheme = 'http';
else proxy_scheme = storedSettings.proxy_scheme;
console.log("Initialising Proxy Scheme", storedSettings.proxy_scheme);
console.log('Initialising Proxy Scheme', storedSettings.proxy_scheme);
setupProxy();
}
var gettingSchemeStoredSettings = browser.storage.local.get("proxy_scheme");
var gettingSchemeStoredSettings = browser.storage.local.get('proxy_scheme');
gettingSchemeStoredSettings.then(checkSchemeStoredSettings, onSetupError);
//
function checkHostStoredSettings(storedSettings) {
if (storedSettings.proxy_host == undefined)
storedSettings.proxy_host = "127.0.0.1";
storedSettings.proxy_host = '127.0.0.1';
else proxy_host = storedSettings.proxy_host;
console.log("Initialising Host", storedSettings.proxy_host);
console.log('Initialising Host', storedSettings.proxy_host);
setupProxy();
}
var gettingHostStoredSettings = browser.storage.local.get("proxy_host");
var gettingHostStoredSettings = browser.storage.local.get('proxy_host');
gettingHostStoredSettings.then(checkHostStoredSettings, onSetupError);
//
function checkPortStoredSettings(storedSettings) {
if (storedSettings.proxy_port == undefined)
storedSettings.proxy_port = "4444";
storedSettings.proxy_port = '4444';
else proxy_port = storedSettings.proxy_port;
console.log("Initialising Port", storedSettings.proxy_port);
console.log('Initialising Port', storedSettings.proxy_port);
setupProxy();
}
var gettingPortStoredSettings = browser.storage.local.get("proxy_port");
var gettingPortStoredSettings = browser.storage.local.get('proxy_port');
gettingPortStoredSettings.then(checkPortStoredSettings, onSetupError);
//
function checkControlHostStoredSettings(storedSettings) {
if (storedSettings.control_host == undefined)
storedSettings.control_host = "127.0.0.1";
storedSettings.control_host = '127.0.0.1';
else control_host = storedSettings.control_host;
console.log("Initialising Control Host", storedSettings.control_host);
console.log('Initialising Control Host', storedSettings.control_host);
setupProxy();
}
var gettingControlHostStoredSettings = browser.storage.local.get(
"control_host"
);
var gettingControlHostStoredSettings =
browser.storage.local.get('control_host');
gettingControlHostStoredSettings.then(
checkControlHostStoredSettings,
onSetupError
@@ -314,15 +313,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"
);
var gettingControlPortStoredSettings =
browser.storage.local.get('control_port');
gettingControlPortStoredSettings.then(
checkControlPortStoredSettings,
onSetupError
@@ -335,28 +333,27 @@ 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"
);
var gettingHistoryStoredSettings =
browser.storage.local.get('disable_history');
gettingHistoryStoredSettings.then(checkHistoryStoredSettings, onSetupError);
}
function getScheme() {
if (proxy_scheme == "HTTP") return "http";
if (proxy_scheme == "SOCKS") return "socks";
if (proxy_scheme == "http") return "http";
if (proxy_scheme == "socks") return "socks";
else return "http";
if (proxy_scheme == 'HTTP') return 'http';
if (proxy_scheme == 'SOCKS') return 'socks';
if (proxy_scheme == 'http') return 'http';
if (proxy_scheme == 'socks') return 'socks';
else return 'http';
}
function getHost() {
if (proxy_host == undefined) {
proxy_host = "127.0.0.1";
proxy_host = '127.0.0.1';
}
return proxy_host;
}
@@ -364,8 +361,8 @@ function getHost() {
function getPort() {
if (proxy_port == undefined) {
var scheme = getScheme();
if (scheme == "socks") proxy_port = "4446";
else proxy_port = "4444";
if (scheme == 'socks') proxy_port = '4446';
else proxy_port = '4444';
}
return proxy_port;
}
@@ -373,31 +370,31 @@ function getPort() {
function getConsolePort() {
if (control_port == undefined) {
var scheme = getScheme();
if (scheme == "socks") proxy_port = "7657";
else control_port = "7657";
if (scheme == 'socks') proxy_port = '7657';
else control_port = '7657';
}
return control_port;
}
function setupProxy() {
console.log("Setting up Firefox WebExtension proxy");
console.log('Setting up Firefox WebExtension proxy');
browser.proxy.onRequest.addListener(handleContextProxyRequest, {
urls: ["<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');
browser.storage.local.get(function() {
SetupSettings();
update();
setupProxy();
@@ -412,7 +409,7 @@ setupProxy();
var gettingListenerInfo = browser.runtime.getPlatformInfo();
gettingListenerInfo.then((got) => {
browser.windows.onCreated.addListener(() => {
chrome.storage.local.get(function () {
browser.storage.local.get(function() {
setupProxy();
});
});

View File

@@ -1,7 +1,7 @@
browser.runtime.onMessage.addListener((request) => {
var response = "no-alt-location";
var response = 'no-alt-location';
console.log(request);
if (request.req === "i2p-location") {
if (request.req === 'i2p-location') {
var tag = document.querySelector('meta[http-equiv="i2p-location"]');
if (tag != undefined) {
console.log(tag);
@@ -13,7 +13,7 @@ browser.runtime.onMessage.addListener((request) => {
if (tag) response = tag.content;
}
}
if (request.req === "i2p-torrentlocation") {
if (request.req === 'i2p-torrentlocation') {
var tag = document.querySelector('meta[http-equiv="i2p-torrentlocation"]');
if (tag != undefined) {
console.log(tag);

232
scrub.js
View File

@@ -1,27 +1,27 @@
var titlepref = chrome.i18n.getMessage("titlePreface");
var webpref = chrome.i18n.getMessage("webPreface");
var routerpref = chrome.i18n.getMessage("routerPreface");
var mailpref = chrome.i18n.getMessage("mailPreface");
var torrentpref = chrome.i18n.getMessage("torrentPreface");
var tunnelpref = chrome.i18n.getMessage("i2ptunnelPreface");
var ircpref = chrome.i18n.getMessage("ircPreface");
var extensionpref = chrome.i18n.getMessage("extensionPreface");
var muwirepref = chrome.i18n.getMessage("muwirePreface");
var botepref = chrome.i18n.getMessage("botePreface");
var blogpref = chrome.i18n.getMessage("blogPreface");
var blogprefpriv = chrome.i18n.getMessage("blogPrefacePrivate");
var titlepref = browser.i18n.getMessage('titlePreface');
var webpref = browser.i18n.getMessage('webPreface');
var routerpref = browser.i18n.getMessage('routerPreface');
var mailpref = browser.i18n.getMessage('mailPreface');
var torrentpref = browser.i18n.getMessage('torrentPreface');
var tunnelpref = browser.i18n.getMessage('i2ptunnelPreface');
var ircpref = browser.i18n.getMessage('ircPreface');
var extensionpref = browser.i18n.getMessage('extensionPreface');
var muwirepref = browser.i18n.getMessage('muwirePreface');
var botepref = browser.i18n.getMessage('botePreface');
var blogpref = browser.i18n.getMessage('blogPreface');
var blogprefpriv = browser.i18n.getMessage('blogPrefacePrivate');
var contextScrub = async function (requestDetails) {
var contextScrub = async function(requestDetails) {
function onHeaderError() {
console.log("Header scrub error");
console.log('Header scrub error');
}
try {
var headerScrub = function (context) {
var ua = "MYOB/6.66 (AN/ON)";
var headerScrub = function(context) {
var ua = 'MYOB/6.66 (AN/ON)';
if (!context) {
} else if (context.name == titlepref) {
for (var header of requestDetails.requestHeaders) {
if (header.name.toLowerCase() === "user-agent") {
if (header.name.toLowerCase() === 'user-agent') {
header.value = ua;
}
}
@@ -30,7 +30,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(
@@ -41,7 +41,7 @@ var contextScrub = async function (requestDetails) {
return undefined;
}
};
var tabGet = async function (tabId) {
var tabGet = async function(tabId) {
try {
//console.log("(scrub)Tab ID from Request", tabId);
let tabInfo = await browser.tabs.get(tabId);
@@ -58,11 +58,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,
@@ -92,7 +92,7 @@ var notMyContextNotMyProblem = async function () {
name: blogpref,
});
var othercontexts = [];
console.log("Contexts:", contexts);
console.log('Contexts:', contexts);
for (context in contexts) {
if (
contexts[context].cookieStoreId == context1[0].cookieStoreId ||
@@ -104,9 +104,9 @@ var notMyContextNotMyProblem = async function () {
contexts[context].cookieStoreId == context7[0].cookieStoreId
) {
console.log(
"Context found",
'Context found',
contexts[context].cookieStoreId,
"is my responsibility"
'is my responsibility'
);
} else {
//console.log("Context found", contexts[context].cookieStoreId, "is not my responsibility")
@@ -114,15 +114,15 @@ var notMyContextNotMyProblem = async function () {
}
}
return othercontexts;
};
}
var contextSetup = function (requestDetails) {
var contextSetup = function(requestDetails) {
function onContextError() {
console.error("Context launcher error");
console.error('Context launcher error');
}
async function forceIntoIsolation(tabId, contextidentifier, tab, pin = true) {
console.info(
"(isolate) forcing context for",
'(isolate) forcing context for',
tabId,
contextidentifier,
tab
@@ -137,18 +137,18 @@ var contextSetup = function (requestDetails) {
function closeOldTab() {
if (tabId.id != tab.id) {
console.log(
"(isolate) Closing un-isolated tab",
'(isolate) Closing un-isolated tab',
tabId.id,
"in favor of",
'in favor of',
tab.id,
"with context",
'with context',
tab.cookieStoreId
);
browser.tabs.remove(tabId.id);
}
browser.pageAction.setPopup({
tabId: tabId.id,
popup: "security.html",
popup: 'security.html',
});
browser.pageAction.show(tabId.id);
}
@@ -167,45 +167,45 @@ var contextSetup = function (requestDetails) {
return tabId;
}
} catch (error) {
console.error("(isolate)Context Error", error);
console.error('(isolate)Context Error', error);
}
}
try {
var i2pTabFind = async function (tabId) {
console.info("(isolate)Context Discovery browser");
var i2pTabFind = async function(tabId) {
console.info('(isolate)Context Discovery browser');
try {
var context = await browser.contextualIdentities.query({
name: titlepref,
});
return forceIntoIsolation(tabId, titlepref, tab, false);
} catch (error) {
console.error("(isolate)Context Error", error);
console.error('(isolate)Context Error', error);
}
};
var routerTabFind = async function (tabId) {
console.info("(isolate)Context Discovery console");
var routerTabFind = async function(tabId) {
console.info('(isolate)Context Discovery console');
try {
var context = await browser.contextualIdentities.query({
name: routerpref,
});
return forceIntoIsolation(tabId, routerpref, tab);
} catch (error) {
console.error("(isolate)Context Error", error);
console.error('(isolate)Context Error', error);
}
};
var i2ptunnelTabFind = async function (tabId) {
console.info("(isolate)Context Discovery browser");
var i2ptunnelTabFind = async function(tabId) {
console.info('(isolate)Context Discovery browser');
try {
var context = await browser.contextualIdentities.query({
name: tunnelpref,
});
return forceIntoIsolation(tabId, tunnelpref, tab);
} catch (error) {
console.error("(isolate)Context Error", error);
console.error('(isolate)Context Error', error);
}
};
var snarkTabFind = async function (tabId) {
console.info("(isolate)Context Discovery torrents");
var snarkTabFind = async function(tabId) {
console.info('(isolate)Context Discovery torrents');
try {
var context = await browser.contextualIdentities.query({
name: torrentpref,
@@ -215,19 +215,19 @@ 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",
'(isolate) Closing un-isolated tab',
tabId.id,
"in favor of",
'in favor of',
tab.id,
"with context",
'with context',
tab.cookieStoreId
);
browser.tabs.remove(tabId.id);
@@ -243,10 +243,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,
@@ -262,71 +262,71 @@ var contextSetup = function (requestDetails) {
}
}
} catch (error) {
console.log("(isolate)Context Error", error);
console.log('(isolate)Context Error', error);
}
};
var muwireTabFind = async function (tabId) {
console.info("(isolate)Context Discovery muwire");
var muwireTabFind = async function(tabId) {
console.info('(isolate)Context Discovery muwire');
try {
var context = await browser.contextualIdentities.query({
name: muwirepref,
});
return forceIntoIsolation(tabId, muwirepref, tab);
} catch (error) {
console.error("(isolate)Context Error", error);
console.error('(isolate)Context Error', error);
}
};
var i2pboteTabFind = async function (tabId) {
console.info("(isolate)Context Discovery bote");
var i2pboteTabFind = async function(tabId) {
console.info('(isolate)Context Discovery bote');
try {
var context = await browser.contextualIdentities.query({
name: botepref,
});
return forceIntoIsolation(tabId, botepref, tab);
} catch (error) {
console.error("(isolate)Context Error", error);
console.error('(isolate)Context Error', error);
}
};
var mailTabFind = async function (tabId) {
console.info("(isolate)Context Discovery mail");
var mailTabFind = async function(tabId) {
console.info('(isolate)Context Discovery mail');
try {
var context = await browser.contextualIdentities.query({
name: mailpref,
});
return forceIntoIsolation(tabId, mailpref, tab);
} catch (error) {
console.error("(isolate)Context Error", error);
console.error('(isolate)Context Error', error);
}
};
var ircTabFind = async function (tabId) {
console.info("(isolate)Context Discovery irc");
var ircTabFind = async function(tabId) {
console.info('(isolate)Context Discovery irc');
try {
var context = await browser.contextualIdentities.query({
name: ircpref,
});
return forceIntoIsolation(tabId, ircpref, tab);
} catch (error) {
console.error("(isolate)Context Error", error);
console.error('(isolate)Context Error', error);
}
};
var blogTabFind = async function (tabId) {
console.info("(isolate)Context Discovery blog");
var blogTabFind = async function(tabId) {
console.info('(isolate)Context Discovery blog');
try {
var context = await browser.contextualIdentities.query({
name: blogpref,
});
return forceIntoIsolation(tabId, blogpref, tab);
} catch (error) {
console.error("(isolate)Context Error", error);
console.error('(isolate)Context Error', error);
}
};
var tabGet = async function (tabId) {
var tabGet = async function(tabId) {
try {
//console.log("(isolate)Tab ID from Request", tabId);
let tabInfo = await browser.tabs.get(tabId);
return tabInfo;
} catch (error) {
console.log("(isolate)Tab error", error);
console.log('(isolate)Tab error', error);
}
};
if (requestDetails == undefined) {
@@ -350,31 +350,31 @@ var contextSetup = function (requestDetails) {
let localhost = localHost(requestDetails.url);
let routerhost = routerHost(requestDetails.url);
if (routerhost) {
if (routerhost === "i2ptunnelmgr") {
if (routerhost === 'i2ptunnelmgr') {
var tunneltab = tab.then(i2ptunnelTabFind, onContextError);
return requestDetails;
} else if (routerhost === "i2psnark") {
} else if (routerhost === 'i2psnark') {
var snarktab = tab.then(snarkTabFind, onContextError);
return requestDetails;
} else if (routerhost === "webmail") {
} else if (routerhost === 'webmail') {
var mailtab = tab.then(mailTabFind, onContextError);
return requestDetails;
} else if (routerhost === "muwire") {
} else if (routerhost === 'muwire') {
var routertab = tab.then(muwireTabFind, onContextError);
return requestDetails;
} else if (routerhost === "i2pbote") {
} else if (routerhost === 'i2pbote') {
var routertab = tab.then(i2pboteTabFind, onContextError);
return requestDetails;
} else if (routerhost === "routerconsole") {
} else if (routerhost === 'routerconsole') {
var routertab = tab.then(routerTabFind, onContextError);
return requestDetails;
}
} else {
if (localhost) {
if (localhost === "blog") {
if (localhost === 'blog') {
var routertab = tab.then(blogTabFind, onContextError);
return requestDetails;
} else if (localhost === "irc") {
} else if (localhost === 'irc') {
var irctab = tab.then(ircTabFind, onContextError);
return requestDetails;
}
@@ -383,22 +383,22 @@ var contextSetup = function (requestDetails) {
// if (oldtab.cookieStoreId == 'firefox-default') {
if (i2pHost(requestDetails.url)) {
var thn = i2pHostName(requestDetails.url);
if (requestDetails.url.includes("=" + thn)) {
if (requestDetails.url.includes('=' + thn)) {
if (
!requestDetails.url.includes("://github.com") ||
!requestDetails.url.includes("://notabug.org") ||
!requestDetails.url.includes("://i2pgit.org") ||
!requestDetails.url.includes("://gitlab.com")
!requestDetails.url.includes('://github.com') ||
!requestDetails.url.includes('://notabug.org') ||
!requestDetails.url.includes('://i2pgit.org') ||
!requestDetails.url.includes('://gitlab.com')
) {
if (!localhost) {
console.log("(scrub)checking search hostnames =" + thn);
var tpt = requestDetails.url.split("=" + thn, 2);
console.log('(scrub)checking search hostnames =' + thn);
var tpt = requestDetails.url.split('=' + thn, 2);
requestDetails.url =
"http://" + thn + "/" + tpt[1].replace("%2F", "");
'http://' + thn + '/' + tpt[1].replace('%2F', '');
}
}
}
console.log("(scrub) new hostname", requestDetails.url);
console.log('(scrub) new hostname', requestDetails.url);
var setcookie = browser.cookies.set({
firstPartyDomain: i2pHostName(requestDetails.url),
url: requestDetails.url,
@@ -418,11 +418,11 @@ var contextSetup = function (requestDetails) {
}
}
} catch (error) {
console.log("(isolate)Not an I2P request, blackholing", error);
console.log('(isolate)Not an I2P request, blackholing', error);
}
};
var coolheadersSetup = function (e) {
var coolheadersSetup = function(e) {
var asyncSetPageAction = new Promise((resolve, reject) => {
window.setTimeout(() => {
if (e.tabId != undefined) {
@@ -430,80 +430,80 @@ var coolheadersSetup = function (e) {
popup.then(gotPopup);
}
function gotPopup(p) {
console.log("(scrub) checking popup", p);
console.log('(scrub) checking popup', p);
if (p.length != 0) return;
let headers = e.responseHeaders.filter((word) =>
word.name.toUpperCase().includes("I2P")
word.name.toUpperCase().includes('I2P')
);
for (i = headers.length - 1; i >= 0; i--) {
let header = headers[i];
console.log("(scrub) checking header", header);
if (header.name.toUpperCase().endsWith("I2P-LOCATION")) {
console.log('(scrub) checking header', header);
if (header.name.toUpperCase().endsWith('I2P-LOCATION')) {
var tab = browser.tabs.get(e.tabId);
tab.then(altSrc);
function altSrc(tab) {
console.log("(scrub) X-I2P-LOCATION", header.value);
console.log('(scrub) X-I2P-LOCATION', header.value);
let url = new URL(header.value);
browser.pageAction.setPopup({
tabId: e.tabId,
popup: "location.html",
popup: 'location.html',
});
browser.pageAction.setIcon({
path: "icons/i2plogo.png",
path: 'icons/i2plogo.png',
tabId: e.tabId,
});
let eurl = new URL(tab.url);
browser.pageAction.setTitle({
tabId: e.tabId,
title: "http://" + url.host + eurl.pathname,
title: 'http://' + url.host + eurl.pathname,
});
browser.pageAction.show(e.tabId);
}
break;
}
if (header.name.toUpperCase().endsWith("I2P-TORRENTLOCATION")) {
console.log("(scrub) checking header torrentlocation", header);
var imgs = document.getElementsByTagName("img");
if (header.name.toUpperCase().endsWith('I2P-TORRENTLOCATION')) {
console.log('(scrub) checking header torrentlocation', header);
var imgs = document.getElementsByTagName('img');
for (let img of imgs) {
if (tmpsrc.host == location.host) {
img.src =
"http://127.0.0.1:7657/i2psnark/" +
'http://127.0.0.1:7657/i2psnark/' +
tmpsrc.host +
tmpsrc.pathname;
img.onerror = function () {
img.onerror = function() {
img.src = tmpsrc;
};
}
}
var videos = document.getElementsByTagName("video");
var videos = document.getElementsByTagName('video');
for (let video of videos) {
let tmpsrc = new URL(video.currentSrc);
if (tmpsrc.host == location.host) {
if (!video.innerHTML.includes("127.0.0.1")) {
if (!video.innerHTML.includes('127.0.0.1')) {
innerHTML = video.innerHTML;
topInnerHTML = video.innerHTML.replace(
'src="',
'src="http://127.0.0.1:7657/i2psnark/' + location.host + "/"
'src="http://127.0.0.1:7657/i2psnark/' + location.host + '/'
);
video.innerHTML = topInnerHTML; // + innerHTML;
video.onerror = function () {
video.onerror = function() {
video.innerHTML = topInnerHTML + innerHTML;
};
}
}
}
var audios = document.getElementsByTagName("audio");
var audios = document.getElementsByTagName('audio');
for (let audio of audios) {
let tmpsrc = new URL(audio.currentSrc);
if (tmpsrc.host == location.host) {
if (!audio.innerHTML.includes("127.0.0.1")) {
if (!audio.innerHTML.includes('127.0.0.1')) {
innerHTML = audio.innerHTML;
topInnerHTML = audio.innerHTML.replace(
'src="',
'src="http://127.0.0.1:7657/i2psnark/' + location.host + "/"
'src="http://127.0.0.1:7657/i2psnark/' + location.host + '/'
);
audio.innerHTML = topInnerHTML; // + innerHTML;
audio.onerror = function () {
audio.onerror = function() {
audio.innerHTML = topInnerHTML + innerHTML;
};
}
@@ -511,16 +511,16 @@ var coolheadersSetup = function (e) {
}
browser.pageAction.setPopup({
tabId: e.tabId,
popup: "torrent.html",
popup: 'torrent.html',
});
if (tab.url.startsWith("https")) {
if (tab.url.startsWith('https')) {
browser.pageAction.setIcon({
path: "icons/infotoopiesbt.png",
path: 'icons/infotoopiesbt.png',
tabId: e.tabId,
});
} else {
browser.pageAction.setIcon({
path: "icons/infotoopiebt.png",
path: 'icons/infotoopiebt.png',
tabId: e.tabId,
});
}

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,27 +1,27 @@
"use strict";
'use strict';
var TrpcCall = async function (meth, args) {
var TrpcCall = async function(meth, args) {
const server = await browser.storage.local.get(null);
const myHeaders = {
"Content-Type": "application/json",
"x-transmission-session-id": server.session,
'Content-Type': 'application/json',
'x-transmission-session-id': server.session,
};
console.log("(torrent) session", server.session);
if (server.username !== "" || server.bt_rpc_pass !== "") {
myHeaders["Authorization"] =
"Basic " +
btoa((server.username || "") + ":" + (server.bt_rpc_pass || ""));
console.log('(torrent) session', server.session);
if (server.username !== '' || server.bt_rpc_pass !== '') {
myHeaders['Authorization'] =
'Basic ' +
btoa((server.username || '') + ':' + (server.bt_rpc_pass || ''));
}
let req_url = "http://" + server.bt_rpc_host;
if (server.bt_rpc_port != 0) req_url += ":" + server.bt_rpc_port;
req_url += "/" + server.bt_rpc_path;
console.log("(torrent) rpcurl", req_url);
return fetch(req_url + "rpc", {
method: "POST",
let req_url = 'http://' + server.bt_rpc_host;
if (server.bt_rpc_port != 0) req_url += ':' + server.bt_rpc_port;
req_url += '/' + server.bt_rpc_path;
console.log('(torrent) rpcurl', req_url);
return fetch(req_url + 'rpc', {
method: 'POST',
headers: myHeaders,
body: JSON.stringify({ method: meth, arguments: args }),
credentials: "include", // allows HTTPS client certs!
credentials: 'include', // allows HTTPS client certs!
});
/*.then(function(response) {
@@ -37,13 +37,13 @@ var TrpcCall = async function (meth, args) {
error.response = response;
throw error;
});*/
};
}
const torrentsPane = document.getElementById("torrents-pane");
const configPane = document.getElementById("config-pane");
const torrentsPane = document.getElementById('torrents-pane');
const configPane = document.getElementById('config-pane');
for (const opener of document.querySelectorAll(".config-opener")) {
opener.addEventListener("click", (e) => {
for (const opener of document.querySelectorAll('.config-opener')) {
opener.addEventListener('click', (e) => {
browser.runtime.openOptionsPage();
});
}