fmt, update changeog
This commit is contained in:
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
956
background.js
956
background.js
File diff suppressed because it is too large
Load Diff
130
bookmarks.js
130
bookmarks.js
@ -1,30 +1,30 @@
|
||||
function bookmarksSetup() {
|
||||
var gettingInfo = browser.runtime.getPlatformInfo();
|
||||
gettingInfo.then((got) => {
|
||||
if (got.os != 'android') {
|
||||
if (got.os != "android") {
|
||||
function bookmarks(bookmarkToolbar) {
|
||||
console.log('(bookmarks)', bookmarkToolbar);
|
||||
console.log('Setting up bookmark toolbar', bookmarkToolbar);
|
||||
console.log("(bookmarks)", bookmarkToolbar);
|
||||
console.log("Setting up bookmark toolbar", bookmarkToolbar);
|
||||
function bookHome(bookmarkItems) {
|
||||
if (!bookmarkItems.length) {
|
||||
function gotProxyInfo(info) {
|
||||
let port = info.value.http.split(':')[1];
|
||||
if (port == '7644') {
|
||||
let port = info.value.http.split(":")[1];
|
||||
if (port == "7644") {
|
||||
let createRhizomeBookmark = browser.bookmarks.create({
|
||||
url: 'about:I2p',
|
||||
title: 'I2P Extension Home Page',
|
||||
parentId: bookmarkToolbar[0].id
|
||||
url: "about:I2p",
|
||||
title: "I2P Extension Home Page",
|
||||
parentId: bookmarkToolbar[0].id,
|
||||
});
|
||||
createRhizomeBookmark.then(onCreated);
|
||||
} else {
|
||||
let createBookmark = browser.bookmarks.create({
|
||||
url: browser.runtime.getURL('home.html'),
|
||||
title: 'I2P Extension Home Page',
|
||||
parentId: bookmarkToolbar[0].id
|
||||
url: browser.runtime.getURL("home.html"),
|
||||
title: "I2P Extension Home Page",
|
||||
parentId: bookmarkToolbar[0].id,
|
||||
});
|
||||
createBookmark.then(onCreated);
|
||||
}
|
||||
console.log('(bookmarks) adding home page bookmark');
|
||||
console.log("(bookmarks) adding home page bookmark");
|
||||
}
|
||||
console.log(
|
||||
"(bookmarks) checking if we're running in an I2P Browser"
|
||||
@ -36,20 +36,20 @@ function bookmarksSetup() {
|
||||
function bookTorrent(bookmarkItems) {
|
||||
if (!bookmarkItems.length) {
|
||||
function gotProxyInfo(info) {
|
||||
let port = info.value.http.split(':')[1];
|
||||
if (port == '7644') {
|
||||
let port = info.value.http.split(":")[1];
|
||||
if (port == "7644") {
|
||||
let createBookmark = browser.bookmarks.create({
|
||||
url: 'http://localhost:7657/i2psnark',
|
||||
title: 'Bittorrent',
|
||||
parentId: bookmarkToolbar[0].id
|
||||
url: "http://localhost:7657/i2psnark",
|
||||
title: "Bittorrent",
|
||||
parentId: bookmarkToolbar[0].id,
|
||||
});
|
||||
createBookmark.then(onCreated);
|
||||
} else {
|
||||
let createRhizomeBookmark = browser.bookmarks.create({
|
||||
url:
|
||||
'http://' + control_host + ':' + control_port + '/i2psnark',
|
||||
title: 'Bittorrent',
|
||||
parentId: bookmarkToolbar[0].id
|
||||
"http://" + control_host + ":" + control_port + "/i2psnark",
|
||||
title: "Bittorrent",
|
||||
parentId: bookmarkToolbar[0].id,
|
||||
});
|
||||
createRhizomeBookmark.then(onCreated);
|
||||
}
|
||||
@ -64,19 +64,19 @@ function bookmarksSetup() {
|
||||
function bookConsole(bookmarkItems) {
|
||||
if (!bookmarkItems.length) {
|
||||
function gotProxyInfo(info) {
|
||||
let port = info.value.http.split(':')[1];
|
||||
if (port == '7644') {
|
||||
let port = info.value.http.split(":")[1];
|
||||
if (port == "7644") {
|
||||
let createBookmark = browser.bookmarks.create({
|
||||
url: 'http://localhost:7657/home',
|
||||
title: 'I2P Console',
|
||||
parentId: bookmarkToolbar[0].id
|
||||
url: "http://localhost:7657/home",
|
||||
title: "I2P Console",
|
||||
parentId: bookmarkToolbar[0].id,
|
||||
});
|
||||
createBookmark.then(onCreated);
|
||||
} else {
|
||||
let createRhizomeBookmark = browser.bookmarks.create({
|
||||
url: 'http://' + control_host + ':' + control_port + '/home',
|
||||
title: 'I2P Console',
|
||||
parentId: bookmarkToolbar[0].id
|
||||
url: "http://" + control_host + ":" + control_port + "/home",
|
||||
title: "I2P Console",
|
||||
parentId: bookmarkToolbar[0].id,
|
||||
});
|
||||
createRhizomeBookmark.then(onCreated);
|
||||
}
|
||||
@ -91,24 +91,24 @@ function bookmarksSetup() {
|
||||
function bookMail(bookmarkItems) {
|
||||
if (!bookmarkItems.length) {
|
||||
function gotProxyInfo(info) {
|
||||
let port = info.value.http.split(':')[1];
|
||||
if (port == '7644') {
|
||||
let port = info.value.http.split(":")[1];
|
||||
if (port == "7644") {
|
||||
let createBookmark = browser.bookmarks.create({
|
||||
url: 'http://localhost:7657/webmail',
|
||||
title: 'Web Mail',
|
||||
parentId: bookmarkToolbar[0].id
|
||||
url: "http://localhost:7657/webmail",
|
||||
title: "Web Mail",
|
||||
parentId: bookmarkToolbar[0].id,
|
||||
});
|
||||
createBookmark.then(onCreated);
|
||||
} else {
|
||||
let createRhizomeBookmark = browser.bookmarks.create({
|
||||
url:
|
||||
'http://' + control_host + ':' + control_port + '/webmail',
|
||||
title: 'Web Mail',
|
||||
parentId: bookmarkToolbar[0].id
|
||||
"http://" + control_host + ":" + control_port + "/webmail",
|
||||
title: "Web Mail",
|
||||
parentId: bookmarkToolbar[0].id,
|
||||
});
|
||||
createRhizomeBookmark.then(onCreated);
|
||||
}
|
||||
console.log('(bookmarks) adding webmail bookmark');
|
||||
console.log("(bookmarks) adding webmail bookmark");
|
||||
}
|
||||
console.log(
|
||||
"(bookmarks) checking if we're running in an I2P Browser"
|
||||
@ -120,28 +120,28 @@ function bookmarksSetup() {
|
||||
function bookI2PTunnel(bookmarkItems) {
|
||||
if (!bookmarkItems.length) {
|
||||
function gotProxyInfo(info) {
|
||||
let port = info.value.http.split(':')[1];
|
||||
if (port == '7644') {
|
||||
let port = info.value.http.split(":")[1];
|
||||
if (port == "7644") {
|
||||
var createBookmark = browser.bookmarks.create({
|
||||
url: 'http://localhost:7657/i2ptunnel',
|
||||
title: 'Hidden Services Manager',
|
||||
parentId: bookmarkToolbar[0].id
|
||||
url: "http://localhost:7657/i2ptunnel",
|
||||
title: "Hidden Services Manager",
|
||||
parentId: bookmarkToolbar[0].id,
|
||||
});
|
||||
createBookmark.then(onCreated);
|
||||
} else {
|
||||
var createRhizomeBookmark = browser.bookmarks.create({
|
||||
url:
|
||||
'http://' +
|
||||
"http://" +
|
||||
control_host +
|
||||
':' +
|
||||
":" +
|
||||
control_port +
|
||||
'/i2ptunnel',
|
||||
title: 'Hidden Services Manager',
|
||||
parentId: bookmarkToolbar[0].id
|
||||
"/i2ptunnel",
|
||||
title: "Hidden Services Manager",
|
||||
parentId: bookmarkToolbar[0].id,
|
||||
});
|
||||
createRhizomeBookmark.then(onCreated);
|
||||
}
|
||||
console.log('(bookmarks) adding i2ptunnel bookmark');
|
||||
console.log("(bookmarks) adding i2ptunnel bookmark");
|
||||
}
|
||||
console.log(
|
||||
"(bookmarks) checking if we're running in an I2P Browser"
|
||||
@ -155,54 +155,54 @@ function bookmarksSetup() {
|
||||
console.log(`An error : ${error}`);
|
||||
}
|
||||
function onCreated(node) {
|
||||
console.log('Bookmarked', node);
|
||||
console.log("Bookmarked", node);
|
||||
}
|
||||
|
||||
var b0 = browser.bookmarks.search({
|
||||
title: 'I2P Extension Home Page'
|
||||
title: "I2P Extension Home Page",
|
||||
});
|
||||
b0.then(bookHome, onRejected);
|
||||
|
||||
var b1 = browser.bookmarks.search({
|
||||
title: 'Bittorrent'
|
||||
title: "Bittorrent",
|
||||
});
|
||||
b1.then(bookTorrent, onRejected);
|
||||
|
||||
var b2 = browser.bookmarks.search({
|
||||
title: 'Hidden Services Manager'
|
||||
title: "Hidden Services Manager",
|
||||
});
|
||||
b2.then(bookI2PTunnel, onRejected);
|
||||
|
||||
var b3 = browser.bookmarks.search({
|
||||
title: 'Web Mail'
|
||||
title: "Web Mail",
|
||||
});
|
||||
b3.then(bookMail, onRejected);
|
||||
|
||||
var b4 = browser.bookmarks.search({
|
||||
title: 'I2P Console'
|
||||
title: "I2P Console",
|
||||
});
|
||||
b4.then(bookConsole, onRejected);
|
||||
defaultSettings['bookmarks_state'] = true;
|
||||
defaultSettings["bookmarks_state"] = true;
|
||||
}
|
||||
|
||||
var bt = browser.bookmarks.search({
|
||||
query: 'Toolbar'
|
||||
query: "Toolbar",
|
||||
});
|
||||
|
||||
function toolDir(bookmarkToolbar) {
|
||||
let defaultSettings = {};
|
||||
chrome.storage.local.set(defaultSettings);
|
||||
console.log('(bookmarks) created');
|
||||
var ibbt = browser.bookmarks.search('I2P Toolbar');
|
||||
console.log("(bookmarks) created");
|
||||
var ibbt = browser.bookmarks.search("I2P Toolbar");
|
||||
function setupDir(ibbt) {
|
||||
function onToolbarCreated(node) {
|
||||
var ibt = browser.bookmarks.search('I2P Toolbar');
|
||||
var ibt = browser.bookmarks.search("I2P Toolbar");
|
||||
ibt.then(bookmarks);
|
||||
}
|
||||
if (ibbt[0] == null) {
|
||||
let createBookmark = browser.bookmarks.create({
|
||||
title: 'I2P Toolbar',
|
||||
parentId: bookmarkToolbar[0].id
|
||||
title: "I2P Toolbar",
|
||||
parentId: bookmarkToolbar[0].id,
|
||||
});
|
||||
createBookmark.then(onToolbarCreated);
|
||||
}
|
||||
@ -225,7 +225,7 @@ function bookmarksSetup() {
|
||||
}
|
||||
|
||||
function conditionalBookmarksSetup(obj) {
|
||||
console.log('(bookmarks) state', obj.bookmarks_state);
|
||||
console.log("(bookmarks) state", obj.bookmarks_state);
|
||||
if (obj.bookmarks_state == false) {
|
||||
bookmarksSetup();
|
||||
}
|
||||
@ -236,12 +236,12 @@ function conditionalBookmarksSetup(obj) {
|
||||
|
||||
if (browser != null) {
|
||||
if (browser.windows != undefined) {
|
||||
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);
|
||||
}
|
||||
|
28
cert.js
28
cert.js
@ -1,42 +1,42 @@
|
||||
function blankContent(id) {
|
||||
let infoTitle = document.getElementById(id);
|
||||
if (infoTitle === null) {
|
||||
console.log('content error', id);
|
||||
console.log("content error", id);
|
||||
return;
|
||||
}
|
||||
infoTitle.textContent = '';
|
||||
infoTitle.textContent = "";
|
||||
}
|
||||
|
||||
function contentUpdateById(id, message) {
|
||||
let infoTitle = document.getElementById(id);
|
||||
let messageContent = chrome.i18n.getMessage(message);
|
||||
if (infoTitle === null) {
|
||||
console.log('content error', id, messageContent);
|
||||
console.log("content error", id, messageContent);
|
||||
return;
|
||||
}
|
||||
infoTitle.textContent = messageContent;
|
||||
}
|
||||
|
||||
contentUpdateById('TypeLabel', 'siteLabel');
|
||||
contentUpdateById("TypeLabel", "siteLabel");
|
||||
|
||||
contentUpdateById('CertLabel', 'CertLabel');
|
||||
contentUpdateById("CertLabel", "CertLabel");
|
||||
|
||||
function tabCheck(tabInfo) {
|
||||
// Information Section
|
||||
console.log('(cert) checking tab');
|
||||
var host = tabInfo[0].url.split('.i2p')[0] + '.i2p';
|
||||
console.log("(cert) checking tab");
|
||||
var host = tabInfo[0].url.split(".i2p")[0] + ".i2p";
|
||||
if (host.length < 51) {
|
||||
contentUpdateById('AddressInfo', 'isHostName');
|
||||
contentUpdateById("AddressInfo", "isHostName");
|
||||
} else {
|
||||
if (host.endsWith('b32.i2p')) {
|
||||
contentUpdateById('AddressInfo', 'isBase32');
|
||||
if (host.endsWith("b32.i2p")) {
|
||||
contentUpdateById("AddressInfo", "isBase32");
|
||||
}
|
||||
}
|
||||
if (host.startsWith('https')) {
|
||||
contentUpdateById('AddressCertInfo', 'certPresent');
|
||||
console.log('(cert) initiating request to check server cert');
|
||||
if (host.startsWith("https")) {
|
||||
contentUpdateById("AddressCertInfo", "certPresent");
|
||||
console.log("(cert) initiating request to check server cert");
|
||||
fetch(host).then((response) => {
|
||||
console.log('Updating cert information', response);
|
||||
console.log("Updating cert information", response);
|
||||
});
|
||||
} else {
|
||||
contentUpdateById("AddressCertInfo", "certAbsent");
|
||||
|
26
config.js
26
config.js
@ -1,18 +1,18 @@
|
||||
var proxy_scheme = 'HTTP';
|
||||
var proxy_host = '127.0.0.1';
|
||||
var proxy_port = '4444';
|
||||
var proxy_scheme = "HTTP";
|
||||
var proxy_host = "127.0.0.1";
|
||||
var proxy_port = "4444";
|
||||
|
||||
var control_host = '127.0.0.1';
|
||||
var control_port = '7657';
|
||||
var control_host = "127.0.0.1";
|
||||
var control_port = "7657";
|
||||
|
||||
var rpc_host = '127.0.0.1';
|
||||
var rpc_port = '7657';
|
||||
var rpc_path = 'jsonrpc';
|
||||
var rpc_pass = 'itoopie';
|
||||
var rpc_host = "127.0.0.1";
|
||||
var rpc_port = "7657";
|
||||
var rpc_path = "jsonrpc";
|
||||
var rpc_pass = "itoopie";
|
||||
|
||||
var bt_rpc_host = '127.0.0.1';
|
||||
var bt_rpc_port = '7657';
|
||||
var bt_rpc_path = 'transmission/rpc';
|
||||
var bt_rpc_pass = 'transmission';
|
||||
var bt_rpc_host = "127.0.0.1";
|
||||
var bt_rpc_port = "7657";
|
||||
var bt_rpc_path = "transmission/rpc";
|
||||
var bt_rpc_pass = "transmission";
|
||||
|
||||
var disable_history = false;
|
||||
|
@ -1,44 +1,44 @@
|
||||
document.addEventListener(
|
||||
'DOMContentLoaded',
|
||||
function() {
|
||||
fetch('http://127.0.0.1:7657').then(
|
||||
(myJson) => {
|
||||
console.warn('(consoleinfo)', myJson);
|
||||
contentUpdateById('router-check', 'consoleSuccessStatus');
|
||||
let routerness = document.querySelectorAll('.routerness');
|
||||
if (routerness !== null) {
|
||||
unhide(routerness);
|
||||
}
|
||||
},
|
||||
(error) => {
|
||||
console.error('(consoleinfo)', error);
|
||||
contentUpdateById('router-check', 'consoleFailedStatus');
|
||||
let routerness = document.querySelectorAll('.routerness');
|
||||
if (routerness !== null) {
|
||||
hide(routerness);
|
||||
}
|
||||
}
|
||||
);
|
||||
},
|
||||
false
|
||||
"DOMContentLoaded",
|
||||
function () {
|
||||
fetch("http://127.0.0.1:7657/welcome").then(
|
||||
(myJson) => {
|
||||
console.warn("(consoleinfo)", myJson);
|
||||
contentUpdateById("router-check", "consoleSuccessStatus");
|
||||
let routerness = document.querySelectorAll(".routerness");
|
||||
if (routerness !== null) {
|
||||
unhide(routerness);
|
||||
}
|
||||
},
|
||||
(error) => {
|
||||
console.error("(consoleinfo)", error);
|
||||
contentUpdateById("router-check", "consoleFailedStatus");
|
||||
let routerness = document.querySelectorAll(".routerness");
|
||||
if (routerness !== null) {
|
||||
hide(routerness);
|
||||
}
|
||||
}
|
||||
);
|
||||
},
|
||||
false
|
||||
);
|
||||
|
||||
function hide(elements) {
|
||||
elements = elements.length ? elements : [elements];
|
||||
for (var index = 0; index < elements.length; index++) {
|
||||
if (elements[index].style !== undefined) {
|
||||
elements[index].style.display = "none";
|
||||
}
|
||||
elements = elements.length ? elements : [elements];
|
||||
for (var index = 0; index < elements.length; index++) {
|
||||
if (elements[index].style !== undefined) {
|
||||
elements[index].style.display = "none";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function unhide(elements) {
|
||||
elements = elements.length ? elements : [elements];
|
||||
for (var index = 0; index < elements.length; index++) {
|
||||
if (elements[index].style !== undefined) {
|
||||
elements[index].style.display = "inline-block";
|
||||
}
|
||||
elements = elements.length ? elements : [elements];
|
||||
for (var index = 0; index < elements.length; index++) {
|
||||
if (elements[index].style !== undefined) {
|
||||
elements[index].style.display = "inline-block";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//TODO: Don't hard-code this.
|
||||
@ -62,4 +62,4 @@ fetch("http://127.0.0.1:7657/jsonrpc/")
|
||||
var toopieLinks = document.querySelectorAll(".window-visit-toopie");
|
||||
hide(toopieLinks);
|
||||
});
|
||||
*/
|
||||
*/
|
||||
|
70
content.js
70
content.js
@ -2,55 +2,55 @@ function contentUpdateById(id, message) {
|
||||
let infoTitle = document.getElementById(id);
|
||||
let messageContent = chrome.i18n.getMessage(message);
|
||||
if (infoTitle === null) {
|
||||
console.log('content error', id, messageContent);
|
||||
console.log("content error", id, messageContent);
|
||||
return;
|
||||
}
|
||||
infoTitle.textContent = messageContent;
|
||||
}
|
||||
|
||||
// Information Section
|
||||
contentUpdateById('text-section-header', 'extensionName');
|
||||
contentUpdateById('description', 'extensionDescription');
|
||||
contentUpdateById('i2pbrowser-version', browser.runtime.getManifest().version);
|
||||
contentUpdateById("text-section-header", "extensionName");
|
||||
contentUpdateById("description", "extensionDescription");
|
||||
contentUpdateById("i2pbrowser-version", browser.runtime.getManifest().version);
|
||||
|
||||
// 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', 'extensionName');
|
||||
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", "extensionName");
|
||||
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(
|
||||
fetch("http://proxy.i2p").then(
|
||||
(myJson) => {
|
||||
contentUpdateById('proxy-check', 'proxySuccessStatus');
|
||||
let readyness = document.querySelectorAll('.readyness');
|
||||
contentUpdateById("proxy-check", "proxySuccessStatus");
|
||||
let readyness = document.querySelectorAll(".readyness");
|
||||
if (readyness !== null) {
|
||||
unhide(readyness);
|
||||
}
|
||||
|
14
context.js
14
context.js
@ -1,5 +1,5 @@
|
||||
//var windowIds = []
|
||||
var titlepref = chrome.i18n.getMessage('titlePreface');
|
||||
var titlepref = chrome.i18n.getMessage("titlePreface");
|
||||
|
||||
function onError(error) {
|
||||
console.log(`Error : ${error}`);
|
||||
@ -10,20 +10,20 @@ function eventHandler(event) {
|
||||
console.log(`Created window : ${windowInfo.id}`);
|
||||
browser.tabs.create({
|
||||
windowId: windowInfo.id,
|
||||
url: 'about:blank',
|
||||
cookieStoreId: event.target.dataset.identity
|
||||
url: "about:blank",
|
||||
cookieStoreId: event.target.dataset.identity,
|
||||
});
|
||||
}
|
||||
if (event.target.dataset.action == 'new-i2p browser tab') {
|
||||
if (event.target.dataset.action == "new-i2p browser tab") {
|
||||
var creating = browser.tabs.create({
|
||||
cookieStoreId: event.target.dataset.identity
|
||||
cookieStoreId: event.target.dataset.identity,
|
||||
});
|
||||
creating.then(onCreated, onError);
|
||||
}
|
||||
if (event.target.dataset.action == 'close-all i2p browser tabs') {
|
||||
if (event.target.dataset.action == "close-all i2p browser tabs") {
|
||||
browser.tabs
|
||||
.query({
|
||||
cookieStoreId: event.target.dataset.identity
|
||||
cookieStoreId: event.target.dataset.identity,
|
||||
})
|
||||
.then((tabs) => {
|
||||
browser.tabs.remove(tabs.map((rem) => rem.id));
|
||||
|
7
debian/changelog
vendored
7
debian/changelog
vendored
@ -1,3 +1,10 @@
|
||||
i2psetproxy.js (0.141-1) UNRELEASED; urgency=low
|
||||
|
||||
* Fix wrong color pageAction icon
|
||||
* Add router status to proxy error page
|
||||
|
||||
-- idk <hankhill19580@gmail.com> Sun, 16 Oct 2022 09:21:20 -0400
|
||||
|
||||
i2psetproxy.js (0.135-1) UNRELEASED; urgency=low
|
||||
|
||||
* Style update
|
||||
|
120
handler.js
120
handler.js
@ -1,80 +1,80 @@
|
||||
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);
|
||||
}
|
||||
if (hostname === 'localhost' + ':' + 7667) {
|
||||
if (hostname === "localhost" + ":" + 7667) {
|
||||
return pathcheck(path);
|
||||
}
|
||||
if (hostname === '127.0.0.1' + ':' + 7667) {
|
||||
if (hostname === "127.0.0.1" + ":" + 7667) {
|
||||
return pathcheck(path);
|
||||
}
|
||||
return false;
|
||||
@ -83,36 +83,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);
|
||||
|
464
home.css
464
home.css
@ -1,350 +1,308 @@
|
||||
* {
|
||||
padding: 0;
|
||||
margin: 0
|
||||
padding: 0;
|
||||
margin: 0
|
||||
}
|
||||
|
||||
html {
|
||||
margin: 0 4%;
|
||||
padding: 0 20px;
|
||||
min-height: 100%;
|
||||
background: #9ab;
|
||||
background: #fff;
|
||||
scrollbar-color: #bcd #789
|
||||
margin: 0 4%;
|
||||
padding: 0 20px;
|
||||
min-height: 100%;
|
||||
background: #9ab;
|
||||
background: #fff;
|
||||
scrollbar-color: #bcd #789
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 20px 40px;
|
||||
font-family: Open Sans, Noto Sans, Segoe UI, sans-serif;
|
||||
font-size: 12pt;
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
word-wrap: break-word;
|
||||
background: #f2f2f2
|
||||
margin: 0;
|
||||
padding: 20px 40px;
|
||||
font-family: Open Sans,Noto Sans,Segoe UI,sans-serif;
|
||||
font-size: 12pt;
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
word-wrap: break-word;
|
||||
background: #f2f2f2
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4 {
|
||||
display: block;
|
||||
font-weight: 700
|
||||
display: block;
|
||||
font-weight: 700
|
||||
}
|
||||
|
||||
h1 {
|
||||
text-transform: uppercase;
|
||||
font-weight: 900;
|
||||
font-size: 200%
|
||||
text-transform: uppercase;
|
||||
font-weight: 900;
|
||||
font-size: 200%
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 140%
|
||||
font-size: 140%
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 120%
|
||||
font-size: 120%
|
||||
}
|
||||
|
||||
h4 {
|
||||
margin-bottom: 5px;
|
||||
text-align: right;
|
||||
text-transform: none;
|
||||
font-size: 90%;
|
||||
font-weight: 600;
|
||||
font-style: italic
|
||||
margin-bottom: 5px;
|
||||
text-align: right;
|
||||
text-transform: none;
|
||||
font-size: 90%;
|
||||
font-weight: 600;
|
||||
font-style: italic
|
||||
}
|
||||
|
||||
p {
|
||||
margin-bottom: 15px;
|
||||
width: 100%;
|
||||
line-height: 1.4;
|
||||
word-wrap: break-word;
|
||||
text-align: justify;
|
||||
text-decoration: none
|
||||
margin-bottom: 15px;
|
||||
width: 100%;
|
||||
line-height: 1.4;
|
||||
word-wrap: break-word;
|
||||
text-align: justify;
|
||||
text-decoration: none
|
||||
}
|
||||
|
||||
ul {
|
||||
margin: 10px 20px;
|
||||
list-style: none
|
||||
margin: 10px 20px;
|
||||
list-style: none
|
||||
}
|
||||
|
||||
li {
|
||||
margin-left: 0;
|
||||
padding: 12px 15px 20px;
|
||||
width: calc(100% - 40px);
|
||||
text-align: justify;
|
||||
border: 1px solid #363a68;
|
||||
border-radius: 25px;
|
||||
box-shadow: inset 0 0 0 1px #363a68;
|
||||
background: #4456b7
|
||||
margin-left: 0;
|
||||
padding: 12px 15px 20px;
|
||||
width: calc(100% - 40px);
|
||||
text-align: justify;
|
||||
border: 1px solid #363a68;
|
||||
border-radius: 25px;
|
||||
box-shadow: inset 0 0 0 1px #363a68;
|
||||
background: #4456b7
|
||||
}
|
||||
|
||||
li li {
|
||||
padding-bottom: 0;
|
||||
width: calc(100% - 40px);
|
||||
text-align: left;
|
||||
border: none;
|
||||
border-top: 1px solid #9ab;
|
||||
box-shadow: none
|
||||
padding-bottom: 0;
|
||||
width: calc(100% - 40px);
|
||||
text-align: left;
|
||||
border: none;
|
||||
border-top: 1px solid #9ab;
|
||||
box-shadow: none
|
||||
}
|
||||
|
||||
li li:first-of-type {
|
||||
margin-top: 15px;
|
||||
border-top: none
|
||||
margin-top: 15px;
|
||||
border-top: none
|
||||
}
|
||||
|
||||
li a:first-of-type {
|
||||
display: block;
|
||||
width: 100%
|
||||
display: block;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
#applicationExplain {
|
||||
float: unset
|
||||
float: unset
|
||||
}
|
||||
|
||||
li+li {
|
||||
margin-top: 15px
|
||||
margin-top: 15px
|
||||
}
|
||||
|
||||
h3+ul,
|
||||
ul+h2,
|
||||
ul+h3 {
|
||||
margin-top: 20px
|
||||
margin-top: 20px
|
||||
}
|
||||
|
||||
a,
|
||||
button {
|
||||
color: #f9f7dc;
|
||||
text-decoration: none;
|
||||
font-weight: 700;
|
||||
word-wrap: break-word;
|
||||
outline: 0
|
||||
color: #f9f7dc;
|
||||
text-decoration: none;
|
||||
font-weight: 700;
|
||||
word-wrap: break-word;
|
||||
outline: 0
|
||||
}
|
||||
|
||||
.applicationDesc {
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
font-weight: 700;
|
||||
word-wrap: break-word;
|
||||
outline: 0
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
font-weight: 700;
|
||||
word-wrap: break-word;
|
||||
outline: 0
|
||||
}
|
||||
|
||||
a:hover,
|
||||
button:hover {
|
||||
color: #ff9e7a;
|
||||
text-decoration: none;
|
||||
font-weight: 700;
|
||||
word-wrap: break-word;
|
||||
outline: 0
|
||||
color: #ff9e7a;
|
||||
text-decoration: none;
|
||||
font-weight: 700;
|
||||
word-wrap: break-word;
|
||||
outline: 0
|
||||
}
|
||||
|
||||
button {
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
font-weight: 700;
|
||||
word-wrap: break-word;
|
||||
outline: 0;
|
||||
background: unset
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
font-weight: 700;
|
||||
word-wrap: break-word;
|
||||
outline: 0;
|
||||
background: unset
|
||||
}
|
||||
.background {
|
||||
|
||||
}
|
||||
|
||||
.background {}
|
||||
|
||||
.content {
|
||||
margin: 1.5rem;
|
||||
padding: 1rem;
|
||||
min-height: 3rem;
|
||||
min-width: 95%;
|
||||
display: inline-block;
|
||||
border: 1px solid #363a68;
|
||||
border-radius: 25px;
|
||||
background: #363a68
|
||||
margin: 1.5rem;
|
||||
padding: 1rem;
|
||||
min-height: 3rem;
|
||||
min-width: 95%;
|
||||
display: inline-block;
|
||||
border: 1px solid #363a68;
|
||||
border-radius: 25px;
|
||||
background: #363a68
|
||||
}
|
||||
|
||||
#header,
|
||||
.application-info,
|
||||
.browser-info,
|
||||
.extended-info,
|
||||
.search-info {
|
||||
margin-top: 1.5rem;
|
||||
padding: 1rem;
|
||||
min-height: 3rem;
|
||||
min-width: 95%;
|
||||
display: inline-block;
|
||||
border: 1px solid #787ff6;
|
||||
border-radius: 25px;
|
||||
box-shadow: inset 0 0 0 1px #787ff6, 0 0 1px #ccc;
|
||||
background: #363a68
|
||||
margin-top: 1.5rem;
|
||||
padding: 1rem;
|
||||
min-height: 3rem;
|
||||
min-width: 95%;
|
||||
display: inline-block;
|
||||
border: 1px solid #787ff6;
|
||||
border-radius: 25px;
|
||||
box-shadow: inset 0 0 0 1px #787ff6,0 0 1px #ccc;
|
||||
background: #363a68
|
||||
}
|
||||
|
||||
.showhider {
|
||||
margin-right: auto;
|
||||
padding: 0!important;
|
||||
text-transform: uppercase;
|
||||
background: none!important;
|
||||
border: none;
|
||||
width: 90%;
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
font-weight: 700;
|
||||
word-wrap: break-word;
|
||||
outline: 0;
|
||||
text-align: left
|
||||
margin-right: auto;
|
||||
padding: 0!important;
|
||||
text-transform: uppercase;
|
||||
background: none!important;
|
||||
border: none;
|
||||
width: 90%;
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
font-weight: 700;
|
||||
word-wrap: break-word;
|
||||
outline: 0;
|
||||
text-align: left
|
||||
}
|
||||
|
||||
#links .showhider {
|
||||
font-size: 25px
|
||||
font-size: 25px
|
||||
}
|
||||
|
||||
.section-header {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
margin-bottom: 80px
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
margin-bottom: 80px
|
||||
}
|
||||
|
||||
#readyness,
|
||||
#routerness {
|
||||
padding-top: 1rem;
|
||||
padding-bottom: 1rem;
|
||||
margin: 1rem;
|
||||
width: 42%;
|
||||
min-width: 42%;
|
||||
padding-top: 1rem;
|
||||
padding-bottom: 1rem;
|
||||
margin: 1rem;
|
||||
width: 42%;
|
||||
min-width: 42%
|
||||
}
|
||||
|
||||
#onboarding {
|
||||
min-height: 5rem;
|
||||
padding: .5rem;
|
||||
margin: .5rem;
|
||||
margin-top: 4rem;
|
||||
width: 42%;
|
||||
min-width: 42%;
|
||||
font-size: 2rem;
|
||||
background: #4456b7;
|
||||
text-align: center!important;
|
||||
border: 2px solid #787ff6;
|
||||
border-radius: 25px;
|
||||
float: left;
|
||||
box-shadow: inset 0 0 0 1px #fff, 0 0 1px #ccc
|
||||
min-height: 5rem;
|
||||
padding: .5rem;
|
||||
margin: .5rem;
|
||||
margin-top: 4rem;
|
||||
width: 42%;
|
||||
min-width: 42%;
|
||||
font-size: 2rem;
|
||||
background: #4456b7;
|
||||
text-align: center!important;
|
||||
border: 2px solid #787ff6;
|
||||
border-radius: 25px;
|
||||
float: left;
|
||||
box-shadow: inset 0 0 0 1px #fff,0 0 1px #ccc
|
||||
}
|
||||
|
||||
#i2pbrowser-description {
|
||||
padding-top: 1rem;
|
||||
padding-bottom: 1rem;
|
||||
width: 50%;
|
||||
min-width: 50%;
|
||||
display: inline-block
|
||||
padding-top: 1rem;
|
||||
padding-bottom: 1rem;
|
||||
width: 50%;
|
||||
min-width: 50%;
|
||||
display: inline-block
|
||||
}
|
||||
|
||||
#linksExplain {
|
||||
min-height: 5rem;
|
||||
padding: .5rem;
|
||||
margin: .5rem;
|
||||
width: 100%;
|
||||
min-width: 100%
|
||||
min-height: 5rem;
|
||||
padding: .5rem;
|
||||
margin: .5rem;
|
||||
width: 100%;
|
||||
min-width: 100%
|
||||
}
|
||||
|
||||
#applicationExplain,
|
||||
#controlExplain {
|
||||
min-height: 5rem;
|
||||
padding: .5rem;
|
||||
margin: .5rem;
|
||||
width: 98%;
|
||||
min-width: 98%
|
||||
min-height: 5rem;
|
||||
padding: .5rem;
|
||||
margin: .5rem;
|
||||
width: 98%;
|
||||
min-width: 98%
|
||||
}
|
||||
|
||||
#proxyReady {
|
||||
min-height: 3rem;
|
||||
padding: .5rem;
|
||||
margin: .2rem;
|
||||
width: 38%;
|
||||
min-width: 38%;
|
||||
display: inline-block;
|
||||
background: #363a68;
|
||||
float: right;
|
||||
text-align: center!important;
|
||||
border: 2px solid #787ff6;
|
||||
border-radius: 25px;
|
||||
box-shadow: inset 0 0 0 1px #fff, 0 0 1px #ccc
|
||||
min-height: 3rem;
|
||||
padding: .5rem;
|
||||
margin: .2rem;
|
||||
width: 38%;
|
||||
min-width: 38%;
|
||||
display: inline-block;
|
||||
background: #363a68;
|
||||
float: right;
|
||||
text-align: center!important;
|
||||
border: 2px solid #787ff6;
|
||||
border-radius: 25px;
|
||||
box-shadow: inset 0 0 0 1px #fff,0 0 1px #ccc
|
||||
}
|
||||
|
||||
#proxyUnready {
|
||||
min-height: 3rem;
|
||||
padding: .5rem;
|
||||
margin: .2rem;
|
||||
width: 38%;
|
||||
min-width: 38%;
|
||||
display: inline-block;
|
||||
background: #363a68;
|
||||
float: right;
|
||||
text-align: center!important;
|
||||
border: 2px solid #787ff6;
|
||||
border-radius: 25px
|
||||
min-height: 3rem;
|
||||
padding: .5rem;
|
||||
margin: .2rem;
|
||||
width: 38%;
|
||||
min-width: 38%;
|
||||
display: inline-block;
|
||||
background: #363a68;
|
||||
float: right;
|
||||
text-align: center!important;
|
||||
border: 2px solid #787ff6;
|
||||
border-radius: 25px
|
||||
}
|
||||
|
||||
#consoleOn {
|
||||
min-height: 3rem;
|
||||
padding: .5rem;
|
||||
margin: .2rem;
|
||||
width: 38%;
|
||||
min-width: 38%;
|
||||
display: inline-block;
|
||||
float: left;
|
||||
text-align: center!important;
|
||||
border: 1px solid #f7e59a;
|
||||
border-radius: 2px;
|
||||
background: #f7e59a;
|
||||
box-shadow: inset 0 0 0 1px #fff, 0 0 1px #ccc
|
||||
min-height: 3rem;
|
||||
padding: .5rem;
|
||||
margin: .2rem;
|
||||
width: 38%;
|
||||
min-width: 38%;
|
||||
display: inline-block;
|
||||
float: left;
|
||||
text-align: center!important;
|
||||
border: 1px solid #f7e59a;
|
||||
border-radius: 2px;
|
||||
background: #f7e59a;
|
||||
box-shadow: inset 0 0 0 1px #fff,0 0 1px #ccc
|
||||
}
|
||||
|
||||
.onboardingContent {
|
||||
font-size: .8rem!important;
|
||||
text-align: left;
|
||||
display: none
|
||||
font-size: .8rem!important;
|
||||
text-align: left;
|
||||
display: none
|
||||
}
|
||||
|
||||
#info-content {
|
||||
display: none
|
||||
display: none
|
||||
}
|
||||
|
||||
.consoleOn:hover #proxy-check,
|
||||
.proxyReady:hover #proxy-check {
|
||||
visibility: visible;
|
||||
opacity: 1
|
||||
visibility: visible;
|
||||
opacity: 1
|
||||
}
|
||||
|
||||
img {
|
||||
max-width: 100%
|
||||
max-width: 100%
|
||||
}
|
||||
|
||||
img.readyness {
|
||||
height: 100%;
|
||||
width: auto
|
||||
height: 100%;
|
||||
width: auto
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 399px) {
|
||||
.application-info {
|
||||
display: none
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1200px) {
|
||||
body {
|
||||
font-size: 10.5pt
|
||||
}
|
||||
}
|
||||
|
||||
video {
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.hidden {
|
||||
visibility: none;
|
||||
.application-info {
|
||||
display: none
|
||||
}
|
||||
}
|
||||
@media screen and (max-width: 1200px) {
|
||||
body {
|
||||
font-size: 10.5pt
|
||||
}
|
||||
}
|
||||
video {
|
||||
width: 100%
|
||||
}
|
||||
.hidden {
|
||||
visibility: none;
|
||||
display: none
|
||||
}
|
||||
|
||||
.application-info {
|
||||
min-width: 45%;
|
||||
max-width: 45%;
|
||||
float: right
|
||||
min-width: 45%;
|
||||
max-width: 45%;
|
||||
float: right
|
||||
}
|
38
home.js
38
home.js
@ -1,27 +1,27 @@
|
||||
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 === 'onboardingButtonFive') {
|
||||
flipVisibility('onboardingContentFive');
|
||||
} 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 === "onboardingButtonFive") {
|
||||
flipVisibility("onboardingContentFive");
|
||||
} 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";
|
||||
}
|
||||
}
|
||||
|
192
host.js
192
host.js
@ -1,25 +1,25 @@
|
||||
function proxyHost(requestDetails) {
|
||||
if (requestDetails.originUrl != browser.runtime.getURL('window.html')) {
|
||||
} else if (requestDetails.originUrl != browser.runtime.getURL('home.html')) {
|
||||
if (requestDetails.originUrl != browser.runtime.getURL("window.html")) {
|
||||
} else if (requestDetails.originUrl != browser.runtime.getURL("home.html")) {
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
let hostname = '';
|
||||
if (requestDetails.url.indexOf('://') > -1) {
|
||||
hostname = requestDetails.url.split('/')[2];
|
||||
let hostname = "";
|
||||
if (requestDetails.url.indexOf("://") > -1) {
|
||||
hostname = requestDetails.url.split("/")[2];
|
||||
} else {
|
||||
hostname = requestDetails.url.split('/')[0];
|
||||
hostname = requestDetails.url.split("/")[0];
|
||||
}
|
||||
console.warn('(host) hostname', hostname);
|
||||
if (hostname == 'proxy.i2p') {
|
||||
console.warn('(host) is proxy.i2p', hostname);
|
||||
console.warn("(host) hostname", hostname);
|
||||
if (hostname == "proxy.i2p") {
|
||||
console.warn("(host) is proxy.i2p", hostname);
|
||||
return true;
|
||||
}
|
||||
|
||||
console.warn('(host) requestDetails', requestDetails.url);
|
||||
console.warn("(host) requestDetails", requestDetails.url);
|
||||
if (
|
||||
hostname == 'c6lilt4cr5x7jifxridpkesf2zgfwqfchtp6laihr4pdqomq25iq.b32.i2p'
|
||||
hostname == "c6lilt4cr5x7jifxridpkesf2zgfwqfchtp6laihr4pdqomq25iq.b32.i2p"
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
@ -27,23 +27,23 @@ function proxyHost(requestDetails) {
|
||||
}
|
||||
|
||||
function localHost(url) {
|
||||
let hostname = '';
|
||||
if (url.indexOf('://') > -1) {
|
||||
hostname = url.split('/')[2];
|
||||
let hostname = "";
|
||||
if (url.indexOf("://") > -1) {
|
||||
hostname = url.split("/")[2];
|
||||
} else {
|
||||
hostname = url.split('/')[0];
|
||||
hostname = url.split("/")[0];
|
||||
}
|
||||
hostname = hostname.split(':')[0];
|
||||
console.log('(urlcheck) hostname localhost', hostname);
|
||||
console.log('(urlcheck) url localhost', url);
|
||||
if (hostname === '127.0.0.1') {
|
||||
if (url.indexOf(':8084') != -1) return 'blog';
|
||||
if (url.indexOf(':7669') != -1) return 'irc';
|
||||
if (url.indexOf(':7695') != -1) return 'tor';
|
||||
} else if (hostname === 'localhost') {
|
||||
if (url.indexOf(':8084') != -1) return 'blog';
|
||||
if (url.indexOf(':7669') != -1) return 'irc';
|
||||
if (url.indexOf(':7695') != -1) return 'tor';
|
||||
hostname = hostname.split(":")[0];
|
||||
console.log("(urlcheck) hostname localhost", hostname);
|
||||
console.log("(urlcheck) url localhost", url);
|
||||
if (hostname === "127.0.0.1") {
|
||||
if (url.indexOf(":8084") != -1) return "blog";
|
||||
if (url.indexOf(":7669") != -1) return "irc";
|
||||
if (url.indexOf(":7695") != -1) return "tor";
|
||||
} else if (hostname === "localhost") {
|
||||
if (url.indexOf(":8084") != -1) return "blog";
|
||||
if (url.indexOf(":7669") != -1) return "irc";
|
||||
if (url.indexOf(":7695") != -1) return "tor";
|
||||
}
|
||||
|
||||
return false;
|
||||
@ -51,13 +51,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);
|
||||
@ -71,133 +71,133 @@ 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) {
|
||||
if (proxyHost(url)) {
|
||||
console.warn('(host) proxy.i2p', url.url);
|
||||
console.warn("(host) proxy.i2p", url.url);
|
||||
return false;
|
||||
}
|
||||
let hostname = i2pHostName(url.url);
|
||||
let postname = hostname.split(':')[0];
|
||||
if (postname.endsWith('proxy.i2p')) {
|
||||
let postname = hostname.split(":")[0];
|
||||
if (postname.endsWith("proxy.i2p")) {
|
||||
return false;
|
||||
}
|
||||
return postname.endsWith('.i2p');
|
||||
return postname.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);
|
||||
}
|
||||
if (hostname === 'localhost' + ':' + 7667) {
|
||||
if (hostname === "localhost" + ":" + 7667) {
|
||||
return pathcheck(path);
|
||||
}
|
||||
if (hostname === '127.0.0.1' + ':' + 7667) {
|
||||
if (hostname === "127.0.0.1" + ":" + 7667) {
|
||||
return pathcheck(path);
|
||||
}
|
||||
return false;
|
||||
|
@ -1,10 +1,10 @@
|
||||
if (browser.windows != undefined) {
|
||||
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));
|
||||
@ -23,16 +23,16 @@ if (browser.windows != undefined) {
|
||||
let requestBody = JSON.stringify(data);
|
||||
//console.log("(i2pcontrol) sending request", requestBody);
|
||||
let opts = {
|
||||
method: 'POST', // *GET, POST, PUT, DELETE, etc.
|
||||
mode: 'cors', // no-cors, *cors, same-origin
|
||||
cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached
|
||||
credentials: 'same-origin', // include, *same-origin, omit
|
||||
method: "POST", // *GET, POST, PUT, DELETE, etc.
|
||||
mode: "cors", // no-cors, *cors, same-origin
|
||||
cache: "no-cache", // *default, no-cache, reload, force-cache, only-if-cached
|
||||
credentials: "same-origin", // include, *same-origin, omit
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
redirect: 'follow', // manual, *follow, error
|
||||
referrerPolicy: 'no-referrer', // no-referrer, *client
|
||||
body: requestBody // body data type must match "Content-Type" header
|
||||
redirect: "follow", // manual, *follow, error
|
||||
referrerPolicy: "no-referrer", // no-referrer, *client
|
||||
body: requestBody, // body data type must match "Content-Type" header
|
||||
};
|
||||
const response = await fetch(url, opts);
|
||||
return await response.json(); // parses JSON response into native JavaScript objects
|
||||
@ -40,7 +40,7 @@ if (browser.windows != undefined) {
|
||||
|
||||
//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
|
||||
);
|
||||
}
|
||||
@ -52,12 +52,12 @@ if (browser.windows != undefined) {
|
||||
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);
|
||||
}
|
||||
|
||||
@ -82,14 +82,14 @@ if (browser.windows != undefined) {
|
||||
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);
|
||||
@ -122,13 +122,13 @@ if (browser.windows != undefined) {
|
||||
) {
|
||||
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);
|
||||
@ -167,12 +167,12 @@ if (browser.windows != undefined) {
|
||||
) {
|
||||
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);
|
||||
@ -211,12 +211,12 @@ if (browser.windows != undefined) {
|
||||
) {
|
||||
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);
|
||||
@ -262,12 +262,12 @@ if (browser.windows != undefined) {
|
||||
) {
|
||||
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);
|
||||
@ -307,12 +307,12 @@ if (browser.windows != undefined) {
|
||||
) {
|
||||
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);
|
||||
@ -347,66 +347,66 @@ if (browser.windows != undefined) {
|
||||
const minutes = 0.2;
|
||||
const interval = minutes * 60 * 1000;
|
||||
|
||||
setInterval(function() {
|
||||
setInterval(function () {
|
||||
if (UpdateContents !== undefined) UpdateContents();
|
||||
}, interval);
|
||||
|
||||
function UpdateContents() {
|
||||
UpdateRouterInfoElementByID('i2p.router.status', 'router-status');
|
||||
UpdateRouterInfoElementByID('i2p.router.uptime', 'router-uptime');
|
||||
UpdateRouterInfoElementByID('i2p.router.version', 'router-version');
|
||||
UpdateRouterInfoElementByID("i2p.router.status", "router-status");
|
||||
UpdateRouterInfoElementByID("i2p.router.uptime", "router-uptime");
|
||||
UpdateRouterInfoElementByID("i2p.router.version", "router-version");
|
||||
UpdateRouterInfoElementByID(
|
||||
'i2p.router.net.bw.inbound.1s',
|
||||
'router-net-bw-inbound-1s'
|
||||
"i2p.router.net.bw.inbound.1s",
|
||||
"router-net-bw-inbound-1s"
|
||||
);
|
||||
UpdateRouterInfoElementByID(
|
||||
'i2p.router.net.bw.inbound.15s',
|
||||
'router-net-bw-inbound-15s'
|
||||
"i2p.router.net.bw.inbound.15s",
|
||||
"router-net-bw-inbound-15s"
|
||||
);
|
||||
UpdateRouterInfoElementByID(
|
||||
'i2p.router.net.bw.outbound.1s',
|
||||
'router-net-bw-outbound-1s'
|
||||
"i2p.router.net.bw.outbound.1s",
|
||||
"router-net-bw-outbound-1s"
|
||||
);
|
||||
UpdateRouterInfoElementByID(
|
||||
'i2p.router.net.bw.outbound.15s',
|
||||
'router-net-bw-outbound-15s'
|
||||
"i2p.router.net.bw.outbound.15s",
|
||||
"router-net-bw-outbound-15s"
|
||||
);
|
||||
UpdateRouterInfoElementByID('i2p.router.net.status', 'router-net-status');
|
||||
UpdateRouterInfoElementByID("i2p.router.net.status", "router-net-status");
|
||||
UpdateRouterInfoElementByID(
|
||||
'i2p.router.net.tunnels.participating',
|
||||
'router-net-tunnels-participating'
|
||||
"i2p.router.net.tunnels.participating",
|
||||
"router-net-tunnels-participating"
|
||||
);
|
||||
UpdateRouterInfoElementByID(
|
||||
'i2p.router.netdb.activepeers',
|
||||
'router-netdb-activepeers'
|
||||
"i2p.router.netdb.activepeers",
|
||||
"router-netdb-activepeers"
|
||||
);
|
||||
UpdateRouterInfoElementByID(
|
||||
'i2p.router.netdb.fastpeers',
|
||||
'router-netdb-fastpeers'
|
||||
"i2p.router.netdb.fastpeers",
|
||||
"router-netdb-fastpeers"
|
||||
);
|
||||
UpdateRouterInfoElementByID(
|
||||
'i2p.router.netdb.highcapacitypeers',
|
||||
'router-netdb-highcapacitypeers'
|
||||
"i2p.router.netdb.highcapacitypeers",
|
||||
"router-netdb-highcapacitypeers"
|
||||
);
|
||||
UpdateRouterInfoElementByID(
|
||||
'i2p.router.netdb.isreseeding',
|
||||
'router-netdb-isreseeding'
|
||||
"i2p.router.netdb.isreseeding",
|
||||
"router-netdb-isreseeding"
|
||||
);
|
||||
UpdateRouterInfoElementByID(
|
||||
'i2p.router.netdb.knownpeers',
|
||||
'router-netdb-knownpeers'
|
||||
"i2p.router.netdb.knownpeers",
|
||||
"router-netdb-knownpeers"
|
||||
);
|
||||
}
|
||||
|
||||
var done = Echo(hello);
|
||||
done.then(Done).catch (Done);
|
||||
done.then(Done).catch(Done);
|
||||
|
||||
function Done(output) {
|
||||
function hide(elements) {
|
||||
elements = elements.length ? elements : [elements];
|
||||
for (var index = 0; index < elements.length; index++) {
|
||||
if (elements[index].style !== undefined) {
|
||||
elements[index].style.display = 'none';
|
||||
elements[index].style.display = "none";
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -415,17 +415,17 @@ if (browser.windows != undefined) {
|
||||
elements = elements.length ? elements : [elements];
|
||||
for (var index = 0; index < elements.length; index++) {
|
||||
if (elements[index].style !== undefined) {
|
||||
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;
|
||||
|
8
info.js
8
info.js
@ -1,12 +1,12 @@
|
||||
var titlepref = chrome.i18n.getMessage('titlePreface');
|
||||
var titlepref = chrome.i18n.getMessage("titlePreface");
|
||||
|
||||
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;
|
||||
});
|
||||
}
|
||||
|
||||
|
6
irc.js
6
irc.js
@ -1,8 +1,8 @@
|
||||
fetch('http://127.0.0.1:7669').then((myJson) => {
|
||||
fetch("http://127.0.0.1:7669").then((myJson) => {
|
||||
if (myJson.status == 200) {
|
||||
let irc = document.getElementById('visit-irc');
|
||||
let irc = document.getElementById("visit-irc");
|
||||
if (irc != null) {
|
||||
irc.classList.remove('hidden');
|
||||
irc.classList.remove("hidden");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -1,12 +1,12 @@
|
||||
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({
|
||||
tabId: tab[0].id
|
||||
tabId: tab[0].id,
|
||||
});
|
||||
gettingTitle.then(gotTitle);
|
||||
}
|
||||
|
209
manifest.json
209
manifest.json
@ -1,105 +1,108 @@
|
||||
{
|
||||
"browser_specific_settings": {
|
||||
"gecko": {
|
||||
"id": "i2ppb@eyedeekay.github.io",
|
||||
"strict_min_version": "91.1.0"
|
||||
}
|
||||
},
|
||||
"permissions": [
|
||||
"theme",
|
||||
"alarms",
|
||||
"browsingData",
|
||||
"bookmarks",
|
||||
"contextMenus",
|
||||
"management",
|
||||
"notifications",
|
||||
"proxy",
|
||||
"privacy",
|
||||
"storage",
|
||||
"webNavigation",
|
||||
"webRequest",
|
||||
"webRequestBlocking",
|
||||
"contextualIdentities",
|
||||
"cookies",
|
||||
"history",
|
||||
"tabs",
|
||||
"<all_urls>"
|
||||
],
|
||||
"manifest_version": 2,
|
||||
"name": "__MSG_extensionName__",
|
||||
"version": "0.139",
|
||||
"description": "__MSG_extensionDescription__",
|
||||
"homepage_url": "https://github.com/eyedeekay/I2P-in-Private-Browsing-Mode-Firefox",
|
||||
"icons": {
|
||||
"48": "icons/i2plogo.png"
|
||||
},
|
||||
"browser_action": {
|
||||
"browser_style": true,
|
||||
"default_icon": "icons/i2plogo.png",
|
||||
"default_title": "__MSG_extensionName__",
|
||||
"default_popup": "window.html"
|
||||
},
|
||||
"sidebar_action": {
|
||||
"browser_style": true,
|
||||
"default_icon": "icons/i2plogo.png",
|
||||
"default_title": "__MSG_toopieName__",
|
||||
"default_panel": "toopie.html",
|
||||
"open_at_install": false
|
||||
},
|
||||
"page_action": {
|
||||
"browser_style": true,
|
||||
"default_title": "__MSG_toopieTLS__",
|
||||
"default_icon": "icons/i2plogo.png",
|
||||
"show_matches": [
|
||||
"http://*.i2p/*",
|
||||
"https://*.i2p/*",
|
||||
"http://*.b32.i2p/*",
|
||||
"https://*.b32.i2p/*"
|
||||
],
|
||||
"pinned": true
|
||||
},
|
||||
"options_ui": {
|
||||
"page": "options/options.html"
|
||||
},
|
||||
"content_scripts": [{
|
||||
"matches": ["<all_urls>"],
|
||||
"js": ["script.js"]
|
||||
}],
|
||||
"background": {
|
||||
"persistent": false,
|
||||
"scripts": [
|
||||
"config.js",
|
||||
"torrent/common.js",
|
||||
"torrent/background.js",
|
||||
"i2pcontrol/i2pcontrol.js",
|
||||
"host.js",
|
||||
"privacy.js",
|
||||
"platform.js",
|
||||
"background.js",
|
||||
"handler.js",
|
||||
"proxy.js",
|
||||
"info.js",
|
||||
"home.js",
|
||||
"scrub.js",
|
||||
"bookmarks.js"
|
||||
]
|
||||
},
|
||||
"protocol_handlers": [{
|
||||
"protocol": "ext+rc",
|
||||
"name": "RouterConsole",
|
||||
"uriTemplate": "http://127.0.0.1:7657/%s"
|
||||
},
|
||||
{
|
||||
"protocol": "magnet",
|
||||
"name": "I2PTorrent",
|
||||
"uriTemplate": "http://127.0.0.1:7657/i2psnark/?nofilter_newURL=%s&action=Add&foo=Add+torrent"
|
||||
}
|
||||
],
|
||||
"default_locale": "en",
|
||||
"chrome_settings_overrides": {
|
||||
"homepage": "home.html"
|
||||
},
|
||||
"chrome_url_overrides": {
|
||||
"newtab": "home.html"
|
||||
"browser_specific_settings": {
|
||||
"gecko": {
|
||||
"id": "i2ppb@eyedeekay.github.io",
|
||||
"strict_min_version": "91.1.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"permissions": [
|
||||
"theme",
|
||||
"alarms",
|
||||
"browsingData",
|
||||
"bookmarks",
|
||||
"contextMenus",
|
||||
"management",
|
||||
"notifications",
|
||||
"proxy",
|
||||
"privacy",
|
||||
"storage",
|
||||
"webNavigation",
|
||||
"webRequest",
|
||||
"webRequestBlocking",
|
||||
"contextualIdentities",
|
||||
"cookies",
|
||||
"history",
|
||||
"tabs",
|
||||
"<all_urls>"
|
||||
],
|
||||
"manifest_version": 2,
|
||||
"name": "__MSG_extensionName__",
|
||||
"version": "0.139",
|
||||
"description": "__MSG_extensionDescription__",
|
||||
"homepage_url": "https://github.com/eyedeekay/I2P-in-Private-Browsing-Mode-Firefox",
|
||||
"icons": {
|
||||
"48": "icons/i2plogo.png"
|
||||
},
|
||||
"browser_action": {
|
||||
"browser_style": true,
|
||||
"default_icon": "icons/i2plogo.png",
|
||||
"default_title": "__MSG_extensionName__",
|
||||
"default_popup": "window.html"
|
||||
},
|
||||
"sidebar_action": {
|
||||
"browser_style": true,
|
||||
"default_icon": "icons/i2plogo.png",
|
||||
"default_title": "__MSG_toopieName__",
|
||||
"default_panel": "toopie.html",
|
||||
"open_at_install": false
|
||||
},
|
||||
"page_action": {
|
||||
"browser_style": true,
|
||||
"default_title": "__MSG_toopieTLS__",
|
||||
"default_icon": "icons/i2plogo.png",
|
||||
"show_matches": [
|
||||
"http://*.i2p/*",
|
||||
"https://*.i2p/*",
|
||||
"http://*.b32.i2p/*",
|
||||
"https://*.b32.i2p/*"
|
||||
],
|
||||
"pinned": true
|
||||
},
|
||||
"options_ui": {
|
||||
"page": "options/options.html"
|
||||
},
|
||||
"content_scripts": [
|
||||
{
|
||||
"matches": ["<all_urls>"],
|
||||
"js": ["script.js"]
|
||||
}
|
||||
],
|
||||
"background": {
|
||||
"persistent": false,
|
||||
"scripts": [
|
||||
"config.js",
|
||||
"torrent/common.js",
|
||||
"torrent/background.js",
|
||||
"i2pcontrol/i2pcontrol.js",
|
||||
"host.js",
|
||||
"privacy.js",
|
||||
"platform.js",
|
||||
"background.js",
|
||||
"handler.js",
|
||||
"proxy.js",
|
||||
"info.js",
|
||||
"home.js",
|
||||
"scrub.js",
|
||||
"bookmarks.js"
|
||||
]
|
||||
},
|
||||
"protocol_handlers": [
|
||||
{
|
||||
"protocol": "ext+rc",
|
||||
"name": "RouterConsole",
|
||||
"uriTemplate": "http://127.0.0.1:7657/%s"
|
||||
},
|
||||
{
|
||||
"protocol": "magnet",
|
||||
"name": "I2PTorrent",
|
||||
"uriTemplate": "http://127.0.0.1:7657/i2psnark/?nofilter_newURL=%s&action=Add&foo=Add+torrent"
|
||||
}
|
||||
],
|
||||
"default_locale": "en",
|
||||
"chrome_settings_overrides": {
|
||||
"homepage": "home.html"
|
||||
},
|
||||
"chrome_url_overrides": {
|
||||
"newtab": "home.html"
|
||||
}
|
||||
}
|
||||
|
215
manifestv3.json
215
manifestv3.json
@ -1,109 +1,110 @@
|
||||
{
|
||||
"browser_specific_settings": {
|
||||
"gecko": {
|
||||
"id": "i2ppb@eyedeekay.github.io",
|
||||
"strict_min_version": "91.1.0"
|
||||
}
|
||||
},
|
||||
"permissions": [
|
||||
"theme",
|
||||
"alarms",
|
||||
"browsingData",
|
||||
"bookmarks",
|
||||
"contextMenus",
|
||||
"management",
|
||||
"notifications",
|
||||
"proxy",
|
||||
"privacy",
|
||||
"storage",
|
||||
"webNavigation",
|
||||
"webRequest",
|
||||
"webRequestBlocking",
|
||||
"contextualIdentities",
|
||||
"cookies",
|
||||
"history",
|
||||
"tabs"
|
||||
],
|
||||
"host_permissions": [
|
||||
"<all_urls>"
|
||||
],
|
||||
"manifest_version": 3,
|
||||
"name": "__MSG_extensionName__",
|
||||
"version": "0.139",
|
||||
"description": "__MSG_extensionDescription__",
|
||||
"homepage_url": "https://github.com/eyedeekay/I2P-in-Private-Browsing-Mode-Firefox",
|
||||
"icons": {
|
||||
"96": "icons/i2plogo.png"
|
||||
},
|
||||
"action": {
|
||||
"browser_style": true,
|
||||
"default_icon": "icons/i2plogo.png",
|
||||
"default_title": "__MSG_extensionName__",
|
||||
"default_popup": "window.html"
|
||||
},
|
||||
"sidebar_action": {
|
||||
"browser_style": true,
|
||||
"default_icon": "icons/i2plogo.png",
|
||||
"default_title": "__MSG_toopieName__",
|
||||
"default_panel": "toopie.html",
|
||||
"open_at_install": false
|
||||
},
|
||||
"page_action": {
|
||||
"browser_style": true,
|
||||
"default_title": "__MSG_toopieTLS__",
|
||||
"default_icon": "icons/i2plogo.png",
|
||||
"show_matches": [
|
||||
"http://*.i2p/*",
|
||||
"https://*.i2p/*",
|
||||
"http://*.b32.i2p/*",
|
||||
"https://*.b32.i2p/*"
|
||||
],
|
||||
"pinned": true
|
||||
},
|
||||
"options_ui": {
|
||||
"page": "options/options.html"
|
||||
},
|
||||
"content_scripts": [{
|
||||
"matches": ["<all_urls>"],
|
||||
"js": ["script.js"]
|
||||
}],
|
||||
"background": {
|
||||
"scripts": [
|
||||
"config.js",
|
||||
"torrent/common.js",
|
||||
"torrent/background.js",
|
||||
"i2pcontrol/i2pcontrol.js",
|
||||
"host.js",
|
||||
"privacy.js",
|
||||
"platform.js",
|
||||
"background.js",
|
||||
"handler.js",
|
||||
"proxy.js",
|
||||
"info.js",
|
||||
"home.js",
|
||||
"scrub.js",
|
||||
"bookmarks.js"
|
||||
]
|
||||
},
|
||||
"protocol_handlers": [{
|
||||
"protocol": "ext+rc",
|
||||
"name": "RouterConsole",
|
||||
"uriTemplate": "http://127.0.0.1:7657/%s"
|
||||
},
|
||||
{
|
||||
"protocol": "magnet",
|
||||
"name": "I2PTorrent",
|
||||
"uriTemplate": "http://127.0.0.1:7657/i2psnark/?nofilter_newURL=%s&action=Add&foo=Add+torrent"
|
||||
}
|
||||
],
|
||||
"default_locale": "en",
|
||||
"chrome_settings_overrides": {
|
||||
"homepage": "home.html"
|
||||
},
|
||||
"content_security_policy": {
|
||||
"extension_pages": "default-src 'self' http://proxy.i2p"
|
||||
},
|
||||
"chrome_url_overrides": {
|
||||
"newtab": "home.html"
|
||||
"browser_specific_settings": {
|
||||
"gecko": {
|
||||
"id": "i2ppb@eyedeekay.github.io",
|
||||
"strict_min_version": "91.1.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"permissions": [
|
||||
"theme",
|
||||
"alarms",
|
||||
"browsingData",
|
||||
"bookmarks",
|
||||
"contextMenus",
|
||||
"management",
|
||||
"notifications",
|
||||
"proxy",
|
||||
"privacy",
|
||||
"storage",
|
||||
"webNavigation",
|
||||
"webRequest",
|
||||
"webRequestBlocking",
|
||||
"contextualIdentities",
|
||||
"cookies",
|
||||
"history",
|
||||
"tabs"
|
||||
],
|
||||
"host_permissions": ["<all_urls>"],
|
||||
"manifest_version": 3,
|
||||
"name": "__MSG_extensionName__",
|
||||
"version": "0.139",
|
||||
"description": "__MSG_extensionDescription__",
|
||||
"homepage_url": "https://github.com/eyedeekay/I2P-in-Private-Browsing-Mode-Firefox",
|
||||
"icons": {
|
||||
"96": "icons/i2plogo.png"
|
||||
},
|
||||
"action": {
|
||||
"browser_style": true,
|
||||
"default_icon": "icons/i2plogo.png",
|
||||
"default_title": "__MSG_extensionName__",
|
||||
"default_popup": "window.html"
|
||||
},
|
||||
"sidebar_action": {
|
||||
"browser_style": true,
|
||||
"default_icon": "icons/i2plogo.png",
|
||||
"default_title": "__MSG_toopieName__",
|
||||
"default_panel": "toopie.html",
|
||||
"open_at_install": false
|
||||
},
|
||||
"page_action": {
|
||||
"browser_style": true,
|
||||
"default_title": "__MSG_toopieTLS__",
|
||||
"default_icon": "icons/i2plogo.png",
|
||||
"show_matches": [
|
||||
"http://*.i2p/*",
|
||||
"https://*.i2p/*",
|
||||
"http://*.b32.i2p/*",
|
||||
"https://*.b32.i2p/*"
|
||||
],
|
||||
"pinned": true
|
||||
},
|
||||
"options_ui": {
|
||||
"page": "options/options.html"
|
||||
},
|
||||
"content_scripts": [
|
||||
{
|
||||
"matches": ["<all_urls>"],
|
||||
"js": ["script.js"]
|
||||
}
|
||||
],
|
||||
"background": {
|
||||
"scripts": [
|
||||
"config.js",
|
||||
"torrent/common.js",
|
||||
"torrent/background.js",
|
||||
"i2pcontrol/i2pcontrol.js",
|
||||
"host.js",
|
||||
"privacy.js",
|
||||
"platform.js",
|
||||
"background.js",
|
||||
"handler.js",
|
||||
"proxy.js",
|
||||
"info.js",
|
||||
"home.js",
|
||||
"scrub.js",
|
||||
"bookmarks.js"
|
||||
]
|
||||
},
|
||||
"protocol_handlers": [
|
||||
{
|
||||
"protocol": "ext+rc",
|
||||
"name": "RouterConsole",
|
||||
"uriTemplate": "http://127.0.0.1:7657/%s"
|
||||
},
|
||||
{
|
||||
"protocol": "magnet",
|
||||
"name": "I2PTorrent",
|
||||
"uriTemplate": "http://127.0.0.1:7657/i2psnark/?nofilter_newURL=%s&action=Add&foo=Add+torrent"
|
||||
}
|
||||
],
|
||||
"default_locale": "en",
|
||||
"chrome_settings_overrides": {
|
||||
"homepage": "home.html"
|
||||
},
|
||||
"content_security_policy": {
|
||||
"extension_pages": "default-src 'self' http://proxy.i2p"
|
||||
},
|
||||
"chrome_url_overrides": {
|
||||
"newtab": "home.html"
|
||||
}
|
||||
}
|
||||
|
250
messages.js
250
messages.js
@ -2,152 +2,152 @@ function contentUpdateById(id, message) {
|
||||
let infoTitle = document.getElementById(id);
|
||||
let messageContent = chrome.i18n.getMessage(message);
|
||||
if (infoTitle === null) {
|
||||
console.log('content error', id, messageContent);
|
||||
console.log("content error", id, messageContent);
|
||||
return;
|
||||
}
|
||||
infoTitle.textContent = messageContent;
|
||||
}
|
||||
contentUpdateById('CertLabel', 'CertLabel');
|
||||
contentUpdateById('SignedLabel', 'SignedLabel');
|
||||
contentUpdateById('TorrentTypeLabel', 'TorrentTypeLabel');
|
||||
contentUpdateById('TypeLabel', 'TypeLabel');
|
||||
contentUpdateById('aboutconsole', 'aboutconsole');
|
||||
contentUpdateById('abouthome', 'abouthome');
|
||||
contentUpdateById('addresstype', 'addresstype');
|
||||
contentUpdateById('applicationExplain', 'applicationExplain');
|
||||
contentUpdateById('applicationHeader', 'applicationHeader');
|
||||
contentUpdateById('beta', 'beta');
|
||||
contentUpdateById('bookmarksButton', 'bookmarksButton');
|
||||
contentUpdateById('btRpcHostText', 'btRpcHostText');
|
||||
contentUpdateById('btRpcPathText', 'btRpcPathText');
|
||||
contentUpdateById('btRpcPortText', 'btRpcPortText');
|
||||
contentUpdateById('controlExplain', 'controlExplain');
|
||||
contentUpdateById('controlHeader', 'controlHeader');
|
||||
contentUpdateById('controlHelpText', 'controlHelpText');
|
||||
contentUpdateById('controlHostText', 'controlHostText');
|
||||
contentUpdateById('controlPortText', 'controlPortText');
|
||||
contentUpdateById('description', 'description');
|
||||
contentUpdateById('description2', 'description2');
|
||||
contentUpdateById('fliplinks', 'fliplinks');
|
||||
contentUpdateById('headline', 'headline');
|
||||
contentUpdateById('histDesc', 'histDesc');
|
||||
contentUpdateById('hostText', 'hostText');
|
||||
contentUpdateById('i2ppage', 'i2ppage');
|
||||
contentUpdateById('i2ptunnel', 'i2ptunnel');
|
||||
contentUpdateById('label-router-activepeers', 'label-router-activepeers');
|
||||
contentUpdateById('label-router-bandwidth', 'label-router-bandwidth');
|
||||
contentUpdateById('label-router-bw-inbound-15s', 'label-router-bw-inbound-15s');
|
||||
contentUpdateById('label-router-bw-inbound-1s', 'label-router-bw-inbound-1s');
|
||||
contentUpdateById("CertLabel", "CertLabel");
|
||||
contentUpdateById("SignedLabel", "SignedLabel");
|
||||
contentUpdateById("TorrentTypeLabel", "TorrentTypeLabel");
|
||||
contentUpdateById("TypeLabel", "TypeLabel");
|
||||
contentUpdateById("aboutconsole", "aboutconsole");
|
||||
contentUpdateById("abouthome", "abouthome");
|
||||
contentUpdateById("addresstype", "addresstype");
|
||||
contentUpdateById("applicationExplain", "applicationExplain");
|
||||
contentUpdateById("applicationHeader", "applicationHeader");
|
||||
contentUpdateById("beta", "beta");
|
||||
contentUpdateById("bookmarksButton", "bookmarksButton");
|
||||
contentUpdateById("btRpcHostText", "btRpcHostText");
|
||||
contentUpdateById("btRpcPathText", "btRpcPathText");
|
||||
contentUpdateById("btRpcPortText", "btRpcPortText");
|
||||
contentUpdateById("controlExplain", "controlExplain");
|
||||
contentUpdateById("controlHeader", "controlHeader");
|
||||
contentUpdateById("controlHelpText", "controlHelpText");
|
||||
contentUpdateById("controlHostText", "controlHostText");
|
||||
contentUpdateById("controlPortText", "controlPortText");
|
||||
contentUpdateById("description", "description");
|
||||
contentUpdateById("description2", "description2");
|
||||
contentUpdateById("fliplinks", "fliplinks");
|
||||
contentUpdateById("headline", "headline");
|
||||
contentUpdateById("histDesc", "histDesc");
|
||||
contentUpdateById("hostText", "hostText");
|
||||
contentUpdateById("i2ppage", "i2ppage");
|
||||
contentUpdateById("i2ptunnel", "i2ptunnel");
|
||||
contentUpdateById("label-router-activepeers", "label-router-activepeers");
|
||||
contentUpdateById("label-router-bandwidth", "label-router-bandwidth");
|
||||
contentUpdateById("label-router-bw-inbound-15s", "label-router-bw-inbound-15s");
|
||||
contentUpdateById("label-router-bw-inbound-1s", "label-router-bw-inbound-1s");
|
||||
contentUpdateById(
|
||||
'label-router-bw-outbound-15s',
|
||||
'label-router-bw-outbound-15s'
|
||||
"label-router-bw-outbound-15s",
|
||||
"label-router-bw-outbound-15s"
|
||||
);
|
||||
contentUpdateById('label-router-bw-outbound-1s', 'label-router-bw-outbound-1s');
|
||||
contentUpdateById("label-router-bw-outbound-1s", "label-router-bw-outbound-1s");
|
||||
contentUpdateById(
|
||||
'label-router-net-tunnels-participating',
|
||||
'label-router-net-tunnels-participating'
|
||||
"label-router-net-tunnels-participating",
|
||||
"label-router-net-tunnels-participating"
|
||||
);
|
||||
contentUpdateById(
|
||||
'label-router-netdb-fastpeers',
|
||||
'label-router-netdb-fastpeers'
|
||||
"label-router-netdb-fastpeers",
|
||||
"label-router-netdb-fastpeers"
|
||||
);
|
||||
contentUpdateById(
|
||||
'label-router-netdb-highcapacitypeers',
|
||||
'label-router-netdb-highcapacitypeers'
|
||||
"label-router-netdb-highcapacitypeers",
|
||||
"label-router-netdb-highcapacitypeers"
|
||||
);
|
||||
contentUpdateById(
|
||||
'label-router-netdb-isreseeding',
|
||||
'label-router-netdb-isreseeding'
|
||||
"label-router-netdb-isreseeding",
|
||||
"label-router-netdb-isreseeding"
|
||||
);
|
||||
contentUpdateById(
|
||||
'label-router-netdb-knownpeers',
|
||||
'label-router-netdb-knownpeers'
|
||||
"label-router-netdb-knownpeers",
|
||||
"label-router-netdb-knownpeers"
|
||||
);
|
||||
contentUpdateById('label-router-peers', 'label-router-peers');
|
||||
contentUpdateById('label-router-status', 'label-router-status');
|
||||
contentUpdateById('label-router-uptime', 'label-router-uptime');
|
||||
contentUpdateById('label-router-version', 'label-router-version');
|
||||
contentUpdateById('links', 'links');
|
||||
contentUpdateById('linksExplain', 'linksExplain');
|
||||
contentUpdateById('onboardingButtonFive', 'onboardingButtonFive');
|
||||
contentUpdateById('onboardingButtonFour', 'onboardingButtonFour');
|
||||
contentUpdateById('onboardingButtonOne', 'onboardingButtonOne');
|
||||
contentUpdateById('onboardingButtonThree', 'onboardingButtonThree');
|
||||
contentUpdateById('onboardingButtonTwo', 'onboardingButtonTwo');
|
||||
contentUpdateById('onboardingButtonZero', 'onboardingButtonZero');
|
||||
contentUpdateById('onboardingContentFive', 'onboardingContentFive');
|
||||
contentUpdateById('onboardingContentFour', 'onboardingContentFour');
|
||||
contentUpdateById('onboardingContentOne', 'onboardingContentOne');
|
||||
contentUpdateById('onboardingContentThree', 'onboardingContentThree');
|
||||
contentUpdateById('onboardingContentTwo', 'onboardingContentTwo');
|
||||
contentUpdateById('onboardingContentZero', 'onboardingContentZero');
|
||||
contentUpdateById('onboardingFive', 'onboardingFive');
|
||||
contentUpdateById('onboardingFour', 'onboardingFour');
|
||||
contentUpdateById('onboardingOne', 'onboardingOne');
|
||||
contentUpdateById('onboardingThree', 'onboardingThree');
|
||||
contentUpdateById('onboardingTitle', 'onboardingTitle');
|
||||
contentUpdateById('onboardingTwo', 'onboardingTwo');
|
||||
contentUpdateById('onboardingZero', 'onboardingZero');
|
||||
contentUpdateById('portText', 'portText');
|
||||
contentUpdateById('proxy-check', 'proxy-check');
|
||||
contentUpdateById('releases', 'releases');
|
||||
contentUpdateById('returnhome', 'returnhome');
|
||||
contentUpdateById('router-net-bw-inbound-15s', 'router-net-bw-inbound-15s');
|
||||
contentUpdateById('router-net-bw-inbound-1s', 'router-net-bw-inbound-1s');
|
||||
contentUpdateById('router-net-bw-outbound-15s', 'router-net-bw-outbound-15s');
|
||||
contentUpdateById('router-net-bw-outbound-1s', 'router-net-bw-outbound-1s');
|
||||
contentUpdateById("label-router-peers", "label-router-peers");
|
||||
contentUpdateById("label-router-status", "label-router-status");
|
||||
contentUpdateById("label-router-uptime", "label-router-uptime");
|
||||
contentUpdateById("label-router-version", "label-router-version");
|
||||
contentUpdateById("links", "links");
|
||||
contentUpdateById("linksExplain", "linksExplain");
|
||||
contentUpdateById("onboardingButtonFive", "onboardingButtonFive");
|
||||
contentUpdateById("onboardingButtonFour", "onboardingButtonFour");
|
||||
contentUpdateById("onboardingButtonOne", "onboardingButtonOne");
|
||||
contentUpdateById("onboardingButtonThree", "onboardingButtonThree");
|
||||
contentUpdateById("onboardingButtonTwo", "onboardingButtonTwo");
|
||||
contentUpdateById("onboardingButtonZero", "onboardingButtonZero");
|
||||
contentUpdateById("onboardingContentFive", "onboardingContentFive");
|
||||
contentUpdateById("onboardingContentFour", "onboardingContentFour");
|
||||
contentUpdateById("onboardingContentOne", "onboardingContentOne");
|
||||
contentUpdateById("onboardingContentThree", "onboardingContentThree");
|
||||
contentUpdateById("onboardingContentTwo", "onboardingContentTwo");
|
||||
contentUpdateById("onboardingContentZero", "onboardingContentZero");
|
||||
contentUpdateById("onboardingFive", "onboardingFive");
|
||||
contentUpdateById("onboardingFour", "onboardingFour");
|
||||
contentUpdateById("onboardingOne", "onboardingOne");
|
||||
contentUpdateById("onboardingThree", "onboardingThree");
|
||||
contentUpdateById("onboardingTitle", "onboardingTitle");
|
||||
contentUpdateById("onboardingTwo", "onboardingTwo");
|
||||
contentUpdateById("onboardingZero", "onboardingZero");
|
||||
contentUpdateById("portText", "portText");
|
||||
contentUpdateById("proxy-check", "proxy-check");
|
||||
contentUpdateById("releases", "releases");
|
||||
contentUpdateById("returnhome", "returnhome");
|
||||
contentUpdateById("router-net-bw-inbound-15s", "router-net-bw-inbound-15s");
|
||||
contentUpdateById("router-net-bw-inbound-1s", "router-net-bw-inbound-1s");
|
||||
contentUpdateById("router-net-bw-outbound-15s", "router-net-bw-outbound-15s");
|
||||
contentUpdateById("router-net-bw-outbound-1s", "router-net-bw-outbound-1s");
|
||||
contentUpdateById(
|
||||
'router-net-tunnels-participating',
|
||||
'router-net-tunnels-participating'
|
||||
"router-net-tunnels-participating",
|
||||
"router-net-tunnels-participating"
|
||||
);
|
||||
contentUpdateById('router-netdb-activepeers', 'router-netdb-activepeers');
|
||||
contentUpdateById('router-netdb-fastpeers', 'router-netdb-fastpeers');
|
||||
contentUpdateById("router-netdb-activepeers", "router-netdb-activepeers");
|
||||
contentUpdateById("router-netdb-fastpeers", "router-netdb-fastpeers");
|
||||
contentUpdateById(
|
||||
'router-netdb-highcapacitypeers',
|
||||
'router-netdb-highcapacitypeers'
|
||||
"router-netdb-highcapacitypeers",
|
||||
"router-netdb-highcapacitypeers"
|
||||
);
|
||||
contentUpdateById('router-netdb-isreseeding', 'router-netdb-isreseeding');
|
||||
contentUpdateById('router-netdb-knownpeers', 'router-netdb-knownpeers');
|
||||
contentUpdateById('router-restart', 'router-restart');
|
||||
contentUpdateById('router-shutdown', 'router-shutdown');
|
||||
contentUpdateById('router-status', 'router-status');
|
||||
contentUpdateById('router-uptime', 'router-uptime');
|
||||
contentUpdateById('router-version', 'router-version');
|
||||
contentUpdateById('routerConsole', 'routerConsole');
|
||||
contentUpdateById('rpcHelpText', 'rpcHelpText');
|
||||
contentUpdateById('rpcHostText', 'rpcHostText');
|
||||
contentUpdateById('rpcPassText', 'rpcPassText');
|
||||
contentUpdateById('rpcPathText', 'rpcPathText');
|
||||
contentUpdateById('rpcPortText', 'rpcPortText');
|
||||
contentUpdateById('signingcert', 'signingcert');
|
||||
contentUpdateById('sitecert', 'sitecert');
|
||||
contentUpdateById('snark', 'snark');
|
||||
contentUpdateById('sourcehead', 'sourcehead');
|
||||
contentUpdateById('sources', 'sources');
|
||||
contentUpdateById('susimail', 'susimail');
|
||||
contentUpdateById('text-section-header', 'text-section-header');
|
||||
contentUpdateById("router-netdb-isreseeding", "router-netdb-isreseeding");
|
||||
contentUpdateById("router-netdb-knownpeers", "router-netdb-knownpeers");
|
||||
contentUpdateById("router-restart", "router-restart");
|
||||
contentUpdateById("router-shutdown", "router-shutdown");
|
||||
contentUpdateById("router-status", "router-status");
|
||||
contentUpdateById("router-uptime", "router-uptime");
|
||||
contentUpdateById("router-version", "router-version");
|
||||
contentUpdateById("routerConsole", "routerConsole");
|
||||
contentUpdateById("rpcHelpText", "rpcHelpText");
|
||||
contentUpdateById("rpcHostText", "rpcHostText");
|
||||
contentUpdateById("rpcPassText", "rpcPassText");
|
||||
contentUpdateById("rpcPathText", "rpcPathText");
|
||||
contentUpdateById("rpcPortText", "rpcPortText");
|
||||
contentUpdateById("signingcert", "signingcert");
|
||||
contentUpdateById("sitecert", "sitecert");
|
||||
contentUpdateById("snark", "snark");
|
||||
contentUpdateById("sourcehead", "sourcehead");
|
||||
contentUpdateById("sources", "sources");
|
||||
contentUpdateById("susimail", "susimail");
|
||||
contentUpdateById("text-section-header", "text-section-header");
|
||||
contentUpdateById(
|
||||
'text-section-proxyerr-header',
|
||||
'text-section-proxyerr-header'
|
||||
"text-section-proxyerr-header",
|
||||
"text-section-proxyerr-header"
|
||||
);
|
||||
contentUpdateById(
|
||||
'text-section-torrents-header',
|
||||
'text-section-torrents-header'
|
||||
"text-section-torrents-header",
|
||||
"text-section-torrents-header"
|
||||
);
|
||||
contentUpdateById('toopie', 'toopie');
|
||||
contentUpdateById('torrentui-opener', 'torrentui-opener');
|
||||
contentUpdateById('visit-irc', 'visit-irc');
|
||||
contentUpdateById('webpage', 'webpage');
|
||||
contentUpdateById('window-visit-console', 'window-visit-console');
|
||||
contentUpdateById('window-visit-help', 'window-visit-help');
|
||||
contentUpdateById('window-visit-homepage', 'window-visit-homepage');
|
||||
contentUpdateById('window-visit-i2p', 'window-visit-i2p');
|
||||
contentUpdateById('window-visit-i2ptunnel', 'window-visit-i2ptunnel');
|
||||
contentUpdateById('window-visit-index', 'window-visit-index');
|
||||
contentUpdateById('window-visit-releases', 'window-visit-releases');
|
||||
contentUpdateById('window-visit-router', 'window-visit-router');
|
||||
contentUpdateById('window-visit-snark', 'window-visit-snark');
|
||||
contentUpdateById('window-visit-sources', 'window-visit-sources');
|
||||
contentUpdateById('window-visit-susimail', 'window-visit-susimail');
|
||||
contentUpdateById('window-visit-toopie', 'window-visit-toopie');
|
||||
contentUpdateById('window-visit-torrent', 'window-visit-torrent');
|
||||
contentUpdateById("toopie", "toopie");
|
||||
contentUpdateById("torrentui-opener", "torrentui-opener");
|
||||
contentUpdateById("visit-irc", "visit-irc");
|
||||
contentUpdateById("webpage", "webpage");
|
||||
contentUpdateById("window-visit-console", "window-visit-console");
|
||||
contentUpdateById("window-visit-help", "window-visit-help");
|
||||
contentUpdateById("window-visit-homepage", "window-visit-homepage");
|
||||
contentUpdateById("window-visit-i2p", "window-visit-i2p");
|
||||
contentUpdateById("window-visit-i2ptunnel", "window-visit-i2ptunnel");
|
||||
contentUpdateById("window-visit-index", "window-visit-index");
|
||||
contentUpdateById("window-visit-releases", "window-visit-releases");
|
||||
contentUpdateById("window-visit-router", "window-visit-router");
|
||||
contentUpdateById("window-visit-snark", "window-visit-snark");
|
||||
contentUpdateById("window-visit-sources", "window-visit-sources");
|
||||
contentUpdateById("window-visit-susimail", "window-visit-susimail");
|
||||
contentUpdateById("window-visit-toopie", "window-visit-toopie");
|
||||
contentUpdateById("window-visit-torrent", "window-visit-torrent");
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
}
|
||||
|
40
privacy.js
40
privacy.js
@ -1,10 +1,10 @@
|
||||
var titlepref = chrome.i18n.getMessage('titlePreface');
|
||||
var titlepref = chrome.i18n.getMessage("titlePreface");
|
||||
|
||||
function onSet(result) {
|
||||
if (result) {
|
||||
console.log('->: Value was updated');
|
||||
console.log("->: Value was updated");
|
||||
} else {
|
||||
console.log('-X: Value was not updated');
|
||||
console.log("-X: Value was not updated");
|
||||
}
|
||||
}
|
||||
|
||||
@ -12,10 +12,10 @@ function onSet(result) {
|
||||
risky sites in your browser */
|
||||
function disableHyperlinkAuditing() {
|
||||
var setting = browser.privacy.websites.hyperlinkAuditingEnabled.set({
|
||||
value: false
|
||||
value: false,
|
||||
});
|
||||
console.log('Disabling hyperlink auditing/val=', {
|
||||
value: false
|
||||
console.log("Disabling hyperlink auditing/val=", {
|
||||
value: false,
|
||||
});
|
||||
setting.then(onSet);
|
||||
}
|
||||
@ -23,8 +23,8 @@ function disableHyperlinkAuditing() {
|
||||
// UNINSTALL ONLY
|
||||
function enableHyperlinkAuditing() {
|
||||
var setting = browser.privacy.websites.hyperlinkAuditingEnabled.clear();
|
||||
console.log('Disabling hyperlink auditing/val=', {
|
||||
value: false
|
||||
console.log("Disabling hyperlink auditing/val=", {
|
||||
value: false,
|
||||
});
|
||||
setting.then(onSet);
|
||||
}
|
||||
@ -32,10 +32,10 @@ function enableHyperlinkAuditing() {
|
||||
// This enables first-party isolation
|
||||
function enableFirstPartyIsolation() {
|
||||
var setting = browser.privacy.websites.firstPartyIsolate.set({
|
||||
value: true
|
||||
value: true,
|
||||
});
|
||||
console.log('Enabling first party isolation/val=', {
|
||||
value: true
|
||||
console.log("Enabling first party isolation/val=", {
|
||||
value: true,
|
||||
});
|
||||
setting.then(onSet);
|
||||
}
|
||||
@ -43,8 +43,8 @@ function enableFirstPartyIsolation() {
|
||||
// UNINSTALL ONLY
|
||||
function disableFirstPartyIsolation() {
|
||||
var setting = browser.privacy.websites.firstPartyIsolate.clear();
|
||||
console.log('Enabling first party isolation/val=', {
|
||||
value: true
|
||||
console.log("Enabling first party isolation/val=", {
|
||||
value: true,
|
||||
});
|
||||
setting.then(onSet);
|
||||
}
|
||||
@ -57,15 +57,15 @@ function disableEvilCookies() {
|
||||
getting.then((got) => {
|
||||
var setting = browser.privacy.websites.cookieConfig.set({
|
||||
value: {
|
||||
behavior: 'reject_third_party',
|
||||
nonPersistentCookies: got.value.nonPersistentCookies
|
||||
}
|
||||
behavior: "reject_third_party",
|
||||
nonPersistentCookies: got.value.nonPersistentCookies,
|
||||
},
|
||||
});
|
||||
console.log('Setting cookie behavior/val=', {
|
||||
console.log("Setting cookie behavior/val=", {
|
||||
value: {
|
||||
behavior: 'reject_third_party',
|
||||
nonPersistentCookies: got.value.nonPersistentCookies
|
||||
}
|
||||
behavior: "reject_third_party",
|
||||
nonPersistentCookies: got.value.nonPersistentCookies,
|
||||
},
|
||||
});
|
||||
setting.then(onSet);
|
||||
});
|
||||
|
914
proxy.js
914
proxy.js
@ -1,529 +1,529 @@
|
||||
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 torpref = chrome.i18n.getMessage('torPreface');
|
||||
var torprefpriv = chrome.i18n.getMessage('torPreface');
|
||||
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 torpref = chrome.i18n.getMessage("torPreface");
|
||||
var torprefpriv = chrome.i18n.getMessage("torPreface");
|
||||
|
||||
browser.privacy.network.peerConnectionEnabled.set({
|
||||
value: true
|
||||
value: true,
|
||||
});
|
||||
|
||||
chrome.privacy.network.networkPredictionEnabled.set({
|
||||
value: false
|
||||
value: false,
|
||||
});
|
||||
chrome.privacy.network.webRTCIPHandlingPolicy.set({
|
||||
value: 'disable_non_proxied_udp'
|
||||
value: "disable_non_proxied_udp",
|
||||
});
|
||||
console.log('Disabled unproxied UDP.');
|
||||
console.log("Disabled unproxied UDP.");
|
||||
|
||||
function shouldProxyRequest(requestInfo) {
|
||||
return requestInfo.parentFrameId != -1;
|
||||
return requestInfo.parentFrameId != -1;
|
||||
}
|
||||
|
||||
var handleContextProxyRequest = async function(requestDetails) {
|
||||
if (proxyHost(requestDetails)) {
|
||||
proxy = {
|
||||
type: getScheme(),
|
||||
host: getHost(),
|
||||
port: getPort()
|
||||
};
|
||||
console.warn('(proxy) is proxy check');
|
||||
return proxy;
|
||||
}
|
||||
var handleContextProxyRequest = async function (requestDetails) {
|
||||
if (proxyHost(requestDetails)) {
|
||||
proxy = {
|
||||
type: getScheme(),
|
||||
host: getHost(),
|
||||
port: getPort(),
|
||||
};
|
||||
console.warn("(proxy) is proxy check");
|
||||
return proxy;
|
||||
}
|
||||
|
||||
function ircProxy() {
|
||||
if (!requestDetails.url.includes('7669')) {
|
||||
proxy = {
|
||||
type: getScheme(),
|
||||
host: getHost(),
|
||||
port: getPort()
|
||||
};
|
||||
return proxy;
|
||||
}
|
||||
if (requestDetails.url.includes(':7669')) {
|
||||
proxy = null;
|
||||
return proxy;
|
||||
}
|
||||
function ircProxy() {
|
||||
if (!requestDetails.url.includes("7669")) {
|
||||
proxy = {
|
||||
type: getScheme(),
|
||||
host: getHost(),
|
||||
port: getPort(),
|
||||
};
|
||||
return proxy;
|
||||
}
|
||||
/* This is **NOT** the tor SOCKS5 proxy.
|
||||
if (requestDetails.url.includes(":7669")) {
|
||||
proxy = null;
|
||||
return proxy;
|
||||
}
|
||||
}
|
||||
/* This is **NOT** the tor SOCKS5 proxy.
|
||||
These are the rules for visiting the SOCKS5 proxy manager.
|
||||
*/
|
||||
function torProxy() {
|
||||
if (!requestDetails.url.includes('7695')) {
|
||||
proxy = {
|
||||
type: getScheme(),
|
||||
host: getHost(),
|
||||
port: getPort()
|
||||
};
|
||||
return proxy;
|
||||
}
|
||||
if (requestDetails.url.includes(':7695')) {
|
||||
proxy = null;
|
||||
return proxy;
|
||||
}
|
||||
function torProxy() {
|
||||
if (!requestDetails.url.includes("7695")) {
|
||||
proxy = {
|
||||
type: getScheme(),
|
||||
host: getHost(),
|
||||
port: getPort(),
|
||||
};
|
||||
return proxy;
|
||||
}
|
||||
|
||||
function blogProxy() {
|
||||
if (!requestDetails.url.includes('8084')) {
|
||||
proxy = {
|
||||
type: getScheme(),
|
||||
host: getHost(),
|
||||
port: getPort()
|
||||
};
|
||||
return proxy;
|
||||
}
|
||||
if (requestDetails.url.includes(':8084')) {
|
||||
proxy = null;
|
||||
return proxy;
|
||||
}
|
||||
if (requestDetails.url.includes(":7695")) {
|
||||
proxy = null;
|
||||
return proxy;
|
||||
}
|
||||
}
|
||||
|
||||
function btProxy() {
|
||||
proxy = routerProxy();
|
||||
if (requestDetails.url.includes(':7662')) {
|
||||
proxy = null;
|
||||
return proxy;
|
||||
}
|
||||
console.log('(bt proxy)', proxy);
|
||||
function blogProxy() {
|
||||
if (!requestDetails.url.includes("8084")) {
|
||||
proxy = {
|
||||
type: getScheme(),
|
||||
host: getHost(),
|
||||
port: getPort(),
|
||||
};
|
||||
return proxy;
|
||||
}
|
||||
if (requestDetails.url.includes(":8084")) {
|
||||
proxy = null;
|
||||
return proxy;
|
||||
}
|
||||
}
|
||||
|
||||
function btProxy() {
|
||||
proxy = routerProxy();
|
||||
if (requestDetails.url.includes(":7662")) {
|
||||
proxy = null;
|
||||
return proxy;
|
||||
}
|
||||
console.log("(bt proxy)", proxy);
|
||||
return proxy;
|
||||
}
|
||||
|
||||
function mainProxy() {
|
||||
console.log("(proxy) mainproxy 0");
|
||||
proxy = {
|
||||
type: getScheme(),
|
||||
host: getHost(),
|
||||
port: getPort(),
|
||||
};
|
||||
let url = new URL(requestDetails.url);
|
||||
if (
|
||||
requestDetails.url.startsWith(
|
||||
"http://" + getHost() + ":" + getConsolePort() + "/i2psnark/"
|
||||
)
|
||||
) {
|
||||
//+url.host)) {
|
||||
console.log("(proxy) mainproxy 2", url);
|
||||
proxy = null;
|
||||
}
|
||||
return proxy;
|
||||
}
|
||||
|
||||
function routerProxy() {
|
||||
if (routerHost(requestDetails.url)) {
|
||||
proxy = null;
|
||||
return proxy;
|
||||
} else if (!routerHost(requestDetails.url)) {
|
||||
proxy = {
|
||||
type: getScheme(),
|
||||
host: getHost(),
|
||||
port: getPort(),
|
||||
};
|
||||
return proxy;
|
||||
}
|
||||
}
|
||||
try {
|
||||
var handleProxyRequest = function (context) {
|
||||
proxy = {
|
||||
type: getScheme(),
|
||||
host: getHost(),
|
||||
port: getPort(),
|
||||
};
|
||||
|
||||
if (context == "firefox-default" || context == "firefox-private") {
|
||||
proxy = null;
|
||||
return proxy;
|
||||
}
|
||||
}
|
||||
|
||||
function mainProxy() {
|
||||
console.log('(proxy) mainproxy 0');
|
||||
proxy = {
|
||||
// eslint-disable-next-line no-negated-condition
|
||||
if (context != undefined) {
|
||||
console.log("(proxy), context", context);
|
||||
if (context.name == ircpref) {
|
||||
proxy = ircProxy();
|
||||
return proxy;
|
||||
} else if (context.name == torpref) {
|
||||
proxy = torProxy();
|
||||
return proxy;
|
||||
} else if (context.name == blogpref) {
|
||||
proxy = blogProxy();
|
||||
return proxy;
|
||||
} else if (context.name == titlepref) {
|
||||
proxy = mainProxy();
|
||||
return proxy;
|
||||
} else if (context.name == routerpref) {
|
||||
proxy = routerProxy();
|
||||
return proxy;
|
||||
} else if (context.name == torrentpref) {
|
||||
proxy = btProxy();
|
||||
return proxy;
|
||||
} else if (context.name == mailpref) {
|
||||
proxy = routerProxy();
|
||||
return proxy;
|
||||
} else if (context.name == tunnelpref) {
|
||||
proxy = routerProxy();
|
||||
return proxy;
|
||||
} else if (context.name == muwirepref) {
|
||||
proxy = routerProxy();
|
||||
return proxy;
|
||||
} else if (context.name == botepref) {
|
||||
proxy = routerProxy();
|
||||
return proxy;
|
||||
}
|
||||
} else {
|
||||
if (!routerHost(requestDetails.url)) {
|
||||
if (localHost(requestDetails.url)) {
|
||||
if (requestDetails.url.includes(":7669")) {
|
||||
proxy = null;
|
||||
} else if (requestDetails.url.includes(":7662")) {
|
||||
proxy = null;
|
||||
} else if (requestDetails.url.includes(":7695")) {
|
||||
proxy = null;
|
||||
} else {
|
||||
console.log(
|
||||
"(proxy) non-routerconsole localhost url, will not interfere",
|
||||
requestDetails.url
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (i2pHost(requestDetails)) {
|
||||
proxy = {
|
||||
type: getScheme(),
|
||||
host: getHost(),
|
||||
port: getPort()
|
||||
};
|
||||
let url = new URL(requestDetails.url);
|
||||
if (
|
||||
requestDetails.url.startsWith(
|
||||
'http://' + getHost() + ':' + getConsolePort() + '/i2psnark/'
|
||||
)
|
||||
) {
|
||||
//+url.host)) {
|
||||
console.log('(proxy) mainproxy 2', url);
|
||||
proxy = null;
|
||||
}
|
||||
return proxy;
|
||||
}
|
||||
|
||||
function routerProxy() {
|
||||
if (routerHost(requestDetails.url)) {
|
||||
proxy = null;
|
||||
return proxy;
|
||||
} else if (!routerHost(requestDetails.url)) {
|
||||
port: getPort(),
|
||||
};
|
||||
} else {
|
||||
if (proxyHost(requestDetails)) {
|
||||
proxy = {
|
||||
type: getScheme(),
|
||||
host: getHost(),
|
||||
port: getPort()
|
||||
type: getScheme(),
|
||||
host: getHost(),
|
||||
port: getPort(),
|
||||
};
|
||||
return proxy;
|
||||
} else {
|
||||
proxy = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
try {
|
||||
var handleProxyRequest = function(context) {
|
||||
proxy = {
|
||||
type: getScheme(),
|
||||
host: getHost(),
|
||||
port: getPort()
|
||||
};
|
||||
|
||||
if (context == 'firefox-default' || context == 'firefox-private') {
|
||||
proxy = null;
|
||||
return proxy;
|
||||
}
|
||||
|
||||
// eslint-disable-next-line no-negated-condition
|
||||
if (context != undefined) {
|
||||
console.log('(proxy), context', context);
|
||||
if (context.name == ircpref) {
|
||||
proxy = ircProxy();
|
||||
return proxy;
|
||||
} else if (context.name == torpref) {
|
||||
proxy = torProxy();
|
||||
return proxy;
|
||||
} else if (context.name == blogpref) {
|
||||
proxy = blogProxy();
|
||||
return proxy;
|
||||
} else if (context.name == titlepref) {
|
||||
proxy = mainProxy();
|
||||
return proxy;
|
||||
} else if (context.name == routerpref) {
|
||||
proxy = routerProxy();
|
||||
return proxy;
|
||||
} else if (context.name == torrentpref) {
|
||||
proxy = btProxy();
|
||||
return proxy;
|
||||
} else if (context.name == mailpref) {
|
||||
proxy = routerProxy();
|
||||
return proxy;
|
||||
} else if (context.name == tunnelpref) {
|
||||
proxy = routerProxy();
|
||||
return proxy;
|
||||
} else if (context.name == muwirepref) {
|
||||
proxy = routerProxy();
|
||||
return proxy;
|
||||
} else if (context.name == botepref) {
|
||||
proxy = routerProxy();
|
||||
return proxy;
|
||||
}
|
||||
} else {
|
||||
if (!routerHost(requestDetails.url)) {
|
||||
if (localHost(requestDetails.url)) {
|
||||
if (requestDetails.url.includes(':7669')) {
|
||||
proxy = null;
|
||||
} else if (requestDetails.url.includes(':7662')) {
|
||||
proxy = null;
|
||||
} else if (requestDetails.url.includes(':7695')) {
|
||||
proxy = null;
|
||||
} else {
|
||||
console.log(
|
||||
'(proxy) non-routerconsole localhost url, will not interfere',
|
||||
requestDetails.url
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (i2pHost(requestDetails)) {
|
||||
proxy = {
|
||||
type: getScheme(),
|
||||
host: getHost(),
|
||||
port: getPort()
|
||||
};
|
||||
} else {
|
||||
if (proxyHost(requestDetails)) {
|
||||
proxy = {
|
||||
type: getScheme(),
|
||||
host: getHost(),
|
||||
port: getPort()
|
||||
};
|
||||
} else {
|
||||
proxy = null;
|
||||
}
|
||||
}
|
||||
if (requestDetails.url.includes('rpc')) {
|
||||
console.log('(proxy for rpc url)', rpc);
|
||||
}
|
||||
/* var tab = tabGet(requestDetails.tabId);
|
||||
if (requestDetails.url.includes("rpc")) {
|
||||
console.log("(proxy for rpc url)", rpc);
|
||||
}
|
||||
/* var tab = tabGet(requestDetails.tabId);
|
||||
tab.then(handleTabRequest,) */
|
||||
return proxy;
|
||||
}
|
||||
return proxy;
|
||||
}
|
||||
};
|
||||
var contextGet = async function (tabInfo) {
|
||||
try {
|
||||
context = await browser.contextualIdentities.get(tabInfo.cookieStoreId);
|
||||
return context;
|
||||
} catch (error) {
|
||||
console.warn(error);
|
||||
return "firefox-default";
|
||||
}
|
||||
};
|
||||
var tabGet = async function (tabId) {
|
||||
try {
|
||||
let tabInfo = await browser.tabs.get(tabId);
|
||||
return tabInfo;
|
||||
} catch (error) {
|
||||
console.log("(proxy)Tab error", error);
|
||||
}
|
||||
};
|
||||
if (proxyHost(requestDetails)) {
|
||||
proxy = {
|
||||
type: getScheme(),
|
||||
host: getHost(),
|
||||
port: getPort(),
|
||||
};
|
||||
return proxy;
|
||||
}
|
||||
if (requestDetails.originUrl == browser.runtime.getURL("security.html")) {
|
||||
proxy = {
|
||||
type: getScheme(),
|
||||
host: getHost(),
|
||||
port: getPort(),
|
||||
};
|
||||
return proxy;
|
||||
}
|
||||
if (
|
||||
requestDetails.cookieStoreId == "firefox-default" ||
|
||||
requestDetails.cookieStoreId == "firefox-private"
|
||||
) {
|
||||
if (browser.windows != undefined) {
|
||||
return browser.proxy.settings.get({});
|
||||
}
|
||||
}
|
||||
if (requestDetails.tabId > 0) {
|
||||
if (requestDetails.url.includes("MuWire")) {
|
||||
return;
|
||||
}
|
||||
if (proxyHost(requestDetails)) {
|
||||
proxy = {
|
||||
type: getScheme(),
|
||||
host: getHost(),
|
||||
port: getPort(),
|
||||
};
|
||||
var contextGet = async function(tabInfo) {
|
||||
try {
|
||||
context = await browser.contextualIdentities.get(tabInfo.cookieStoreId);
|
||||
return context;
|
||||
} catch (error) {
|
||||
console.warn(error);
|
||||
return 'firefox-default';
|
||||
}
|
||||
};
|
||||
var tabGet = async function(tabId) {
|
||||
try {
|
||||
let tabInfo = await browser.tabs.get(tabId);
|
||||
return tabInfo;
|
||||
} catch (error) {
|
||||
console.log('(proxy)Tab error', error);
|
||||
}
|
||||
};
|
||||
if (proxyHost(requestDetails)) {
|
||||
proxy = {
|
||||
type: getScheme(),
|
||||
host: getHost(),
|
||||
port: getPort()
|
||||
};
|
||||
return proxy;
|
||||
}
|
||||
if (requestDetails.originUrl == browser.runtime.getURL('security.html')) {
|
||||
proxy = {
|
||||
type: getScheme(),
|
||||
host: getHost(),
|
||||
port: getPort()
|
||||
};
|
||||
return proxy;
|
||||
}
|
||||
if (
|
||||
requestDetails.cookieStoreId == 'firefox-default' ||
|
||||
requestDetails.cookieStoreId == 'firefox-private'
|
||||
) {
|
||||
if (browser.windows != undefined) {
|
||||
return browser.proxy.settings.get({});
|
||||
}
|
||||
}
|
||||
if (requestDetails.tabId > 0) {
|
||||
if (requestDetails.url.includes('MuWire')) {
|
||||
return;
|
||||
}
|
||||
if (proxyHost(requestDetails)) {
|
||||
proxy = {
|
||||
type: getScheme(),
|
||||
host: getHost(),
|
||||
port: getPort()
|
||||
};
|
||||
return proxy;
|
||||
} else if (i2pHost(requestDetails)) {
|
||||
var tab = tabGet(requestDetails.tabId);
|
||||
requestDetails.tabId = tab;
|
||||
var context = tab.then(contextGet);
|
||||
var proxy = await context.then(handleProxyRequest);
|
||||
//console.log('(proxy)Returning I2P Proxy', proxy);
|
||||
return proxy;
|
||||
} else if (extensionHost(requestDetails)) {
|
||||
return;
|
||||
} else {
|
||||
var tab = tabGet(requestDetails.tabId);
|
||||
var context = tab.then(contextGet);
|
||||
var proxy = await context.then(handleProxyRequest);
|
||||
//console.log("(proxy)Returning I2P Proxy", proxy);
|
||||
return proxy;
|
||||
}
|
||||
/*proxy = {};
|
||||
return proxy;
|
||||
} else if (i2pHost(requestDetails)) {
|
||||
var tab = tabGet(requestDetails.tabId);
|
||||
requestDetails.tabId = tab;
|
||||
var context = tab.then(contextGet);
|
||||
var proxy = await context.then(handleProxyRequest);
|
||||
//console.log('(proxy)Returning I2P Proxy', proxy);
|
||||
return proxy;
|
||||
} else if (extensionHost(requestDetails)) {
|
||||
return;
|
||||
} else {
|
||||
var tab = tabGet(requestDetails.tabId);
|
||||
var context = tab.then(contextGet);
|
||||
var proxy = await context.then(handleProxyRequest);
|
||||
//console.log("(proxy)Returning I2P Proxy", proxy);
|
||||
return proxy;
|
||||
}
|
||||
/*proxy = {};
|
||||
console.log("(proxy)Returning unset Proxy", proxy);
|
||||
return proxy;*/
|
||||
} else {
|
||||
proxy = {
|
||||
type: getScheme(),
|
||||
host: getHost(),
|
||||
port: getPort()
|
||||
};
|
||||
//console.log('(proxy for rpc url)', rpc);
|
||||
return proxy;
|
||||
}
|
||||
} catch (error) {
|
||||
console.log('(proxy)Not using I2P Proxy.', error);
|
||||
} else {
|
||||
proxy = {
|
||||
type: getScheme(),
|
||||
host: getHost(),
|
||||
port: getPort(),
|
||||
};
|
||||
//console.log('(proxy for rpc url)', rpc);
|
||||
return proxy;
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
console.log("(proxy)Not using I2P Proxy.", error);
|
||||
}
|
||||
};
|
||||
|
||||
function SetupSettings() {
|
||||
console.log('Initialising Settings');
|
||||
console.log("Initialising Settings");
|
||||
|
||||
function onSetupError() {
|
||||
console.log('Settings initialization error');
|
||||
function onSetupError() {
|
||||
console.log("Settings initialization error");
|
||||
}
|
||||
//
|
||||
function checkSchemeStoredSettings(storedSettings) {
|
||||
if (storedSettings.proxy_scheme == undefined) {
|
||||
storedSettings.proxy_scheme = "http";
|
||||
} else {
|
||||
proxy_scheme = storedSettings.proxy_scheme;
|
||||
}
|
||||
//
|
||||
function checkSchemeStoredSettings(storedSettings) {
|
||||
if (storedSettings.proxy_scheme == undefined) {
|
||||
storedSettings.proxy_scheme = 'http';
|
||||
} else {
|
||||
proxy_scheme = storedSettings.proxy_scheme;
|
||||
}
|
||||
|
||||
console.log('Initialising Proxy Scheme', storedSettings.proxy_scheme);
|
||||
setupProxy();
|
||||
console.log("Initialising Proxy Scheme", storedSettings.proxy_scheme);
|
||||
setupProxy();
|
||||
}
|
||||
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";
|
||||
} else {
|
||||
proxy_host = storedSettings.proxy_host;
|
||||
}
|
||||
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';
|
||||
} else {
|
||||
proxy_host = storedSettings.proxy_host;
|
||||
}
|
||||
console.log("Initialising Host", storedSettings.proxy_host);
|
||||
setupProxy();
|
||||
}
|
||||
var gettingHostStoredSettings = browser.storage.local.get("proxy_host");
|
||||
gettingHostStoredSettings.then(checkHostStoredSettings, onSetupError);
|
||||
|
||||
console.log('Initialising Host', storedSettings.proxy_host);
|
||||
setupProxy();
|
||||
//
|
||||
function checkPortStoredSettings(storedSettings) {
|
||||
if (storedSettings.proxy_port == undefined) {
|
||||
storedSettings.proxy_port = "4444";
|
||||
} else {
|
||||
proxy_port = storedSettings.proxy_port;
|
||||
}
|
||||
var gettingHostStoredSettings = browser.storage.local.get('proxy_host');
|
||||
gettingHostStoredSettings.then(checkHostStoredSettings, onSetupError);
|
||||
|
||||
//
|
||||
function checkPortStoredSettings(storedSettings) {
|
||||
if (storedSettings.proxy_port == undefined) {
|
||||
storedSettings.proxy_port = '4444';
|
||||
} else {
|
||||
proxy_port = storedSettings.proxy_port;
|
||||
}
|
||||
console.log("Initialising Port", storedSettings.proxy_port);
|
||||
setupProxy();
|
||||
}
|
||||
var gettingPortStoredSettings = browser.storage.local.get("proxy_port");
|
||||
gettingPortStoredSettings.then(checkPortStoredSettings, onSetupError);
|
||||
|
||||
console.log('Initialising Port', storedSettings.proxy_port);
|
||||
setupProxy();
|
||||
//
|
||||
function checkControlHostStoredSettings(storedSettings) {
|
||||
if (storedSettings.control_host == undefined) {
|
||||
storedSettings.control_host = "127.0.0.1";
|
||||
} else {
|
||||
control_host = storedSettings.control_host;
|
||||
}
|
||||
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';
|
||||
} else {
|
||||
control_host = storedSettings.control_host;
|
||||
}
|
||||
console.log("Initialising Control Host", storedSettings.control_host);
|
||||
setupProxy();
|
||||
}
|
||||
var gettingControlHostStoredSettings =
|
||||
browser.storage.local.get("control_host");
|
||||
gettingControlHostStoredSettings.then(
|
||||
checkControlHostStoredSettings,
|
||||
onSetupError
|
||||
);
|
||||
|
||||
console.log('Initialising Control Host', storedSettings.control_host);
|
||||
setupProxy();
|
||||
//
|
||||
function checkControlPortStoredSettings(storedSettings) {
|
||||
if (storedSettings.control_port == undefined) {
|
||||
storedSettings.control_port = "7657";
|
||||
} else {
|
||||
control_port = storedSettings.control_port;
|
||||
}
|
||||
var gettingControlHostStoredSettings =
|
||||
browser.storage.local.get('control_host');
|
||||
gettingControlHostStoredSettings.then(
|
||||
checkControlHostStoredSettings,
|
||||
onSetupError
|
||||
|
||||
console.log("Initialising Control Port", storedSettings.control_port);
|
||||
setupProxy();
|
||||
}
|
||||
var gettingControlPortStoredSettings =
|
||||
browser.storage.local.get("control_port");
|
||||
gettingControlPortStoredSettings.then(
|
||||
checkControlPortStoredSettings,
|
||||
onSetupError
|
||||
);
|
||||
|
||||
//
|
||||
function checkHistoryStoredSettings(storedSettings) {
|
||||
if (storedSettings.disable_history == undefined) {
|
||||
storedSettings.disable_history = false;
|
||||
} else {
|
||||
disable_history = storedSettings.disable_history;
|
||||
}
|
||||
|
||||
console.log(
|
||||
"Initialising Disabled History",
|
||||
storedSettings.disable_history
|
||||
);
|
||||
|
||||
//
|
||||
function checkControlPortStoredSettings(storedSettings) {
|
||||
if (storedSettings.control_port == undefined) {
|
||||
storedSettings.control_port = '7657';
|
||||
} else {
|
||||
control_port = storedSettings.control_port;
|
||||
}
|
||||
|
||||
console.log('Initialising Control Port', storedSettings.control_port);
|
||||
setupProxy();
|
||||
}
|
||||
var gettingControlPortStoredSettings =
|
||||
browser.storage.local.get('control_port');
|
||||
gettingControlPortStoredSettings.then(
|
||||
checkControlPortStoredSettings,
|
||||
onSetupError
|
||||
);
|
||||
|
||||
//
|
||||
function checkHistoryStoredSettings(storedSettings) {
|
||||
if (storedSettings.disable_history == undefined) {
|
||||
storedSettings.disable_history = false;
|
||||
} else {
|
||||
disable_history = storedSettings.disable_history;
|
||||
}
|
||||
|
||||
console.log(
|
||||
'Initialising Disabled History',
|
||||
storedSettings.disable_history
|
||||
);
|
||||
setupProxy();
|
||||
}
|
||||
var gettingHistoryStoredSettings =
|
||||
browser.storage.local.get('disable_history');
|
||||
gettingHistoryStoredSettings.then(checkHistoryStoredSettings, onSetupError);
|
||||
setupProxy();
|
||||
}
|
||||
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';
|
||||
}
|
||||
return proxy_host;
|
||||
if (proxy_host == undefined) {
|
||||
proxy_host = "127.0.0.1";
|
||||
}
|
||||
return proxy_host;
|
||||
}
|
||||
|
||||
function getPort() {
|
||||
if (proxy_port == undefined) {
|
||||
var scheme = getScheme();
|
||||
if (scheme == 'socks') {
|
||||
proxy_port = '4446';
|
||||
} else {
|
||||
proxy_port = '4444';
|
||||
}
|
||||
if (proxy_port == undefined) {
|
||||
var scheme = getScheme();
|
||||
if (scheme == "socks") {
|
||||
proxy_port = "4446";
|
||||
} else {
|
||||
proxy_port = "4444";
|
||||
}
|
||||
return proxy_port;
|
||||
}
|
||||
return proxy_port;
|
||||
}
|
||||
|
||||
function getConsolePort() {
|
||||
if (control_port == undefined) {
|
||||
var scheme = getScheme();
|
||||
if (scheme == 'socks') {
|
||||
proxy_port = '7657';
|
||||
} else {
|
||||
control_port = '7657';
|
||||
}
|
||||
if (control_port == undefined) {
|
||||
var scheme = getScheme();
|
||||
if (scheme == "socks") {
|
||||
proxy_port = "7657";
|
||||
} else {
|
||||
control_port = "7657";
|
||||
}
|
||||
return control_port;
|
||||
}
|
||||
return control_port;
|
||||
}
|
||||
|
||||
function setupProxy() {
|
||||
console.log('Setting up Firefox WebExtension proxy');
|
||||
browser.proxy.onRequest.addListener(handleContextProxyRequest, {
|
||||
urls: ['<all_urls>']
|
||||
});
|
||||
console.log('i2p settings created for WebExtension Proxy');
|
||||
browser.proxy.onError.addListener(handleContextProxyError);
|
||||
console.log("Setting up Firefox WebExtension proxy");
|
||||
browser.proxy.onRequest.addListener(handleContextProxyRequest, {
|
||||
urls: ["<all_urls>"],
|
||||
});
|
||||
console.log("i2p settings created for WebExtension Proxy");
|
||||
browser.proxy.onError.addListener(handleContextProxyError);
|
||||
}
|
||||
|
||||
function handleContextProxyError(err) {
|
||||
function changeTabErr(error) {
|
||||
console.error(`(proxy) Error : ${error}`);
|
||||
}
|
||||
console.warn('(proxy) Error:', err);
|
||||
function changeTabErr(error) {
|
||||
console.error(`(proxy) Error : ${error}`);
|
||||
}
|
||||
console.warn("(proxy) Error:", err);
|
||||
|
||||
function changeTabPage(tabs) {
|
||||
function checkTabCookieStore(context) {
|
||||
for (let index = 0; index < tabs.length; index += 1) {
|
||||
let tab = tabs[index];
|
||||
if (!tab.url.endsWith('proxyerr.html')) {
|
||||
if (tab.cookieStoreId == context[0].cookieStoreId) {
|
||||
function onProxyErrorUpdated() {
|
||||
console.warn(`(proxy) Updated tab : ` + tab);
|
||||
}
|
||||
|
||||
function onProxyError(error) {
|
||||
console.error(`(proxy) Error : ${error}`);
|
||||
}
|
||||
let createData = {
|
||||
url: 'proxyerr.html'
|
||||
};
|
||||
let creating = browser.tabs.update(tab.id, createData);
|
||||
creating.then(onProxyErrorUpdated, onProxyError);
|
||||
} else {
|
||||
console.warn(
|
||||
'Not directing to proxy error page due to context mismatch'
|
||||
);
|
||||
}
|
||||
} else {
|
||||
console.warn(
|
||||
'Not directing to proxy error page due to hostname match'
|
||||
);
|
||||
}
|
||||
function changeTabPage(tabs) {
|
||||
function checkTabCookieStore(context) {
|
||||
for (let index = 0; index < tabs.length; index += 1) {
|
||||
let tab = tabs[index];
|
||||
if (!tab.url.endsWith("proxyerr.html")) {
|
||||
if (tab.cookieStoreId == context[0].cookieStoreId) {
|
||||
function onProxyErrorUpdated() {
|
||||
console.warn(`(proxy) Updated tab : ` + tab);
|
||||
}
|
||||
|
||||
function onProxyError(error) {
|
||||
console.error(`(proxy) Error : ${error}`);
|
||||
}
|
||||
let createData = {
|
||||
url: "proxyerr.html",
|
||||
};
|
||||
let creating = browser.tabs.update(tab.id, createData);
|
||||
creating.then(onProxyErrorUpdated, onProxyError);
|
||||
} else {
|
||||
console.warn(
|
||||
"Not directing to proxy error page due to context mismatch"
|
||||
);
|
||||
}
|
||||
} else {
|
||||
console.warn(
|
||||
"Not directing to proxy error page due to hostname match"
|
||||
);
|
||||
}
|
||||
browser.contextualIdentities
|
||||
.query({ name: titlepref })
|
||||
.then(checkTabCookieStore, changeTabErr);
|
||||
}
|
||||
}
|
||||
browser.tabs
|
||||
.query({ url: ['http://*.i2p/*'] })
|
||||
.then(changeTabPage, changeTabErr);
|
||||
browser.contextualIdentities
|
||||
.query({ name: titlepref })
|
||||
.then(checkTabCookieStore, changeTabErr);
|
||||
}
|
||||
browser.tabs
|
||||
.query({ url: ["http://*.i2p/*"] })
|
||||
.then(changeTabPage, changeTabErr);
|
||||
}
|
||||
|
||||
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() {
|
||||
SetupSettings();
|
||||
update();
|
||||
setupProxy();
|
||||
});
|
||||
console.log("updating settings from storage");
|
||||
chrome.storage.local.get(function () {
|
||||
SetupSettings();
|
||||
update();
|
||||
setupProxy();
|
||||
});
|
||||
}
|
||||
|
||||
updateFromStorage();
|
||||
@ -533,11 +533,11 @@ setupProxy();
|
||||
|
||||
var gettingListenerInfo = browser.runtime.getPlatformInfo();
|
||||
gettingListenerInfo.then((got) => {
|
||||
if (browser.windows != undefined) {
|
||||
browser.windows.onCreated.addListener(() => {
|
||||
chrome.storage.local.get(function() {
|
||||
setupProxy();
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
if (browser.windows != undefined) {
|
||||
browser.windows.onCreated.addListener(() => {
|
||||
chrome.storage.local.get(function () {
|
||||
setupProxy();
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
|
@ -27,7 +27,7 @@
|
||||
</div>
|
||||
<div id="routerness">
|
||||
<div class="hideIfI2PRouterOff" id="routerness">
|
||||
<img class="routerness" src="icons/local_up.png"> <span id="router-check">Router is ready. Check the proxy diagnostic.</span>
|
||||
<span id="router-check">Router is ready. Check the proxy diagnostic.</span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="readyness">
|
||||
|
18
proxyinfo.js
18
proxyinfo.js
@ -1,19 +1,19 @@
|
||||
document.addEventListener(
|
||||
'DOMContentLoaded',
|
||||
function() {
|
||||
fetch('http://proxy.i2p').then(
|
||||
"DOMContentLoaded",
|
||||
function () {
|
||||
fetch("http://proxy.i2p").then(
|
||||
(myJson) => {
|
||||
console.warn('(proxyinfo)', myJson);
|
||||
contentUpdateById('proxy-check', 'proxySuccessStatus');
|
||||
let readyness = document.querySelectorAll('.readyness');
|
||||
console.warn("(proxyinfo)", myJson);
|
||||
contentUpdateById("proxy-check", "proxySuccessStatus");
|
||||
let readyness = document.querySelectorAll(".readyness");
|
||||
if (readyness !== null) {
|
||||
unhide(readyness);
|
||||
}
|
||||
},
|
||||
(error) => {
|
||||
console.error('(proxyinfo)', error);
|
||||
contentUpdateById('proxy-check', 'proxyFailedStatus');
|
||||
let readyness = document.querySelectorAll('.readyness');
|
||||
console.error("(proxyinfo)", error);
|
||||
contentUpdateById("proxy-check", "proxyFailedStatus");
|
||||
let readyness = document.querySelectorAll(".readyness");
|
||||
if (readyness !== null) {
|
||||
hide(readyness);
|
||||
}
|
||||
|
@ -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);
|
||||
|
314
scrub.js
314
scrub.js
@ -1,38 +1,38 @@
|
||||
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 torpref = chrome.i18n.getMessage('torPreface');
|
||||
var torprefpriv = chrome.i18n.getMessage('torPrefacePrivate');
|
||||
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 torpref = chrome.i18n.getMessage("torPreface");
|
||||
var torprefpriv = chrome.i18n.getMessage("torPrefacePrivate");
|
||||
|
||||
var contextScrub = async function(requestDetails) {
|
||||
var contextScrub = async function (requestDetails) {
|
||||
function onHeaderError() {
|
||||
console.log('Header scrub error');
|
||||
console.log("Header scrub error");
|
||||
}
|
||||
try {
|
||||
var headerScrub = function(context) {
|
||||
var ua = 'MYOB/6.66 (AN/ON)';
|
||||
var headerScrub = function (context) {
|
||||
var ua = "MYOB/6.66 (AN/ON)";
|
||||
if (!context) {
|
||||
} else if (context.name == titlepref) {
|
||||
for (var header of requestDetails.requestHeaders) {
|
||||
if (header.name.toLowerCase() === 'user-agent') {
|
||||
if (header.name.toLowerCase() === "user-agent") {
|
||||
header.value = ua;
|
||||
}
|
||||
}
|
||||
return {
|
||||
requestHeaders: requestDetails.requestHeaders
|
||||
requestHeaders: requestDetails.requestHeaders,
|
||||
};
|
||||
}
|
||||
};
|
||||
var contextGet = async function(tabInfo) {
|
||||
var contextGet = async function (tabInfo) {
|
||||
try {
|
||||
//console.log("(scrub)Tab info from Function", tabInfo);
|
||||
let context = await browser.contextualIdentities.get(
|
||||
@ -43,7 +43,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);
|
||||
@ -60,44 +60,44 @@ var contextScrub = async function(requestDetails) {
|
||||
return req;
|
||||
}
|
||||
} catch (error) {
|
||||
console.log('(scrub)Not scrubbing non-I2P request.', error);
|
||||
console.log("(scrub)Not scrubbing non-I2P request.", error);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var notMyContextNotMyProblem = async function() {
|
||||
var notMyContextNotMyProblem = async function () {
|
||||
var contexts = await browser.contextualIdentities.query({});
|
||||
var context1 = await browser.contextualIdentities.query({
|
||||
name: titlepref
|
||||
name: titlepref,
|
||||
});
|
||||
var context2 = await browser.contextualIdentities.query({
|
||||
name: routerpref
|
||||
name: routerpref,
|
||||
});
|
||||
var context3 = await browser.contextualIdentities.query({
|
||||
name: mailpref
|
||||
name: mailpref,
|
||||
});
|
||||
var context4 = await browser.contextualIdentities.query({
|
||||
name: torrentpref
|
||||
name: torrentpref,
|
||||
});
|
||||
var context5 = await browser.contextualIdentities.query({
|
||||
name: tunnelpref
|
||||
name: tunnelpref,
|
||||
});
|
||||
var context6 = await browser.contextualIdentities.query({
|
||||
name: ircpref
|
||||
name: ircpref,
|
||||
});
|
||||
var context7 = await browser.contextualIdentities.query({
|
||||
name: muwirepref
|
||||
name: muwirepref,
|
||||
});
|
||||
var context8 = await browser.contextualIdentities.query({
|
||||
name: botepref
|
||||
name: botepref,
|
||||
});
|
||||
var context9 = await browser.contextualIdentities.query({
|
||||
name: blogpref
|
||||
name: blogpref,
|
||||
});
|
||||
var context10 = await browser.contextualIdentities.query({
|
||||
name: torpref
|
||||
name: torpref,
|
||||
});
|
||||
var othercontexts = [];
|
||||
console.log('Contexts:', contexts);
|
||||
console.log("Contexts:", contexts);
|
||||
for (context in contexts) {
|
||||
if (
|
||||
contexts[context].cookieStoreId == context1[0].cookieStoreId ||
|
||||
@ -112,9 +112,9 @@ var notMyContextNotMyProblem = async function() {
|
||||
contexts[context].cookieStoreId == context10[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")
|
||||
@ -122,22 +122,22 @@ var notMyContextNotMyProblem = async function() {
|
||||
}
|
||||
}
|
||||
return othercontexts;
|
||||
}
|
||||
};
|
||||
|
||||
var contextSetup = function(requestDetails) {
|
||||
var contextSetup = function (requestDetails) {
|
||||
function onContextError() {
|
||||
console.error('Context launcher error');
|
||||
console.error("Context launcher error");
|
||||
}
|
||||
async function forceIntoIsolation(tabId, contextidentifier, tab, pin = true) {
|
||||
console.info(
|
||||
'(isolate) forcing context for',
|
||||
"(isolate) forcing context for",
|
||||
tabId,
|
||||
contextidentifier,
|
||||
tab
|
||||
);
|
||||
try {
|
||||
var context = await browser.contextualIdentities.query({
|
||||
name: contextidentifier
|
||||
name: contextidentifier,
|
||||
});
|
||||
if (tabId.cookieStoreId != context[0].cookieStoreId) {
|
||||
function Create() {
|
||||
@ -145,11 +145,11 @@ var contextSetup = function(requestDetails) {
|
||||
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);
|
||||
@ -163,12 +163,12 @@ var contextSetup = function(requestDetails) {
|
||||
}
|
||||
browser.pageAction.setPopup({
|
||||
tabId: tabId.id,
|
||||
popup: 'security.html'
|
||||
popup: "security.html",
|
||||
});
|
||||
browser.pageAction.show(tabId.id);
|
||||
}
|
||||
var pins = browser.tabs.query({
|
||||
cookieStoreId: context[0].cookieStoreId
|
||||
cookieStoreId: context[0].cookieStoreId,
|
||||
});
|
||||
pins.then(closeOldTab, onError);
|
||||
// closeOldTab(tab);
|
||||
@ -177,7 +177,7 @@ var contextSetup = function(requestDetails) {
|
||||
active: true,
|
||||
cookieStoreId: context[0].cookieStoreId,
|
||||
url: requestDetails.url,
|
||||
pinned: pin
|
||||
pinned: pin,
|
||||
});
|
||||
created.then(onCreated, onContextError);
|
||||
}
|
||||
@ -186,67 +186,67 @@ var contextSetup = function(requestDetails) {
|
||||
return tabId;
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('(isolate)Context Error', error);
|
||||
console.error("(isolate)Context Error", error);
|
||||
}
|
||||
}
|
||||
try {
|
||||
var i2pTabFind = async function(tabId) {
|
||||
console.info('(isolate)Context Discovery browser');
|
||||
var i2pTabFind = async function (tabId) {
|
||||
console.info("(isolate)Context Discovery browser");
|
||||
try {
|
||||
var context = await browser.contextualIdentities.query({
|
||||
name: titlepref
|
||||
name: titlepref,
|
||||
});
|
||||
return forceIntoIsolation(tabId, titlepref, tab, false);
|
||||
} catch (error) {
|
||||
console.error('(isolate)Context Error', error);
|
||||
console.error("(isolate)Context Error", error);
|
||||
}
|
||||
};
|
||||
var routerTabFind = async function(tabId) {
|
||||
console.info('(isolate)Context Discovery console');
|
||||
var routerTabFind = async function (tabId) {
|
||||
console.info("(isolate)Context Discovery console");
|
||||
try {
|
||||
var context = await browser.contextualIdentities.query({
|
||||
name: routerpref
|
||||
name: routerpref,
|
||||
});
|
||||
return forceIntoIsolation(tabId, routerpref, tab);
|
||||
} catch (error) {
|
||||
console.error('(isolate)Context Error', error);
|
||||
console.error("(isolate)Context Error", error);
|
||||
}
|
||||
};
|
||||
var i2ptunnelTabFind = async function(tabId) {
|
||||
console.info('(isolate)Context Discovery browser');
|
||||
var i2ptunnelTabFind = async function (tabId) {
|
||||
console.info("(isolate)Context Discovery browser");
|
||||
try {
|
||||
var context = await browser.contextualIdentities.query({
|
||||
name: tunnelpref
|
||||
name: tunnelpref,
|
||||
});
|
||||
return forceIntoIsolation(tabId, tunnelpref, tab);
|
||||
} catch (error) {
|
||||
console.error('(isolate)Context Error', error);
|
||||
console.error("(isolate)Context Error", error);
|
||||
}
|
||||
};
|
||||
var snarkTabFind = async function(tabId) {
|
||||
console.info('(isolate)Context Discovery torrents');
|
||||
var snarkTabFind = async function (tabId) {
|
||||
console.info("(isolate)Context Discovery torrents");
|
||||
try {
|
||||
var context = await browser.contextualIdentities.query({
|
||||
name: torrentpref
|
||||
name: torrentpref,
|
||||
});
|
||||
if (tabId.cookieStoreId != context[0].cookieStoreId) {
|
||||
var exemptContext = await browser.contextualIdentities.query({
|
||||
name: titlepref
|
||||
name: titlepref,
|
||||
});
|
||||
let tmp = new URL(tabId.url);
|
||||
console.log('(isolate)tabid host', tmp.host);
|
||||
if (!requestDetails.url.includes('snark/' + tmp.host)) {
|
||||
console.log("(isolate)tabid host", tmp.host);
|
||||
if (!requestDetails.url.includes("snark/" + tmp.host)) {
|
||||
// if (tabId.cookieStoreId != exemptContext[0].cookieStoreId){
|
||||
function Create() {
|
||||
function onCreated(tab) {
|
||||
function closeOldTab(tabs) {
|
||||
if (tabId.id != tab.id) {
|
||||
console.log(
|
||||
'(isolate) Closing un-isolated tab',
|
||||
"(isolate) Closing un-isolated tab",
|
||||
tabId.id,
|
||||
'in favor of',
|
||||
"in favor of",
|
||||
tab.id,
|
||||
'with context',
|
||||
"with context",
|
||||
tab.cookieStoreId
|
||||
);
|
||||
browser.tabs.remove(tabId.id);
|
||||
@ -258,20 +258,20 @@ var contextSetup = function(requestDetails) {
|
||||
}
|
||||
}
|
||||
var pins = browser.tabs.query({
|
||||
cookieStoreId: context[0].cookieStoreId
|
||||
cookieStoreId: context[0].cookieStoreId,
|
||||
});
|
||||
pins.then(closeOldTab, onError);
|
||||
}
|
||||
if (requestDetails.url.endsWith('xhr1.html')) {
|
||||
hostname = url.split('/')[2];
|
||||
let prefix = url.substr(0, url.indexOf('://') + 3);
|
||||
requestDetails.url = prefix + hostname + '/i2psnark/';
|
||||
if (requestDetails.url.endsWith("xhr1.html")) {
|
||||
hostname = url.split("/")[2];
|
||||
let prefix = url.substr(0, url.indexOf("://") + 3);
|
||||
requestDetails.url = prefix + hostname + "/i2psnark/";
|
||||
}
|
||||
var created = browser.tabs.create({
|
||||
active: true,
|
||||
pinned: true,
|
||||
cookieStoreId: context[0].cookieStoreId,
|
||||
url: requestDetails.url
|
||||
url: requestDetails.url,
|
||||
});
|
||||
created.then(onCreated, onContextError);
|
||||
}
|
||||
@ -281,82 +281,82 @@ var contextSetup = function(requestDetails) {
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
console.log('(isolate)Context Error', error);
|
||||
console.log("(isolate)Context Error", error);
|
||||
}
|
||||
};
|
||||
var muwireTabFind = async function(tabId) {
|
||||
console.info('(isolate)Context Discovery muwire');
|
||||
var muwireTabFind = async function (tabId) {
|
||||
console.info("(isolate)Context Discovery muwire");
|
||||
try {
|
||||
var context = await browser.contextualIdentities.query({
|
||||
name: muwirepref
|
||||
name: muwirepref,
|
||||
});
|
||||
return forceIntoIsolation(tabId, muwirepref, tab);
|
||||
} catch (error) {
|
||||
console.error('(isolate)Context Error', error);
|
||||
console.error("(isolate)Context Error", error);
|
||||
}
|
||||
};
|
||||
var i2pboteTabFind = async function(tabId) {
|
||||
console.info('(isolate)Context Discovery bote');
|
||||
var i2pboteTabFind = async function (tabId) {
|
||||
console.info("(isolate)Context Discovery bote");
|
||||
try {
|
||||
var context = await browser.contextualIdentities.query({
|
||||
name: botepref
|
||||
name: botepref,
|
||||
});
|
||||
return forceIntoIsolation(tabId, botepref, tab);
|
||||
} catch (error) {
|
||||
console.error('(isolate)Context Error', error);
|
||||
console.error("(isolate)Context Error", error);
|
||||
}
|
||||
};
|
||||
var mailTabFind = async function(tabId) {
|
||||
console.info('(isolate)Context Discovery mail');
|
||||
var mailTabFind = async function (tabId) {
|
||||
console.info("(isolate)Context Discovery mail");
|
||||
try {
|
||||
var context = await browser.contextualIdentities.query({
|
||||
name: mailpref
|
||||
name: mailpref,
|
||||
});
|
||||
return forceIntoIsolation(tabId, mailpref, tab);
|
||||
} catch (error) {
|
||||
console.error('(isolate)Context Error', error);
|
||||
console.error("(isolate)Context Error", error);
|
||||
}
|
||||
};
|
||||
var ircTabFind = async function(tabId) {
|
||||
console.info('(isolate)Context Discovery irc');
|
||||
var ircTabFind = async function (tabId) {
|
||||
console.info("(isolate)Context Discovery irc");
|
||||
try {
|
||||
var context = await browser.contextualIdentities.query({
|
||||
name: ircpref
|
||||
name: ircpref,
|
||||
});
|
||||
return forceIntoIsolation(tabId, ircpref, tab);
|
||||
} catch (error) {
|
||||
console.error('(isolate)Context Error', error);
|
||||
console.error("(isolate)Context Error", error);
|
||||
}
|
||||
};
|
||||
var torTabFind = async function(tabId) {
|
||||
console.info('(isolate)Context Discovery tor');
|
||||
var torTabFind = async function (tabId) {
|
||||
console.info("(isolate)Context Discovery tor");
|
||||
try {
|
||||
var context = await browser.contextualIdentities.query({
|
||||
name: torpref
|
||||
name: torpref,
|
||||
});
|
||||
return forceIntoIsolation(tabId, torpref, tab);
|
||||
} catch (error) {
|
||||
console.error('(isolate)Context Error', error);
|
||||
console.error("(isolate)Context Error", error);
|
||||
}
|
||||
};
|
||||
var blogTabFind = async function(tabId) {
|
||||
console.info('(isolate)Context Discovery blog');
|
||||
var blogTabFind = async function (tabId) {
|
||||
console.info("(isolate)Context Discovery blog");
|
||||
try {
|
||||
var context = await browser.contextualIdentities.query({
|
||||
name: blogpref
|
||||
name: blogpref,
|
||||
});
|
||||
return forceIntoIsolation(tabId, blogpref, tab);
|
||||
} catch (error) {
|
||||
console.error('(isolate)Context Error', error);
|
||||
console.error("(isolate)Context Error", error);
|
||||
}
|
||||
};
|
||||
var tabGet = async function(tabId) {
|
||||
var tabGet = async function (tabId) {
|
||||
try {
|
||||
//console.log("(isolate)Tab ID from Request", tabId);
|
||||
let tabInfo = await browser.tabs.get(tabId);
|
||||
return tabInfo;
|
||||
} catch (error) {
|
||||
console.log('(isolate)Tab error', error);
|
||||
console.log("(isolate)Tab error", error);
|
||||
}
|
||||
};
|
||||
if (requestDetails == undefined) {
|
||||
@ -366,7 +366,7 @@ var contextSetup = function(requestDetails) {
|
||||
setcookie = browser.cookies.set({
|
||||
firstPartyDomain: i2pHostName(requestDetails.url),
|
||||
url: requestDetails.url,
|
||||
secure: true
|
||||
secure: true,
|
||||
});
|
||||
setcookie.then(onContextGotLog, onContextError);
|
||||
return requestDetails;
|
||||
@ -380,34 +380,34 @@ 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;
|
||||
} else if (localhost === 'tor') {
|
||||
} else if (localhost === "tor") {
|
||||
var tortab = tab.then(torTabFind, onContextError);
|
||||
return requestDetails;
|
||||
}
|
||||
@ -416,26 +416,26 @@ var contextSetup = function(requestDetails) {
|
||||
// if (oldtab.cookieStoreId == 'firefox-default') {
|
||||
if (i2pHost(requestDetails)) {
|
||||
var thn = i2pHostName(requestDetails.url);
|
||||
if (requestDetails.url.includes('=' + thn)) {
|
||||
if (requestDetails.url.includes("=" + thn)) {
|
||||
if (
|
||||
!requestDetails.url.includes('://github.com') ||
|
||||
!requestDetails.url.includes('://notabug.org') ||
|
||||
!requestDetails.url.includes('://i2pgit.org') ||
|
||||
!requestDetails.url.includes('://gitlab.com')
|
||||
!requestDetails.url.includes("://github.com") ||
|
||||
!requestDetails.url.includes("://notabug.org") ||
|
||||
!requestDetails.url.includes("://i2pgit.org") ||
|
||||
!requestDetails.url.includes("://gitlab.com")
|
||||
) {
|
||||
if (!localhost) {
|
||||
console.log('(scrub)checking search hostnames =' + thn);
|
||||
var tpt = requestDetails.url.split('=' + thn, 2);
|
||||
console.log("(scrub)checking search hostnames =" + thn);
|
||||
var tpt = requestDetails.url.split("=" + thn, 2);
|
||||
requestDetails.url =
|
||||
'http://' + thn + '/' + tpt[1].replace('%2F', '');
|
||||
"http://" + thn + "/" + tpt[1].replace("%2F", "");
|
||||
}
|
||||
}
|
||||
}
|
||||
console.log('(scrub) new hostname', requestDetails.url);
|
||||
console.log("(scrub) new hostname", requestDetails.url);
|
||||
var setcookie = browser.cookies.set({
|
||||
firstPartyDomain: i2pHostName(requestDetails.url),
|
||||
url: requestDetails.url,
|
||||
secure: true
|
||||
secure: true,
|
||||
});
|
||||
setcookie.then(onContextGotLog, onContextError);
|
||||
if (!routerhost) {
|
||||
@ -451,11 +451,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) {
|
||||
@ -464,88 +464,88 @@ var coolheadersSetup = function(e) {
|
||||
}
|
||||
|
||||
function gotPopup(p) {
|
||||
console.log('(scrub)(header check) checking popup', p);
|
||||
console.log("(scrub)(header check) checking popup", p);
|
||||
console.log(
|
||||
'(scrub)(header check) checking headers',
|
||||
"(scrub)(header check) checking headers",
|
||||
e.responseHeaders
|
||||
);
|
||||
let headers = e.responseHeaders.filter((word) =>
|
||||
word.name.toUpperCase().includes('I2P')
|
||||
word.name.toUpperCase().includes("I2P")
|
||||
);
|
||||
console.log('(scrub)(header check) checking filtered headers', headers);
|
||||
console.log("(scrub)(header check) checking filtered headers", headers);
|
||||
for (i = headers.length - 1; i >= 0; i--) {
|
||||
let header = headers[i];
|
||||
console.log('(scrub)(header check) checking header', header);
|
||||
if (header.name.toUpperCase().endsWith('I2P-LOCATION')) {
|
||||
console.log("(scrub)(header check) checking header", header);
|
||||
if (header.name.toUpperCase().endsWith("I2P-LOCATION")) {
|
||||
var tab = browser.tabs.get(e.tabId);
|
||||
tab.then(altSrc);
|
||||
|
||||
function altSrc(tab) {
|
||||
console.log('(scrub) X-I2P-LOCATION', header.value);
|
||||
console.log("(scrub) X-I2P-LOCATION", header.value);
|
||||
let url = new URL(header.value);
|
||||
browser.pageAction.setPopup({
|
||||
tabId: e.tabId,
|
||||
popup: 'location.html'
|
||||
popup: "location.html",
|
||||
});
|
||||
browser.pageAction.setIcon({
|
||||
path: 'icons/i2plogo.png',
|
||||
tabId: e.tabId
|
||||
path: "icons/i2plogo.png",
|
||||
tabId: e.tabId,
|
||||
});
|
||||
let eurl = new URL(tab.url);
|
||||
browser.pageAction.setTitle({
|
||||
tabId: e.tabId,
|
||||
title: 'http://' + url.host + eurl.pathname
|
||||
title: "http://" + url.host + eurl.pathname,
|
||||
});
|
||||
browser.pageAction.show(e.tabId);
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (header.name.toUpperCase().endsWith('I2P-TORRENTLOCATION')) {
|
||||
if (header.name.toUpperCase().endsWith("I2P-TORRENTLOCATION")) {
|
||||
console.log(
|
||||
'(scrub)(header check) checking header torrentlocation',
|
||||
"(scrub)(header check) checking header torrentlocation",
|
||||
header
|
||||
);
|
||||
var imgs = document.getElementsByTagName('img');
|
||||
var imgs = document.getElementsByTagName("img");
|
||||
for (let img of imgs) {
|
||||
if (tmpsrc.host == location.host) {
|
||||
img.src =
|
||||
'http://127.0.0.1:7657/i2psnark/' +
|
||||
"http://127.0.0.1:7657/i2psnark/" +
|
||||
tmpsrc.host +
|
||||
tmpsrc.pathname;
|
||||
img.onerror = function() {
|
||||
img.onerror = function () {
|
||||
img.src = tmpsrc;
|
||||
};
|
||||
}
|
||||
}
|
||||
var videos = document.getElementsByTagName('video');
|
||||
var videos = document.getElementsByTagName("video");
|
||||
for (let video of videos) {
|
||||
let tmpsrc = new URL(video.currentSrc);
|
||||
if (tmpsrc.host == location.host) {
|
||||
if (!video.innerHTML.includes('127.0.0.1')) {
|
||||
if (!video.innerHTML.includes("127.0.0.1")) {
|
||||
innerHTML = video.innerHTML;
|
||||
topInnerHTML = video.innerHTML.replace(
|
||||
'src="',
|
||||
'src="http://127.0.0.1:7657/i2psnark/' + location.host + '/'
|
||||
'src="http://127.0.0.1:7657/i2psnark/' + location.host + "/"
|
||||
);
|
||||
video.innerHTML = topInnerHTML; // + innerHTML;
|
||||
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;
|
||||
};
|
||||
}
|
||||
@ -553,22 +553,22 @@ var coolheadersSetup = function(e) {
|
||||
}
|
||||
browser.pageAction.setPopup({
|
||||
tabId: e.tabId,
|
||||
popup: 'torrent.html'
|
||||
popup: "torrent.html",
|
||||
});
|
||||
if (tab != undefined && tab.url.startsWith('https')) {
|
||||
if (tab != undefined && tab.url.startsWith("https")) {
|
||||
browser.pageAction.setIcon({
|
||||
path: 'icons/infotoopiesbt.png',
|
||||
tabId: e.tabId
|
||||
path: "icons/infotoopiesbt.png",
|
||||
tabId: e.tabId,
|
||||
});
|
||||
} else {
|
||||
browser.pageAction.setIcon({
|
||||
path: 'icons/infotoopiebt.png',
|
||||
tabId: e.tabId
|
||||
path: "icons/infotoopiebt.png",
|
||||
tabId: e.tabId,
|
||||
});
|
||||
}
|
||||
browser.pageAction.setTitle({
|
||||
tabId: e.tabId,
|
||||
title: header.value
|
||||
title: header.value,
|
||||
});
|
||||
browser.pageAction.show(e.tabId);
|
||||
break;
|
||||
|
@ -1,12 +1,12 @@
|
||||
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({
|
||||
tabId: tab[0].id
|
||||
tabId: tab[0].id,
|
||||
});
|
||||
gettingTitle.then(gotTitle);
|
||||
}
|
||||
|
@ -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"]
|
||||
);
|
||||
});
|
||||
}
|
||||
|
@ -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";
|
||||
}
|
||||
|
@ -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();
|
||||
});
|
||||
}
|
||||
|
Reference in New Issue
Block a user