refactor bookmarks.js
This commit is contained in:
342
bookmarks.js
342
bookmarks.js
@@ -1,236 +1,122 @@
|
||||
function bookmarksSetup() {
|
||||
var gettingInfo = browser.runtime.getPlatformInfo();
|
||||
gettingInfo.then((got) => {
|
||||
if (got.os != "android") {
|
||||
function bookmarks(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 createRhizomeBookmark = browser.bookmarks.create({
|
||||
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,
|
||||
});
|
||||
createBookmark.then(onCreated);
|
||||
}
|
||||
console.log("(bookmarks) adding home page bookmark");
|
||||
}
|
||||
console.log(
|
||||
"(bookmarks) checking if we're running in an I2P Browser"
|
||||
);
|
||||
let gettingProxyInfo = browser.proxy.settings.get({});
|
||||
gettingProxyInfo.then(gotProxyInfo);
|
||||
}
|
||||
}
|
||||
function bookTorrent(bookmarkItems) {
|
||||
if (!bookmarkItems.length) {
|
||||
function gotProxyInfo(info) {
|
||||
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,
|
||||
});
|
||||
createBookmark.then(onCreated);
|
||||
} else {
|
||||
let createRhizomeBookmark = browser.bookmarks.create({
|
||||
url:
|
||||
"http://" +
|
||||
control_host() +
|
||||
":" +
|
||||
control_port() +
|
||||
"/i2psnark",
|
||||
title: "Bittorrent",
|
||||
parentId: bookmarkToolbar[0].id,
|
||||
});
|
||||
createRhizomeBookmark.then(onCreated);
|
||||
}
|
||||
}
|
||||
console.log(
|
||||
"(bookmarks) checking if we're running in an I2P Browser"
|
||||
);
|
||||
let gettingProxyInfo = browser.proxy.settings.get({});
|
||||
gettingProxyInfo.then(gotProxyInfo);
|
||||
}
|
||||
}
|
||||
function bookConsole(bookmarkItems) {
|
||||
if (!bookmarkItems.length) {
|
||||
function gotProxyInfo(info) {
|
||||
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,
|
||||
});
|
||||
createBookmark.then(onCreated);
|
||||
} else {
|
||||
let createRhizomeBookmark = browser.bookmarks.create({
|
||||
url:
|
||||
"http://" + control_host() + ":" + control_port() + "/home",
|
||||
title: "I2P Console",
|
||||
parentId: bookmarkToolbar[0].id,
|
||||
});
|
||||
createRhizomeBookmark.then(onCreated);
|
||||
}
|
||||
}
|
||||
console.log(
|
||||
"(bookmarks) checking if we're running in an I2P Browser"
|
||||
);
|
||||
let gettingProxyInfo = browser.proxy.settings.get({});
|
||||
gettingProxyInfo.then(gotProxyInfo);
|
||||
}
|
||||
}
|
||||
function bookMail(bookmarkItems) {
|
||||
if (!bookmarkItems.length) {
|
||||
function gotProxyInfo(info) {
|
||||
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,
|
||||
});
|
||||
createBookmark.then(onCreated);
|
||||
} else {
|
||||
let createRhizomeBookmark = browser.bookmarks.create({
|
||||
url:
|
||||
"http://" +
|
||||
control_host() +
|
||||
":" +
|
||||
control_port() +
|
||||
"/webmail",
|
||||
title: "Web Mail",
|
||||
parentId: bookmarkToolbar[0].id,
|
||||
});
|
||||
createRhizomeBookmark.then(onCreated);
|
||||
}
|
||||
console.log("(bookmarks) adding webmail bookmark");
|
||||
}
|
||||
console.log(
|
||||
"(bookmarks) checking if we're running in an I2P Browser"
|
||||
);
|
||||
let gettingProxyInfo = browser.proxy.settings.get({});
|
||||
gettingProxyInfo.then(gotProxyInfo);
|
||||
}
|
||||
}
|
||||
function bookI2PTunnel(bookmarkItems) {
|
||||
if (!bookmarkItems.length) {
|
||||
function gotProxyInfo(info) {
|
||||
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,
|
||||
});
|
||||
createBookmark.then(onCreated);
|
||||
} else {
|
||||
var createRhizomeBookmark = browser.bookmarks.create({
|
||||
url:
|
||||
"http://" +
|
||||
control_host() +
|
||||
":" +
|
||||
control_port() +
|
||||
"/i2ptunnel",
|
||||
title: "Hidden Services Manager",
|
||||
parentId: bookmarkToolbar[0].id,
|
||||
});
|
||||
createRhizomeBookmark.then(onCreated);
|
||||
}
|
||||
console.log("(bookmarks) adding i2ptunnel bookmark");
|
||||
}
|
||||
console.log(
|
||||
"(bookmarks) checking if we're running in an I2P Browser"
|
||||
);
|
||||
var gettingProxyInfo = browser.proxy.settings.get({});
|
||||
gettingProxyInfo.then(gotProxyInfo);
|
||||
}
|
||||
}
|
||||
async function createI2PToolbar(bookmarkToolbar) {
|
||||
const ibbt = await browser.bookmarks.search("I2P Toolbar");
|
||||
|
||||
function onRejected(error) {
|
||||
console.log(`An error : ${error}`);
|
||||
}
|
||||
function onCreated(node) {
|
||||
console.log("Bookmarked", node);
|
||||
}
|
||||
async function onToolbarCreated(node) {
|
||||
const ibt = await browser.bookmarks.search("I2P Toolbar");
|
||||
await bookmarks(ibt[0]);
|
||||
}
|
||||
|
||||
var b0 = browser.bookmarks.search({
|
||||
title: "I2P Extension Home Page",
|
||||
});
|
||||
b0.then(bookHome, onRejected);
|
||||
|
||||
var b1 = browser.bookmarks.search({
|
||||
title: "Bittorrent",
|
||||
});
|
||||
b1.then(bookTorrent, onRejected);
|
||||
|
||||
var b2 = browser.bookmarks.search({
|
||||
title: "Hidden Services Manager",
|
||||
});
|
||||
b2.then(bookI2PTunnel, onRejected);
|
||||
|
||||
var b3 = browser.bookmarks.search({
|
||||
title: "Web Mail",
|
||||
});
|
||||
b3.then(bookMail, onRejected);
|
||||
|
||||
var b4 = browser.bookmarks.search({
|
||||
title: "I2P Console",
|
||||
});
|
||||
b4.then(bookConsole, onRejected);
|
||||
defaultSettings["bookmarks_state"] = true;
|
||||
}
|
||||
|
||||
var bt = browser.bookmarks.search({
|
||||
query: "Toolbar",
|
||||
async function setupDir(ibbt) {
|
||||
if (!ibbt.length) {
|
||||
const createBookmark = await browser.bookmarks.create({
|
||||
title: "I2P Toolbar",
|
||||
parentId: bookmarkToolbar.id,
|
||||
});
|
||||
|
||||
function toolDir(bookmarkToolbar) {
|
||||
let defaultSettings = {};
|
||||
chrome.storage.local.set(defaultSettings);
|
||||
console.log("(bookmarks) created");
|
||||
var ibbt = browser.bookmarks.search("I2P Toolbar");
|
||||
function setupDir(ibbt) {
|
||||
function onToolbarCreated(node) {
|
||||
var ibt = browser.bookmarks.search("I2P Toolbar");
|
||||
ibt.then(bookmarks);
|
||||
}
|
||||
if (ibbt[0] == null) {
|
||||
let createBookmark = browser.bookmarks.create({
|
||||
title: "I2P Toolbar",
|
||||
parentId: bookmarkToolbar[0].id,
|
||||
});
|
||||
createBookmark.then(onToolbarCreated);
|
||||
}
|
||||
}
|
||||
ibbt.then(setupDir);
|
||||
}
|
||||
bt.then(toolDir);
|
||||
|
||||
function handleCreated(id, bookmarkInfo) {
|
||||
//var propValue;
|
||||
for (var propName in bookmarkInfo) {
|
||||
let propValue = bookmarkInfo[propName];
|
||||
console.log(propName, propValue);
|
||||
}
|
||||
}
|
||||
|
||||
browser.bookmarks.onCreated.addListener(handleCreated);
|
||||
await onToolbarCreated(createBookmark);
|
||||
}
|
||||
}
|
||||
|
||||
await setupDir(ibbt);
|
||||
}
|
||||
|
||||
async function bookmarks(bookmarkToolbar) {
|
||||
const controlHost = control_host();
|
||||
const controlPort = control_port();
|
||||
|
||||
async function createBookmark({ url, title, parentId }) {
|
||||
const createRhizomeBookmark = await browser.bookmarks.create({
|
||||
url,
|
||||
title,
|
||||
parentId,
|
||||
});
|
||||
console.log("Bookmarked", createRhizomeBookmark);
|
||||
}
|
||||
|
||||
async function createHomeBookmark() {
|
||||
const bookmarkItems = await browser.bookmarks.search({
|
||||
title: "I2P Extension Home Page",
|
||||
});
|
||||
if (!bookmarkItems.length) {
|
||||
await createBookmark({
|
||||
url: browser.runtime.getURL("home.html"),
|
||||
title: "I2P Extension Home Page",
|
||||
parentId: bookmarkToolbar.id,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
async function createTorrentBookmark() {
|
||||
const bookmarkItems = await browser.bookmarks.search({
|
||||
title: "Bittorrent",
|
||||
});
|
||||
if (!bookmarkItems.length) {
|
||||
await createBookmark({
|
||||
url: `http://${controlHost}:${controlPort}/i2psnark`,
|
||||
title: "Bittorrent",
|
||||
parentId: bookmarkToolbar.id,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
async function createConsoleBookmark() {
|
||||
const bookmarkItems = await browser.bookmarks.search({
|
||||
title: "I2P Console",
|
||||
});
|
||||
if (!bookmarkItems.length) {
|
||||
await createBookmark({
|
||||
url: `http://${controlHost}:${controlPort}/home`,
|
||||
title: "I2P Console",
|
||||
parentId: bookmarkToolbar.id,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
async function createMailBookmark() {
|
||||
const bookmarkItems = await browser.bookmarks.search({
|
||||
title: "Web Mail",
|
||||
});
|
||||
if (!bookmarkItems.length) {
|
||||
await createBookmark({
|
||||
url: `http://${controlHost}:${controlPort}/webmail`,
|
||||
title: "Web Mail",
|
||||
parentId: bookmarkToolbar.id,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
async function createI2PTunnelBookmark() {
|
||||
const bookmarkItems = await browser.bookmarks.search({
|
||||
title: "Hidden Services Manager",
|
||||
});
|
||||
if (!bookmarkItems.length) {
|
||||
await createBookmark({
|
||||
url: `http://${controlHost}:${controlPort}/i2ptunnel`,
|
||||
title: "Hidden Services Manager",
|
||||
parentId: bookmarkToolbar.id,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
await createHomeBookmark();
|
||||
await createTorrentBookmark();
|
||||
await createI2PTunnelBookmark();
|
||||
await createMailBookmark();
|
||||
await createConsoleBookmark();
|
||||
|
||||
defaultSettings.bookmarks_state = true;
|
||||
}
|
||||
|
||||
async function bookmarksSetup() {
|
||||
const gettingInfo = await browser.runtime.getPlatformInfo();
|
||||
if (gettingInfo.os === "android") {
|
||||
return;
|
||||
}
|
||||
|
||||
const bookmarkToolbar = await browser.bookmarks.search({
|
||||
query: "Toolbar",
|
||||
});
|
||||
|
||||
await createI2PToolbar(bookmarkToolbar[0]);
|
||||
}
|
||||
|
||||
function conditionalBookmarksSetup(obj) {
|
||||
|
Reference in New Issue
Block a user