mirror of
https://codeberg.org/LibRedirect/libredirect.git
synced 2025-02-07 15:48:47 +01:00
Simplified code. Removed pixivMoe, old.reddit.com #239
This commit is contained in:
parent
6022b28407
commit
a28cccfde0
@ -23,7 +23,6 @@ Instagram => [Bibliogram](https://sr.ht/~cadence/bibliogram/)\
|
||||
TikTok => [ProxiTok](https://github.com/pablouser1/ProxiTok)\
|
||||
Reddit => [Libreddit](https://github.com/spikecodes/libreddit#instances), [Teddit](https://codeberg.org/teddit/teddit#instances), [Old Reddit](https://old.reddit.com)\
|
||||
Imgur => [Rimgo](https://codeberg.org/video-prize-ranch/rimgo)\
|
||||
Pixiv => [pixiv萌え](https://github.com/kokororin/pixiv.moe)\
|
||||
Speedtest => [Librespeed](https://github.com/librespeed/)\
|
||||
Spotify => [Soju](https://github.com/coffeebank/soju)\
|
||||
Wikipedia => [Wikiless](https://codeberg.org/orenom/wikiless)\
|
||||
|
@ -120,12 +120,6 @@ body.option(dir="auto")
|
||||
|Reddit
|
||||
input#reddit(type="checkbox")
|
||||
|
||||
div
|
||||
div
|
||||
img(src="../../../assets/images/pixiv-icon.svg")
|
||||
|Pixiv
|
||||
input#pixiv(type="checkbox")
|
||||
|
||||
div
|
||||
div
|
||||
img(src="../../../assets/images/spotify-icon.png")
|
||||
|
@ -1,41 +0,0 @@
|
||||
doctype html
|
||||
html(lang="en")
|
||||
include ../../widgets/head.pug
|
||||
title General
|
||||
script(type="module" src="../../../assets/javascripts/localise.js")
|
||||
body.option(dir="auto")
|
||||
include ../../widgets/links.pug
|
||||
+links('pixiv')
|
||||
|
||||
section.option-block
|
||||
.some-block.option-block
|
||||
h4(data-localise="__MSG_enable__") Enable
|
||||
input#disable-pixiv(type="checkbox")
|
||||
|
||||
.some-block.option-block
|
||||
h4
|
||||
x(data-localise="__MSG_frontend__") Frontend
|
||||
|:
|
||||
span(style="color:red;" data-localise="__MSG_notFullyPrivate__") This isn't a fully private frontend
|
||||
select#maps-frontend
|
||||
option(value="pixivMoe" data-localise="__MSG_pixivMoe__") pixiv萌え
|
||||
|
||||
.some-block.option-block
|
||||
h4(data-localise="__MSG_protocol__") Protocol
|
||||
select#protocol
|
||||
option(value="normal" data-localise="__MSG_normal__") Normal
|
||||
option(value="tor" data-localise="__MSG_tor__") Tor
|
||||
|
||||
#pixivMoe
|
||||
hr
|
||||
.normal
|
||||
include ../../widgets/instances.pug
|
||||
+instances('https://pixivMoe.com')
|
||||
include ../../widgets/latency.pug
|
||||
+latency()
|
||||
.tor
|
||||
include ../../widgets/instances.pug
|
||||
+instances('https://pixivMoe.onion')
|
||||
|
||||
script(type="module" src="../init.js")
|
||||
script(type="module" src="./pixiv.js")
|
@ -17,7 +17,6 @@ body.option(dir="auto")
|
||||
select#reddit-frontend
|
||||
option(value="libreddit") Libreddit
|
||||
option(value="teddit") Teddit
|
||||
option(value="old") old.reddit.com
|
||||
|
||||
.some-block.option-block
|
||||
h4(data-localise="__MSG_protocol__") Protocol
|
||||
|
@ -12,12 +12,6 @@ body.option(dir="auto")
|
||||
h4(data-localise="__MSG_enable__") Enable
|
||||
input#disable-spotify(type="checkbox")
|
||||
|
||||
.some-block.option-block
|
||||
h4(data-localise="__MSG_protocol__") Protocol
|
||||
select#protocol
|
||||
option(value="normal" data-localise="__MSG_normal__") Normal
|
||||
option(value="tor" data-localise="__MSG_tor__") Tor
|
||||
|
||||
#soju
|
||||
hr
|
||||
.normal
|
||||
@ -25,9 +19,6 @@ body.option(dir="auto")
|
||||
+instances('https://soju.com')
|
||||
include ../../widgets/latency.pug
|
||||
+latency()
|
||||
.tor
|
||||
include ../../widgets/instances.pug
|
||||
+instances('https://soju.onion')
|
||||
|
||||
script(type="module" src="../init.js")
|
||||
script(type="module" src="./spotify.js")
|
||||
|
@ -36,10 +36,6 @@ mixin links(service)
|
||||
img(src="../../../assets/images/imgur-icon.png")
|
||||
a(href="../imgur/imgur.html" data-localise="__MSG_imgur__" class=service == "imgur" ? "selected" : "") Imgur
|
||||
|
||||
.title
|
||||
img(src="../../../assets/images/pixiv-icon.svg")
|
||||
a(href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__" class=service == "pixiv" ? "selected" : "") Pixiv
|
||||
|
||||
.title
|
||||
img(src="../../../assets/images/librespeed-icon.svg")
|
||||
a(href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__" class=service == "speedtest" ? "selected" : "") Speedtest
|
||||
|
@ -89,11 +89,6 @@
|
||||
"description": "used in general.html"
|
||||
},
|
||||
|
||||
"pixiv": {
|
||||
"message": "بكسيف",
|
||||
"description": "used in general.html"
|
||||
},
|
||||
|
||||
"wikipedia": {
|
||||
"message": "ويكيبيديا",
|
||||
"description": "used in general.html"
|
||||
@ -119,11 +114,6 @@
|
||||
"description": "used in imgur.html"
|
||||
},
|
||||
|
||||
"pixivMoe": {
|
||||
"message": "pixiv萌え",
|
||||
"description": "used in pixiv.html"
|
||||
},
|
||||
|
||||
"theme": {
|
||||
"message": "السمة",
|
||||
"description": "used in general.html"
|
||||
@ -226,7 +216,7 @@
|
||||
|
||||
"notFullyPrivate": {
|
||||
"message": "هذه الواجهة لا تحترم الخصوصية تماماً",
|
||||
"description": "used in pixiv.html"
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"oldReddit": {
|
||||
|
@ -89,11 +89,6 @@
|
||||
"description": "used in general.html"
|
||||
},
|
||||
|
||||
"pixiv": {
|
||||
"message": "Pixiv",
|
||||
"description": "used in general.html"
|
||||
},
|
||||
|
||||
"wikipedia": {
|
||||
"message": "Wikipedia",
|
||||
"description": "used in general.html"
|
||||
@ -119,11 +114,6 @@
|
||||
"description": "used in imgur.html"
|
||||
},
|
||||
|
||||
"pixivMoe": {
|
||||
"message": "pixiv萌え",
|
||||
"description": "used in pixiv.html"
|
||||
},
|
||||
|
||||
"theme": {
|
||||
"message": "Thema",
|
||||
"description": "used in general.html"
|
||||
@ -226,7 +216,7 @@
|
||||
|
||||
"notFullyPrivate": {
|
||||
"message": "Das ist kein völlig privates Frontend.",
|
||||
"description": "used in pixiv.html"
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"oldReddit": {
|
||||
|
@ -89,11 +89,6 @@
|
||||
"description": "used in general.html"
|
||||
},
|
||||
|
||||
"pixiv": {
|
||||
"message": "Pixiv",
|
||||
"description": "used in general.html"
|
||||
},
|
||||
|
||||
"wikipedia": {
|
||||
"message": "Wikipedia",
|
||||
"description": "used in general.html"
|
||||
@ -119,11 +114,6 @@
|
||||
"description": "used in imgur.html"
|
||||
},
|
||||
|
||||
"pixivMoe": {
|
||||
"message": "pixiv萌え",
|
||||
"description": "used in pixiv.html"
|
||||
},
|
||||
|
||||
"theme": {
|
||||
"message": "Theme",
|
||||
"description": "used in general.html"
|
||||
@ -226,7 +216,7 @@
|
||||
|
||||
"notFullyPrivate": {
|
||||
"message": "This isn't a fully private frontend.",
|
||||
"description": "used in pixiv.html"
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"oldReddit": {
|
||||
|
@ -1,56 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="67.73333mm"
|
||||
height="67.73333mm"
|
||||
viewBox="0 0 67.733331 67.733331"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
|
||||
sodipodi:docname="pixiv-icon.svg"
|
||||
inkscape:export-filename="/mnt/main_storage/Git/libredirect/src/assets/images/pixiv-icon.png"
|
||||
inkscape:export-xdpi="48"
|
||||
inkscape:export-ydpi="48"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview7"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.622695"
|
||||
inkscape:cx="53.614512"
|
||||
inkscape:cy="136.50132"
|
||||
inkscape:window-width="1888"
|
||||
inkscape:window-height="1060"
|
||||
inkscape:window-x="32"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs2" />
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-103.98557,-52.402599)">
|
||||
<circle
|
||||
style="fill:#0096fa;fill-opacity:1;stroke-width:2.64583"
|
||||
id="path1234"
|
||||
cx="137.85223"
|
||||
cy="86.269264"
|
||||
r="33.866665" />
|
||||
<path
|
||||
style="fill:#ffffff;stroke-width:0.313386"
|
||||
d="m 122.7229,105.30379 c -0.24873,-0.40245 0.7237,-1.54717 1.31432,-1.54717 0.347,0 0.42151,-2.55398 0.42151,-14.446665 V 74.863294 l -1.03225,0.892679 c -2.10117,1.817053 -3.35517,3.636697 -3.35517,4.868584 0,2.298073 -1.08814,1.726257 -2.82048,-1.482147 l -0.78346,-1.451038 1.56693,-1.400312 c 10.52844,-9.408887 24.10553,-12.052505 33.56986,-6.536439 2.25569,1.314672 4.93919,4.203746 6.03254,6.494663 1.20804,2.531212 1.59075,4.221702 1.60031,7.068726 0.0327,9.739076 -9.81435,16.74731 -21.67016,15.422863 -2.55639,-0.285577 -6.17239,-1.083524 -7.85889,-1.734229 -0.5011,-0.193334 -0.54843,0.07462 -0.54843,3.104446 v 3.31605 l 0.94017,0.48616 c 0.56299,0.29114 0.94015,0.7344 0.94015,1.10491 0,0.58416 -0.2265,0.61873 -4.05553,0.61873 -2.5259,0 -4.13318,-0.12566 -4.26142,-0.33315 z m 19.92492,-9.384243 c 3.71424,-0.704393 6.88163,-2.766994 8.79493,-5.727265 3.22224,-4.985408 2.57484,-12.126756 -1.49817,-16.526092 -4.49505,-4.855189 -12.08781,-5.637541 -19.30051,-1.988706 l -1.49264,0.755112 0.0825,10.88286 0.0824,10.88286 2.11342,0.706325 c 3.4895,1.166218 8.18184,1.590735 11.21817,1.014906 z"
|
||||
id="path6646" />
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 2.7 KiB |
@ -111,7 +111,6 @@ let allPopupFrontends = [
|
||||
"tikTok",
|
||||
"imgur",
|
||||
"reddit",
|
||||
"pixiv",
|
||||
"spotify",
|
||||
"search",
|
||||
"translate",
|
||||
|
@ -22,13 +22,6 @@ let redirects = {
|
||||
}
|
||||
|
||||
const getRedirects = () => redirects;
|
||||
const getCustomRedirects = function () {
|
||||
return {
|
||||
"librarian": {
|
||||
"normal": [...librarianNormalRedirectsChecks, ...librarianNormalCustomRedirects]
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
function setRedirects(val) {
|
||||
redirects.librarian = val;
|
||||
@ -39,62 +32,23 @@ function setRedirects(val) {
|
||||
var index = librarianNormalRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) librarianNormalRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setLibrarianNormalRedirectsChecks(librarianNormalRedirectsChecks);
|
||||
browser.storage.local.set(librarianNormalRedirectsChecks);
|
||||
|
||||
for (const item of librarianTorRedirectsChecks)
|
||||
if (!redirects.librarian.normal.includes(item)) {
|
||||
var index = librarianTorRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) librarianTorRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setLibrarianTorRedirectsChecks(librarianTorRedirectsChecks);
|
||||
browser.storage.local.set(librarianTorRedirectsChecks)
|
||||
}
|
||||
|
||||
let librarianNormalRedirectsChecks;
|
||||
const getLibrarianNormalRedirectsChecks = () => librarianNormalRedirectsChecks;
|
||||
function setLibrarianNormalRedirectsChecks(val) {
|
||||
librarianNormalRedirectsChecks = val;
|
||||
browser.storage.local.set({ librarianNormalRedirectsChecks })
|
||||
console.log("librarianNormalRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let librarianTorRedirectsChecks;
|
||||
const getLibrarianTorRedirectsChecks = () => librarianTorRedirectsChecks;
|
||||
function setLibrarianTorRedirectsChecks(val) {
|
||||
librarianTorRedirectsChecks = val;
|
||||
browser.storage.local.set({ librarianTorRedirectsChecks })
|
||||
console.log("librarianTorRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let librarianNormalCustomRedirects = [];
|
||||
const getLibrarianNormalCustomRedirects = () => librarianNormalCustomRedirects;
|
||||
function setLibrarianNormalCustomRedirects(val) {
|
||||
librarianNormalCustomRedirects = val;
|
||||
browser.storage.local.set({ librarianNormalCustomRedirects })
|
||||
console.log("librarianNormalCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
let librarianTorCustomRedirects = [];
|
||||
const getLibrarianTorCustomRedirects = () => librarianTorCustomRedirects;
|
||||
function setLibrarianTorCustomRedirects(val) {
|
||||
librarianTorCustomRedirects = val;
|
||||
browser.storage.local.set({ librarianTorCustomRedirects })
|
||||
console.log("librarianTorCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
let disable;
|
||||
const getDisable = () => disable;
|
||||
function setDisable(val) {
|
||||
disable = val;
|
||||
browser.storage.local.set({ disableLbryTargets: disable })
|
||||
}
|
||||
|
||||
let protocol;
|
||||
const getProtocol = () => protocol;
|
||||
function setProtocol(val) {
|
||||
protocol = val;
|
||||
browser.storage.local.set({ lbryTargetsProtocol: val })
|
||||
console.log("lbryTargetsProtocol: ", val)
|
||||
}
|
||||
let disable; // disableLbryTargets
|
||||
let protocol; // lbryTargetsProtocol
|
||||
|
||||
function switchInstance(url) {
|
||||
let protocolHost = commonHelper.protocolHost(url);
|
||||
@ -138,68 +92,69 @@ function redirect(url, type, initiator) {
|
||||
return `${randomInstance}${url.pathname}${url.search}`;
|
||||
}
|
||||
|
||||
async function initDefaults() {
|
||||
return new Promise(async resolve => {
|
||||
await browser.storage.local.set({
|
||||
disableLbryTargets: true,
|
||||
lbryTargetsRedirects: {
|
||||
'librarian': redirects.librarian
|
||||
},
|
||||
|
||||
librarianNormalRedirectsChecks: [...redirects.librarian.normal],
|
||||
librarianNormalCustomRedirects: [],
|
||||
|
||||
librarianTorRedirectsChecks: [...redirects.librarian.tor],
|
||||
librarianTorCustomRedirects: [],
|
||||
|
||||
lbryTargetsProtocol: "normal",
|
||||
})
|
||||
resolve();
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
async function init() {
|
||||
return new Promise(resolve => {
|
||||
fetch('/instances/data.json').then(response => response.text()).then(data => {
|
||||
let dataJson = JSON.parse(data);
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableLbryTargets",
|
||||
"lbryTargetsRedirects",
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableLbryTargets",
|
||||
"lbryTargetsRedirects",
|
||||
|
||||
"librarianNormalRedirectsChecks",
|
||||
"librarianNormalCustomRedirects",
|
||||
"librarianNormalRedirectsChecks",
|
||||
"librarianNormalCustomRedirects",
|
||||
|
||||
"librarianTorRedirectsChecks",
|
||||
"librarianTorCustomRedirects",
|
||||
"librarianTorRedirectsChecks",
|
||||
"librarianTorCustomRedirects",
|
||||
|
||||
"lbryTargetsProtocol"
|
||||
],
|
||||
r => {
|
||||
"lbryTargetsProtocol"
|
||||
],
|
||||
r => {
|
||||
|
||||
disable = r.disableLbryTargets ?? true;
|
||||
disable = r.disableLbryTargets;
|
||||
|
||||
protocol = r.lbryTargetsProtocol ?? "normal";
|
||||
protocol = r.lbryTargetsProtocol;
|
||||
|
||||
if (r.lbryTargetsRedirects) redirects = r.lbryTargetsRedirects;
|
||||
redirects = r.lbryTargetsRedirects;
|
||||
|
||||
librarianNormalRedirectsChecks = r.librarianNormalRedirectsChecks ?? [...redirects.librarian.normal];
|
||||
librarianNormalCustomRedirects = r.librarianNormalCustomRedirects ?? [];
|
||||
librarianNormalRedirectsChecks = r.librarianNormalRedirectsChecks;
|
||||
librarianNormalCustomRedirects = r.librarianNormalCustomRedirects;
|
||||
|
||||
librarianTorRedirectsChecks = r.librarianTorRedirectsChecks ?? [...redirects.librarian.tor];
|
||||
librarianTorCustomRedirects = r.librarianTorCustomRedirects ?? [];
|
||||
librarianTorRedirectsChecks = r.librarianTorRedirectsChecks;
|
||||
librarianTorCustomRedirects = r.librarianTorCustomRedirects;
|
||||
|
||||
resolve();
|
||||
}
|
||||
)
|
||||
});
|
||||
resolve();
|
||||
}
|
||||
)
|
||||
});
|
||||
}
|
||||
|
||||
export default {
|
||||
|
||||
getRedirects,
|
||||
getCustomRedirects,
|
||||
setRedirects,
|
||||
|
||||
getDisable,
|
||||
setDisable,
|
||||
|
||||
getProtocol,
|
||||
setProtocol,
|
||||
|
||||
getLibrarianNormalRedirectsChecks,
|
||||
setLibrarianNormalRedirectsChecks,
|
||||
getLibrarianTorRedirectsChecks,
|
||||
setLibrarianTorRedirectsChecks,
|
||||
|
||||
getLibrarianTorCustomRedirects,
|
||||
setLibrarianTorCustomRedirects,
|
||||
getLibrarianNormalCustomRedirects,
|
||||
setLibrarianNormalCustomRedirects,
|
||||
|
||||
switchInstance,
|
||||
|
||||
redirect,
|
||||
init,
|
||||
initDefaults,
|
||||
};
|
||||
|
@ -19,38 +19,11 @@ let redirects = {
|
||||
};
|
||||
const getRedirects = () => redirects;
|
||||
|
||||
let disable;
|
||||
const getDisable = () => disable;
|
||||
function setDisable(val) {
|
||||
disable = val;
|
||||
browser.storage.local.set({ disableMaps: disable })
|
||||
console.log("disableMaps: ", disable)
|
||||
}
|
||||
|
||||
let frontend;
|
||||
const getFrontend = () => frontend;
|
||||
function setFrontend(val) {
|
||||
frontend = val;
|
||||
browser.storage.local.set({ mapsFrontend: frontend })
|
||||
console.log("mapsFrontend: ", frontend)
|
||||
};
|
||||
let disable; // disableMaps
|
||||
let frontend; // mapsFrontend
|
||||
|
||||
let facilNormalRedirectsChecks;
|
||||
const getFacilNormalRedirectsChecks = () => facilNormalRedirectsChecks;
|
||||
function setFacilNormalRedirectsChecks(val) {
|
||||
facilNormalRedirectsChecks = val;
|
||||
browser.storage.local.set({ facilNormalRedirectsChecks })
|
||||
console.log("facilNormalRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let facilNormalCustomRedirects = [];
|
||||
const getFacilNormalCustomRedirects = () => facilNormalCustomRedirects;
|
||||
function setFacilNormalCustomRedirects(val) {
|
||||
facilNormalCustomRedirects = val;
|
||||
browser.storage.local.set({ facilNormalCustomRedirects })
|
||||
console.log("facilNormalCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
|
||||
function redirect(url, initiator) {
|
||||
const mapCentreRegex = /@(-?\d[0-9.]*),(-?\d[0-9.]*),(\d{1,2})[.z]/;
|
||||
@ -213,6 +186,18 @@ function redirect(url, initiator) {
|
||||
if (frontend == 'facil') return `${randomInstance}/${mapCentre}/Mpnk`
|
||||
}
|
||||
|
||||
async function initDefaults() {
|
||||
return new Promise(async resolve => {
|
||||
await browser.storage.local.set({
|
||||
disableMaps: false,
|
||||
mapsFrontend: 'osm',
|
||||
|
||||
facilNormalRedirectsChecks: [...redirects.facil.normal],
|
||||
facilNormalCustomRedirects: [],
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
async function init() {
|
||||
return new Promise(
|
||||
resolve => {
|
||||
@ -225,11 +210,11 @@ async function init() {
|
||||
"facilNormalCustomRedirects",
|
||||
],
|
||||
r => {
|
||||
disable = r.disableMaps ?? false;
|
||||
frontend = r.mapsFrontend ?? 'osm';
|
||||
disable = r.disableMaps;
|
||||
frontend = r.mapsFrontend;
|
||||
|
||||
facilNormalRedirectsChecks = r.facilNormalRedirectsChecks ?? [...redirects.facil.normal];
|
||||
facilNormalCustomRedirects = r.facilNormalCustomRedirects ?? [];
|
||||
facilNormalRedirectsChecks = r.facilNormalRedirectsChecks;
|
||||
facilNormalCustomRedirects = r.facilNormalCustomRedirects;
|
||||
|
||||
resolve();
|
||||
}
|
||||
@ -238,19 +223,9 @@ async function init() {
|
||||
}
|
||||
|
||||
export default {
|
||||
getDisable,
|
||||
setDisable,
|
||||
|
||||
getFrontend,
|
||||
setFrontend,
|
||||
|
||||
getRedirects,
|
||||
|
||||
getFacilNormalRedirectsChecks,
|
||||
setFacilNormalRedirectsChecks,
|
||||
getFacilNormalCustomRedirects,
|
||||
setFacilNormalCustomRedirects,
|
||||
|
||||
redirect,
|
||||
init,
|
||||
initDefaults,
|
||||
};
|
||||
|
@ -1,274 +0,0 @@
|
||||
window.browser = window.browser || window.chrome;
|
||||
import commonHelper from './common.js'
|
||||
|
||||
const targets = /^https?:\/{2}(((www|maps)\.)?(google\.).*(\/maps)|maps\.(google\.).*)/;
|
||||
let redirects = {
|
||||
'osm': {
|
||||
"normal": [
|
||||
"https://openstreetmap.org"
|
||||
]
|
||||
},
|
||||
'facil': {
|
||||
"normal": [
|
||||
"https://facilmap.org"
|
||||
]
|
||||
}
|
||||
};
|
||||
const mapCentreRegex = /@(-?\d[0-9.]*),(-?\d[0-9.]*),(\d{1,2})[.z]/;
|
||||
const dataLatLngRegex = /(!3d|!4d)(-?[0-9]{1,10}.[0-9]{1,10})/g;
|
||||
const placeRegex = /\/place\/(.*)\//;
|
||||
const travelModes = {
|
||||
driving: "fossgis_osrm_car",
|
||||
walking: "fossgis_osrm_foot",
|
||||
bicycling: "fossgis_osrm_bike",
|
||||
transit: "fossgis_osrm_car", // not implemented on OSM, default to car.
|
||||
};
|
||||
const osmLayers = {
|
||||
none: "S",
|
||||
transit: "T",
|
||||
traffic: "S", // not implemented on OSM, default to standard.
|
||||
bicycling: "C",
|
||||
};
|
||||
|
||||
function addressToLatLng(address, callback) {
|
||||
const xmlhttp = new XMLHttpRequest();
|
||||
xmlhttp.onreadystatechange = () => {
|
||||
if (xmlhttp.readyState === XMLHttpRequest.DONE) {
|
||||
if (xmlhttp.status === 200) {
|
||||
const json = JSON.parse(xmlhttp.responseText)[0];
|
||||
if (json) callback(
|
||||
`${json.lat},${json.lon}`,
|
||||
`${json.boundingbox[2]},${json.boundingbox[1]},${json.boundingbox[3]},${json.boundingbox[0]}`
|
||||
);
|
||||
} else
|
||||
console.info("Error: Status is " + xmlhttp.status);
|
||||
}
|
||||
};
|
||||
xmlhttp.open(
|
||||
"GET",
|
||||
`https://nominatim.openstreetmap.org/search/${address}?format=json&limit=1`,
|
||||
false
|
||||
);
|
||||
xmlhttp.send();
|
||||
}
|
||||
|
||||
let disable;
|
||||
const getDisable = () => disable;
|
||||
function setDisable(val) {
|
||||
disable = val;
|
||||
browser.storage.local.set({ disableMaps: disable })
|
||||
console.log("disableMaps: ", disable)
|
||||
}
|
||||
|
||||
let frontend;
|
||||
const getFrontend = () => frontend;
|
||||
function setFrontend(val) {
|
||||
frontend = val;
|
||||
browser.storage.local.set({ mapsFrontend: frontend })
|
||||
console.log("mapsFrontend: ", frontend)
|
||||
};
|
||||
|
||||
function redirect(url, initiator) {
|
||||
|
||||
if (disable) return;
|
||||
if (initiator && initiator.host === "earth.google.com") return;
|
||||
|
||||
if (!url.href.match(targets)) return;
|
||||
|
||||
let redirect;
|
||||
let randomInstance;
|
||||
if (frontend == 'osm') randomInstance = commonHelper.getRandomInstance(redirects.osm.normal);
|
||||
if (frontend == 'facil') randomInstance = commonHelper.getRandomInstance(redirects.facil.normal);
|
||||
let mapCentre = "";
|
||||
let prefs = {};
|
||||
|
||||
// Set map centre if present
|
||||
if (url.pathname.match(mapCentreRegex)) {
|
||||
const [, lat, lon, zoom] = url.pathname.match(mapCentreRegex);
|
||||
if (frontend == 'osm') {
|
||||
prefs["#map"] = `${zoom}/${lat}/${lon}`;
|
||||
mapCentre = `#map=${zoom}/${lat}/${lon}`;
|
||||
console.log("prefs", prefs);
|
||||
}
|
||||
if (frontend == 'facil') mapCentre = `#${zoom}/${lat}/${lon}`;
|
||||
|
||||
|
||||
console.log("lat", lat) // vertical
|
||||
console.log("lon", lon) // horizontal
|
||||
console.log("zoom", zoom)
|
||||
|
||||
} else if (url.searchParams.has("center")) {
|
||||
const [lat, lon] = url.searchParams.get("center").split(",");
|
||||
const zoom = url.searchParams.get("zoom") ?? "17";
|
||||
if (frontend == 'osm') {
|
||||
console.log("here");
|
||||
mapCentre = `#map=${zoom}/${lat}/${lon}`;
|
||||
prefs["#map"] = `${zoom}/${lat}/${lon}`;
|
||||
}
|
||||
if (frontend == 'facil') mapCentre = `#${zoom}/${lat}/${lon}`
|
||||
|
||||
console.log("lat", lat)
|
||||
console.log("lon", lon)
|
||||
console.log("zoom", zoom)
|
||||
|
||||
console.log("prefs", prefs);
|
||||
}
|
||||
|
||||
// Set map layer
|
||||
let params = "";
|
||||
if (url.searchParams.get("layer")) {
|
||||
let layer = osmLayers[url.searchParams.get("layer")]
|
||||
params = `&layers=${layer}`;
|
||||
console.log("layer", layer);
|
||||
}
|
||||
|
||||
// Handle Google Maps Embed API
|
||||
if (url.pathname.includes("/embed")) {
|
||||
let query = "";
|
||||
if (url.searchParams.has("q")) query = url.searchParams.get("q");
|
||||
else if (url.searchParams.has("query")) query = url.searchParams.has("query");
|
||||
|
||||
else if (url.searchParams.has("pb"))
|
||||
try { query = url.searchParams.get("pb").split(/!2s(.*?)!/)[1]; }
|
||||
catch (error) { console.error(error); } // Unable to find map marker in URL.
|
||||
|
||||
console.log("query", query);
|
||||
|
||||
let prefs = {};
|
||||
addressToLatLng(
|
||||
query,
|
||||
(coords, boundingbox) => {
|
||||
prefs.bbox = boundingbox;
|
||||
prefs.marker = coords;
|
||||
}
|
||||
);
|
||||
prefs.layer = "mapnik";
|
||||
|
||||
let prefsEncoded = new URLSearchParams(prefs).toString();
|
||||
|
||||
if (frontend == 'osm') redirect = `${randomInstance}/export/embed.html?${prefsEncoded}`;
|
||||
if (frontend == 'facil') redirect = redirect = `${randomInstance}/${mapCentre}/Mpnk`;
|
||||
|
||||
// Handle Google Maps Directions
|
||||
} else if (url.pathname.includes("/dir")) {
|
||||
let prefs = {};
|
||||
|
||||
prefs.engine = travelModes[url.searchParams.get("travelmode")] ?? travelModes["driving"];
|
||||
|
||||
let origin; addressToLatLng(url.searchParams.get("origin"), a => origin = a);
|
||||
let destination; addressToLatLng(url.searchParams.get("destination"), a => destination = a);
|
||||
prefs.route = `${origin};${destination}`;
|
||||
|
||||
let prefsEncoded = new URLSearchParams(prefs).toString();
|
||||
|
||||
if (frontend == 'osm') redirect = `${randomInstance}/directions?${prefsEncoded}`;
|
||||
// ${mapCentre}${params}
|
||||
|
||||
if (frontend == 'facil') {
|
||||
mapCentre = mapCentre ?? '#1/0/0';
|
||||
redirect = redirect = `${randomInstance}/${mapCentre}/Mpnk`
|
||||
}
|
||||
|
||||
// Get marker from data attribute
|
||||
} else if (url.pathname.includes("data=") && url.pathname.match(dataLatLngRegex)) {
|
||||
console.log("data life");
|
||||
const [mlat, mlon] = url.pathname.match(dataLatLngRegex);
|
||||
|
||||
let prefs = {};
|
||||
|
||||
prefs.mlat = mlat.replace("!3d", "");
|
||||
prefs.mlon = mlon.replace("!4d", "");
|
||||
|
||||
let prefsEncoded = new URLSearchParams(prefs).toString();
|
||||
|
||||
// Stil didn't finished nor tested this
|
||||
if (frontend == 'osm') redirect = `${randomInstance}/?${prefsEncoded}${mapCentre}${params}`;
|
||||
|
||||
if (frontend == 'facil') redirect = redirect = `${randomInstance}/${mapCentre}/Mpnk`
|
||||
|
||||
console.log("prefs", prefs);
|
||||
|
||||
// Get marker from ll param
|
||||
} else if (url.searchParams.has("ll")) {
|
||||
let prefs = {};
|
||||
|
||||
const [mlat, mlon] = url.searchParams.get("ll").split(",");
|
||||
|
||||
prefs.mlat = mlat;
|
||||
prefs.mlon = mlon;
|
||||
|
||||
let prefsEncoded = new URLSearchParams(prefs).toString();
|
||||
|
||||
redirect = `${randomInstance}/?${prefsEncoded}${mapCentre}${params}`;
|
||||
|
||||
console.log("prefs", prefs);
|
||||
|
||||
// Get marker from viewpoint param.
|
||||
} else if (url.searchParams.has("viewpoint")) {
|
||||
console.log("viewpoint life");
|
||||
|
||||
const [mlat, mlon] = url.searchParams.get("viewpoint").split(",");
|
||||
|
||||
let prefs = {};
|
||||
prefs.mlat = mlat;
|
||||
prefs.mlon = mlon;
|
||||
|
||||
let prefsEncoded = new URLSearchParams(prefs).toString();
|
||||
|
||||
redirect = `${randomInstance}/?${prefsEncoded}${mapCentre}${params}`;
|
||||
|
||||
console.log("prefs", prefs);
|
||||
|
||||
// Use query as search if present.
|
||||
} else {
|
||||
console.log("normal life")
|
||||
|
||||
let query;
|
||||
if (url.searchParams.has("q")) query = url.searchParams.get("q");
|
||||
else if (url.searchParams.has("query")) query = url.searchParams.get("query");
|
||||
else if (url.pathname.match(placeRegex)) query = url.pathname.match(placeRegex)[1];
|
||||
|
||||
if (frontend == 'osm') {
|
||||
query = query ? `/search?query="${query}` : "";
|
||||
mapCentre = mapCentre ?? '#';
|
||||
redirect = `${randomInstance}${query}${mapCentre}${params}`;
|
||||
}
|
||||
if (frontend == 'facil') {
|
||||
query = query ? `/${query}` : "";
|
||||
mapCentre = mapCentre ?? '#1/0/0';
|
||||
redirect = `${randomInstance}/${mapCentre}/Mpnk${query}`
|
||||
}
|
||||
|
||||
console.log("mapCentre", mapCentre)
|
||||
console.log("query", query)
|
||||
}
|
||||
return redirect;
|
||||
}
|
||||
|
||||
async function init() {
|
||||
return new Promise(
|
||||
resolve => {
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableMaps",
|
||||
"mapsFrontend"
|
||||
],
|
||||
r => {
|
||||
disable = r.disableMaps ?? false
|
||||
frontend = r.mapsFrontend ?? 'osm'
|
||||
resolve();
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
export default {
|
||||
getDisable,
|
||||
setDisable,
|
||||
|
||||
getFrontend,
|
||||
setFrontend,
|
||||
|
||||
redirect,
|
||||
init,
|
||||
};
|
@ -51,68 +51,28 @@ function setRedirects(val) {
|
||||
var index = scribeNormalRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) scribeNormalRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setScribeNormalRedirectsChecks(scribeNormalRedirectsChecks);
|
||||
browser.storage.local.set({ scribeNormalRedirectsChecks })
|
||||
|
||||
for (const item of scribeNormalRedirectsChecks) if (!redirects.scribe.normal.includes(item)) {
|
||||
var index = scribeNormalRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) scribeNormalRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setScribeNormalRedirectsChecks(scribeNormalRedirectsChecks);
|
||||
browser.storage.local.set({ scribeNormalRedirectsChecks })
|
||||
|
||||
for (const item of scribeTorRedirectsChecks) if (!redirects.scribe.normal.includes(item)) {
|
||||
var index = scribeTorRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) scribeTorRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setScribeTorRedirectsChecks(scribeTorRedirectsChecks);
|
||||
browser.storage.local.set({ scribeTorRedirectsChecks })
|
||||
}
|
||||
|
||||
let scribeNormalRedirectsChecks;
|
||||
const getScribeNormalRedirectsChecks = () => scribeNormalRedirectsChecks;
|
||||
function setScribeNormalRedirectsChecks(val) {
|
||||
scribeNormalRedirectsChecks = val;
|
||||
browser.storage.local.set({ scribeNormalRedirectsChecks })
|
||||
console.log("scribeNormalRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let scribeTorRedirectsChecks;
|
||||
const getScribeTorRedirectsChecks = () => scribeTorRedirectsChecks;
|
||||
function setScribeTorRedirectsChecks(val) {
|
||||
scribeTorRedirectsChecks = val;
|
||||
browser.storage.local.set({ scribeTorRedirectsChecks })
|
||||
console.log("scribeTorRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let scribeNormalCustomRedirects = [];
|
||||
const getScribeNormalCustomRedirects = () => scribeNormalCustomRedirects;
|
||||
function setScribeNormalCustomRedirects(val) {
|
||||
scribeNormalCustomRedirects = val;
|
||||
browser.storage.local.set({ scribeNormalCustomRedirects })
|
||||
console.log("scribeNormalCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
let scribeTorCustomRedirects = [];
|
||||
const getScribeTorCustomRedirects = () => scribeTorCustomRedirects;
|
||||
function setScribeTorCustomRedirects(val) {
|
||||
scribeTorCustomRedirects = val;
|
||||
browser.storage.local.set({ scribeTorCustomRedirects })
|
||||
console.log("scribeTorCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
let disable;
|
||||
const getDisable = () => disable;
|
||||
function setDisable(val) {
|
||||
disable = val;
|
||||
browser.storage.local.set({ disableMedium: disable })
|
||||
console.log("disableMedium", disable)
|
||||
}
|
||||
|
||||
let protocol;
|
||||
const getProtocol = () => protocol;
|
||||
function setProtocol(val) {
|
||||
protocol = val;
|
||||
browser.storage.local.set({ mediumProtocol: val });
|
||||
console.log("mediumProtocol: ", val);
|
||||
}
|
||||
|
||||
function redirect(url, type, initiator) {
|
||||
|
||||
@ -162,38 +122,54 @@ function switchInstance(url) {
|
||||
return `${randomInstance}${url.pathname}${url.search}`;
|
||||
}
|
||||
|
||||
async function initDefaults() {
|
||||
return new Promise(async resolve => {
|
||||
fetch('/instances/data.json').then(response => response.text()).then(async data => {
|
||||
let dataJson = JSON.parse(data);
|
||||
redirects.scribe = dataJson.scribe;
|
||||
await browser.storage.local.set({
|
||||
disableMedium: false,
|
||||
mediumRedirects: redirects,
|
||||
scribeNormalRedirectsChecks: [...redirects.scribe.normal],
|
||||
scribeNormalCustomRedirects: [],
|
||||
scribeTorRedirectsChecks: [...redirects.scribe.tor],
|
||||
scribeTorCustomRedirects: [],
|
||||
mediumProtocol: "normal",
|
||||
})
|
||||
resolve();
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
async function init() {
|
||||
return new Promise(resolve => {
|
||||
fetch('/instances/data.json').then(response => response.text()).then(data => {
|
||||
let dataJson = JSON.parse(data);
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableMedium",
|
||||
"mediumRedirects",
|
||||
"scribeNormalRedirectsChecks",
|
||||
"scribeNormalCustomRedirects",
|
||||
"scribeTorRedirectsChecks",
|
||||
"scribeTorCustomRedirects",
|
||||
"mediumProtocol"
|
||||
],
|
||||
r => {
|
||||
disable = r.disableMedium ?? false;
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableMedium",
|
||||
"mediumRedirects",
|
||||
"scribeNormalRedirectsChecks",
|
||||
"scribeNormalCustomRedirects",
|
||||
"scribeTorRedirectsChecks",
|
||||
"scribeTorCustomRedirects",
|
||||
"mediumProtocol"
|
||||
],
|
||||
r => {
|
||||
disable = r.disableMedium;
|
||||
|
||||
protocol = r.mediumProtocol ?? "normal";
|
||||
protocol = r.mediumProtocol;
|
||||
|
||||
redirects.scribe = dataJson.scribe;
|
||||
if (r.mediumRedirects) redirects = r.mediumRedirects;
|
||||
|
||||
scribeNormalRedirectsChecks = r.scribeNormalRedirectsChecks ?? [...redirects.scribe.normal];
|
||||
scribeNormalCustomRedirects = r.scribeNormalCustomRedirects ?? [];
|
||||
redirects = r.mediumRedirects;
|
||||
|
||||
scribeTorRedirectsChecks = r.scribeTorRedirectsChecks ?? [...redirects.scribe.tor];
|
||||
scribeTorCustomRedirects = r.scribeTorCustomRedirects ?? [];
|
||||
scribeNormalRedirectsChecks = r.scribeNormalRedirectsChecks;
|
||||
scribeNormalCustomRedirects = r.scribeNormalCustomRedirects;
|
||||
|
||||
resolve();
|
||||
}
|
||||
)
|
||||
})
|
||||
scribeTorRedirectsChecks = r.scribeTorRedirectsChecks;
|
||||
scribeTorCustomRedirects = r.scribeTorCustomRedirects;
|
||||
|
||||
resolve();
|
||||
}
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
@ -204,23 +180,8 @@ export default {
|
||||
getCustomRedirects,
|
||||
setRedirects,
|
||||
|
||||
getDisable,
|
||||
setDisable,
|
||||
|
||||
getProtocol,
|
||||
setProtocol,
|
||||
|
||||
getScribeNormalRedirectsChecks,
|
||||
setScribeNormalRedirectsChecks,
|
||||
getScribeTorRedirectsChecks,
|
||||
setScribeTorRedirectsChecks,
|
||||
|
||||
getScribeNormalCustomRedirects,
|
||||
setScribeNormalCustomRedirects,
|
||||
getScribeTorCustomRedirects,
|
||||
setScribeTorCustomRedirects,
|
||||
|
||||
redirect,
|
||||
init,
|
||||
initDefaults,
|
||||
switchInstance,
|
||||
};
|
||||
|
@ -11,20 +11,13 @@ let redirects = {
|
||||
"https://tube.fr.tild3.org",
|
||||
"https://stube.alefvanoon.xyz",
|
||||
"https://st.phreedom.club",
|
||||
"https://simpleertube.esmailelbob.xyz",
|
||||
],
|
||||
"tor": []
|
||||
}
|
||||
}
|
||||
|
||||
const getRedirects = () => redirects;
|
||||
const getCustomRedirects = function () {
|
||||
return {
|
||||
"simpleertube": {
|
||||
"normal": [...simpleertubeNormalRedirectsChecks, ...simpleertubeNormalCustomRedirects]
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
function setRedirects(val) {
|
||||
redirects.simpleertube = val;
|
||||
browser.storage.local.set({ peertubeTargetsRedirects: redirects })
|
||||
@ -34,62 +27,24 @@ function setRedirects(val) {
|
||||
var index = simpleertubeNormalRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) simpleertubeNormalRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setSimpleertubeNormalRedirectsChecks(simpleertubeNormalRedirectsChecks);
|
||||
browser.storage.local.set({ simpleertubeNormalRedirectsChecks })
|
||||
|
||||
for (const item of simpleertubeTorRedirectsChecks)
|
||||
if (!redirects.simpleertube.normal.includes(item)) {
|
||||
var index = simpleertubeTorRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) simpleertubeTorRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setSimpleertubeTorRedirectsChecks(simpleertubeTorRedirectsChecks);
|
||||
browser.storage.local.set({ simpleertubeTorRedirectsChecks })
|
||||
}
|
||||
|
||||
let simpleertubeNormalRedirectsChecks;
|
||||
const getSimpleertubeNormalRedirectsChecks = () => simpleertubeNormalRedirectsChecks;
|
||||
function setSimpleertubeNormalRedirectsChecks(val) {
|
||||
simpleertubeNormalRedirectsChecks = val;
|
||||
browser.storage.local.set({ simpleertubeNormalRedirectsChecks })
|
||||
console.log("simpleertubeNormalRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let simpleertubeTorRedirectsChecks;
|
||||
const getSimpleertubeTorRedirectsChecks = () => simpleertubeTorRedirectsChecks;
|
||||
function setSimpleertubeTorRedirectsChecks(val) {
|
||||
simpleertubeTorRedirectsChecks = val;
|
||||
browser.storage.local.set({ simpleertubeTorRedirectsChecks })
|
||||
console.log("simpleertubeTorRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let simpleertubeNormalCustomRedirects = [];
|
||||
const getSimpleertubeNormalCustomRedirects = () => simpleertubeNormalCustomRedirects;
|
||||
function setSimpleertubeNormalCustomRedirects(val) {
|
||||
simpleertubeNormalCustomRedirects = val;
|
||||
browser.storage.local.set({ simpleertubeNormalCustomRedirects })
|
||||
console.log("simpleertubeNormalCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
let simpleertubeTorCustomRedirects = [];
|
||||
const getSimpleertubeTorCustomRedirects = () => simpleertubeTorCustomRedirects;
|
||||
function setSimpleertubeTorCustomRedirects(val) {
|
||||
simpleertubeTorCustomRedirects = val;
|
||||
browser.storage.local.set({ simpleertubeTorCustomRedirects })
|
||||
console.log("simpleertubeTorCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
let disable;
|
||||
const getDisable = () => disable;
|
||||
function setDisable(val) {
|
||||
disable = val;
|
||||
browser.storage.local.set({ disablePeertubeTargets: disable })
|
||||
}
|
||||
|
||||
let protocol;
|
||||
const getProtocol = () => protocol;
|
||||
function setProtocol(val) {
|
||||
protocol = val;
|
||||
browser.storage.local.set({ peertubeTargetsProtocol: val })
|
||||
console.log("peertubeTargetsProtocol: ", val)
|
||||
}
|
||||
|
||||
function switchInstance(url) {
|
||||
let protocolHost = commonHelper.protocolHost(url);
|
||||
@ -138,70 +93,64 @@ function redirect(url, type, initiator) {
|
||||
return `${randomInstance}/${url.host}${url.pathname}${url.search}`;
|
||||
}
|
||||
|
||||
async function initDefaults() {
|
||||
console.log('init peertube defaults')
|
||||
fetch('/instances/data.json').then(response => response.text()).then(async data => {
|
||||
let dataJson = JSON.parse(data);
|
||||
await browser.storage.local.set({
|
||||
peerTubeTargets: ['https://search.joinpeertube.org', ...dataJson.peertube],
|
||||
|
||||
disablePeertubeTargets: true,
|
||||
|
||||
simpleertubeNormalRedirectsChecks: [...redirects.simpleertube.normal],
|
||||
simpleertubeNormalCustomRedirects: [],
|
||||
|
||||
simpleertubeTorRedirectsChecks: [...redirects.simpleertube.tor],
|
||||
simpleertubeTorCustomRedirects: [],
|
||||
|
||||
peertubeTargetsProtocol: "normal",
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
async function init() {
|
||||
return new Promise(resolve => {
|
||||
fetch('/instances/data.json').then(response => response.text()).then(data => {
|
||||
let dataJson = JSON.parse(data);
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disablePeertubeTargets",
|
||||
"peertubeTargetsRedirects",
|
||||
await browser.storage.local.get(
|
||||
[
|
||||
"disablePeertubeTargets",
|
||||
"simpleertubeNormalRedirectsChecks",
|
||||
"simpleertubeNormalCustomRedirects",
|
||||
|
||||
"simpleertubeNormalRedirectsChecks",
|
||||
"simpleertubeNormalCustomRedirects",
|
||||
"simpleertubeTorRedirectsChecks",
|
||||
"simpleertubeTorCustomRedirects",
|
||||
|
||||
"simpleertubeTorRedirectsChecks",
|
||||
"simpleertubeTorCustomRedirects",
|
||||
"peerTubeTargets",
|
||||
|
||||
"peertubeTargetsProtocol"
|
||||
],
|
||||
r => {
|
||||
"peertubeTargetsProtocol"
|
||||
],
|
||||
r => {
|
||||
disable = r.disablePeertubeTargets;
|
||||
|
||||
targets = ['https://search.joinpeertube.org', ...dataJson.peertube];
|
||||
protocol = r.peertubeTargetsProtocol;
|
||||
|
||||
disable = r.disablePeertubeTargets ?? true;
|
||||
targets = r.peerTubeTargets;
|
||||
|
||||
protocol = r.peertubeTargetsProtocol ?? "normal";
|
||||
simpleertubeNormalRedirectsChecks = r.simpleertubeNormalRedirectsChecks;
|
||||
simpleertubeNormalCustomRedirects = r.simpleertubeNormalCustomRedirects;
|
||||
|
||||
if (r.peertubeTargetsRedirects) redirects = r.peertubeTargetsRedirects;
|
||||
|
||||
simpleertubeNormalRedirectsChecks = r.simpleertubeNormalRedirectsChecks ?? [...redirects.simpleertube.normal];
|
||||
simpleertubeNormalCustomRedirects = r.simpleertubeNormalCustomRedirects ?? [];
|
||||
|
||||
simpleertubeTorRedirectsChecks = r.simpleertubeTorRedirectsChecks ?? [...redirects.simpleertube.tor];
|
||||
simpleertubeTorCustomRedirects = r.simpleertubeTorCustomRedirects ?? [];
|
||||
|
||||
resolve();
|
||||
}
|
||||
)
|
||||
});
|
||||
});
|
||||
simpleertubeTorRedirectsChecks = r.simpleertubeTorRedirectsChecks;
|
||||
simpleertubeTorCustomRedirects = r.simpleertubeTorCustomRedirects;
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
export default {
|
||||
|
||||
getRedirects,
|
||||
getCustomRedirects,
|
||||
setRedirects,
|
||||
|
||||
getDisable,
|
||||
setDisable,
|
||||
|
||||
getProtocol,
|
||||
setProtocol,
|
||||
|
||||
getSimpleertubeNormalRedirectsChecks,
|
||||
setSimpleertubeNormalRedirectsChecks,
|
||||
getSimpleertubeTorRedirectsChecks,
|
||||
setSimpleertubeTorRedirectsChecks,
|
||||
|
||||
getSimpleertubeTorCustomRedirects,
|
||||
setSimpleertubeTorCustomRedirects,
|
||||
getSimpleertubeNormalCustomRedirects,
|
||||
setSimpleertubeNormalCustomRedirects,
|
||||
|
||||
switchInstance,
|
||||
|
||||
redirect,
|
||||
initDefaults,
|
||||
init,
|
||||
};
|
||||
|
@ -1,181 +0,0 @@
|
||||
window.browser = window.browser || window.chrome;
|
||||
|
||||
import commonHelper from './common.js'
|
||||
|
||||
const targets = [
|
||||
/^https?:\/{2}(www\.|)pixiv\.net.*/
|
||||
];
|
||||
|
||||
let redirects = {
|
||||
"pixivMoe": {
|
||||
"normal": [
|
||||
"https://pixiv.moe"
|
||||
],
|
||||
"tor": []
|
||||
}
|
||||
}
|
||||
|
||||
const getRedirects = () => redirects;
|
||||
const getCustomRedirects = function () {
|
||||
return {
|
||||
"pixivMoe": {
|
||||
"normal": [...pixivMoeNormalRedirectsChecks, ...pixivMoeNormalCustomRedirects],
|
||||
"tor": []
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
function setRedirects(val) {
|
||||
redirects.pixivMoe = val;
|
||||
browser.storage.local.set({ pixivRedirects: redirects })
|
||||
console.log("pixivRedirects: ", val)
|
||||
for (const item of pixivMoeNormalRedirectsChecks)
|
||||
if (!redirects.pixivMoe.normal.includes(item)) {
|
||||
var index = pixivMoeNormalRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) pixivMoeNormalRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setPixivMoeNormalRedirectsChecks(pixivMoeNormalRedirectsChecks);
|
||||
|
||||
for (const item of pixivMoeTorRedirectsChecks)
|
||||
if (!redirects.pixivMoe.normal.includes(item)) {
|
||||
var index = pixivMoeTorRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) pixivMoeTorRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setPixivMoeTorRedirectsChecks(pixivMoeTorRedirectsChecks);
|
||||
}
|
||||
|
||||
let pixivMoeNormalRedirectsChecks;
|
||||
const getPixivMoeNormalRedirectsChecks = () => pixivMoeNormalRedirectsChecks;
|
||||
function setPixivMoeNormalRedirectsChecks(val) {
|
||||
pixivMoeNormalRedirectsChecks = val;
|
||||
browser.storage.local.set({ pixivMoeNormalRedirectsChecks })
|
||||
console.log("pixivMoeNormalRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let pixivMoeTorRedirectsChecks;
|
||||
const getPixivMoeTorRedirectsChecks = () => pixivMoeTorRedirectsChecks;
|
||||
function setPixivMoeTorRedirectsChecks(val) {
|
||||
pixivMoeTorRedirectsChecks = val;
|
||||
browser.storage.local.set({ pixivMoeTorRedirectsChecks })
|
||||
console.log("pixivMoeTorRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let pixivMoeNormalCustomRedirects = [];
|
||||
const getPixivMoeNormalCustomRedirects = () => pixivMoeNormalCustomRedirects;
|
||||
function setPixivMoeNormalCustomRedirects(val) {
|
||||
pixivMoeNormalCustomRedirects = val;
|
||||
browser.storage.local.set({ pixivMoeNormalCustomRedirects })
|
||||
console.log("pixivMoeNormalCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
let pixivMoeTorCustomRedirects = [];
|
||||
const getPixivMoeTorCustomRedirects = () => pixivMoeTorCustomRedirects;
|
||||
function setPixivMoeTorCustomRedirects(val) {
|
||||
pixivMoeTorCustomRedirects = val;
|
||||
browser.storage.local.set({ pixivMoeTorCustomRedirects })
|
||||
console.log("pixivMoeTorCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
let disable;
|
||||
const getDisable = () => disable;
|
||||
function setDisable(val) {
|
||||
disable = val;
|
||||
browser.storage.local.set({ disablePixiv: disable })
|
||||
console.log("disablePixiv", val);
|
||||
}
|
||||
|
||||
let protocol;
|
||||
const getProtocol = () => protocol;
|
||||
function setProtocol(val) {
|
||||
protocol = val;
|
||||
browser.storage.local.set({ pixivProtocol: val })
|
||||
console.log("pixivProtocol: ", val)
|
||||
}
|
||||
|
||||
function redirect(url, type, initiator) {
|
||||
// https://www.pixiv.net/artworks/96572356
|
||||
// https://www.pixiv.net/en/artworks/96572356
|
||||
// https://pixiv.moe/illust/96572356
|
||||
|
||||
if (disable) return null;
|
||||
if (initiator && ([...redirects.pixivMoe.normal, ...pixivMoeNormalCustomRedirects].includes(initiator.origin) || targets.includes(initiator.host))) return null;
|
||||
if (!targets.some(rx => rx.test(url.href))) return null;
|
||||
console.log("PixivMoe!!");
|
||||
|
||||
if (type != "main_frame" && type != "sub_frame") return null;
|
||||
|
||||
let instancesList;
|
||||
if (protocol == 'normal') instancesList = [...pixivMoeNormalRedirectsChecks, ...pixivMoeNormalCustomRedirects];
|
||||
if (protocol == 'tor') instancesList = [...pixivMoeTorRedirectsChecks, ...pixivMoeTorCustomRedirects];
|
||||
if (instancesList.length === 0) return null;
|
||||
let randomInstance = commonHelper.getRandomInstance(instancesList);
|
||||
|
||||
let pathName = url.pathname
|
||||
.replace('/artworks/', '/illust/')
|
||||
.replace(/\/..\//, '/')
|
||||
|
||||
return `${randomInstance}${pathName}`;
|
||||
}
|
||||
|
||||
async function init() {
|
||||
return new Promise((resolve) => {
|
||||
fetch('/instances/data.json').then(response => response.text()).then(data => {
|
||||
let dataJson = JSON.parse(data);
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disablePixiv",
|
||||
"pixivRedirects",
|
||||
|
||||
"pixivMoeNormalRedirectsChecks",
|
||||
"pixivMoeNormalCustomRedirects",
|
||||
|
||||
"pixivMoeTorRedirectsChecks",
|
||||
"pixivMoeTorCustomRedirects",
|
||||
|
||||
"pixivProtocol"
|
||||
],
|
||||
r => {
|
||||
disable = r.disablePixiv ?? true;
|
||||
|
||||
protocol = r.pixivProtocol ?? "normal";
|
||||
|
||||
if (r.pixivRedirects) redirects = r.pixivRedirects;
|
||||
|
||||
pixivMoeNormalRedirectsChecks = r.pixivMoeNormalRedirectsChecks ?? [...redirects.pixivMoe.normal];
|
||||
pixivMoeNormalCustomRedirects = r.pixivMoeNormalCustomRedirects ?? [];
|
||||
|
||||
pixivMoeTorRedirectsChecks = r.pixivMoeTorRedirectsChecks ?? [...redirects.pixivMoe.tor];
|
||||
pixivMoeTorCustomRedirects = r.pixivMoeTorCustomRedirects ?? [];
|
||||
|
||||
resolve();
|
||||
}
|
||||
)
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
export default {
|
||||
|
||||
getRedirects,
|
||||
getCustomRedirects,
|
||||
setRedirects,
|
||||
|
||||
getDisable,
|
||||
setDisable,
|
||||
|
||||
getProtocol,
|
||||
setProtocol,
|
||||
|
||||
getPixivMoeNormalRedirectsChecks,
|
||||
setPixivMoeNormalRedirectsChecks,
|
||||
getPixivMoeTorRedirectsChecks,
|
||||
setPixivMoeTorRedirectsChecks,
|
||||
|
||||
getPixivMoeTorCustomRedirects,
|
||||
setPixivMoeTorCustomRedirects,
|
||||
getPixivMoeNormalCustomRedirects,
|
||||
setPixivMoeNormalCustomRedirects,
|
||||
|
||||
redirect,
|
||||
init,
|
||||
};
|
@ -15,7 +15,6 @@ let redirects = {
|
||||
"normal": [],
|
||||
"tor": []
|
||||
},
|
||||
"desktop": "https://old.reddit.com", // desktop
|
||||
};
|
||||
const getRedirects = () => redirects;
|
||||
const getCustomRedirects = function () {
|
||||
@ -266,11 +265,6 @@ function redirect(url, type, initiator) {
|
||||
|
||||
if (type !== "main_frame" || url.pathname.match(bypassPaths)) return null;
|
||||
|
||||
if (frontend == 'old' && url.host !== "i.redd.it") {
|
||||
if (url.host == 'old.reddit.com') return;
|
||||
return `${redirects.desktop}${url.pathname}${url.search}`;
|
||||
}
|
||||
|
||||
let libredditInstancesList;
|
||||
let tedditInstancesList;
|
||||
if (protocol == 'normal') {
|
||||
|
@ -28,25 +28,6 @@ let redirects = {
|
||||
}
|
||||
};
|
||||
const getRedirects = () => redirects;
|
||||
const getCustomRedirects = () => {
|
||||
return {
|
||||
"searx": {
|
||||
"normal": [...searxNormalRedirectsChecks, ...searxNormalCustomRedirects],
|
||||
"tor": [...searxTorRedirectsChecks, ...searxTorCustomRedirects],
|
||||
"i2p": [...searxI2pRedirectsChecks, ...searxI2pCustomRedirects]
|
||||
},
|
||||
"searxng": {
|
||||
"normal": [...searxngNormalRedirectsChecks, ...searxngNormalCustomRedirects],
|
||||
"tor": [...searxngTorRedirectsChecks, ...searxngTorCustomRedirects],
|
||||
"i2p": [...searxngI2pRedirectsChecks, ...searxngI2pCustomRedirects]
|
||||
},
|
||||
"whoogle": {
|
||||
"normal": [...whoogleNormalRedirectsChecks, ...whoogleNormalCustomRedirects],
|
||||
"tor": [...whoogleTorRedirectsChecks, ...whoogleTorCustomRedirects],
|
||||
"i2p": [...whoogleI2pRedirectsChecks, ...whoogleI2pCustomRedirects]
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
function setSearxRedirects(val) {
|
||||
redirects.searx = val;
|
||||
@ -56,19 +37,19 @@ function setSearxRedirects(val) {
|
||||
var index = searxNormalRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) searxNormalRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setSearxNormalRedirectsChecks(searxNormalRedirectsChecks);
|
||||
browser.storage.local.set({ searxNormalRedirectsChecks });
|
||||
|
||||
for (const item of searxTorRedirectsChecks) if (!redirects.searx.tor.includes(item)) {
|
||||
var index = searxTorRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) searxTorRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setSearxTorRedirectsChecks(searxTorRedirectsChecks);
|
||||
browser.storage.local.set({ searxTorRedirectsChecks })
|
||||
|
||||
for (const item of searxI2pRedirectsChecks) if (!redirects.searx.i2p.includes(item)) {
|
||||
var index = searxI2pRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) searxI2pRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setSearxI2pRedirectsChecks(searxI2pRedirectsChecks);
|
||||
browser.storage.local.set({ searxI2pRedirectsChecks });
|
||||
}
|
||||
|
||||
function setSearxngRedirects(val) {
|
||||
@ -79,19 +60,19 @@ function setSearxngRedirects(val) {
|
||||
var index = searxngNormalRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) searxngNormalRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setSearxngNormalRedirectsChecks(searxngNormalRedirectsChecks);
|
||||
browser.storage.local.set({ searxngNormalRedirectsChecks })
|
||||
|
||||
for (const item of searxngTorRedirectsChecks) if (!redirects.searxng.tor.includes(item)) {
|
||||
var index = searxngTorRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) searxngTorRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setSearxngTorRedirectsChecks(searxngTorRedirectsChecks);
|
||||
browser.storage.local.set({ searxngTorRedirectsChecks });
|
||||
|
||||
for (const item of searxngI2pRedirectsChecks) if (!redirects.searxng.i2p.includes(item)) {
|
||||
var index = searxngI2pRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) searxngI2pRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setSearxngI2pRedirectsChecks(searxngI2pRedirectsChecks);
|
||||
browser.storage.local.set({ searxngI2pRedirectsChecks })
|
||||
}
|
||||
|
||||
function setWhoogleRedirects(val) {
|
||||
@ -102,188 +83,49 @@ function setWhoogleRedirects(val) {
|
||||
var index = whoogleNormalRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) whoogleNormalRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setWhoogleNormalRedirectsChecks(whoogleNormalRedirectsChecks);
|
||||
browser.storage.local.set({ whoogleNormalRedirectsChecks })
|
||||
|
||||
for (const item of whoogleTorRedirectsChecks) if (!redirects.whoogle.tor.includes(item)) {
|
||||
var index = whoogleTorRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) whoogleTorRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setWhoogleTorRedirectsChecks(whoogleTorRedirectsChecks);
|
||||
browser.storage.local.set({ whoogleTorRedirectsChecks })
|
||||
|
||||
for (const item of whoogleI2pRedirectsChecks) if (!redirects.whoogle.i2p.includes(item)) {
|
||||
var index = whoogleI2pRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) whoogleI2pRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setWhoogleI2pRedirectsChecks(whoogleI2pRedirectsChecks);
|
||||
}
|
||||
|
||||
let whoogleNormalRedirectsChecks;
|
||||
const getWhoogleNormalRedirectsChecks = () => whoogleNormalRedirectsChecks;
|
||||
function setWhoogleNormalRedirectsChecks(val) {
|
||||
whoogleNormalRedirectsChecks = val;
|
||||
browser.storage.local.set({ whoogleNormalRedirectsChecks })
|
||||
console.log("whoogleNormalRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let whoogleI2pRedirectsChecks;
|
||||
const getWhoogleI2pRedirectsChecks = () => whoogleI2pRedirectsChecks;
|
||||
function setWhoogleI2pRedirectsChecks(val) {
|
||||
whoogleI2pRedirectsChecks = val;
|
||||
browser.storage.local.set({ whoogleI2pRedirectsChecks })
|
||||
console.log("whoogleI2pRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let whoogleTorRedirectsChecks;
|
||||
const getWhoogleTorRedirectsChecks = () => whoogleTorRedirectsChecks;
|
||||
function setWhoogleTorRedirectsChecks(val) {
|
||||
whoogleTorRedirectsChecks = val;
|
||||
browser.storage.local.set({ whoogleTorRedirectsChecks })
|
||||
console.log("whoogleTorRedirectsChecks: ", val)
|
||||
}
|
||||
let
|
||||
searxNormalRedirectsChecks,
|
||||
searxI2pRedirectsChecks,
|
||||
searxTorRedirectsChecks,
|
||||
|
||||
let whoogleNormalCustomRedirects = [];
|
||||
const getWhoogleNormalCustomRedirects = () => whoogleNormalCustomRedirects;
|
||||
function setWhoogleNormalCustomRedirects(val) {
|
||||
whoogleNormalCustomRedirects = val;
|
||||
browser.storage.local.set({ whoogleNormalCustomRedirects })
|
||||
console.log("whoogleNormalCustomRedirects: ", val)
|
||||
}
|
||||
searxNormalCustomRedirects,
|
||||
searxTorCustomRedirects,
|
||||
searxI2pCustomRedirects,
|
||||
|
||||
let whoogleI2pCustomRedirects = [];
|
||||
const getWhoogleI2pCustomRedirects = () => whoogleI2pCustomRedirects;
|
||||
function setWhoogleI2pCustomRedirects(val) {
|
||||
whoogleI2pCustomRedirects = val;
|
||||
browser.storage.local.set({ whoogleI2pCustomRedirects })
|
||||
console.log("whoogleI2pCustomRedirects: ", val)
|
||||
}
|
||||
searxngNormalRedirectsChecks,
|
||||
searxngI2pRedirectsChecks,
|
||||
searxngTorRedirectsChecks,
|
||||
|
||||
let whoogleTorCustomRedirects = [];
|
||||
const getWhoogleTorCustomRedirects = () => whoogleTorCustomRedirects;
|
||||
function setWhoogleTorCustomRedirects(val) {
|
||||
whoogleTorCustomRedirects = val;
|
||||
browser.storage.local.set({ whoogleTorCustomRedirects })
|
||||
console.log("whoogleTorCustomRedirects: ", val)
|
||||
}
|
||||
searxngNormalCustomRedirects,
|
||||
searxngTorCustomRedirects,
|
||||
searxngI2pCustomRedirects,
|
||||
|
||||
let searxNormalRedirectsChecks;
|
||||
const getSearxNormalRedirectsChecks = () => searxNormalRedirectsChecks;
|
||||
function setSearxNormalRedirectsChecks(val) {
|
||||
searxNormalRedirectsChecks = val;
|
||||
browser.storage.local.set({ searxNormalRedirectsChecks })
|
||||
console.log("searxNormalRedirectsChecks: ", val)
|
||||
}
|
||||
whoogleNormalRedirectsChecks,
|
||||
whoogleI2pRedirectsChecks,
|
||||
whoogleTorRedirectsChecks,
|
||||
|
||||
let searxI2pRedirectsChecks;
|
||||
const getSearxI2pRedirectsChecks = () => searxI2pRedirectsChecks;
|
||||
function setSearxI2pRedirectsChecks(val) {
|
||||
searxI2pRedirectsChecks = val;
|
||||
browser.storage.local.set({ searxI2pRedirectsChecks })
|
||||
console.log("searxI2pRedirectsChecks: ", val)
|
||||
}
|
||||
whoogleNormalCustomRedirects,
|
||||
whoogleTorCustomRedirects,
|
||||
whoogleI2pCustomRedirects;
|
||||
|
||||
let searxTorRedirectsChecks;
|
||||
const getSearxTorRedirectsChecks = () => searxTorRedirectsChecks;
|
||||
function setSearxTorRedirectsChecks(val) {
|
||||
searxTorRedirectsChecks = val;
|
||||
browser.storage.local.set({ searxTorRedirectsChecks })
|
||||
console.log("searxTorRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let searxNormalCustomRedirects = [];
|
||||
const getSearxNormalCustomRedirects = () => searxNormalCustomRedirects;
|
||||
function setSearxNormalCustomRedirects(val) {
|
||||
searxNormalCustomRedirects = val;
|
||||
browser.storage.local.set({ searxNormalCustomRedirects })
|
||||
console.log("searxNormalCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
let searxI2pCustomRedirects = [];
|
||||
const getSearxI2pCustomRedirects = () => searxI2pCustomRedirects;
|
||||
function setSearxI2pCustomRedirects(val) {
|
||||
searxI2pCustomRedirects = val;
|
||||
browser.storage.local.set({ searxI2pCustomRedirects })
|
||||
console.log("searxI2pCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
let searxTorCustomRedirects = [];
|
||||
const getSearxTorCustomRedirects = () => searxTorCustomRedirects;
|
||||
function setSearxTorCustomRedirects(val) {
|
||||
searxTorCustomRedirects = val;
|
||||
browser.storage.local.set({ searxTorCustomRedirects })
|
||||
console.log("searxTorCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
let searxngNormalRedirectsChecks;
|
||||
const getSearxngNormalRedirectsChecks = () => searxngNormalRedirectsChecks;
|
||||
function setSearxngNormalRedirectsChecks(val) {
|
||||
searxngNormalRedirectsChecks = val;
|
||||
browser.storage.local.set({ searxngNormalRedirectsChecks })
|
||||
console.log("searxngNormalRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let searxngI2pRedirectsChecks;
|
||||
const getSearxngI2pRedirectsChecks = () => searxngI2pRedirectsChecks;
|
||||
function setSearxngI2pRedirectsChecks(val) {
|
||||
searxngI2pRedirectsChecks = val;
|
||||
browser.storage.local.set({ searxngI2pRedirectsChecks })
|
||||
console.log("searxngI2pRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let searxngTorRedirectsChecks;
|
||||
const getSearxngTorRedirectsChecks = () => searxngTorRedirectsChecks;
|
||||
function setSearxngTorRedirectsChecks(val) {
|
||||
searxngTorRedirectsChecks = val;
|
||||
browser.storage.local.set({ searxngTorRedirectsChecks })
|
||||
console.log("searxngTorRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let searxngNormalCustomRedirects = [];
|
||||
const getSearxngNormalCustomRedirects = () => searxngNormalCustomRedirects;
|
||||
function setSearxngNormalCustomRedirects(val) {
|
||||
searxngNormalCustomRedirects = val;
|
||||
browser.storage.local.set({ searxngNormalCustomRedirects })
|
||||
console.log("searxngNormalCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
let searxngI2pCustomRedirects = [];
|
||||
const getSearxngI2pCustomRedirects = () => searxngI2pCustomRedirects;
|
||||
function setSearxngI2pCustomRedirects(val) {
|
||||
searxngI2pCustomRedirects = val;
|
||||
browser.storage.local.set({ searxngI2pCustomRedirects })
|
||||
console.log("searxngI2pCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
let searxngTorCustomRedirects = [];
|
||||
const getSearxngTorCustomRedirects = () => searxngTorCustomRedirects;
|
||||
function setSearxngTorCustomRedirects(val) {
|
||||
searxngTorCustomRedirects = val;
|
||||
browser.storage.local.set({ searxngTorCustomRedirects })
|
||||
console.log("searxngTorCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
let disable;
|
||||
const getDisable = () => disable;
|
||||
function setDisable(val) {
|
||||
disable = val;
|
||||
browser.storage.local.set({ disableSearch: disable })
|
||||
console.log("disableSearch: ", disable)
|
||||
}
|
||||
|
||||
let frontend;
|
||||
const getFrontend = () => frontend;
|
||||
function setFrontend(val) {
|
||||
frontend = val;
|
||||
browser.storage.local.set({ searchFrontend: frontend })
|
||||
console.log("searchFrontend: ", frontend)
|
||||
};
|
||||
|
||||
let protocol;
|
||||
const getProtocol = () => protocol;
|
||||
function setProtocol(val) {
|
||||
protocol = val;
|
||||
browser.storage.local.set({ searchProtocol: val })
|
||||
console.log("searchProtocol: ", val)
|
||||
}
|
||||
let disable; // disableSearch
|
||||
let frontend; // searchFrontend
|
||||
let protocol; // searchProtocol
|
||||
|
||||
let theme;
|
||||
let applyThemeToSites;
|
||||
@ -309,73 +151,18 @@ function initSearxngCookies() {
|
||||
if (theme == 'light') themeValue = 'logicodev';
|
||||
if (theme == 'dark') themeValue = 'logicodev-dark';
|
||||
if (applyThemeToSites && themeValue) {
|
||||
let allInstances = [...redirects.searxng.normal, ...redirects.searxng.tor, ...redirects.searxng.i2p, ...searxngNormalCustomRedirects, ...searxngTorCustomRedirects, ...searxngI2pCustomRedirects];
|
||||
let checkedInstances = [...searxngNormalRedirectsChecks, ...searxngNormalCustomRedirects, ...searxngTorRedirectsChecks, ...searxngTorCustomRedirects, ...searxngI2pRedirectsChecks, ...searxngI2pCustomRedirects];
|
||||
for (const instanceUrl of allInstances)
|
||||
if (!checkedInstances.includes(instanceUrl)) {
|
||||
browser.cookies.remove({
|
||||
url: instanceUrl,
|
||||
name: "oscar-style",
|
||||
})
|
||||
browser.cookies.remove({
|
||||
url: instanceUrl,
|
||||
name: "oscar",
|
||||
})
|
||||
}
|
||||
let checkedInstances;
|
||||
if (protocol == 'normal') checkedInstances = [...searxngNormalRedirectsChecks, ...searxngNormalCustomRedirects];
|
||||
else if (protocol == 'tor') checkedInstances = [...searxngTorRedirectsChecks, ...searxngTorCustomRedirects];
|
||||
else if (protocol == 'i2p') checkedInstances = [...searxngI2pRedirectsChecks, ...searxngI2pCustomRedirects];
|
||||
|
||||
for (const instanceUrl of checkedInstances) {
|
||||
browser.cookies.set({
|
||||
url: instanceUrl,
|
||||
name: "oscar-style",
|
||||
value: themeValue
|
||||
})
|
||||
browser.cookies.set({
|
||||
url: instanceUrl,
|
||||
name: "theme",
|
||||
value: 'oscar'
|
||||
})
|
||||
browser.cookies.set({ url: instanceUrl, name: "oscar-style", value: themeValue })
|
||||
browser.cookies.set({ url: instanceUrl, name: "theme", value: 'oscar' })
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function initWhoogleCookies() {
|
||||
let checkedInstances = [...whoogleNormalRedirectsChecks, ...whoogleNormalCustomRedirects, ...whoogleTorRedirectsChecks, ...whoogleTorCustomRedirects, ...whoogleI2pRedirectsChecks, ...whoogleI2pCustomRedirects];
|
||||
|
||||
// for (const item of checkedInstances) {
|
||||
let request = new XMLHttpRequest();
|
||||
// request.open("POST", `${item}/config`);
|
||||
browser.cookies.get(
|
||||
{
|
||||
url: 'http://0.0.0.0:5000',
|
||||
name: "session"
|
||||
},
|
||||
cookie => {
|
||||
request.open("POST", 'http://0.0.0.0:5000/config');
|
||||
request.withCredentials = true;
|
||||
|
||||
let data = `country=&lang_interface=&lang_search=&near=&block=&block_title=&block_url=&theme=light&url=http%3A%2F%2F0.0.0.0%3A5000%2F&style=++++++++++++++++++++++++++++++++%2F*+Colors+*%2F%0D%0A%3Aroot+%7B%0D%0A++++%2F*+LIGHT+THEME+COLORS+*%2F%0D%0A++++--whoogle-logo%3A+%23685e79%3B%0D%0A++++--whoogle-page-bg%3A+%23ffffff%3B%0D%0A++++--whoogle-element-bg%3A+%234285f4%3B%0D%0A++++--whoogle-text%3A+%23000000%3B%0D%0A++++--whoogle-contrast-text%3A+%23ffffff%3B%0D%0A++++--whoogle-secondary-text%3A+%2370757a%3B%0D%0A++++--whoogle-result-bg%3A+%23ffffff%3B%0D%0A++++--whoogle-result-title%3A+%231967d2%3B%0D%0A++++--whoogle-result-url%3A+%230d652d%3B%0D%0A++++--whoogle-result-visited%3A+%234b11a8%3B%0D%0A%0D%0A++++%2F*+DARK+THEME+COLORS+*%2F%0D%0A++++--whoogle-dark-logo%3A+%23685e79%3B%0D%0A++++--whoogle-dark-page-bg%3A+%23101020%3B%0D%0A++++--whoogle-dark-element-bg%3A+%234285f4%3B%0D%0A++++--whoogle-dark-text%3A+%23ffffff%3B%0D%0A++++--whoogle-dark-contrast-text%3A+%23ffffff%3B%0D%0A++++--whoogle-dark-secondary-text%3A+%23bbbbbb%3B%0D%0A++++--whoogle-dark-result-bg%3A+%23212131%3B%0D%0A++++--whoogle-dark-result-title%3A+%2364a7f6%3B%0D%0A++++--whoogle-dark-result-url%3A+%2334a853%3B%0D%0A++++--whoogle-dark-result-visited%3A+%23bbbbff%3B%0D%0A%7D%0D%0A%0D%0A%23whoogle-w+%7B%0D%0A++++fill%3A+%234285f4%3B%0D%0A%7D%0D%0A%0D%0A%23whoogle-h+%7B%0D%0A++++fill%3A+%23ea4335%3B%0D%0A%7D%0D%0A%0D%0A%23whoogle-o-1+%7B%0D%0A++++fill%3A+%23fbbc05%3B%0D%0A%7D%0D%0A%0D%0A%23whoogle-o-2+%7B%0D%0A++++fill%3A+%234285f4%3B%0D%0A%7D%0D%0A%0D%0A%23whoogle-g+%7B%0D%0A++++fill%3A+%2334a853%3B%0D%0A%7D%0D%0A%0D%0A%23whoogle-l+%7B%0D%0A++++fill%3A+%23ea4335%3B%0D%0A%7D%0D%0A%0D%0A%23whoogle-e+%7B%0D%0A++++fill%3A+%23fbbc05%3B%0D%0A%7D%0D%0A%0D%0A++++++++++++++++++++++++++++`;
|
||||
// let data = prefsStyle + prefsTheme;
|
||||
console.log(data);
|
||||
request.onreadystatechange = () => {
|
||||
if (request.readyState === XMLHttpRequest.DONE)
|
||||
console.log(request.responseText)
|
||||
};
|
||||
request.send(data);
|
||||
})
|
||||
|
||||
|
||||
// let prefsStyle = `style=${encodeURIComponent('":root{--whoogle-logo:#685e79;--whoogle-page-bg:#fff;--whoogle-element-bg:#4285f4;--whoogle-text:#000;--whoogle-contrast-text:#fff;--whoogle-secondary-text:#70757a;--whoogle-result-bg:#fff;--whoogle-result-title:#1967d2;--whoogle-result-url:#0d652d;--whoogle-result-visited:#4b11a8;--whoogle-dark-logo:#685e79;--whoogle-dark-page-bg:#101020;--whoogle-dark-element-bg:#4285f4;--whoogle-dark-text:#fff;--whoogle-dark-contrast-text:#fff;--whoogle-dark-secondary-text:#bbb;--whoogle-dark-result-bg:#212131;--whoogle-dark-result-title:#64a7f6;--whoogle-dark-result-url:#34a853;--whoogle-dark-result-visited:#bbf}#whoogle-w{fill:#4285f4}#whoogle-h{fill:#ea4335}#whoogle-o-1{fill:#fbbc05}#whoogle-o-2{fill:#4285f4}#whoogle-g{fill:#34a853}#whoogle-l{fill:#ea4335}#whoogle-e{fill:#fbbc05}"')}`;
|
||||
|
||||
// {"style": ":root{--whoogle-logo:#685e79;--whoogle-page-bg:#fff;--whoogle-element-bg:#4285f4;--whoogle-text:#000;--whoogle-contrast-text:#fff;--whoogle-secondary-text:#70757a;--whoogle-result-bg:#fff;--whoogle-result-title:#1967d2;--whoogle-result-url:#0d652d;--whoogle-result-visited:#4b11a8;--whoogle-dark-logo:#685e79;--whoogle-dark-page-bg:#101020;--whoogle-dark-element-bg:#4285f4;--whoogle-dark-text:#fff;--whoogle-dark-contrast-text:#fff;--whoogle-dark-secondary-text:#bbb;--whoogle-dark-result-bg:#212131;--whoogle-dark-result-title:#64a7f6;--whoogle-dark-result-url:#34a853;--whoogle-dark-result-visited:#bbf}#whoogle-w{fill:#4285f4}#whoogle-h{fill:#ea4335}#whoogle-o-1{fill:#fbbc05}#whoogle-o-2{fill:#4285f4}#whoogle-g{fill:#34a853}#whoogle-l{fill:#ea4335}#whoogle-e{fill:#fbbc05}",
|
||||
// "theme":"dark"
|
||||
// }
|
||||
|
||||
// let prefsStyle = `style=${encodeURIComponent('')}`;
|
||||
// let prefsTheme = "";
|
||||
// if (applyThemeToSites && theme != "DEFAULT") prefsTheme = `&theme=${encodeURIComponent(theme)}`;
|
||||
|
||||
// }
|
||||
}
|
||||
|
||||
function redirect(url) {
|
||||
if (disable) return;
|
||||
if (!targets.some(rx => rx.test(url.href))) return;
|
||||
@ -403,7 +190,7 @@ function redirect(url) {
|
||||
path = "/";
|
||||
}
|
||||
else if (frontend == 'whoogle') {
|
||||
let instancesList
|
||||
let instancesList;
|
||||
if (protocol == 'normal') instancesList = [...whoogleNormalRedirectsChecks, ...whoogleNormalCustomRedirects];
|
||||
if (protocol == 'tor') instancesList = [...whoogleTorRedirectsChecks, ...whoogleTorCustomRedirects];
|
||||
if (protocol == 'i2p') instancesList = [...whoogleI2pRedirectsChecks, ...whoogleI2pCustomRedirects];
|
||||
@ -419,7 +206,14 @@ function redirect(url) {
|
||||
|
||||
let searchQuery = "";
|
||||
|
||||
if ((url.hostname.includes('google') || url.hostname.includes('bing') || url.hostname.includes('libredirect.invalid')) && url.searchParams.has('q')) searchQuery = `?q=${url.searchParams.get('q')}`;
|
||||
if (
|
||||
(
|
||||
url.hostname.includes('google') ||
|
||||
url.hostname.includes('bing') ||
|
||||
url.hostname.includes('libredirect.invalid')
|
||||
) &&
|
||||
url.searchParams.has('q')
|
||||
) searchQuery = `?q=${url.searchParams.get('q')}`;
|
||||
if (url.hostname.includes('yandex') && url.searchParams.has('text')) searchQuery = `?q=${url.searchParams.get('text')}`;
|
||||
|
||||
return `${randomInstance}${path}${searchQuery}`;
|
||||
@ -483,165 +277,143 @@ function switchInstance(url) {
|
||||
return `${randomInstance}${url.pathname}${url.search}`;
|
||||
}
|
||||
|
||||
async function initDefaults() {
|
||||
await fetch('/instances/data.json').then(response => response.text()).then(async data => {
|
||||
let dataJson = JSON.parse(data);
|
||||
redirects.searx = dataJson.searx;
|
||||
redirects.searxng = dataJson.searxng;
|
||||
redirects.whoogle = dataJson.whoogle;
|
||||
await browser.storage.local.set({
|
||||
disableSearch: false,
|
||||
searchFrontend: 'searxng',
|
||||
searchRedirects: redirects,
|
||||
|
||||
whoogleNormalRedirectsChecks: [...redirects.whoogle.normal],
|
||||
whoogleNormalCustomRedirects: [],
|
||||
|
||||
whoogleTorRedirectsChecks: [...redirects.whoogle.tor],
|
||||
whoogleTorCustomRedirects: [],
|
||||
|
||||
whoogleI2pRedirectsChecks: [...redirects.whoogle.i2p],
|
||||
whoogleI2pCustomRedirects: [],
|
||||
|
||||
searxNormalRedirectsChecks: [...redirects.searx.normal],
|
||||
searxNormalCustomRedirects: [],
|
||||
|
||||
searxTorRedirectsChecks: [...redirects.searx.tor],
|
||||
searxTorCustomRedirects: [],
|
||||
|
||||
searxI2pRedirectsChecks: [...redirects.searx.i2p],
|
||||
searxI2pCustomRedirects: [],
|
||||
|
||||
searxngNormalRedirectsChecks: [...redirects.searxng.normal],
|
||||
searxngNormalCustomRedirects: [],
|
||||
|
||||
searxngTorRedirectsChecks: [...redirects.searxng.tor],
|
||||
searxngTorCustomRedirects: [],
|
||||
|
||||
searxngI2pRedirectsChecks: [...redirects.searxng.i2p],
|
||||
searxngI2pCustomRedirects: [],
|
||||
|
||||
theme: 'DEFAULT',
|
||||
applyThemeToSites: false,
|
||||
|
||||
searchProtocol: 'normal',
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
async function init() {
|
||||
return new Promise(resolve => {
|
||||
fetch('/instances/data.json').then(response => response.text()).then(data => {
|
||||
let dataJson = JSON.parse(data);
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableSearch",
|
||||
"searchFrontend",
|
||||
"searchRedirects",
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableSearch",
|
||||
"searchFrontend",
|
||||
"searchRedirects",
|
||||
|
||||
"whoogleNormalRedirectsChecks",
|
||||
"whoogleNormalCustomRedirects",
|
||||
"whoogleNormalRedirectsChecks",
|
||||
"whoogleNormalCustomRedirects",
|
||||
|
||||
"whoogleTorRedirectsChecks",
|
||||
"whoogleTorCustomRedirects",
|
||||
"whoogleTorRedirectsChecks",
|
||||
"whoogleTorCustomRedirects",
|
||||
|
||||
"whoogleI2pRedirectsChecks",
|
||||
"whoogleI2pCustomRedirects",
|
||||
"whoogleI2pRedirectsChecks",
|
||||
"whoogleI2pCustomRedirects",
|
||||
|
||||
"searxNormalRedirectsChecks",
|
||||
"searxNormalCustomRedirects",
|
||||
"searxNormalRedirectsChecks",
|
||||
"searxNormalCustomRedirects",
|
||||
|
||||
"searxTorRedirectsChecks",
|
||||
"searxTorCustomRedirects",
|
||||
"searxTorRedirectsChecks",
|
||||
"searxTorCustomRedirects",
|
||||
|
||||
"searxI2pRedirectsChecks",
|
||||
"searxI2pCustomRedirects",
|
||||
"searxI2pRedirectsChecks",
|
||||
"searxI2pCustomRedirects",
|
||||
|
||||
"searxngNormalRedirectsChecks",
|
||||
"searxngNormalCustomRedirects",
|
||||
"searxngNormalRedirectsChecks",
|
||||
"searxngNormalCustomRedirects",
|
||||
|
||||
"searxngTorRedirectsChecks",
|
||||
"searxngTorCustomRedirects",
|
||||
"searxngTorRedirectsChecks",
|
||||
"searxngTorCustomRedirects",
|
||||
|
||||
"searxngI2pRedirectsChecks",
|
||||
"searxngI2pCustomRedirects",
|
||||
"searxngI2pRedirectsChecks",
|
||||
"searxngI2pCustomRedirects",
|
||||
|
||||
"theme",
|
||||
"applyThemeToSites",
|
||||
"theme",
|
||||
"applyThemeToSites",
|
||||
|
||||
"searchProtocol",
|
||||
],
|
||||
r => {
|
||||
disable = r.disableSearch ?? false;
|
||||
"searchProtocol",
|
||||
],
|
||||
r => {
|
||||
disable = r.disableSearch;
|
||||
protocol = r.searchProtocol;
|
||||
frontend = r.searchFrontend;
|
||||
|
||||
protocol = r.searchProtocol ?? 'normal';
|
||||
theme = r.theme;
|
||||
applyThemeToSites = r.applyThemeToSites;
|
||||
|
||||
frontend = r.searchFrontend ?? 'searxng';
|
||||
redirects = r.searchRedirects;
|
||||
|
||||
theme = r.theme ?? 'DEFAULT';
|
||||
applyThemeToSites = r.applyThemeToSites ?? false;
|
||||
whoogleNormalRedirectsChecks = r.whoogleNormalRedirectsChecks;
|
||||
whoogleNormalCustomRedirects = r.whoogleNormalCustomRedirects;
|
||||
|
||||
redirects.searx = dataJson.searx;
|
||||
redirects.searxng = dataJson.searxng;
|
||||
redirects.whoogle = dataJson.whoogle;
|
||||
if (r.searchRedirects) redirects = r.searchRedirects;
|
||||
whoogleTorRedirectsChecks = r.whoogleTorRedirectsChecks;
|
||||
whoogleTorCustomRedirects = r.whoogleTorCustomRedirects;
|
||||
|
||||
whoogleNormalRedirectsChecks = r.whoogleNormalRedirectsChecks ?? [...redirects.whoogle.normal];
|
||||
whoogleNormalCustomRedirects = r.whoogleNormalCustomRedirects ?? [];
|
||||
whoogleI2pRedirectsChecks = r.whoogleI2pRedirectsChecks;
|
||||
whoogleI2pCustomRedirects = r.whoogleI2pCustomRedirects;
|
||||
|
||||
whoogleTorRedirectsChecks = r.whoogleTorRedirectsChecks ?? [...redirects.whoogle.tor];
|
||||
whoogleTorCustomRedirects = r.whoogleTorCustomRedirects ?? [];
|
||||
searxNormalRedirectsChecks = r.searxNormalRedirectsChecks;
|
||||
searxNormalCustomRedirects = r.searxNormalCustomRedirects;
|
||||
|
||||
whoogleI2pRedirectsChecks = r.whoogleI2pRedirectsChecks ?? [...redirects.whoogle.i2p];
|
||||
whoogleI2pCustomRedirects = r.whoogleI2pCustomRedirects ?? [];
|
||||
searxTorRedirectsChecks = r.searxTorRedirectsChecks;
|
||||
searxTorCustomRedirects = r.searxTorCustomRedirects;
|
||||
|
||||
searxNormalRedirectsChecks = r.searxNormalRedirectsChecks ?? [...redirects.searx.normal];
|
||||
searxNormalCustomRedirects = r.searxNormalCustomRedirects ?? [];
|
||||
searxI2pRedirectsChecks = r.searxI2pRedirectsChecks;
|
||||
searxI2pCustomRedirects = r.searxI2pCustomRedirects;
|
||||
|
||||
searxTorRedirectsChecks = r.searxTorRedirectsChecks ?? [...redirects.searx.tor];
|
||||
searxTorCustomRedirects = r.searxTorCustomRedirects ?? [];
|
||||
searxngNormalRedirectsChecks = r.searxngNormalRedirectsChecks;
|
||||
searxngNormalCustomRedirects = r.searxngNormalCustomRedirects;
|
||||
|
||||
searxI2pRedirectsChecks = r.searxI2pRedirectsChecks ?? [...redirects.searx.i2p];
|
||||
searxI2pCustomRedirects = r.searxI2pCustomRedirects ?? [];
|
||||
searxngTorRedirectsChecks = r.searxngTorRedirectsChecks;
|
||||
searxngTorCustomRedirects = r.searxngTorCustomRedirects;
|
||||
|
||||
searxngNormalRedirectsChecks = r.searxngNormalRedirectsChecks ?? [...redirects.searxng.normal];
|
||||
searxngNormalCustomRedirects = r.searxngNormalCustomRedirects ?? [];
|
||||
|
||||
searxngTorRedirectsChecks = r.searxngTorRedirectsChecks ?? [...redirects.searxng.tor];
|
||||
searxngTorCustomRedirects = r.searxngTorCustomRedirects ?? [];
|
||||
|
||||
searxngI2pRedirectsChecks = r.searxngI2pRedirectsChecks ?? [...redirects.searxng.i2p];
|
||||
searxngI2pCustomRedirects = r.searxngI2pCustomRedirects ?? [];
|
||||
|
||||
initSearxCookies()
|
||||
initSearxngCookies()
|
||||
// initWhoogleCookies()
|
||||
|
||||
resolve();
|
||||
}
|
||||
);
|
||||
});
|
||||
});
|
||||
searxngI2pRedirectsChecks = r.searxngI2pRedirectsChecks;
|
||||
searxngI2pCustomRedirects = r.searxngI2pCustomRedirects;
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
export default {
|
||||
|
||||
getDisable,
|
||||
setDisable,
|
||||
|
||||
getRedirects,
|
||||
getCustomRedirects,
|
||||
|
||||
setSearxRedirects,
|
||||
setSearxngRedirects,
|
||||
setWhoogleRedirects,
|
||||
|
||||
getFrontend,
|
||||
setFrontend,
|
||||
|
||||
getWhoogleNormalRedirectsChecks,
|
||||
setWhoogleNormalRedirectsChecks,
|
||||
getWhoogleNormalCustomRedirects,
|
||||
setWhoogleNormalCustomRedirects,
|
||||
|
||||
getWhoogleTorRedirectsChecks,
|
||||
setWhoogleTorRedirectsChecks,
|
||||
getWhoogleTorCustomRedirects,
|
||||
setWhoogleTorCustomRedirects,
|
||||
|
||||
getWhoogleI2pRedirectsChecks,
|
||||
setWhoogleI2pRedirectsChecks,
|
||||
getWhoogleI2pCustomRedirects,
|
||||
setWhoogleI2pCustomRedirects,
|
||||
|
||||
getSearxNormalRedirectsChecks,
|
||||
setSearxNormalRedirectsChecks,
|
||||
getSearxNormalCustomRedirects,
|
||||
setSearxNormalCustomRedirects,
|
||||
|
||||
getSearxTorRedirectsChecks,
|
||||
setSearxTorRedirectsChecks,
|
||||
getSearxTorCustomRedirects,
|
||||
setSearxTorCustomRedirects,
|
||||
|
||||
getSearxI2pRedirectsChecks,
|
||||
setSearxI2pRedirectsChecks,
|
||||
getSearxI2pCustomRedirects,
|
||||
setSearxI2pCustomRedirects,
|
||||
|
||||
getSearxngNormalRedirectsChecks,
|
||||
setSearxngNormalRedirectsChecks,
|
||||
getSearxngNormalCustomRedirects,
|
||||
setSearxngNormalCustomRedirects,
|
||||
|
||||
getSearxngTorRedirectsChecks,
|
||||
setSearxngTorRedirectsChecks,
|
||||
getSearxngTorCustomRedirects,
|
||||
setSearxngTorCustomRedirects,
|
||||
|
||||
getSearxngI2pRedirectsChecks,
|
||||
setSearxngI2pRedirectsChecks,
|
||||
getSearxngI2pCustomRedirects,
|
||||
setSearxngI2pCustomRedirects,
|
||||
|
||||
getProtocol,
|
||||
setProtocol,
|
||||
initSearxCookies,
|
||||
initSearxngCookies,
|
||||
|
||||
redirect,
|
||||
initDefaults,
|
||||
init,
|
||||
switchInstance,
|
||||
};
|
||||
|
@ -16,15 +16,6 @@ let redirects = {
|
||||
}
|
||||
|
||||
const getRedirects = () => redirects;
|
||||
const getCustomRedirects = function () {
|
||||
return {
|
||||
"send": {
|
||||
"normal": [...sendNormalRedirectsChecks, ...sendNormalCustomRedirects],
|
||||
"tor": [...sendTorRedirectsChecks, ...sendTorCustomRedirects]
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
function setRedirects(val) {
|
||||
redirects.send = val;
|
||||
browser.storage.local.set({ sendTargetsRedirects: redirects })
|
||||
@ -34,62 +25,23 @@ function setRedirects(val) {
|
||||
var index = sendNormalRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) sendNormalRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setSendNormalRedirectsChecks(sendNormalRedirectsChecks);
|
||||
browser.storage.local.set({ sendNormalRedirectsChecks })
|
||||
|
||||
for (const item of sendTorRedirectsChecks)
|
||||
if (!redirects.send.normal.includes(item)) {
|
||||
var index = sendTorRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) sendTorRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setSendTorRedirectsChecks(sendTorRedirectsChecks);
|
||||
browser.storage.local.set({ sendTorRedirectsChecks })
|
||||
}
|
||||
|
||||
let sendNormalRedirectsChecks;
|
||||
const getSendNormalRedirectsChecks = () => sendNormalRedirectsChecks;
|
||||
function setSendNormalRedirectsChecks(val) {
|
||||
sendNormalRedirectsChecks = val;
|
||||
browser.storage.local.set({ sendNormalRedirectsChecks })
|
||||
console.log("sendNormalRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let sendTorRedirectsChecks;
|
||||
const getSendTorRedirectsChecks = () => sendTorRedirectsChecks;
|
||||
function setSendTorRedirectsChecks(val) {
|
||||
sendTorRedirectsChecks = val;
|
||||
browser.storage.local.set({ sendTorRedirectsChecks })
|
||||
console.log("sendTorRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let sendNormalCustomRedirects = [];
|
||||
const getSendNormalCustomRedirects = () => sendNormalCustomRedirects;
|
||||
function setSendNormalCustomRedirects(val) {
|
||||
sendNormalCustomRedirects = val;
|
||||
browser.storage.local.set({ sendNormalCustomRedirects })
|
||||
console.log("sendNormalCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
let sendTorCustomRedirects = [];
|
||||
const getSendTorCustomRedirects = () => sendTorCustomRedirects;
|
||||
function setSendTorCustomRedirects(val) {
|
||||
sendTorCustomRedirects = val;
|
||||
browser.storage.local.set({ sendTorCustomRedirects })
|
||||
console.log("sendTorCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
let disable;
|
||||
const getDisable = () => disable;
|
||||
function setDisable(val) {
|
||||
disable = val;
|
||||
browser.storage.local.set({ disableSendTarget: disable })
|
||||
}
|
||||
|
||||
let protocol;
|
||||
const getProtocol = () => protocol;
|
||||
function setProtocol(val) {
|
||||
protocol = val;
|
||||
browser.storage.local.set({ sendTargetsProtocol: val })
|
||||
console.log("sendTargetsProtocol: ", val)
|
||||
}
|
||||
let disable; // disableSendTarget
|
||||
let protocol; // sendTargetsProtocol
|
||||
|
||||
function switchInstance(url) {
|
||||
let protocolHost = commonHelper.protocolHost(url);
|
||||
@ -136,68 +88,61 @@ function redirect(url, type, initiator) {
|
||||
return randomInstance;
|
||||
}
|
||||
|
||||
async function initDefaults() {
|
||||
fetch('/instances/data.json').then(response => response.text()).then(async data => {
|
||||
let dataJson = JSON.parse(data);
|
||||
redirects.send = dataJson.send;
|
||||
await browser.storage.local.set({
|
||||
disableSendTarget: false,
|
||||
sendTargetsRedirects: redirects,
|
||||
|
||||
sendNormalRedirectsChecks: [...redirects.send.normal],
|
||||
sendNormalCustomRedirects: [],
|
||||
|
||||
sendTorRedirectsChecks: [...redirects.send.tor],
|
||||
sendTorCustomRedirects: [],
|
||||
|
||||
sendTargetsProtocol: "normal",
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
async function init() {
|
||||
return new Promise(resolve => {
|
||||
fetch('/instances/data.json').then(response => response.text()).then(data => {
|
||||
let dataJson = JSON.parse(data);
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableSendTarget",
|
||||
"sendTargetsRedirects",
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableSendTarget",
|
||||
"sendTargetsRedirects",
|
||||
|
||||
"sendNormalRedirectsChecks",
|
||||
"sendNormalCustomRedirects",
|
||||
"sendNormalRedirectsChecks",
|
||||
"sendNormalCustomRedirects",
|
||||
|
||||
"sendTorRedirectsChecks",
|
||||
"sendTorCustomRedirects",
|
||||
"sendTorRedirectsChecks",
|
||||
"sendTorCustomRedirects",
|
||||
|
||||
"sendTargetsProtocol"
|
||||
],
|
||||
r => {
|
||||
redirects.send = dataJson.send;
|
||||
disable = r.disableSendTarget ?? false;
|
||||
"sendTargetsProtocol"
|
||||
],
|
||||
r => {
|
||||
|
||||
protocol = r.sendTargetsProtocol ?? "normal";
|
||||
disable = r.disableSendTarget;
|
||||
protocol = r.sendTargetsProtocol;
|
||||
redirects = r.sendTargetsRedirects;
|
||||
|
||||
if (r.sendTargetsRedirects) redirects = r.sendTargetsRedirects;
|
||||
sendNormalRedirectsChecks = r.sendNormalRedirectsChecks;
|
||||
sendNormalCustomRedirects = r.sendNormalCustomRedirects;
|
||||
|
||||
sendNormalRedirectsChecks = r.sendNormalRedirectsChecks ?? [...redirects.send.normal];
|
||||
sendNormalCustomRedirects = r.sendNormalCustomRedirects ?? [];
|
||||
|
||||
sendTorRedirectsChecks = r.sendTorRedirectsChecks ?? [...redirects.send.tor];
|
||||
sendTorCustomRedirects = r.sendTorCustomRedirects ?? [];
|
||||
|
||||
resolve();
|
||||
}
|
||||
)
|
||||
});
|
||||
});
|
||||
sendTorRedirectsChecks = r.sendTorRedirectsChecks;
|
||||
sendTorCustomRedirects = r.sendTorCustomRedirects;
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
export default {
|
||||
|
||||
getRedirects,
|
||||
getCustomRedirects,
|
||||
setRedirects,
|
||||
|
||||
getDisable,
|
||||
setDisable,
|
||||
|
||||
getProtocol,
|
||||
setProtocol,
|
||||
|
||||
getSendNormalRedirectsChecks,
|
||||
setSendNormalRedirectsChecks,
|
||||
getSendTorRedirectsChecks,
|
||||
setSendTorRedirectsChecks,
|
||||
|
||||
getSendTorCustomRedirects,
|
||||
setSendTorCustomRedirects,
|
||||
getSendNormalCustomRedirects,
|
||||
setSendNormalCustomRedirects,
|
||||
|
||||
switchInstance,
|
||||
|
||||
redirect,
|
||||
initDefaults,
|
||||
init,
|
||||
};
|
||||
|
@ -16,15 +16,6 @@ let redirects = {
|
||||
}
|
||||
|
||||
const getRedirects = () => redirects;
|
||||
const getCustomRedirects = function () {
|
||||
return {
|
||||
"librespeed": {
|
||||
"normal": [...librespeedNormalRedirectsChecks, ...librespeedNormalCustomRedirects],
|
||||
"tor": []
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
function setRedirects(val) {
|
||||
redirects.librespeed = val;
|
||||
browser.storage.local.set({ speedtestRedirects: redirects })
|
||||
@ -34,63 +25,23 @@ function setRedirects(val) {
|
||||
var index = librespeedNormalRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) librespeedNormalRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setLibrespeedNormalRedirectsChecks(librespeedNormalRedirectsChecks);
|
||||
browser.storage.local.set({ librespeedNormalRedirectsChecks })
|
||||
|
||||
for (const item of librespeedTorRedirectsChecks)
|
||||
if (!redirects.librespeed.normal.includes(item)) {
|
||||
var index = librespeedTorRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) librespeedTorRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setLibrespeedTorRedirectsChecks(librespeedTorRedirectsChecks);
|
||||
browser.storage.local.set({ librespeedTorRedirectsChecks })
|
||||
}
|
||||
|
||||
let librespeedNormalRedirectsChecks;
|
||||
const getLibrespeedNormalRedirectsChecks = () => librespeedNormalRedirectsChecks;
|
||||
function setLibrespeedNormalRedirectsChecks(val) {
|
||||
librespeedNormalRedirectsChecks = val;
|
||||
browser.storage.local.set({ librespeedNormalRedirectsChecks })
|
||||
console.log("librespeedNormalRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let librespeedTorRedirectsChecks;
|
||||
const getLibrespeedTorRedirectsChecks = () => librespeedTorRedirectsChecks;
|
||||
function setLibrespeedTorRedirectsChecks(val) {
|
||||
librespeedTorRedirectsChecks = val;
|
||||
browser.storage.local.set({ librespeedTorRedirectsChecks })
|
||||
console.log("librespeedTorRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let librespeedNormalCustomRedirects = [];
|
||||
const getLibrespeedNormalCustomRedirects = () => librespeedNormalCustomRedirects;
|
||||
function setLibrespeedNormalCustomRedirects(val) {
|
||||
librespeedNormalCustomRedirects = val;
|
||||
browser.storage.local.set({ librespeedNormalCustomRedirects })
|
||||
console.log("librespeedNormalCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
let librespeedTorCustomRedirects = [];
|
||||
const getLibrespeedTorCustomRedirects = () => librespeedTorCustomRedirects;
|
||||
function setLibrespeedTorCustomRedirects(val) {
|
||||
librespeedTorCustomRedirects = val;
|
||||
browser.storage.local.set({ librespeedTorCustomRedirects })
|
||||
console.log("librespeedTorCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
let disable;
|
||||
const getDisable = () => disable;
|
||||
function setDisable(val) {
|
||||
disable = val;
|
||||
browser.storage.local.set({ disableSpeedtest: disable })
|
||||
console.log("disableSpeedtest", val);
|
||||
}
|
||||
|
||||
let protocol;
|
||||
const getProtocol = () => protocol;
|
||||
function setProtocol(val) {
|
||||
protocol = val;
|
||||
browser.storage.local.set({ speedtestProtocol: val })
|
||||
console.log("speedtestProtocol: ", val)
|
||||
}
|
||||
let disable; // disableSpeedtest
|
||||
let protocol; // speedtestProtocol
|
||||
|
||||
function redirect(url, type, initiator) {
|
||||
if (disable) return null;
|
||||
@ -109,65 +60,52 @@ function redirect(url, type, initiator) {
|
||||
return `${randomInstance}`;
|
||||
}
|
||||
|
||||
async function initDefaults() {
|
||||
await browser.storage.local.set({
|
||||
disableSpeedtest: true,
|
||||
|
||||
librespeedNormalRedirectsChecks: [...redirects.librespeed.normal],
|
||||
librespeedNormalCustomRedirects: [],
|
||||
|
||||
librespeedTorRedirectsChecks: [...redirects.librespeed.tor],
|
||||
librespeedTorCustomRedirects: [],
|
||||
|
||||
speedtestProtocol: "normal",
|
||||
})
|
||||
}
|
||||
|
||||
async function init() {
|
||||
return new Promise(resolve => {
|
||||
fetch('/instances/data.json').then(response => response.text()).then(data => {
|
||||
let dataJson = JSON.parse(data);
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableSpeedtest",
|
||||
"speedtestRedirects",
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableSpeedtest",
|
||||
"speedtestRedirects",
|
||||
|
||||
"librespeedNormalRedirectsChecks",
|
||||
"librespeedNormalCustomRedirects",
|
||||
"librespeedNormalRedirectsChecks",
|
||||
"librespeedNormalCustomRedirects",
|
||||
|
||||
"librespeedTorRedirectsChecks",
|
||||
"librespeedTorCustomRedirects",
|
||||
"librespeedTorRedirectsChecks",
|
||||
"librespeedTorCustomRedirects",
|
||||
|
||||
"speedtestProtocol"
|
||||
],
|
||||
r => {
|
||||
disable = r.disableSpeedtest ?? true;
|
||||
"speedtestProtocol"
|
||||
],
|
||||
r => {
|
||||
disable = r.disableSpeedtest;
|
||||
protocol = r.speedtestProtocol;
|
||||
|
||||
protocol = r.speedtestProtocol ?? "normal";
|
||||
librespeedNormalRedirectsChecks = r.librespeedNormalRedirectsChecks;
|
||||
librespeedNormalCustomRedirects = r.librespeedNormalCustomRedirects;
|
||||
|
||||
if (r.speedtestRedirects) redirects = r.speedtestRedirects;
|
||||
|
||||
librespeedNormalRedirectsChecks = r.librespeedNormalRedirectsChecks ?? [...redirects.librespeed.normal];
|
||||
librespeedNormalCustomRedirects = r.librespeedNormalCustomRedirects ?? [];
|
||||
|
||||
librespeedTorRedirectsChecks = r.librespeedTorRedirectsChecks ?? [...redirects.librespeed.tor];
|
||||
librespeedTorCustomRedirects = r.librespeedTorCustomRedirects ?? [];
|
||||
|
||||
resolve();
|
||||
}
|
||||
)
|
||||
});
|
||||
});
|
||||
librespeedTorRedirectsChecks = r.librespeedTorRedirectsChecks;
|
||||
librespeedTorCustomRedirects = r.librespeedTorCustomRedirects;
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
export default {
|
||||
|
||||
getRedirects,
|
||||
getCustomRedirects,
|
||||
setRedirects,
|
||||
|
||||
getDisable,
|
||||
setDisable,
|
||||
|
||||
getProtocol,
|
||||
setProtocol,
|
||||
|
||||
getLibrespeedNormalRedirectsChecks,
|
||||
setLibrespeedNormalRedirectsChecks,
|
||||
getLibrespeedTorRedirectsChecks,
|
||||
setLibrespeedTorRedirectsChecks,
|
||||
|
||||
getLibrespeedTorCustomRedirects,
|
||||
setLibrespeedTorCustomRedirects,
|
||||
getLibrespeedNormalCustomRedirects,
|
||||
setLibrespeedNormalCustomRedirects,
|
||||
|
||||
redirect,
|
||||
initDefaults,
|
||||
init,
|
||||
};
|
||||
|
@ -10,20 +10,11 @@ let redirects = {
|
||||
"soju": {
|
||||
"normal": [
|
||||
"https://playsoju.netlify.app",
|
||||
],
|
||||
"tor": []
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
const getRedirects = () => redirects;
|
||||
const getCustomRedirects = function () {
|
||||
return {
|
||||
"soju": {
|
||||
"normal": [...sojuNormalRedirectsChecks, ...sojuNormalCustomRedirects]
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
function setRedirects(val) {
|
||||
redirects.soju = val;
|
||||
browser.storage.local.set({ spotifyTargetsRedirects: redirects })
|
||||
@ -33,78 +24,34 @@ function setRedirects(val) {
|
||||
var index = sojuNormalRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) sojuNormalRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setSojuNormalRedirectsChecks(sojuNormalRedirectsChecks);
|
||||
browser.storage.local.set({ sojuNormalRedirectsChecks })
|
||||
|
||||
for (const item of sojuTorRedirectsChecks)
|
||||
if (!redirects.soju.normal.includes(item)) {
|
||||
var index = sojuTorRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) sojuTorRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setSojuTorRedirectsChecks(sojuTorRedirectsChecks);
|
||||
browser.storage.local.set({ sojuTorRedirectsChecks })
|
||||
}
|
||||
|
||||
let sojuNormalRedirectsChecks;
|
||||
const getSojuNormalRedirectsChecks = () => sojuNormalRedirectsChecks;
|
||||
function setSojuNormalRedirectsChecks(val) {
|
||||
sojuNormalRedirectsChecks = val;
|
||||
browser.storage.local.set({ sojuNormalRedirectsChecks })
|
||||
console.log("sojuNormalRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let sojuTorRedirectsChecks;
|
||||
const getSojuTorRedirectsChecks = () => sojuTorRedirectsChecks;
|
||||
function setSojuTorRedirectsChecks(val) {
|
||||
sojuTorRedirectsChecks = val;
|
||||
browser.storage.local.set({ sojuTorRedirectsChecks })
|
||||
console.log("sojuTorRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let sojuNormalCustomRedirects = [];
|
||||
const getSojuNormalCustomRedirects = () => sojuNormalCustomRedirects;
|
||||
function setSojuNormalCustomRedirects(val) {
|
||||
sojuNormalCustomRedirects = val;
|
||||
browser.storage.local.set({ sojuNormalCustomRedirects })
|
||||
console.log("sojuNormalCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
let sojuTorCustomRedirects = [];
|
||||
const getSojuTorCustomRedirects = () => sojuTorCustomRedirects;
|
||||
function setSojuTorCustomRedirects(val) {
|
||||
sojuTorCustomRedirects = val;
|
||||
browser.storage.local.set({ sojuTorCustomRedirects })
|
||||
console.log("sojuTorCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
let disable;
|
||||
const getDisable = () => disable;
|
||||
function setDisable(val) {
|
||||
disable = val;
|
||||
browser.storage.local.set({ disableSpotifyTargets: disable })
|
||||
}
|
||||
|
||||
let protocol;
|
||||
const getProtocol = () => protocol;
|
||||
function setProtocol(val) {
|
||||
protocol = val;
|
||||
browser.storage.local.set({ spotifyTargetsProtocol: val })
|
||||
console.log("spotifyTargetsProtocol: ", val)
|
||||
}
|
||||
let disable; // disableSpotifyTargets
|
||||
|
||||
function switchInstance(url) {
|
||||
let protocolHost = commonHelper.protocolHost(url);
|
||||
|
||||
let sojuList = [
|
||||
...redirects.soju.normal,
|
||||
...redirects.soju.tor,
|
||||
...sojuNormalCustomRedirects,
|
||||
...sojuTorCustomRedirects,
|
||||
...sojuNormalCustomRedirects
|
||||
];
|
||||
|
||||
if (!sojuList.includes(protocolHost)) return;
|
||||
|
||||
let instancesList;
|
||||
if (protocol == 'normal') instancesList = [...sojuNormalRedirectsChecks, ...sojuNormalCustomRedirects];
|
||||
else if (protocol == 'tor') instancesList = [...sojuTorRedirectsChecks, ...sojuTorCustomRedirects];
|
||||
let instancesList = [...sojuNormalRedirectsChecks, ...sojuNormalCustomRedirects];
|
||||
|
||||
console.log("instancesList", instancesList);
|
||||
let index = instancesList.indexOf(protocolHost);
|
||||
@ -118,14 +65,11 @@ function switchInstance(url) {
|
||||
|
||||
function redirect(url, type, initiator) {
|
||||
if (disable) return null;
|
||||
if (type != "main_frame") return null;
|
||||
if (initiator && ([...redirects.soju.normal, ...sojuNormalCustomRedirects].includes(initiator.origin) || targets.includes(initiator.host))) return null;
|
||||
if (!targets.some(rx => rx.test(url.href))) return null;
|
||||
|
||||
if (type != "main_frame") return null;
|
||||
|
||||
let instancesList;
|
||||
if (protocol == 'normal') instancesList = [...sojuNormalRedirectsChecks, ...sojuNormalCustomRedirects];
|
||||
if (protocol == 'tor') instancesList = [...sojuTorRedirectsChecks, ...sojuTorCustomRedirects];
|
||||
let instancesList = [...sojuNormalRedirectsChecks, ...sojuNormalCustomRedirects];
|
||||
if (instancesList.length === 0) return null;
|
||||
let randomInstance = commonHelper.getRandomInstance(instancesList);
|
||||
|
||||
@ -135,70 +79,42 @@ function redirect(url, type, initiator) {
|
||||
return `${randomInstance}${query}`;
|
||||
}
|
||||
|
||||
async function initDefaults() {
|
||||
await browser.storage.local.set({
|
||||
disableSpotifyTargets: true,
|
||||
|
||||
sojuNormalRedirectsChecks: [...redirects.soju.normal],
|
||||
sojuNormalCustomRedirects: [],
|
||||
})
|
||||
}
|
||||
|
||||
async function init() {
|
||||
return new Promise(
|
||||
resolve => {
|
||||
fetch('/instances/data.json').then(response => response.text()).then(data => {
|
||||
let dataJson = JSON.parse(data);
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableSpotifyTargets",
|
||||
"spotifyTargetsRedirects",
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableSpotifyTargets",
|
||||
|
||||
"sojuNormalRedirectsChecks",
|
||||
"sojuNormalCustomRedirects",
|
||||
"sojuNormalRedirectsChecks",
|
||||
"sojuNormalCustomRedirects",
|
||||
|
||||
"sojuTorRedirectsChecks",
|
||||
"sojuTorCustomRedirects",
|
||||
"sojuTorRedirectsChecks",
|
||||
"sojuTorCustomRedirects",
|
||||
],
|
||||
r => {
|
||||
disable = r.disableSpotifyTargets;
|
||||
|
||||
"spotifyTargetsProtocol"
|
||||
],
|
||||
r => {
|
||||
|
||||
disable = r.disableSpotifyTargets ?? true;
|
||||
|
||||
protocol = r.spotifyTargetsProtocol ?? "normal";
|
||||
|
||||
if (r.spotifyTargetsRedirects) redirects = r.spotifyTargetsRedirects;
|
||||
|
||||
sojuNormalRedirectsChecks = r.sojuNormalRedirectsChecks ?? [...redirects.soju.normal];
|
||||
sojuNormalCustomRedirects = r.sojuNormalCustomRedirects ?? [];
|
||||
|
||||
sojuTorRedirectsChecks = r.sojuTorRedirectsChecks ?? [...redirects.soju.tor];
|
||||
sojuTorCustomRedirects = r.sojuTorCustomRedirects ?? [];
|
||||
|
||||
resolve();
|
||||
}
|
||||
)
|
||||
});
|
||||
sojuNormalRedirectsChecks = r.sojuNormalRedirectsChecks;
|
||||
sojuNormalCustomRedirects = r.sojuNormalCustomRedirects;
|
||||
}
|
||||
);
|
||||
)
|
||||
}
|
||||
|
||||
export default {
|
||||
|
||||
getRedirects,
|
||||
getCustomRedirects,
|
||||
setRedirects,
|
||||
|
||||
getDisable,
|
||||
setDisable,
|
||||
|
||||
getProtocol,
|
||||
setProtocol,
|
||||
|
||||
getSojuNormalRedirectsChecks,
|
||||
setSojuNormalRedirectsChecks,
|
||||
getSojuTorRedirectsChecks,
|
||||
setSojuTorRedirectsChecks,
|
||||
|
||||
getSojuTorCustomRedirects,
|
||||
setSojuTorCustomRedirects,
|
||||
getSojuNormalCustomRedirects,
|
||||
setSojuNormalCustomRedirects,
|
||||
|
||||
switchInstance,
|
||||
|
||||
redirect,
|
||||
initDefaults,
|
||||
init,
|
||||
};
|
||||
|
@ -14,14 +14,6 @@ let redirects = {
|
||||
}
|
||||
|
||||
const getRedirects = () => redirects;
|
||||
const getCustomRedirects = function () {
|
||||
return {
|
||||
"proxiTok": {
|
||||
"normal": [...proxiTokNormalRedirectsChecks, ...proxiTokNormalCustomRedirects]
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
function setRedirects(val) {
|
||||
redirects.proxiTok = val;
|
||||
browser.storage.local.set({ tiktokRedirects: redirects })
|
||||
@ -31,55 +23,22 @@ function setRedirects(val) {
|
||||
var index = proxiTokNormalRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) proxiTokNormalRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setProxiTokNormalRedirectsChecks(proxiTokNormalRedirectsChecks);
|
||||
browser.storage.local.set({ proxiTokNormalRedirectsChecks })
|
||||
|
||||
for (const item of proxiTokTorRedirectsChecks)
|
||||
if (!redirects.proxiTok.normal.includes(item)) {
|
||||
var index = proxiTokTorRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) proxiTokTorRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setProxiTokTorRedirectsChecks(proxiTokTorRedirectsChecks);
|
||||
browser.storage.local.set({ proxiTokTorRedirectsChecks })
|
||||
}
|
||||
|
||||
let proxiTokNormalRedirectsChecks;
|
||||
const getProxiTokNormalRedirectsChecks = () => proxiTokNormalRedirectsChecks;
|
||||
function setProxiTokNormalRedirectsChecks(val) {
|
||||
proxiTokNormalRedirectsChecks = val;
|
||||
browser.storage.local.set({ proxiTokNormalRedirectsChecks })
|
||||
console.log("proxiTokNormalRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let proxiTokTorRedirectsChecks;
|
||||
const getProxiTokTorRedirectsChecks = () => proxiTokTorRedirectsChecks;
|
||||
function setProxiTokTorRedirectsChecks(val) {
|
||||
proxiTokTorRedirectsChecks = val;
|
||||
browser.storage.local.set({ proxiTokTorRedirectsChecks })
|
||||
console.log("proxiTokTorRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let proxiTokNormalCustomRedirects = [];
|
||||
const getProxiTokNormalCustomRedirects = () => proxiTokNormalCustomRedirects;
|
||||
function setProxiTokNormalCustomRedirects(val) {
|
||||
proxiTokNormalCustomRedirects = val;
|
||||
browser.storage.local.set({ proxiTokNormalCustomRedirects })
|
||||
console.log("proxiTokNormalCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
let proxiTokTorCustomRedirects = [];
|
||||
const getProxiTokTorCustomRedirects = () => proxiTokTorCustomRedirects;
|
||||
function setProxiTokTorCustomRedirects(val) {
|
||||
proxiTokTorCustomRedirects = val;
|
||||
browser.storage.local.set({ proxiTokTorCustomRedirects })
|
||||
console.log("proxiTokTorCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
let disable;
|
||||
const getDisable = () => disable;
|
||||
function setDisable(val) {
|
||||
disable = val;
|
||||
browser.storage.local.set({ disableTiktok: disable })
|
||||
}
|
||||
|
||||
let disable; // disableTiktok
|
||||
let protocol;
|
||||
let enableCustom;
|
||||
|
||||
@ -148,9 +107,7 @@ async function initDefaults() {
|
||||
disableTiktok: false,
|
||||
tiktokProtocol: "normal",
|
||||
|
||||
tiktokRedirects: {
|
||||
'proxiTok': redirects.proxiTok,
|
||||
},
|
||||
tiktokRedirects: redirects,
|
||||
|
||||
proxiTokNormalRedirectsChecks: [...redirects.proxiTok.normal],
|
||||
proxiTokNormalCustomRedirects: [],
|
||||
@ -170,67 +127,49 @@ async function initDefaults() {
|
||||
}
|
||||
|
||||
async function init() {
|
||||
return new Promise(resolve => {
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableTiktok",
|
||||
"tiktokProtocol",
|
||||
"tiktokRedirects",
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableTiktok",
|
||||
"tiktokProtocol",
|
||||
"tiktokRedirects",
|
||||
|
||||
"proxiTokNormalRedirectsChecks",
|
||||
"proxiTokNormalCustomRedirects",
|
||||
"proxiTokNormalRedirectsChecks",
|
||||
"proxiTokNormalCustomRedirects",
|
||||
|
||||
"proxiTokTorRedirectsChecks",
|
||||
"proxiTokTorCustomRedirects",
|
||||
"proxiTokTorRedirectsChecks",
|
||||
"proxiTokTorCustomRedirects",
|
||||
|
||||
"enableTiktokCustomSettings",
|
||||
"enableTiktokCustomSettings",
|
||||
|
||||
"proxiTokTheme",
|
||||
"proxiTokApiLegacy",
|
||||
],
|
||||
r => {
|
||||
disable = r.disableTiktok;
|
||||
protocol = r.tiktokProtocol;
|
||||
redirects = r.tiktokRedirects;
|
||||
"proxiTokTheme",
|
||||
"proxiTokApiLegacy",
|
||||
],
|
||||
r => {
|
||||
disable = r.disableTiktok;
|
||||
protocol = r.tiktokProtocol;
|
||||
redirects = r.tiktokRedirects;
|
||||
|
||||
proxiTokNormalRedirectsChecks = r.proxiTokNormalRedirectsChecks;
|
||||
proxiTokNormalCustomRedirects = r.proxiTokNormalCustomRedirects;
|
||||
proxiTokNormalRedirectsChecks = r.proxiTokNormalRedirectsChecks;
|
||||
proxiTokNormalCustomRedirects = r.proxiTokNormalCustomRedirects;
|
||||
|
||||
proxiTokTorRedirectsChecks = r.proxiTokTorRedirectsChecks;
|
||||
proxiTokTorCustomRedirects = r.proxiTokTorCustomRedirects;
|
||||
proxiTokTorRedirectsChecks = r.proxiTokTorRedirectsChecks;
|
||||
proxiTokTorCustomRedirects = r.proxiTokTorCustomRedirects;
|
||||
|
||||
enableCustom = r.enableTiktokCustomSettings;
|
||||
enableCustom = r.enableTiktokCustomSettings;
|
||||
|
||||
theme = r.proxiTokTheme;
|
||||
api_legacy = r.proxiTokApiLegacy;
|
||||
|
||||
resolve();
|
||||
}
|
||||
)
|
||||
})
|
||||
theme = r.proxiTokTheme;
|
||||
api_legacy = r.proxiTokApiLegacy;
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
export default {
|
||||
|
||||
getRedirects,
|
||||
getCustomRedirects,
|
||||
setRedirects,
|
||||
|
||||
getDisable,
|
||||
setDisable,
|
||||
|
||||
reverse,
|
||||
|
||||
getProxiTokNormalRedirectsChecks,
|
||||
setProxiTokNormalRedirectsChecks,
|
||||
getProxiTokTorRedirectsChecks,
|
||||
setProxiTokTorRedirectsChecks,
|
||||
|
||||
getProxiTokTorCustomRedirects,
|
||||
setProxiTokTorCustomRedirects,
|
||||
getProxiTokNormalCustomRedirects,
|
||||
setProxiTokNormalCustomRedirects,
|
||||
|
||||
initProxiTokCookies,
|
||||
|
||||
redirect,
|
||||
|
@ -11,27 +11,13 @@ let redirects = {
|
||||
"normal": [],
|
||||
"tor": []
|
||||
},
|
||||
|
||||
"lingva": {
|
||||
"normal": [],
|
||||
"tor": []
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
const getRedirects = () => redirects;
|
||||
const getCustomRedirects = function () {
|
||||
return {
|
||||
"simplyTranslate": {
|
||||
"normal": [...simplyTranslateNormalRedirectsChecks, ...simplyTranslateNormalCustomRedirects],
|
||||
"tor": [...simplyTranslateTorRedirectsChecks, ...simplyTranslateTorCustomRedirects]
|
||||
},
|
||||
"lingva": {
|
||||
"normal": [...lingvaNormalRedirectsChecks, ...lingvaNormalCustomRedirects],
|
||||
"tor": [...lingvaTorRedirectsChecks, ...lingvaTorCustomRedirects]
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
function setSimplyTranslateRedirects(val) {
|
||||
redirects.simplyTranslate = val;
|
||||
@ -42,47 +28,20 @@ function setSimplyTranslateRedirects(val) {
|
||||
var index = simplyTranslateNormalRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) simplyTranslateNormalRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setSimplyTranslateNormalRedirectsChecks(simplyTranslateNormalRedirectsChecks);
|
||||
browser.storage.local.set({ simplyTranslateNormalRedirectsChecks })
|
||||
|
||||
for (const item of simplyTranslateTorRedirectsChecks)
|
||||
if (!redirects.simplyTranslate.normal.includes(item)) {
|
||||
var index = simplyTranslateTorRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) simplyTranslateTorRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setSimplyTranslateTorRedirectsChecks(simplyTranslateTorRedirectsChecks);
|
||||
browser.storage.local.set({ simplyTranslateTorRedirectsChecks })
|
||||
}
|
||||
|
||||
let simplyTranslateNormalRedirectsChecks;
|
||||
const getSimplyTranslateNormalRedirectsChecks = () => simplyTranslateNormalRedirectsChecks;
|
||||
function setSimplyTranslateNormalRedirectsChecks(val) {
|
||||
simplyTranslateNormalRedirectsChecks = val;
|
||||
browser.storage.local.set({ simplyTranslateNormalRedirectsChecks })
|
||||
console.log("simplyTranslateNormalRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let simplyTranslateTorRedirectsChecks;
|
||||
const getSimplyTranslateTorRedirectsChecks = () => simplyTranslateTorRedirectsChecks;
|
||||
function setSimplyTranslateTorRedirectsChecks(val) {
|
||||
simplyTranslateTorRedirectsChecks = val;
|
||||
browser.storage.local.set({ simplyTranslateTorRedirectsChecks })
|
||||
console.log("simplyTranslateTorRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let simplyTranslateNormalCustomRedirects = [];
|
||||
const getSimplyTranslateNormalCustomRedirects = () => simplyTranslateNormalCustomRedirects;
|
||||
function setSimplyTranslateNormalCustomRedirects(val) {
|
||||
simplyTranslateNormalCustomRedirects = val;
|
||||
browser.storage.local.set({ simplyTranslateNormalCustomRedirects })
|
||||
console.log("simplyTranslateNormalCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
let simplyTranslateTorCustomRedirects = [];
|
||||
const getSimplyTranslateTorCustomRedirects = () => simplyTranslateTorCustomRedirects;
|
||||
function setSimplyTranslateTorCustomRedirects(val) {
|
||||
simplyTranslateTorCustomRedirects = val;
|
||||
browser.storage.local.set({ simplyTranslateTorCustomRedirects })
|
||||
console.log("simplyTranslateTorCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
function setLingvaRedirects(val) {
|
||||
redirects.lingva = val;
|
||||
@ -93,95 +52,31 @@ function setLingvaRedirects(val) {
|
||||
var index = lingvaNormalRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) lingvaNormalRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setLingvaNormalRedirectsChecks(lingvaNormalRedirectsChecks);
|
||||
browser.storage.local.set({ lingvaNormalRedirectsChecks })
|
||||
|
||||
for (const item of lingvaTorRedirectsChecks)
|
||||
if (!redirects.lingva.normal.includes(item)) {
|
||||
var index = lingvaTorRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) lingvaTorRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setLingvaTorRedirectsChecks(lingvaTorRedirectsChecks);
|
||||
browser.storage.local.set({ lingvaTorRedirectsChecks })
|
||||
}
|
||||
|
||||
let lingvaNormalRedirectsChecks;
|
||||
const getLingvaNormalRedirectsChecks = () => lingvaNormalRedirectsChecks;
|
||||
function setLingvaNormalRedirectsChecks(val) {
|
||||
lingvaNormalRedirectsChecks = val;
|
||||
browser.storage.local.set({ lingvaNormalRedirectsChecks })
|
||||
console.log("lingvaNormalRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let lingvaTorRedirectsChecks;
|
||||
const getLingvaTorRedirectsChecks = () => lingvaTorRedirectsChecks;
|
||||
function setLingvaTorRedirectsChecks(val) {
|
||||
lingvaTorRedirectsChecks = val;
|
||||
browser.storage.local.set({ lingvaTorRedirectsChecks })
|
||||
console.log("lingvaTorRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let lingvaNormalCustomRedirects = [];
|
||||
const getLingvaNormalCustomRedirects = () => lingvaNormalCustomRedirects;
|
||||
function setLingvaNormalCustomRedirects(val) {
|
||||
lingvaNormalCustomRedirects = val;
|
||||
browser.storage.local.set({ lingvaNormalCustomRedirects })
|
||||
console.log("lingvaNormalCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
let lingvaTorCustomRedirects = [];
|
||||
const getLingvaTorCustomRedirects = () => lingvaTorCustomRedirects;
|
||||
function setLingvaTorCustomRedirects(val) {
|
||||
lingvaTorCustomRedirects = val;
|
||||
browser.storage.local.set({ lingvaTorCustomRedirects })
|
||||
console.log("lingvaTorCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
let disable;
|
||||
const getDisable = () => disable;
|
||||
function setDisable(val) {
|
||||
disable = val;
|
||||
browser.storage.local.set({ translateDisable: disable })
|
||||
console.log("disable: ", disable)
|
||||
}
|
||||
|
||||
let frontend;
|
||||
const getFrontend = () => frontend;
|
||||
function setFrontend(val) {
|
||||
frontend = val;
|
||||
browser.storage.local.set({ translateFrontend: frontend })
|
||||
console.log("translateFrontend: ", frontend)
|
||||
}
|
||||
let disable; // translateDisable
|
||||
let frontend; // translateFrontend
|
||||
let protocol; // translateProtocol
|
||||
|
||||
let protocol;
|
||||
const getProtocol = () => protocol;
|
||||
function setProtocol(val) {
|
||||
protocol = val;
|
||||
browser.storage.local.set({ translateProtocol: val })
|
||||
console.log("translateProtocol: ", val)
|
||||
}
|
||||
let from; // translateFrom
|
||||
let to; // translateTo
|
||||
|
||||
let from;
|
||||
const getFrom = () => from;
|
||||
function setFrom(val) {
|
||||
from = val;
|
||||
browser.storage.local.set({ translateFrom: from })
|
||||
console.log("from: ", from)
|
||||
}
|
||||
|
||||
let to;
|
||||
const getTo = () => to;
|
||||
function setTo(val) {
|
||||
to = val;
|
||||
browser.storage.local.set({ translateTo: to })
|
||||
console.log("to: ", to)
|
||||
}
|
||||
|
||||
let simplyTranslateEngine;
|
||||
const getSimplyTranslateEngine = () => simplyTranslateEngine;
|
||||
function setSimplyTranslateEngine(val) {
|
||||
simplyTranslateEngine = val;
|
||||
browser.storage.local.set({ simplyTranslateEngine: val })
|
||||
console.log("simplyTranslateEngine: ", val)
|
||||
}
|
||||
|
||||
function isTranslateRedirects(url, type, frontend) {
|
||||
let protocolHost = commonHelper.protocolHost(url);
|
||||
@ -228,7 +123,6 @@ function initLingvaLocalStorage(tabId) {
|
||||
}
|
||||
|
||||
function redirect(url) {
|
||||
|
||||
if (disable) return;
|
||||
if (!targets.some(rx => rx.test(url.href))) return;
|
||||
|
||||
@ -308,109 +202,96 @@ function switchInstance(url) {
|
||||
return `${randomInstance}${url.pathname}${url.search}`;
|
||||
}
|
||||
|
||||
async function initDefaults() {
|
||||
|
||||
fetch('/instances/data.json').then(response => response.text()).then(async data => {
|
||||
let dataJson = JSON.parse(data);
|
||||
redirects.simplyTranslate = dataJson.simplyTranslate;
|
||||
redirects.lingva = dataJson.lingva;
|
||||
await browser.storage.local.set({
|
||||
translateDisable: false,
|
||||
translateFrontend: "simplyTranslate",
|
||||
translateProtocol: 'normal',
|
||||
translateRedirects: redirects,
|
||||
|
||||
simplyTranslateNormalRedirectsChecks: [...redirects.simplyTranslate.normal],
|
||||
simplyTranslateNormalCustomRedirects: [],
|
||||
simplyTranslateTorRedirectsChecks: [...redirects.simplyTranslate.tor],
|
||||
simplyTranslateTorCustomRedirects: [],
|
||||
|
||||
lingvaNormalRedirectsChecks: [...redirects.lingva.normal],
|
||||
lingvaNormalCustomRedirects: [],
|
||||
lingvaTorRedirectsChecks: [...redirects.lingva.tor],
|
||||
lingvaTorCustomRedirects: [],
|
||||
|
||||
translateFrom: "auto",
|
||||
translateTo: 'en',
|
||||
simplyTranslateEngine: 'google',
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
async function init() {
|
||||
return new Promise((resolve) => {
|
||||
fetch('/instances/data.json').then(response => response.text()).then(data => {
|
||||
let dataJson = JSON.parse(data);
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"translateDisable",
|
||||
"translateFrontend",
|
||||
"translateProtocol",
|
||||
"translateRedirects",
|
||||
fetch('/instances/data.json').then(response => response.text()).then(data => {
|
||||
let dataJson = JSON.parse(data);
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"translateDisable",
|
||||
"translateFrontend",
|
||||
"translateProtocol",
|
||||
"translateRedirects",
|
||||
|
||||
"simplyTranslateNormalRedirectsChecks",
|
||||
"simplyTranslateNormalCustomRedirects",
|
||||
"simplyTranslateTorRedirectsChecks",
|
||||
"simplyTranslateTorCustomRedirects",
|
||||
"simplyTranslateNormalRedirectsChecks",
|
||||
"simplyTranslateNormalCustomRedirects",
|
||||
"simplyTranslateTorRedirectsChecks",
|
||||
"simplyTranslateTorCustomRedirects",
|
||||
|
||||
"lingvaNormalRedirectsChecks",
|
||||
"lingvaNormalCustomRedirects",
|
||||
"lingvaTorRedirectsChecks",
|
||||
"lingvaTorCustomRedirects",
|
||||
"lingvaNormalRedirectsChecks",
|
||||
"lingvaNormalCustomRedirects",
|
||||
"lingvaTorRedirectsChecks",
|
||||
"lingvaTorCustomRedirects",
|
||||
|
||||
"translateFrom",
|
||||
"translateTo",
|
||||
"simplyTranslateEngine",
|
||||
],
|
||||
(result) => {
|
||||
disable = result.translateDisable ?? false;
|
||||
frontend = result.translateFrontend ?? "simplyTranslate";
|
||||
protocol = result.translateProtocol ?? 'normal';
|
||||
"translateFrom",
|
||||
"translateTo",
|
||||
"simplyTranslateEngine",
|
||||
],
|
||||
result => {
|
||||
disable = result.translateDisable;
|
||||
frontend = result.translateFrontend;
|
||||
protocol = result.translateProtocol;
|
||||
|
||||
from = result.translateFrom ?? "auto";
|
||||
to = result.translateTo ?? 'en';
|
||||
simplyTranslateEngine = result.simplyTranslateEngine ?? 'google';
|
||||
from = result.translateFrom;
|
||||
to = result.translateTo;
|
||||
simplyTranslateEngine = result.simplyTranslateEngine;
|
||||
|
||||
redirects.simplyTranslate = dataJson.simplyTranslate;
|
||||
redirects.lingva = dataJson.lingva;
|
||||
if (result.translateRedirects) redirects = result.translateRedirects;
|
||||
redirects = result.translateRedirects;
|
||||
|
||||
simplyTranslateNormalRedirectsChecks = result.simplyTranslateNormalRedirectsChecks ?? [...redirects.simplyTranslate.normal];
|
||||
simplyTranslateNormalCustomRedirects = result.simplyTranslateNormalCustomRedirects ?? [];
|
||||
simplyTranslateNormalRedirectsChecks = result.simplyTranslateNormalRedirectsChecks;
|
||||
simplyTranslateNormalCustomRedirects = result.simplyTranslateNormalCustomRedirects;
|
||||
|
||||
simplyTranslateTorRedirectsChecks = result.simplyTranslateTorRedirectsChecks ?? [...redirects.simplyTranslate.tor];
|
||||
simplyTranslateTorCustomRedirects = result.simplyTranslateTorCustomRedirects ?? [];
|
||||
simplyTranslateTorRedirectsChecks = result.simplyTranslateTorRedirectsChecks;
|
||||
simplyTranslateTorCustomRedirects = result.simplyTranslateTorCustomRedirects;
|
||||
|
||||
lingvaNormalRedirectsChecks = result.lingvaNormalRedirectsChecks ?? [...redirects.lingva.normal];
|
||||
lingvaNormalCustomRedirects = result.lingvaNormalCustomRedirects ?? [];
|
||||
lingvaNormalRedirectsChecks = result.lingvaNormalRedirectsChecks;
|
||||
lingvaNormalCustomRedirects = result.lingvaNormalCustomRedirects;
|
||||
|
||||
lingvaTorRedirectsChecks = result.lingvaTorRedirectsChecks ?? [...redirects.lingva.tor];
|
||||
lingvaTorCustomRedirects = result.lingvaTorCustomRedirects ?? [];
|
||||
|
||||
resolve();
|
||||
});
|
||||
});
|
||||
lingvaTorRedirectsChecks = result.lingvaTorRedirectsChecks;
|
||||
lingvaTorCustomRedirects = result.lingvaTorCustomRedirects;
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
export default {
|
||||
getRedirects,
|
||||
getCustomRedirects,
|
||||
setSimplyTranslateRedirects,
|
||||
setLingvaRedirects,
|
||||
|
||||
getDisable,
|
||||
setDisable,
|
||||
|
||||
getFrontend,
|
||||
setFrontend,
|
||||
|
||||
getProtocol,
|
||||
setProtocol,
|
||||
|
||||
getFrom,
|
||||
setFrom,
|
||||
getTo,
|
||||
setTo,
|
||||
|
||||
getSimplyTranslateEngine,
|
||||
setSimplyTranslateEngine,
|
||||
|
||||
getSimplyTranslateNormalRedirectsChecks,
|
||||
setSimplyTranslateNormalRedirectsChecks,
|
||||
getSimplyTranslateTorRedirectsChecks,
|
||||
setSimplyTranslateTorRedirectsChecks,
|
||||
|
||||
getSimplyTranslateNormalCustomRedirects,
|
||||
setSimplyTranslateNormalCustomRedirects,
|
||||
getSimplyTranslateTorCustomRedirects,
|
||||
setSimplyTranslateTorCustomRedirects,
|
||||
|
||||
getLingvaNormalRedirectsChecks,
|
||||
setLingvaNormalRedirectsChecks,
|
||||
getLingvaTorRedirectsChecks,
|
||||
setLingvaTorRedirectsChecks,
|
||||
|
||||
getLingvaNormalCustomRedirects,
|
||||
setLingvaNormalCustomRedirects,
|
||||
getLingvaTorCustomRedirects,
|
||||
setLingvaTorCustomRedirects,
|
||||
|
||||
isTranslateRedirects,
|
||||
initLingvaLocalStorage,
|
||||
|
||||
setSimplyTranslateRedirects,
|
||||
setLingvaRedirects,
|
||||
|
||||
redirect,
|
||||
initDefaults,
|
||||
init,
|
||||
switchInstance,
|
||||
};
|
||||
|
@ -15,17 +15,8 @@ let redirects = {
|
||||
"tor": []
|
||||
},
|
||||
};
|
||||
|
||||
const getRedirects = () => redirects;
|
||||
|
||||
function getCustomRedirects() {
|
||||
return {
|
||||
"nitter": {
|
||||
"normal": [...nitterNormalRedirectsChecks, ...nitterNormalCustomRedirects],
|
||||
"tor": [...nitterTorRedirectsChecks, ...nitterTorCustomRedirects]
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
function setRedirects(val) {
|
||||
redirects.nitter = val;
|
||||
browser.storage.local.set({ twitterRedirects: redirects })
|
||||
@ -35,133 +26,44 @@ function setRedirects(val) {
|
||||
var index = nitterNormalRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) nitterNormalRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setNitterNormalRedirectsChecks(nitterNormalRedirectsChecks);
|
||||
browser.storage.local.set({ nitterNormalRedirectsChecks })
|
||||
|
||||
for (const item of nitterTorRedirectsChecks)
|
||||
if (!redirects.nitter.tor.includes(item)) {
|
||||
var index = nitterTorRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) nitterTorRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setNitterTorRedirectsChecks(nitterTorRedirectsChecks);
|
||||
browser.storage.local.set({ nitterTorRedirectsChecks })
|
||||
}
|
||||
|
||||
let nitterNormalRedirectsChecks;
|
||||
const getNitterNormalRedirectsChecks = () => nitterNormalRedirectsChecks;
|
||||
function setNitterNormalRedirectsChecks(val) {
|
||||
nitterNormalRedirectsChecks = val;
|
||||
browser.storage.local.set({ nitterNormalRedirectsChecks })
|
||||
console.log("nitterNormalRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let nitterNormalCustomRedirects = [];
|
||||
const getNitterNormalCustomRedirects = () => nitterNormalCustomRedirects;
|
||||
function setNitterNormalCustomRedirects(val) {
|
||||
nitterNormalCustomRedirects = val;
|
||||
browser.storage.local.set({ nitterNormalCustomRedirects })
|
||||
console.log("nitterNormalCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
let nitterTorRedirectsChecks;
|
||||
const getNitterTorRedirectsChecks = () => nitterTorRedirectsChecks;
|
||||
function setNitterTorRedirectsChecks(val) {
|
||||
nitterTorRedirectsChecks = val;
|
||||
browser.storage.local.set({ nitterTorRedirectsChecks })
|
||||
console.log("nitterTorRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let nitterTorCustomRedirects = [];
|
||||
const getNitterTorCustomRedirects = () => nitterTorCustomRedirects;
|
||||
function setNitterTorCustomRedirects(val) {
|
||||
nitterTorCustomRedirects = val;
|
||||
browser.storage.local.set({ nitterTorCustomRedirects })
|
||||
console.log("nitterTorCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
let disable;
|
||||
const getDisable = () => disable;
|
||||
function setDisable(val) {
|
||||
disable = val;
|
||||
browser.storage.local.set({ disableTwitter: disable })
|
||||
}
|
||||
|
||||
let enableCustomSettings;
|
||||
const getEnableCustomSettings = () => enableCustomSettings;
|
||||
function setEnableCustomSettings(val) {
|
||||
enableCustomSettings = val;
|
||||
browser.storage.local.set({ enableTwitterCustomSettings: enableCustomSettings })
|
||||
console.log("enableTwitterCustomSettings: ", enableCustomSettings)
|
||||
}
|
||||
|
||||
let protocol;
|
||||
const getProtocol = () => protocol;
|
||||
function setProtocol(val) {
|
||||
protocol = val;
|
||||
browser.storage.local.set({ twitterProtocol: val })
|
||||
console.log("twitterProtocol: ", val)
|
||||
}
|
||||
|
||||
let bypassWatchOnTwitter;
|
||||
const getBypassWatchOnTwitter = () => bypassWatchOnTwitter;
|
||||
function setBypassWatchOnTwitter(val) {
|
||||
bypassWatchOnTwitter = val;
|
||||
browser.storage.local.set({ bypassWatchOnTwitter })
|
||||
console.log("bypassWatchOnTwitter: ", bypassWatchOnTwitter)
|
||||
}
|
||||
let disable; // disableTwitter
|
||||
let enableCustomSettings; // enableTwitterCustomSettings
|
||||
|
||||
let protocol; // twitterProtocol
|
||||
let bypassWatchOnTwitter; // bypassWatchOnTwitter
|
||||
let alwaysUsePreferred;
|
||||
|
||||
let theme;
|
||||
const getTheme = () => theme;
|
||||
let
|
||||
theme,
|
||||
infiniteScroll,
|
||||
stickyProfile,
|
||||
bidiSupport,
|
||||
hideTweetStats,
|
||||
hideBanner,
|
||||
hidePins,
|
||||
hideReplies,
|
||||
squareAvatars,
|
||||
mp4Playback,
|
||||
hlsPlayback,
|
||||
proxyVideos,
|
||||
muteVideos,
|
||||
autoplayGifs;
|
||||
|
||||
let infiniteScroll;
|
||||
const getInfiniteScroll = () => infiniteScroll;
|
||||
|
||||
let stickyProfile;
|
||||
const getStickyProfile = () => stickyProfile;
|
||||
|
||||
let bidiSupport;
|
||||
const getBidiSupport = () => bidiSupport;
|
||||
|
||||
let hideTweetStats;
|
||||
const getHideTweetStats = () => hideTweetStats;
|
||||
|
||||
let hideBanner;
|
||||
const getHideBanner = () => hideBanner;
|
||||
|
||||
let hidePins;
|
||||
const getHidePins = () => hidePins;
|
||||
|
||||
let hideReplies;
|
||||
const getHideReplies = () => hideReplies;
|
||||
|
||||
let squareAvatars;
|
||||
const getSquareAvatars = () => squareAvatars;
|
||||
|
||||
let mp4Playback;
|
||||
const getMp4Playback = () => mp4Playback;
|
||||
|
||||
let hlsPlayback;
|
||||
const getHlsPlayback = () => hlsPlayback;
|
||||
|
||||
let proxyVideos;
|
||||
const getProxyVideos = () => proxyVideos;
|
||||
|
||||
let muteVideos;
|
||||
const getMuteVideos = () => muteVideos;
|
||||
|
||||
let autoplayGifs;
|
||||
const getAutoplayGifs = () => autoplayGifs;
|
||||
|
||||
|
||||
|
||||
async function setSettings(val) {
|
||||
return new Promise(
|
||||
resolve => {
|
||||
browser.storage.local.set(val).then(resolve);
|
||||
}
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
function redirect(url, initiator) {
|
||||
let protocolHost = commonHelper.protocolHost(url);
|
||||
@ -312,138 +214,127 @@ function initNitterCookies() {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
async function initDefaults() {
|
||||
await fetch('/instances/data.json').then(response => response.text()).then(async data => {
|
||||
let dataJson = JSON.parse(data);
|
||||
redirects.nitter = dataJson.nitter;
|
||||
await browser.storage.local.set({
|
||||
disableTwitter: false,
|
||||
|
||||
enableTwitterCustomSettings: false,
|
||||
|
||||
twitterRedirects: redirects,
|
||||
bypassWatchOnTwitter: true,
|
||||
|
||||
nitterNormalRedirectsChecks: [...redirects.nitter.normal],
|
||||
nitterNormalCustomRedirects: [],
|
||||
|
||||
nitterTorRedirectsChecks: [...redirects.nitter.tor],
|
||||
nitterTorCustomRedirects: [],
|
||||
|
||||
twitterProtocol: "normal",
|
||||
alwaysUsePreferred: false,
|
||||
|
||||
nitterTheme: 'Auto',
|
||||
nitterInfiniteScroll: false,
|
||||
nitterStickyProfile: true,
|
||||
nitterBidiSupport: false,
|
||||
nitterHideTweetStats: false,
|
||||
nitterHideBanner: false,
|
||||
nitterHidePins: false,
|
||||
nitterHideReplies: false,
|
||||
nitterSquareAvatars: false,
|
||||
nitterMp4Playback: true,
|
||||
nitterHlsPlayback: false,
|
||||
nitterProxyVideos: true,
|
||||
nitterMuteVideos: false,
|
||||
nitterAutoplayGifs: true,
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
async function init() {
|
||||
return new Promise(resolve => {
|
||||
fetch('/instances/data.json').then(response => response.text()).then(data => {
|
||||
let dataJson = JSON.parse(data);
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableTwitter",
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableTwitter",
|
||||
|
||||
"enableTwitterCustomSettings",
|
||||
"enableTwitterCustomSettings",
|
||||
|
||||
"twitterRedirects",
|
||||
"bypassWatchOnTwitter",
|
||||
"twitterRedirects",
|
||||
"bypassWatchOnTwitter",
|
||||
|
||||
"nitterNormalRedirectsChecks",
|
||||
"nitterNormalCustomRedirects",
|
||||
"nitterNormalRedirectsChecks",
|
||||
"nitterNormalCustomRedirects",
|
||||
|
||||
"nitterTorRedirectsChecks",
|
||||
"nitterTorCustomRedirects",
|
||||
"nitterTorRedirectsChecks",
|
||||
"nitterTorCustomRedirects",
|
||||
|
||||
"twitterProtocol",
|
||||
"alwaysUsePreferred",
|
||||
"twitterProtocol",
|
||||
"alwaysUsePreferred",
|
||||
|
||||
"nitterTheme",
|
||||
"nitterInfiniteScroll",
|
||||
"nitterStickyProfile",
|
||||
"nitterBidiSupport",
|
||||
"nitterHideTweetStats",
|
||||
"nitterHideBanner",
|
||||
"nitterHidePins",
|
||||
"nitterHideReplies",
|
||||
"nitterSquareAvatars",
|
||||
"nitterMp4Playback",
|
||||
"nitterHlsPlayback",
|
||||
"nitterProxyVideos",
|
||||
"nitterMuteVideos",
|
||||
"nitterAutoplayGifs",
|
||||
],
|
||||
r => {
|
||||
disable = r.disableTwitter ?? false;
|
||||
enableCustomSettings = r.enableTwitterCustomSettings ?? false;
|
||||
"nitterTheme",
|
||||
"nitterInfiniteScroll",
|
||||
"nitterStickyProfile",
|
||||
"nitterBidiSupport",
|
||||
"nitterHideTweetStats",
|
||||
"nitterHideBanner",
|
||||
"nitterHidePins",
|
||||
"nitterHideReplies",
|
||||
"nitterSquareAvatars",
|
||||
"nitterMp4Playback",
|
||||
"nitterHlsPlayback",
|
||||
"nitterProxyVideos",
|
||||
"nitterMuteVideos",
|
||||
"nitterAutoplayGifs",
|
||||
],
|
||||
r => {
|
||||
disable = r.disableTwitter;
|
||||
enableCustomSettings = r.enableTwitterCustomSettings;
|
||||
|
||||
protocol = r.twitterProtocol ?? "normal";
|
||||
protocol = r.twitterProtocol;
|
||||
|
||||
bypassWatchOnTwitter = r.bypassWatchOnTwitter ?? true;
|
||||
bypassWatchOnTwitter = r.bypassWatchOnTwitter;
|
||||
|
||||
alwaysUsePreferred = r.alwaysUsePreferred ?? false;
|
||||
alwaysUsePreferred = r.alwaysUsePreferred;
|
||||
|
||||
redirects.nitter = dataJson.nitter;
|
||||
if (r.twitterRedirects) redirects = r.twitterRedirects;
|
||||
redirects = r.twitterRedirects;
|
||||
|
||||
nitterNormalRedirectsChecks = r.nitterNormalRedirectsChecks ?? [...redirects.nitter.normal];
|
||||
nitterNormalCustomRedirects = r.nitterNormalCustomRedirects ?? [];
|
||||
nitterNormalRedirectsChecks = r.nitterNormalRedirectsChecks;
|
||||
nitterNormalCustomRedirects = r.nitterNormalCustomRedirects;
|
||||
|
||||
nitterTorRedirectsChecks = r.nitterTorRedirectsChecks ?? [...redirects.nitter.tor];
|
||||
nitterTorCustomRedirects = r.nitterTorCustomRedirects ?? [];
|
||||
nitterTorRedirectsChecks = r.nitterTorRedirectsChecks;
|
||||
nitterTorCustomRedirects = r.nitterTorCustomRedirects;
|
||||
|
||||
theme = r.nitterTheme ?? 'Auto';
|
||||
infiniteScroll = r.nitterInfiniteScroll ?? false;
|
||||
stickyProfile = r.nitterStickyProfile ?? true;
|
||||
bidiSupport = r.nitterBidiSupport ?? false;
|
||||
hideTweetStats = r.nitterHideTweetStats ?? false;
|
||||
hideBanner = r.nitterHideBanner ?? false;
|
||||
hidePins = r.nitterHidePins ?? false;
|
||||
hideReplies = r.nitterHideReplies ?? false;
|
||||
squareAvatars = r.nitterSquareAvatars ?? false;
|
||||
mp4Playback = r.nitterMp4Playback ?? true;
|
||||
hlsPlayback = r.nitterHlsPlayback ?? false;
|
||||
proxyVideos = r.nitterProxyVideos ?? true;
|
||||
muteVideos = r.nitterMuteVideos ?? false;
|
||||
autoplayGifs = r.nitterAutoplayGifs ?? true;
|
||||
|
||||
resolve();
|
||||
}
|
||||
);
|
||||
});
|
||||
});
|
||||
theme = r.nitterTheme;
|
||||
infiniteScroll = r.nitterInfiniteScroll;
|
||||
stickyProfile = r.nitterStickyProfile;
|
||||
bidiSupport = r.nitterBidiSupport;
|
||||
hideTweetStats = r.nitterHideTweetStats;
|
||||
hideBanner = r.nitterHideBanner;
|
||||
hidePins = r.nitterHidePins;
|
||||
hideReplies = r.nitterHideReplies;
|
||||
squareAvatars = r.nitterSquareAvatars;
|
||||
mp4Playback = r.nitterMp4Playback;
|
||||
hlsPlayback = r.nitterHlsPlayback;
|
||||
proxyVideos = r.nitterProxyVideos;
|
||||
muteVideos = r.nitterMuteVideos;
|
||||
autoplayGifs = r.nitterAutoplayGifs;
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
export default {
|
||||
getRedirects,
|
||||
getCustomRedirects,
|
||||
setRedirects,
|
||||
|
||||
getDisable,
|
||||
setDisable,
|
||||
|
||||
reverse,
|
||||
|
||||
getEnableCustomSettings,
|
||||
setEnableCustomSettings,
|
||||
|
||||
getNitterNormalRedirectsChecks,
|
||||
setNitterNormalRedirectsChecks,
|
||||
|
||||
getNitterNormalCustomRedirects,
|
||||
setNitterNormalCustomRedirects,
|
||||
|
||||
getNitterTorRedirectsChecks,
|
||||
setNitterTorRedirectsChecks,
|
||||
|
||||
getNitterTorCustomRedirects,
|
||||
setNitterTorCustomRedirects,
|
||||
|
||||
getBypassWatchOnTwitter,
|
||||
setBypassWatchOnTwitter,
|
||||
|
||||
removeXFrameOptions,
|
||||
|
||||
getProtocol,
|
||||
setProtocol,
|
||||
|
||||
isNitter,
|
||||
initNitterCookies,
|
||||
|
||||
getTheme,
|
||||
getInfiniteScroll,
|
||||
getStickyProfile,
|
||||
getBidiSupport,
|
||||
getHideTweetStats,
|
||||
getHideBanner,
|
||||
getHidePins,
|
||||
getHideReplies,
|
||||
getSquareAvatars,
|
||||
getMp4Playback,
|
||||
getHlsPlayback,
|
||||
getProxyVideos,
|
||||
getMuteVideos,
|
||||
getAutoplayGifs,
|
||||
|
||||
setSettings,
|
||||
|
||||
redirect,
|
||||
initDefaults,
|
||||
init,
|
||||
switchInstance,
|
||||
};
|
||||
|
@ -12,15 +12,6 @@ let redirects = {
|
||||
}
|
||||
};
|
||||
const getRedirects = () => redirects;
|
||||
const getCustomRedirects = function () {
|
||||
return {
|
||||
"wikiless": {
|
||||
"normal": [...wikilessNormalRedirectsChecks, ...wikilessNormalCustomRedirects],
|
||||
"tor": [...wikilessTorRedirectsChecks, ...wikilessTorCustomRedirects],
|
||||
"i2p": [...wikilessI2pRedirectsChecks, ...wikilessI2pCustomRedirects]
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
function setRedirects(val) {
|
||||
redirects.wikiless = val;
|
||||
@ -31,88 +22,37 @@ function setRedirects(val) {
|
||||
var index = wikilessNormalRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) wikilessNormalRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setWikilessNormalRedirectsChecks(wikilessNormalRedirectsChecks);
|
||||
browser.storage.local.set({ wikilessNormalRedirectsChecks })
|
||||
|
||||
for (const item of wikilessTorRedirectsChecks)
|
||||
if (!redirects.wikiless.tor.includes(item)) {
|
||||
var index = wikilessTorRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) wikilessTorRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setWikilessTorRedirectsChecks(wikilessTorRedirectsChecks);
|
||||
browser.storage.local.set({ wikilessTorRedirectsChecks })
|
||||
|
||||
for (const item of wikilessI2pRedirectsChecks)
|
||||
if (!redirects.wikiless.i2p.includes(item)) {
|
||||
var index = wikilessI2pRedirectsChecks.indexOf(item);
|
||||
if (index !== -1) wikilessI2pRedirectsChecks.splice(index, 1);
|
||||
}
|
||||
setWikilessI2pRedirectsChecks(wikilessI2pRedirectsChecks);
|
||||
browser.storage.local.set({ wikilessI2pRedirectsChecks })
|
||||
}
|
||||
|
||||
let disable;
|
||||
const getDisable = () => disable;
|
||||
function setDisable(val) {
|
||||
disable = val;
|
||||
browser.storage.local.set({ disableWikipedia: disable })
|
||||
}
|
||||
|
||||
let protocol;
|
||||
const getProtocol = () => protocol;
|
||||
function setProtocol(val) {
|
||||
protocol = val;
|
||||
browser.storage.local.set({ wikipediaProtocol: val })
|
||||
console.log("wikipediaProtocol: ", val)
|
||||
}
|
||||
let disable; // disableWikipedia
|
||||
let protocol; // wikipediaProtocol
|
||||
|
||||
let wikilessNormalRedirectsChecks;
|
||||
const getWikilessNormalRedirectsChecks = () => wikilessNormalRedirectsChecks;
|
||||
function setWikilessNormalRedirectsChecks(val) {
|
||||
wikilessNormalRedirectsChecks = val;
|
||||
browser.storage.local.set({ wikilessNormalRedirectsChecks })
|
||||
console.log("wikilessNormalRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let wikilessTorRedirectsChecks;
|
||||
const getWikilessTorRedirectsChecks = () => wikilessTorRedirectsChecks;
|
||||
function setWikilessTorRedirectsChecks(val) {
|
||||
wikilessTorRedirectsChecks = val;
|
||||
browser.storage.local.set({ wikilessTorRedirectsChecks })
|
||||
console.log("wikilessTorRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let wikilessI2pRedirectsChecks;
|
||||
const getWikilessI2pRedirectsChecks = () => wikilessI2pRedirectsChecks;
|
||||
function setWikilessI2pRedirectsChecks(val) {
|
||||
wikilessI2pRedirectsChecks = val;
|
||||
browser.storage.local.set({ wikilessI2pRedirectsChecks })
|
||||
console.log("wikilessI2pRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let wikilessNormalCustomRedirects = [];
|
||||
const getWikilessNormalCustomRedirects = () => wikilessNormalCustomRedirects;
|
||||
function setWikilessNormalCustomRedirects(val) {
|
||||
wikilessNormalCustomRedirects = val;
|
||||
browser.storage.local.set({ wikilessNormalCustomRedirects })
|
||||
console.log("wikilessNormalCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
let wikilessTorCustomRedirects = [];
|
||||
const getWikilessTorCustomRedirects = () => wikilessTorCustomRedirects;
|
||||
function setWikilessTorCustomRedirects(val) {
|
||||
wikilessTorCustomRedirects = val;
|
||||
browser.storage.local.set({ wikilessTorCustomRedirects })
|
||||
console.log("wikilessTorCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
let wikilessI2pCustomRedirects = [];
|
||||
const getWikilessI2pCustomRedirects = () => wikilessI2pCustomRedirects;
|
||||
function setWikilessI2pCustomRedirects(val) {
|
||||
wikilessI2pCustomRedirects = val;
|
||||
browser.storage.local.set({ wikilessI2pCustomRedirects })
|
||||
console.log("wikilessI2pCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
|
||||
let theme;
|
||||
let applyThemeToSites;
|
||||
|
||||
function initWikilessCookies() {
|
||||
let themeValue;
|
||||
if (theme == 'light') themeValue = 'white';
|
||||
@ -196,82 +136,74 @@ function switchInstance(url) {
|
||||
return `${randomInstance}${url.pathname}${url.search}`;
|
||||
}
|
||||
|
||||
|
||||
async function initDefaults() {
|
||||
fetch('/instances/data.json').then(response => response.text()).then(async data => {
|
||||
let dataJson = JSON.parse(data);
|
||||
redirects.wikiless = dataJson.wikiless;
|
||||
await browser.storage.local.set({
|
||||
disableWikipedia: true,
|
||||
wikipediaRedirects: redirects,
|
||||
wikilessNormalRedirectsChecks: [...redirects.wikiless.normal],
|
||||
wikilessTorRedirectsChecks: [...redirects.wikiless.tor],
|
||||
wikilessI2pRedirectsChecks: [...redirects.wikiless.i2p],
|
||||
wikilessNormalCustomRedirects: [],
|
||||
wikilessTorCustomRedirects: [],
|
||||
wikilessI2pCustomRedirects: [],
|
||||
wikipediaProtocol: "normal",
|
||||
|
||||
theme: 'DEFAULT',
|
||||
applyThemeToSites: false,
|
||||
})
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
async function init() {
|
||||
return new Promise((resolve) => {
|
||||
fetch('/instances/data.json').then(response => response.text()).then(data => {
|
||||
let dataJson = JSON.parse(data);
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableWikipedia",
|
||||
"wikipediaRedirects",
|
||||
"wikilessNormalRedirectsChecks",
|
||||
"wikilessTorRedirectsChecks",
|
||||
"wikilessI2pRedirectsChecks",
|
||||
"wikilessNormalCustomRedirects",
|
||||
"wikilessTorCustomRedirects",
|
||||
"wikilessI2pCustomRedirects",
|
||||
"wikipediaProtocol",
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableWikipedia",
|
||||
"wikipediaRedirects",
|
||||
"wikilessNormalRedirectsChecks",
|
||||
"wikilessTorRedirectsChecks",
|
||||
"wikilessI2pRedirectsChecks",
|
||||
"wikilessNormalCustomRedirects",
|
||||
"wikilessTorCustomRedirects",
|
||||
"wikilessI2pCustomRedirects",
|
||||
"wikipediaProtocol",
|
||||
|
||||
"theme",
|
||||
"applyThemeToSites",
|
||||
"theme",
|
||||
"applyThemeToSites",
|
||||
|
||||
], r => {
|
||||
disable = r.disableWikipedia ?? true;
|
||||
], r => {
|
||||
disable = r.disableWikipedia;
|
||||
|
||||
protocol = r.wikipediaProtocol ?? "normal";
|
||||
protocol = r.wikipediaProtocol;
|
||||
redirects = r.wikipediaRedirects;
|
||||
|
||||
redirects.wikiless = dataJson.wikiless;
|
||||
if (r.wikipediaRedirects) redirects = r.wikipediaRedirects;
|
||||
wikilessNormalRedirectsChecks = r.wikilessNormalRedirectsChecks;
|
||||
wikilessNormalCustomRedirects = r.wikilessNormalCustomRedirects;
|
||||
|
||||
wikilessNormalRedirectsChecks = r.wikilessNormalRedirectsChecks ?? [...redirects.wikiless.normal];
|
||||
wikilessNormalCustomRedirects = r.wikilessNormalCustomRedirects ?? [];
|
||||
wikilessTorRedirectsChecks = r.wikilessTorRedirectsChecks;
|
||||
wikilessTorCustomRedirects = r.wikilessTorCustomRedirects;
|
||||
|
||||
wikilessTorRedirectsChecks = r.wikilessTorRedirectsChecks ?? [...redirects.wikiless.tor];
|
||||
wikilessTorCustomRedirects = r.wikilessTorCustomRedirects ?? [];
|
||||
wikilessI2pRedirectsChecks = r.wikilessI2pRedirectsChecks;
|
||||
wikilessI2pCustomRedirects = r.wikilessI2pCustomRedirects;
|
||||
|
||||
wikilessI2pRedirectsChecks = r.wikilessI2pRedirectsChecks ?? [...redirects.wikiless.i2p];
|
||||
wikilessI2pCustomRedirects = r.wikilessI2pCustomRedirects ?? [];
|
||||
|
||||
theme = r.theme ?? 'DEFAULT';
|
||||
applyThemeToSites = r.applyThemeToSites ?? false;
|
||||
|
||||
initWikilessCookies();
|
||||
|
||||
resolve();
|
||||
}
|
||||
);
|
||||
});
|
||||
});
|
||||
theme = r.theme;
|
||||
applyThemeToSites = r.applyThemeToSites;
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
export default {
|
||||
getRedirects,
|
||||
getCustomRedirects,
|
||||
setRedirects,
|
||||
|
||||
setDisable,
|
||||
getDisable,
|
||||
|
||||
getProtocol,
|
||||
setProtocol,
|
||||
|
||||
getWikilessNormalRedirectsChecks,
|
||||
setWikilessNormalRedirectsChecks,
|
||||
getWikilessTorRedirectsChecks,
|
||||
setWikilessTorRedirectsChecks,
|
||||
getWikilessI2pRedirectsChecks,
|
||||
setWikilessI2pRedirectsChecks,
|
||||
|
||||
getWikilessNormalCustomRedirects,
|
||||
setWikilessNormalCustomRedirects,
|
||||
getWikilessTorCustomRedirects,
|
||||
setWikilessTorCustomRedirects,
|
||||
getWikilessI2pCustomRedirects,
|
||||
setWikilessI2pCustomRedirects,
|
||||
|
||||
initWikilessCookies,
|
||||
|
||||
redirect,
|
||||
initDefaults,
|
||||
init,
|
||||
switchInstance,
|
||||
};
|
||||
|
@ -137,8 +137,9 @@ function redirect(url, details, initiator) {
|
||||
if (frontend == 'yatte' && details.type === "main_frame")
|
||||
return url.href.replace(/^https?:\/{2}/, 'yattee://');
|
||||
|
||||
else if (frontend == 'freetube' && details.type === "main_frame")
|
||||
return `freetube://${url}`;
|
||||
else if (frontend == 'freetube' && details.type === "main_frame") {
|
||||
return `freetube://https:${url.pathname}${url.search}`;
|
||||
}
|
||||
|
||||
else if (frontend == 'freetube' && details.type !== "main_frame" && youtubeEmbedFrontend == "youtube")
|
||||
return null;
|
||||
@ -265,6 +266,7 @@ function switchInstance(url) {
|
||||
}
|
||||
|
||||
function isPipedorInvidious(url, type, frontend) {
|
||||
init();
|
||||
let protocolHost = commonHelper.protocolHost(url);
|
||||
|
||||
if (type !== "main_frame" && type !== "sub_frame") return false;
|
||||
@ -348,7 +350,7 @@ async function initDefaults() {
|
||||
youtubeProtocol: 'normal',
|
||||
bypassWatchOnYoutube: true,
|
||||
})
|
||||
|
||||
|
||||
await invidious.initDefaults();
|
||||
await piped.initDefaults();
|
||||
await pipedMaterial.initDefaults();
|
||||
@ -392,8 +394,6 @@ async function init() {
|
||||
"bypassWatchOnYoutube",
|
||||
],
|
||||
r => {
|
||||
|
||||
console.log('inited r.youtubeRedirects', r.youtubeRedirects);
|
||||
redirects = r.youtubeRedirects;
|
||||
|
||||
disable = r.disableYoutube;
|
||||
|
@ -16,45 +16,11 @@ let redirects = {
|
||||
},
|
||||
};
|
||||
|
||||
const getRedirects = () => redirects;
|
||||
|
||||
function getCustomRedirects() {
|
||||
return {
|
||||
"beatbump": {
|
||||
"normal": [...beatbumpNormalRedirectsChecks, ...beatbumpNormalCustomRedirects]
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
function setYoutubeMusicRedirects(val) {
|
||||
redirects.beatbump = val;
|
||||
browser.storage.local.set({ youtubeMusicRedirects: redirects })
|
||||
console.log("youtubeMusicRedirects: ", val)
|
||||
}
|
||||
const getRedirects = () => redirects; // youtubeMusicRedirects
|
||||
|
||||
let beatbumpNormalRedirectsChecks;
|
||||
const getBeatbumpNormalRedirectsChecks = () => beatbumpNormalRedirectsChecks;
|
||||
function setBeatbumpNormalRedirectsChecks(val) {
|
||||
beatbumpNormalRedirectsChecks = val;
|
||||
browser.storage.local.set({ beatbumpNormalRedirectsChecks })
|
||||
console.log("beatbumpNormalRedirectsChecks: ", val)
|
||||
}
|
||||
|
||||
let beatbumpNormalCustomRedirects = [];
|
||||
const getBeatbumpNormalCustomRedirects = () => beatbumpNormalCustomRedirects;
|
||||
function setBeatbumpNormalCustomRedirects(val) {
|
||||
beatbumpNormalCustomRedirects = val;
|
||||
browser.storage.local.set({ beatbumpNormalCustomRedirects })
|
||||
console.log("beatbumpNormalCustomRedirects: ", val)
|
||||
}
|
||||
|
||||
let disable;
|
||||
const getDisable = () => disable;
|
||||
function setDisable(val) {
|
||||
disable = val;
|
||||
browser.storage.local.set({ disableYoutubeMusic: disable })
|
||||
console.log("disableYoutubeMusic: ", disable)
|
||||
}
|
||||
let disable; // disableYoutubeMusic
|
||||
|
||||
function isYoutubeMusic(url, initiator) {
|
||||
if (disable) return false
|
||||
@ -72,11 +38,11 @@ function redirect(url, type) {
|
||||
// https://music.youtube.com/playlist?list=PLqxd0OMLeWy7lrJSzt9LnOJjbC1IaruPM
|
||||
// https://music.youtube.com/playlist?list=PLQod4DlD72ZMJmOrSNbmEmK_iZ1oXPzKd
|
||||
// https://beatbump.ml/playlist/VLPLqxd0OMLeWy64zlwhjouj92ISc38FbOns
|
||||
|
||||
|
||||
// Channel
|
||||
// https://music.youtube.com/channel/UCfgmMDI7T5tOQqjnOBRe_wg
|
||||
// https://beatbump.ml/artist/UCfgmMDI7T5tOQqjnOBRe_wg
|
||||
|
||||
|
||||
// Albums
|
||||
// https://music.youtube.com/playlist?list=OLAK5uy_n-9HVh3cryV2gREZM9Sc0JwEKYjjfi0dU
|
||||
// https://music.youtube.com/playlist?list=OLAK5uy_lcr5O1zS8f6WIFI_yxqVp2RK9Dyy2bbw0
|
||||
@ -86,7 +52,7 @@ function redirect(url, type) {
|
||||
// https://music.youtube.com/playlist?list=OLAK5uy_n6OHVllUZUCnlIY1m-gUaH8uqkN3Y-Ca8
|
||||
// https://music.youtube.com/playlist?list=OLAK5uy_nBOTxAc3_RGB82-Z54jdARGxGaCYlpngY
|
||||
// https://beatbump.ml/release?id=MPREb_QygdC0wEoLe
|
||||
|
||||
|
||||
// https://music.youtube.com/watch?v=R6gSMSYKhKU&list=OLAK5uy_n-9HVh3cryV2gREZM9Sc0JwEKYjjfi0dU
|
||||
|
||||
let instancesList = [...beatbumpNormalRedirectsChecks, ...beatbumpNormalCustomRedirects];
|
||||
@ -99,47 +65,37 @@ function redirect(url, type) {
|
||||
.replace("/playlist?list=", "/playlist/VL");
|
||||
}
|
||||
|
||||
|
||||
async function initDefaults() {
|
||||
await browser.storage.local.set({
|
||||
disableYoutubeMusic: false,
|
||||
|
||||
beatbumpNormalRedirectsChecks: [...redirects.beatbump.normal],
|
||||
beatbumpNormalCustomRedirects: [],
|
||||
})
|
||||
}
|
||||
|
||||
async function init() {
|
||||
return new Promise((resolve) => {
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableYoutubeMusic",
|
||||
"youtubeMusicRedirects",
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableYoutubeMusic",
|
||||
|
||||
"beatbumpNormalRedirectsChecks",
|
||||
"beatbumpNormalCustomRedirects",
|
||||
"beatbumpNormalRedirectsChecks",
|
||||
"beatbumpNormalCustomRedirects",
|
||||
],
|
||||
r => {
|
||||
disable = r.disableYoutubeMusic;
|
||||
|
||||
"youtubeMusicProtocol",
|
||||
],
|
||||
(result) => {
|
||||
disable = result.disableYoutubeMusic ?? false;
|
||||
|
||||
if (result.youtubeMusicRedirects) redirects = result.youtubeMusicRedirects;
|
||||
|
||||
beatbumpNormalRedirectsChecks = result.beatbumpNormalRedirectsChecks ?? [...redirects.beatbump.normal];
|
||||
beatbumpNormalCustomRedirects = result.beatbumpNormalCustomRedirects ?? [];
|
||||
|
||||
resolve();
|
||||
});
|
||||
});
|
||||
beatbumpNormalRedirectsChecks = r.beatbumpNormalRedirectsChecks;
|
||||
beatbumpNormalCustomRedirects = r.beatbumpNormalCustomRedirects;
|
||||
});
|
||||
}
|
||||
|
||||
export default {
|
||||
getRedirects,
|
||||
getCustomRedirects,
|
||||
setYoutubeMusicRedirects,
|
||||
|
||||
redirect,
|
||||
isYoutubeMusic,
|
||||
|
||||
getDisable,
|
||||
setDisable,
|
||||
|
||||
getBeatbumpNormalRedirectsChecks,
|
||||
setBeatbumpNormalRedirectsChecks,
|
||||
|
||||
getBeatbumpNormalCustomRedirects,
|
||||
setBeatbumpNormalCustomRedirects,
|
||||
|
||||
initDefaults,
|
||||
init,
|
||||
};
|
||||
|
@ -11,7 +11,6 @@ import wikipediaHelper from "../../assets/javascripts/helpers/wikipedia.js";
|
||||
import mediumHelper from "../../assets/javascripts/helpers/medium.js";
|
||||
import imgurHelper from "../../assets/javascripts/helpers/imgur.js";
|
||||
import tiktokHelper from "../../assets/javascripts/helpers/tiktok.js";
|
||||
import pixivHelper from "../../assets/javascripts/helpers/pixiv.js";
|
||||
import speedtestHelper from "../../assets/javascripts/helpers/speedtest.js";
|
||||
import sendTargetsHelper from "../../assets/javascripts/helpers/sendTargets.js";
|
||||
import peertubeHelper from "../../assets/javascripts/helpers/peertube.js";
|
||||
@ -22,25 +21,28 @@ import youtubeMusicHelper from "../../assets/javascripts/helpers/youtubeMusic.js
|
||||
|
||||
window.browser = window.browser || window.chrome;
|
||||
|
||||
|
||||
|
||||
browser.runtime.onInstalled.addListener(async details => {
|
||||
if (details.reason == 'install') {
|
||||
await instagramHelper.initDefaults();
|
||||
await redditHelper.initDefaults();
|
||||
await youtubeHelper.initDefaults();
|
||||
await tiktokHelper.initDefaults();
|
||||
await imgurHelper.initDefaults();
|
||||
await wholeInit();
|
||||
browser.storage.local.set({ initDefaults: true })
|
||||
initListener();
|
||||
youtubeHelper.initDefaults();
|
||||
youtubeMusicHelper.initDefaults();
|
||||
twitterHelper.initDefaults();
|
||||
instagramHelper.initDefaults();
|
||||
mapsHelper.initDefaults();
|
||||
searchHelper.initDefaults();
|
||||
translateHelper.initDefaults();
|
||||
mediumHelper.initDefaults();
|
||||
redditHelper.initDefaults();
|
||||
wikipediaHelper.initDefaults();
|
||||
imgurHelper.initDefaults();
|
||||
tiktokHelper.initDefaults();
|
||||
speedtestHelper.initDefaults();
|
||||
sendTargetsHelper.initDefaults();
|
||||
peertubeHelper.initDefaults();
|
||||
lbryHelper.initDefaults();
|
||||
spotifyHelper.initDefaults();
|
||||
}
|
||||
});
|
||||
|
||||
function initListener() {
|
||||
browser.storage.onChanged.addListener(wholeInit);
|
||||
}
|
||||
|
||||
async function wholeInit() {
|
||||
await youtubeHelper.init();
|
||||
await youtubeMusicHelper.init();
|
||||
@ -54,7 +56,6 @@ async function wholeInit() {
|
||||
await wikipediaHelper.init();
|
||||
await imgurHelper.init();
|
||||
await tiktokHelper.init();
|
||||
await pixivHelper.init();
|
||||
await speedtestHelper.init();
|
||||
await sendTargetsHelper.init();
|
||||
await peertubeHelper.init();
|
||||
@ -63,15 +64,6 @@ async function wholeInit() {
|
||||
await generalHelper.init();
|
||||
}
|
||||
|
||||
await browser.storage.local.get(
|
||||
'initDefaults',
|
||||
async r => {
|
||||
if (r.initDefaults == true) {
|
||||
await wholeInit();
|
||||
initListener();
|
||||
}
|
||||
})
|
||||
|
||||
let incognitoInit = false;
|
||||
browser.tabs.onCreated.addListener(
|
||||
tab => {
|
||||
@ -87,7 +79,8 @@ browser.tabs.onCreated.addListener(
|
||||
let BYPASSTABs = [];
|
||||
|
||||
browser.webRequest.onBeforeRequest.addListener(
|
||||
details => {
|
||||
async details => {
|
||||
await wholeInit();
|
||||
const url = new URL(details.url);
|
||||
// console.info("url:", url.href, "type:", details.type);
|
||||
let initiator;
|
||||
@ -115,8 +108,6 @@ browser.webRequest.onBeforeRequest.addListener(
|
||||
|
||||
if (!newUrl) newUrl = tiktokHelper.redirect(url, details.type, initiator);
|
||||
|
||||
if (!newUrl) newUrl = pixivHelper.redirect(url, details.type, initiator);
|
||||
|
||||
if (!newUrl) newUrl = speedtestHelper.redirect(url, details.type, initiator);
|
||||
|
||||
if (!newUrl) newUrl = sendTargetsHelper.redirect(url, details.type, initiator);
|
||||
@ -173,20 +164,17 @@ browser.tabs.onRemoved.addListener(
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Set "blocking" and "responseHeaders".
|
||||
browser.webRequest.onHeadersReceived.addListener(
|
||||
e => {
|
||||
async e => {
|
||||
await wholeInit();
|
||||
return twitterHelper.removeXFrameOptions(e);
|
||||
},
|
||||
{ urls: ["<all_urls>"], },
|
||||
["blocking", "responseHeaders"]
|
||||
);
|
||||
|
||||
function redirectOfflineInstance(url, tabId) {
|
||||
async function redirectOfflineInstance(url, tabId) {
|
||||
await wholeInit();
|
||||
let newUrl;
|
||||
|
||||
newUrl = youtubeHelper.switchInstance(url);
|
||||
@ -250,7 +238,8 @@ browser.webRequest.onErrorOccurred.addListener(
|
||||
)
|
||||
|
||||
browser.tabs.onUpdated.addListener(
|
||||
(tabId, changeInfo, _) => {
|
||||
async (tabId, changeInfo, _) => {
|
||||
await wholeInit();
|
||||
let url;
|
||||
try { url = new URL(changeInfo.url); }
|
||||
catch (_) { return }
|
||||
@ -259,11 +248,11 @@ browser.tabs.onUpdated.addListener(
|
||||
if (translateHelper.isTranslateRedirects(url, 'main_frame', 'lingva')) translateHelper.initLingvaLocalStorage(tabId);
|
||||
if (instagramHelper.isBibliogram(url)) instagramHelper.initBibliogramCookies(url);
|
||||
// if (changeInfo.url && youtubeHelper.isPipedorInvidious(url, 'main_frame', 'pipedMaterial')) youtubeHelper.initPipedMaterialLocalStorage(tabId);
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
function changeWholeInstance(url) {
|
||||
async function changeWholeInstance(url) {
|
||||
await wholeInit();
|
||||
let newUrl = youtubeHelper.switchInstance(url);
|
||||
|
||||
if (!newUrl) newUrl = twitterHelper.switchInstance(url);
|
||||
|
@ -11,7 +11,6 @@ import wikipediaHelper from "../../assets/javascripts/helpers/wikipedia.js";
|
||||
import mediumHelper from "../../assets/javascripts/helpers/medium.js";
|
||||
import imgurHelper from "../../assets/javascripts/helpers/imgur.js";
|
||||
import tiktokHelper from "../../assets/javascripts/helpers/tiktok.js";
|
||||
import pixivHelper from "../../assets/javascripts/helpers/pixiv.js";
|
||||
import speedtestHelper from "../../assets/javascripts/helpers/speedtest.js";
|
||||
import sendTargetsHelper from "../../assets/javascripts/helpers/sendTargets.js";
|
||||
import peertubeHelper from "../../assets/javascripts/helpers/peertube.js";
|
||||
@ -35,7 +34,6 @@ async function wholeInit() {
|
||||
await wikipediaHelper.init();
|
||||
await imgurHelper.init();
|
||||
await tiktokHelper.init();
|
||||
await pixivHelper.init();
|
||||
await speedtestHelper.init();
|
||||
await sendTargetsHelper.init();
|
||||
await peertubeHelper.init();
|
||||
|
@ -22,7 +22,6 @@
|
||||
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
|
||||
@ -152,10 +151,6 @@
|
||||
<div> <img src="../../../assets/images/reddit-icon.png">Reddit</div>
|
||||
<input id="reddit" type="checkbox">
|
||||
</div>
|
||||
<div>
|
||||
<div> <img src="../../../assets/images/pixiv-icon.svg">Pixiv</div>
|
||||
<input id="pixiv" type="checkbox">
|
||||
</div>
|
||||
<div>
|
||||
<div> <img src="../../../assets/images/spotify-icon.png">Spotify</div>
|
||||
<input id="spotify" type="checkbox">
|
||||
|
@ -23,7 +23,6 @@
|
||||
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a class="selected" href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
|
||||
|
@ -42,7 +42,7 @@ function init() {
|
||||
],
|
||||
r => {
|
||||
disableImgurElement.checked = !r.disableImgur;
|
||||
protocol.value = r.imgurProtocol;
|
||||
protocolElement.value = r.imgurProtocol;
|
||||
changeProtocolSettings(r.imgurProtocol);
|
||||
}
|
||||
);
|
||||
|
@ -23,7 +23,6 @@
|
||||
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
|
||||
|
@ -23,7 +23,6 @@
|
||||
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
|
||||
|
@ -2,18 +2,15 @@ import lbryHelper from "../../../assets/javascripts/helpers/lbry.js";
|
||||
import commonHelper from "../../../assets/javascripts/helpers/common.js";
|
||||
|
||||
let disableLbryElement = document.getElementById("disable-lbry");
|
||||
disableLbryElement.addEventListener("change",
|
||||
(event) => lbryHelper.setDisable(!event.target.checked)
|
||||
);
|
||||
|
||||
let protocolElement = document.getElementById("protocol")
|
||||
protocolElement.addEventListener("change",
|
||||
event => {
|
||||
let protocol = event.target.options[protocolElement.selectedIndex].value
|
||||
lbryHelper.setProtocol(protocol);
|
||||
changeProtocolSettings(protocol);
|
||||
}
|
||||
);
|
||||
|
||||
document.addEventListener("change", async () => {
|
||||
await browser.storage.local.set({
|
||||
disableLbryTargets: !lbryHelper.checked,
|
||||
lbryTargetsProtocol: protocolElement.value,
|
||||
});
|
||||
changeProtocolSettings(protocolElement.value)
|
||||
})
|
||||
|
||||
function changeProtocolSettings(protocol) {
|
||||
let normalDiv = document.getElementsByClassName("normal")[0];
|
||||
@ -28,37 +25,20 @@ function changeProtocolSettings(protocol) {
|
||||
}
|
||||
}
|
||||
|
||||
lbryHelper.init().then(() => {
|
||||
disableLbryElement.checked = !lbryHelper.getDisable();
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableLbryTargets",
|
||||
"lbryTargetsProtocol"
|
||||
],
|
||||
r => {
|
||||
disableLbryElement.checked = !r.disableLbryTargets;
|
||||
|
||||
let protocol = lbryHelper.getProtocol();
|
||||
let protocol = r.lbryTargetsProtocol;
|
||||
protocolElement.value = protocol;
|
||||
changeProtocolSettings(protocol);
|
||||
|
||||
browser.storage.local.get("librarianLatency").then(r => {
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'librarian',
|
||||
'normal',
|
||||
lbryHelper,
|
||||
document,
|
||||
lbryHelper.getLibrarianNormalRedirectsChecks,
|
||||
lbryHelper.setLibrarianNormalRedirectsChecks,
|
||||
lbryHelper.getLibrarianNormalCustomRedirects,
|
||||
lbryHelper.setLibrarianNormalCustomRedirects,
|
||||
r.librarianLatency,
|
||||
);
|
||||
})
|
||||
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'librarian',
|
||||
'tor',
|
||||
lbryHelper,
|
||||
document,
|
||||
lbryHelper.getLibrarianTorRedirectsChecks,
|
||||
lbryHelper.setLibrarianTorRedirectsChecks,
|
||||
lbryHelper.getLibrarianTorCustomRedirects,
|
||||
lbryHelper.setLibrarianTorCustomRedirects
|
||||
)
|
||||
commonHelper.processDefaultCustomInstances('librarian', 'normal', lbryHelper, document);
|
||||
commonHelper.processDefaultCustomInstances('librarian', 'tor', lbryHelper, document)
|
||||
})
|
||||
|
||||
|
||||
@ -75,17 +55,7 @@ latencyElement.addEventListener("click",
|
||||
commonHelper.testLatency(latencyLabel, redirects.librarian.normal).then(r => {
|
||||
browser.storage.local.set({ librarianLatency: r });
|
||||
latencyLabel.innerHTML = oldHtml;
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'librarian',
|
||||
'normal',
|
||||
lbryHelper,
|
||||
document,
|
||||
lbryHelper.getLibrarianNormalRedirectsChecks,
|
||||
lbryHelper.setLibrarianNormalRedirectsChecks,
|
||||
lbryHelper.getLibrarianNormalCustomRedirects,
|
||||
lbryHelper.setLibrarianNormalCustomRedirects,
|
||||
r,
|
||||
);
|
||||
commonHelper.processDefaultCustomInstances('librarian', 'normal', lbryHelper, document);
|
||||
latencyElement.removeEventListener("click", reloadWindow);
|
||||
});
|
||||
}
|
||||
|
@ -23,7 +23,6 @@
|
||||
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
|
||||
|
@ -33,17 +33,7 @@ mapsHelper.init().then(() => {
|
||||
changeFrontendsSettings(frontend);
|
||||
|
||||
browser.storage.local.get("facilLatency").then(r => {
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'facil',
|
||||
'normal',
|
||||
mapsHelper,
|
||||
document,
|
||||
mapsHelper.getFacilNormalRedirectsChecks,
|
||||
mapsHelper.setFacilNormalRedirectsChecks,
|
||||
mapsHelper.getFacilNormalCustomRedirects,
|
||||
mapsHelper.setFacilNormalCustomRedirects,
|
||||
r.facilLatency,
|
||||
)
|
||||
commonHelper.processDefaultCustomInstances('facil', 'normal', mapsHelper, document, r.facilLatency)
|
||||
})
|
||||
})
|
||||
|
||||
@ -60,17 +50,7 @@ latencyElement.addEventListener("click",
|
||||
commonHelper.testLatency(latencyLabel, redirects.facil.normal).then(r => {
|
||||
browser.storage.local.set({ facilLatency: r });
|
||||
latencyLabel.innerHTML = oldHtml;
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'facil',
|
||||
'normal',
|
||||
mapsHelper,
|
||||
document,
|
||||
mapsHelper.getFacilNormalRedirectsChecks,
|
||||
mapsHelper.setFacilNormalRedirectsChecks,
|
||||
mapsHelper.getFacilNormalCustomRedirects,
|
||||
mapsHelper.setFacilNormalCustomRedirects,
|
||||
r,
|
||||
);
|
||||
commonHelper.processDefaultCustomInstances('facil', 'normal', mapsHelper, document);
|
||||
latencyElement.removeEventListener("click", reloadWindow);
|
||||
});
|
||||
}
|
||||
|
@ -23,7 +23,6 @@
|
||||
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
|
||||
|
@ -2,18 +2,32 @@ import mediumHelper from "../../../assets/javascripts/helpers/medium.js";
|
||||
import commonHelper from "../../../assets/javascripts/helpers/common.js";
|
||||
|
||||
let disableMediumElement = document.getElementById("disable-medium");
|
||||
disableMediumElement.addEventListener("change",
|
||||
(event) => mediumHelper.setDisable(!event.target.checked)
|
||||
);
|
||||
|
||||
let protocolElement = document.getElementById("protocol")
|
||||
protocolElement.addEventListener("change",
|
||||
(event) => {
|
||||
let protocol = event.target.options[protocolElement.selectedIndex].value
|
||||
mediumHelper.setProtocol(protocol);
|
||||
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableMedium",
|
||||
"mediumProtocol"
|
||||
],
|
||||
r => {
|
||||
disableMediumElement.checked = !r.disableMedium;
|
||||
|
||||
let protocol = r.mediumProtocol;
|
||||
protocolElement.value = protocol;
|
||||
changeProtocolSettings(protocol);
|
||||
|
||||
commonHelper.processDefaultCustomInstances('scribe', 'normal', mediumHelper, document)
|
||||
commonHelper.processDefaultCustomInstances('scribe', 'tor', mediumHelper, document)
|
||||
}
|
||||
);
|
||||
)
|
||||
|
||||
document.addEventListener("change", async () => {
|
||||
await browser.storage.local.set({
|
||||
disableMedium: !disableMediumElement.checked,
|
||||
mediumProtocol: protocolElement.value,
|
||||
})
|
||||
changeProtocolSettings(protocolElement.value);
|
||||
})
|
||||
|
||||
function changeProtocolSettings(protocol) {
|
||||
let normalDiv = document.getElementsByClassName("normal")[0];
|
||||
@ -28,41 +42,6 @@ function changeProtocolSettings(protocol) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
mediumHelper.init().then(() => {
|
||||
disableMediumElement.checked = !mediumHelper.getDisable();
|
||||
|
||||
let protocol = mediumHelper.getProtocol();
|
||||
protocolElement.value = protocol;
|
||||
changeProtocolSettings(protocol);
|
||||
|
||||
|
||||
browser.storage.local.get("scribeLatency").then(r => {
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'scribe',
|
||||
'normal',
|
||||
mediumHelper,
|
||||
document,
|
||||
mediumHelper.getScribeNormalRedirectsChecks,
|
||||
mediumHelper.setScribeNormalRedirectsChecks,
|
||||
mediumHelper.getScribeNormalCustomRedirects,
|
||||
mediumHelper.setScribeNormalCustomRedirects,
|
||||
r.scribeLatency,
|
||||
)
|
||||
})
|
||||
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'scribe',
|
||||
'tor',
|
||||
mediumHelper,
|
||||
document,
|
||||
mediumHelper.getScribeTorRedirectsChecks,
|
||||
mediumHelper.setScribeTorRedirectsChecks,
|
||||
mediumHelper.getScribeTorCustomRedirects,
|
||||
mediumHelper.setScribeTorCustomRedirects
|
||||
)
|
||||
})
|
||||
|
||||
let latencyElement = document.getElementById("latency");
|
||||
let latencyLabel = document.getElementById("latency-label");
|
||||
latencyElement.addEventListener("click",
|
||||
@ -76,17 +55,7 @@ latencyElement.addEventListener("click",
|
||||
commonHelper.testLatency(latencyLabel, redirects.scribe.normal).then(r => {
|
||||
browser.storage.local.set({ scribeLatency: r });
|
||||
latencyLabel.innerHTML = oldHtml;
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'scribe',
|
||||
'normal',
|
||||
mediumHelper,
|
||||
document,
|
||||
mediumHelper.getScribeNormalRedirectsChecks,
|
||||
mediumHelper.setScribeNormalRedirectsChecks,
|
||||
mediumHelper.getScribeNormalCustomRedirects,
|
||||
mediumHelper.setScribeNormalCustomRedirects,
|
||||
r,
|
||||
);
|
||||
commonHelper.processDefaultCustomInstances('scribe', 'normal', mediumHelper, document);
|
||||
latencyElement.removeEventListener("click", reloadWindow);
|
||||
});
|
||||
}
|
||||
|
@ -23,7 +23,6 @@
|
||||
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
|
||||
|
@ -2,18 +2,31 @@ import peertubeHelper from "../../../assets/javascripts/helpers/peertube.js";
|
||||
import commonHelper from "../../../assets/javascripts/helpers/common.js";
|
||||
|
||||
let disablePeertubeElement = document.getElementById("disable-peertube");
|
||||
disablePeertubeElement.addEventListener("change",
|
||||
(event) => peertubeHelper.setDisable(!event.target.checked)
|
||||
);
|
||||
|
||||
let protocolElement = document.getElementById("protocol")
|
||||
protocolElement.addEventListener("change",
|
||||
(event) => {
|
||||
let protocol = event.target.options[protocolElement.selectedIndex].value
|
||||
peertubeHelper.setProtocol(protocol);
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disablePeertubeTargets",
|
||||
"peertubeTargetsProtocol"
|
||||
],
|
||||
r => {
|
||||
disablePeertubeElement.checked = !r.disablePeertubeTargets;
|
||||
|
||||
let protocol = peertubeTargetsProtocol;
|
||||
protocolElement.value = protocol;
|
||||
changeProtocolSettings(protocol);
|
||||
|
||||
commonHelper.processDefaultCustomInstances('simpleertube', 'normal', peertubeHelper, document);
|
||||
commonHelper.processDefaultCustomInstances('simpleertube', 'tor', peertubeHelper, document)
|
||||
}
|
||||
);
|
||||
)
|
||||
|
||||
document.addEventListener("change", async () => {
|
||||
await browser.storage.local.set({
|
||||
disablePeertubeTargets: !disablePeertubeElement.checked,
|
||||
peertubeTargetsProtocol: protocolElement.value
|
||||
})
|
||||
changeProtocolSettings(protocolElement.value);
|
||||
})
|
||||
|
||||
function changeProtocolSettings(protocol) {
|
||||
let normalDiv = document.getElementsByClassName("normal")[0];
|
||||
@ -28,39 +41,6 @@ function changeProtocolSettings(protocol) {
|
||||
}
|
||||
}
|
||||
|
||||
peertubeHelper.init().then(() => {
|
||||
disablePeertubeElement.checked = !peertubeHelper.getDisable();
|
||||
|
||||
let protocol = peertubeHelper.getProtocol();
|
||||
protocolElement.value = protocol;
|
||||
changeProtocolSettings(protocol);
|
||||
|
||||
browser.storage.local.get("simpleertubeLatency").then(r => {
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'simpleertube',
|
||||
'normal',
|
||||
peertubeHelper,
|
||||
document,
|
||||
peertubeHelper.getSimpleertubeNormalRedirectsChecks,
|
||||
peertubeHelper.setSimpleertubeNormalRedirectsChecks,
|
||||
peertubeHelper.getSimpleertubeNormalCustomRedirects,
|
||||
peertubeHelper.setSimpleertubeNormalCustomRedirects
|
||||
);
|
||||
})
|
||||
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'simpleertube',
|
||||
'tor',
|
||||
peertubeHelper,
|
||||
document,
|
||||
peertubeHelper.getSimpleertubeTorRedirectsChecks,
|
||||
peertubeHelper.setSimpleertubeTorRedirectsChecks,
|
||||
peertubeHelper.getSimpleertubeTorCustomRedirects,
|
||||
peertubeHelper.setSimpleertubeTorCustomRedirects
|
||||
)
|
||||
})
|
||||
|
||||
|
||||
let latencyElement = document.getElementById("latency");
|
||||
let latencyLabel = document.getElementById("latency-label");
|
||||
latencyElement.addEventListener("click",
|
||||
|
@ -1,135 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="icon" type="image/x-icon" href="../../../assets/images/libredirect.svg">
|
||||
<link href="../../stylesheets/styles.css" rel="stylesheet">
|
||||
<title>General</title>
|
||||
</head>
|
||||
</html>
|
||||
<script type="module" src="../../../assets/javascripts/localise.js"></script>
|
||||
<body class="option" dir="auto">
|
||||
<section class="links">
|
||||
<div class="title">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="26px" viewBox="0 0 24 24" width="26px" fill="currentColor">
|
||||
<path d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z"></path>
|
||||
</svg><a href="../general/general.html" data-localise="__MSG_general__">General</a>
|
||||
</div>
|
||||
<div class="title"> <img src="../../../assets/images/youtube-icon.png"><a href="../youtube/youtube.html" data-localise="__MSG_youtube__">YouTube </a></div>
|
||||
<div class="title"> <img src="../../../assets/images/youtube-music-icon.png"><a href="../youtubeMusic/youtubeMusic.html" data-localise="__MSG_ytmusic__">YT Music</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/twitter-icon.png"><a href="../twitter/twitter.html" data-localise="__MSG_twitter__">Twitter</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/instagram-icon.png"><a href="../instagram/instagram.html" data-localise="__MSG_instagram__">Instagram</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a class="selected" href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
|
||||
<div class="title">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">
|
||||
<circle cx="500" cy="500" r="500"></circle>
|
||||
<ellipse ry="475" rx="250" cy="501" cx="1296"></ellipse>
|
||||
<ellipse cx="1682" cy="502" rx="88" ry="424"></ellipse>
|
||||
</svg><a href="../medium/medium.html" data-localise="__MSG_medium__">Medium</a>
|
||||
</div>
|
||||
<div class="title"> <img src="../../../assets/images/peertube-icon.svg"><a href="../peertube/peertube.html" data-localise="__MSG_peertube__">Peertube</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/lbry-icon.png"><a href="../lbry/lbry.html" data-localise="__MSG_lbry__">LBRY/Odysee</a></div>
|
||||
<div class="title">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
|
||||
<path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path>
|
||||
</svg><a href="../search/search.html" data-localise="__MSG_search__">Search</a>
|
||||
</div>
|
||||
<div class="title">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
|
||||
<path d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path>
|
||||
</svg><a href="../translate/translate.html" data-localise="__MSG_translate__">Translate</a>
|
||||
</div>
|
||||
<div class="title">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
|
||||
<path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"></path>
|
||||
</svg><a href="../maps/maps.html" data-localise="__MSG_maps__">Maps</a>
|
||||
</div>
|
||||
<div class="title">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
|
||||
<path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path>
|
||||
</svg><a href="../sendTargets/sendTargets.html" data-localise="__MSG_sendFiles__">Send Files</a>
|
||||
</div>
|
||||
</section>
|
||||
<section class="option-block">
|
||||
<div class="some-block option-block">
|
||||
<h4 data-localise="__MSG_enable__">Enable</h4>
|
||||
<input id="disable-pixiv" type="checkbox">
|
||||
</div>
|
||||
<div class="some-block option-block">
|
||||
<h4>
|
||||
<x data-localise="__MSG_frontend__">Frontend</x>:<span style="color:red;" data-localise="__MSG_notFullyPrivate__">This isn't a fully private frontend</span>
|
||||
</h4>
|
||||
<select id="maps-frontend">
|
||||
<option value="pixivMoe" data-localise="__MSG_pixivMoe__">pixiv萌え</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="some-block option-block">
|
||||
<h4 data-localise="__MSG_protocol__">Protocol</h4>
|
||||
<select id="protocol">
|
||||
<option value="normal" data-localise="__MSG_normal__">Normal</option>
|
||||
<option value="tor" data-localise="__MSG_tor__">Tor </option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="pixivMoe">
|
||||
<hr>
|
||||
<div class="normal">
|
||||
<div class="some-block option-block">
|
||||
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
|
||||
</div>
|
||||
<div class="checklist"></div>
|
||||
<hr>
|
||||
<div class="some-block option-block">
|
||||
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
|
||||
</div>
|
||||
<form class="custom-instance-form">
|
||||
<div class="some-block option-block">
|
||||
<input class="custom-instance" placeholder="https://pixivMoe.com" type="url">
|
||||
<button class="add add-instance" type="submit">
|
||||
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
|
||||
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
<div class="checklist custom-checklist"></div>
|
||||
<label class="button button-inline" id="latency-label" for="latency">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
|
||||
<path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path>
|
||||
</svg>
|
||||
<x data-localise="__MSG_testInstancesLatency__">Test Instances Latency</x>
|
||||
</label>
|
||||
<input class="button button-inline" id="latency" style="display:none;">
|
||||
</div>
|
||||
<div class="tor">
|
||||
<div class="some-block option-block">
|
||||
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
|
||||
</div>
|
||||
<div class="checklist"></div>
|
||||
<hr>
|
||||
<div class="some-block option-block">
|
||||
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
|
||||
</div>
|
||||
<form class="custom-instance-form">
|
||||
<div class="some-block option-block">
|
||||
<input class="custom-instance" placeholder="https://pixivMoe.onion" type="url">
|
||||
<button class="add add-instance" type="submit">
|
||||
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
|
||||
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
<div class="checklist custom-checklist"></div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<script type="module" src="../init.js"></script>
|
||||
<script type="module" src="./pixiv.js"></script>
|
||||
</body>
|
@ -1,93 +0,0 @@
|
||||
import pixivHelper from "../../../assets/javascripts/helpers/pixiv.js";
|
||||
import commonHelper from "../../../assets/javascripts/helpers/common.js";
|
||||
|
||||
let disablePixivElement = document.getElementById("disable-pixiv");
|
||||
disablePixivElement.addEventListener("change",
|
||||
(event) => pixivHelper.setDisable(!event.target.checked)
|
||||
);
|
||||
|
||||
let protocolElement = document.getElementById("protocol")
|
||||
protocolElement.addEventListener("change",
|
||||
(event) => {
|
||||
let protocol = event.target.options[protocolElement.selectedIndex].value
|
||||
pixivHelper.setProtocol(protocol);
|
||||
changeProtocolSettings(protocol);
|
||||
}
|
||||
);
|
||||
|
||||
function changeProtocolSettings(protocol) {
|
||||
let normalDiv = document.getElementsByClassName("normal")[0];
|
||||
let torDiv = document.getElementsByClassName("tor")[0];
|
||||
if (protocol == 'normal') {
|
||||
normalDiv.style.display = 'block';
|
||||
torDiv.style.display = 'none';
|
||||
}
|
||||
else if (protocol == 'tor') {
|
||||
normalDiv.style.display = 'none';
|
||||
torDiv.style.display = 'block';
|
||||
}
|
||||
}
|
||||
|
||||
pixivHelper.init().then(() => {
|
||||
disablePixivElement.checked = !pixivHelper.getDisable();
|
||||
|
||||
let protocol = pixivHelper.getProtocol();
|
||||
protocolElement.value = protocol;
|
||||
changeProtocolSettings(protocol);
|
||||
|
||||
|
||||
browser.storage.local.get("pixivMoeLatency").then(r => {
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'pixivMoe',
|
||||
'normal',
|
||||
pixivHelper,
|
||||
document,
|
||||
pixivHelper.getPixivMoeNormalRedirectsChecks,
|
||||
pixivHelper.setPixivMoeNormalRedirectsChecks,
|
||||
pixivHelper.getPixivMoeNormalCustomRedirects,
|
||||
pixivHelper.setPixivMoeNormalCustomRedirects
|
||||
);
|
||||
})
|
||||
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'pixivMoe',
|
||||
'tor',
|
||||
pixivHelper,
|
||||
document,
|
||||
pixivHelper.getPixivMoeTorRedirectsChecks,
|
||||
pixivHelper.setPixivMoeTorRedirectsChecks,
|
||||
pixivHelper.getPixivMoeTorCustomRedirects,
|
||||
pixivHelper.setPixivMoeTorCustomRedirects
|
||||
)
|
||||
})
|
||||
|
||||
|
||||
let latencyElement = document.getElementById("latency");
|
||||
let latencyLabel = document.getElementById("latency-label");
|
||||
latencyElement.addEventListener("click",
|
||||
async () => {
|
||||
let reloadWindow = () => location.reload();
|
||||
latencyElement.addEventListener("click", reloadWindow);
|
||||
await pixivHelper.init();
|
||||
let redirects = pixivHelper.getRedirects();
|
||||
const oldHtml = latencyLabel.innerHTML;
|
||||
latencyLabel.innerHTML = '...';
|
||||
commonHelper.testLatency(latencyLabel, redirects.pixivMoe.normal).then(r => {
|
||||
browser.storage.local.set({ pixivMoeLatency: r });
|
||||
latencyLabel.innerHTML = oldHtml;
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'pixivMoe',
|
||||
'normal',
|
||||
pixivHelper,
|
||||
document,
|
||||
pixivHelper.getPixivMoeNormalRedirectsChecks,
|
||||
pixivHelper.setPixivMoeNormalRedirectsChecks,
|
||||
pixivHelper.getPixivMoeNormalCustomRedirects,
|
||||
pixivHelper.setPixivMoeNormalCustomRedirects,
|
||||
r,
|
||||
);
|
||||
latencyElement.removeEventListener("click", reloadWindow);
|
||||
});
|
||||
|
||||
}
|
||||
);
|
@ -23,7 +23,6 @@
|
||||
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a class="selected" href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
|
||||
@ -67,7 +66,6 @@
|
||||
<select id="reddit-frontend">
|
||||
<option value="libreddit">Libreddit</option>
|
||||
<option value="teddit">Teddit</option>
|
||||
<option value="old">old.reddit.com</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="some-block option-block">
|
||||
|
@ -45,11 +45,6 @@ document.addEventListener("change", async () => {
|
||||
init();
|
||||
})
|
||||
|
||||
window.onblur = () => {
|
||||
redditHelper.initLibredditCookies();
|
||||
redditHelper.initTedditCookies();
|
||||
}
|
||||
|
||||
function changeProtocolSettings(protocol) {
|
||||
let normalLibredditDiv = libredditDivElement.getElementsByClassName("normal")[0];
|
||||
let torLibredditDiv = libredditDivElement.getElementsByClassName("tor")[0];
|
||||
@ -91,56 +86,54 @@ function changeFrontendsSettings(frontend) {
|
||||
tedditDivElement.style.display = 'none';
|
||||
}
|
||||
}
|
||||
function init() {
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableReddit",
|
||||
"bypassWatchOnReddit",
|
||||
"redditProtocol",
|
||||
"redditFrontend",
|
||||
|
||||
"enableLibredditCustomSettings",
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableReddit",
|
||||
"bypassWatchOnReddit",
|
||||
"redditProtocol",
|
||||
"redditFrontend",
|
||||
|
||||
"redditTheme",
|
||||
"redditFrontPage",
|
||||
"redditLayout",
|
||||
"redditWide",
|
||||
"redditPostSort",
|
||||
"redditCommentSort",
|
||||
"redditShowNsfw",
|
||||
"redditAutoplayVideos",
|
||||
"redditUseHls",
|
||||
"redditHideHlsNotification",
|
||||
],
|
||||
r => {
|
||||
disableRedditElement.checked = !r.disableReddit
|
||||
bypassWatchOnRedditElement.checked = r.bypassWatchOnReddit
|
||||
protocolElement.value = r.redditProtocol
|
||||
redditFrontendElement.value = r.redditFrontend
|
||||
enableLibredditSettingsElement.checked = r.enableLibredditCustomSettings
|
||||
changeFrontendsSettings(r.redditFrontend);
|
||||
changeProtocolSettings(r.redditProtocol);
|
||||
"enableLibredditCustomSettings",
|
||||
|
||||
theme.value = r.redditTheme;
|
||||
front_page.value = r.redditFrontPage;
|
||||
layout.value = r.redditLayout;
|
||||
wide.checked = r.redditWide;
|
||||
post_sort.value = r.redditPostSort;
|
||||
comment_sort.value = r.redditCommentSort;
|
||||
show_nsfw.checked = r.redditShowNsfw;
|
||||
autoplay_videos.checked = r.redditAutoplayVideos;
|
||||
use_hls.checked = r.redditUseHls;
|
||||
hide_hls_notification.checked = r.redditHideHlsNotification;
|
||||
}
|
||||
)
|
||||
"redditTheme",
|
||||
"redditFrontPage",
|
||||
"redditLayout",
|
||||
"redditWide",
|
||||
"redditPostSort",
|
||||
"redditCommentSort",
|
||||
"redditShowNsfw",
|
||||
"redditAutoplayVideos",
|
||||
"redditUseHls",
|
||||
"redditHideHlsNotification",
|
||||
],
|
||||
r => {
|
||||
disableRedditElement.checked = !r.disableReddit
|
||||
bypassWatchOnRedditElement.checked = r.bypassWatchOnReddit
|
||||
protocolElement.value = r.redditProtocol
|
||||
redditFrontendElement.value = r.redditFrontend
|
||||
enableLibredditSettingsElement.checked = r.enableLibredditCustomSettings
|
||||
changeFrontendsSettings(r.redditFrontend);
|
||||
changeProtocolSettings(r.redditProtocol);
|
||||
|
||||
commonHelper.processDefaultCustomInstances('libreddit', 'normal', redditHelper, document)
|
||||
commonHelper.processDefaultCustomInstances('libreddit', 'tor', redditHelper, document)
|
||||
theme.value = r.redditTheme;
|
||||
front_page.value = r.redditFrontPage;
|
||||
layout.value = r.redditLayout;
|
||||
wide.checked = r.redditWide;
|
||||
post_sort.value = r.redditPostSort;
|
||||
comment_sort.value = r.redditCommentSort;
|
||||
show_nsfw.checked = r.redditShowNsfw;
|
||||
autoplay_videos.checked = r.redditAutoplayVideos;
|
||||
use_hls.checked = r.redditUseHls;
|
||||
hide_hls_notification.checked = r.redditHideHlsNotification;
|
||||
}
|
||||
)
|
||||
|
||||
commonHelper.processDefaultCustomInstances('libreddit', 'normal', redditHelper, document)
|
||||
commonHelper.processDefaultCustomInstances('libreddit', 'tor', redditHelper, document)
|
||||
commonHelper.processDefaultCustomInstances('teddit', 'normal', redditHelper, document);
|
||||
commonHelper.processDefaultCustomInstances('teddit', 'tor', redditHelper, document);
|
||||
|
||||
commonHelper.processDefaultCustomInstances('teddit', 'normal', redditHelper, document);
|
||||
commonHelper.processDefaultCustomInstances('teddit', 'tor', redditHelper, document);
|
||||
}
|
||||
init();
|
||||
|
||||
let latencyLibredditElement = document.getElementById("latency-libreddit");
|
||||
let latencyLibredditLabel = document.getElementById("latency-libreddit-label");
|
||||
@ -178,4 +171,9 @@ latencyTedditElement.addEventListener("click",
|
||||
latencyTedditElement.removeEventListener("click", reloadWindow);
|
||||
});
|
||||
}
|
||||
);
|
||||
);
|
||||
|
||||
window.onblur = () => {
|
||||
redditHelper.initLibredditCookies();
|
||||
redditHelper.initTedditCookies();
|
||||
}
|
@ -23,7 +23,6 @@
|
||||
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
|
||||
|
@ -1,66 +1,75 @@
|
||||
import searchHelper from "../../../assets/javascripts/helpers/search.js";
|
||||
import commonHelper from "../../../assets/javascripts/helpers/common.js";
|
||||
|
||||
let searxDiv = document.getElementById("searx");
|
||||
let searxngDiv = document.getElementById("searxng")
|
||||
let whoogleDiv = document.getElementById("whoogle");
|
||||
|
||||
let disableSearchElement = document.getElementById("disable-search");
|
||||
disableSearchElement.addEventListener("change", event => searchHelper.setDisable(!event.target.checked));
|
||||
let searchFrontendElement = document.getElementById("search-frontend");
|
||||
let protocolElement = document.getElementById("protocol")
|
||||
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableSearch",
|
||||
"searchFrontend",
|
||||
"searchProtocol",
|
||||
],
|
||||
r => {
|
||||
disableSearchElement.checked = !disableSearch;
|
||||
|
||||
let searxDivElement = document.getElementById("searx");
|
||||
let searxngDivElement = document.getElementById("searxng")
|
||||
let whoogleDivElement = document.getElementById("whoogle");
|
||||
searchFrontendElement.value = r.searchFronten;
|
||||
changeFrontendsSettings(r.searchFronten);
|
||||
|
||||
protocolElement.value = r.searchProtocol;
|
||||
changeProtocolSettings(r.searchProtocol);
|
||||
}
|
||||
);
|
||||
|
||||
document.addEventListener("change", async () => {
|
||||
await browser.storage.local.set({
|
||||
disableSearch: !disableSearchElement.checked,
|
||||
searchFrontend: searchFrontendElement.value,
|
||||
searchProtocol: protocolElement.value,
|
||||
});
|
||||
changeFrontendsSettings(searchFrontendElement.value);
|
||||
changeProtocolSettings(protocolElement.value);
|
||||
})
|
||||
|
||||
function changeFrontendsSettings(frontend) {
|
||||
let SearxWhoogleElement = document.getElementById("searx-whoogle");
|
||||
if (frontend == 'searx') {
|
||||
searxDivElement.style.display = 'block';
|
||||
searxngDivElement.style.display = 'none';
|
||||
whoogleDivElement.style.display = 'none';
|
||||
searxDiv.style.display = 'block';
|
||||
searxngDiv.style.display = 'none';
|
||||
whoogleDiv.style.display = 'none';
|
||||
SearxWhoogleElement.style.display = 'block';
|
||||
}
|
||||
else if (frontend == 'searxng') {
|
||||
searxDivElement.style.display = 'none';
|
||||
searxngDivElement.style.display = 'block';
|
||||
whoogleDivElement.style.display = 'none';
|
||||
searxDiv.style.display = 'none';
|
||||
searxngDiv.style.display = 'block';
|
||||
whoogleDiv.style.display = 'none';
|
||||
SearxWhoogleElement.style.display = 'block';
|
||||
}
|
||||
else if (frontend == 'whoogle') {
|
||||
searxDivElement.style.display = 'none';
|
||||
searxngDivElement.style.display = 'none';
|
||||
whoogleDivElement.style.display = 'block';
|
||||
searxDiv.style.display = 'none';
|
||||
searxngDiv.style.display = 'none';
|
||||
whoogleDiv.style.display = 'block';
|
||||
SearxWhoogleElement.style.display = 'block';
|
||||
}
|
||||
}
|
||||
let searchFrontendElement = document.getElementById("search-frontend");
|
||||
searchFrontendElement.addEventListener("change",
|
||||
event => {
|
||||
let frontend = event.target.options[searchFrontendElement.selectedIndex].value
|
||||
searchHelper.setFrontend(frontend)
|
||||
changeFrontendsSettings(frontend);
|
||||
}
|
||||
);
|
||||
|
||||
let protocolElement = document.getElementById("protocol")
|
||||
protocolElement.addEventListener("change",
|
||||
event => {
|
||||
let protocol = event.target.options[protocolElement.selectedIndex].value
|
||||
searchHelper.setProtocol(protocol);
|
||||
changeProtocolSettings(protocol);
|
||||
}
|
||||
);
|
||||
|
||||
function changeProtocolSettings(protocol) {
|
||||
let normalsearxDiv = searxDivElement.getElementsByClassName("normal")[0];
|
||||
let torsearxDiv = searxDivElement.getElementsByClassName("tor")[0];
|
||||
let i2psearxDiv = searxDivElement.getElementsByClassName("i2p")[0];
|
||||
let normalsearxDiv = searxDiv.getElementsByClassName("normal")[0];
|
||||
let torsearxDiv = searxDiv.getElementsByClassName("tor")[0];
|
||||
let i2psearxDiv = searxDiv.getElementsByClassName("i2p")[0];
|
||||
|
||||
let normalsearxngDiv = searxngDivElement.getElementsByClassName("normal")[0];
|
||||
let torsearxngDiv = searxngDivElement.getElementsByClassName("tor")[0];
|
||||
let i2psearxngDiv = searxngDivElement.getElementsByClassName("i2p")[0];
|
||||
let normalsearxngDiv = searxngDiv.getElementsByClassName("normal")[0];
|
||||
let torsearxngDiv = searxngDiv.getElementsByClassName("tor")[0];
|
||||
let i2psearxngDiv = searxngDiv.getElementsByClassName("i2p")[0];
|
||||
|
||||
let normalwhoogleDiv = whoogleDivElement.getElementsByClassName("normal")[0];
|
||||
let torwhoogleDiv = whoogleDivElement.getElementsByClassName("tor")[0];
|
||||
let i2pwhoogleDiv = whoogleDivElement.getElementsByClassName("i2p")[0];
|
||||
let normalwhoogleDiv = whoogleDiv.getElementsByClassName("normal")[0];
|
||||
let torwhoogleDiv = whoogleDiv.getElementsByClassName("tor")[0];
|
||||
let i2pwhoogleDiv = whoogleDiv.getElementsByClassName("i2p")[0];
|
||||
|
||||
if (protocol == 'normal') {
|
||||
normalsearxDiv.style.display = 'block';
|
||||
@ -97,125 +106,15 @@ function changeProtocolSettings(protocol) {
|
||||
}
|
||||
}
|
||||
|
||||
searchHelper.init().then(() => {
|
||||
disableSearchElement.checked = !searchHelper.getDisable();
|
||||
let frontend = searchHelper.getFrontend();
|
||||
searchFrontendElement.value = frontend;
|
||||
changeFrontendsSettings(frontend);
|
||||
|
||||
let protocol = searchHelper.getProtocol();
|
||||
protocolElement.value = protocol;
|
||||
changeProtocolSettings(protocol);
|
||||
|
||||
browser.storage.local.get("searxLatency").then(r => {
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'searx',
|
||||
'normal',
|
||||
searchHelper,
|
||||
document,
|
||||
searchHelper.getSearxNormalRedirectsChecks,
|
||||
searchHelper.setSearxNormalRedirectsChecks,
|
||||
searchHelper.getSearxNormalCustomRedirects,
|
||||
searchHelper.setSearxNormalCustomRedirects,
|
||||
r.searxLatency
|
||||
);
|
||||
})
|
||||
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'searx',
|
||||
'tor',
|
||||
searchHelper,
|
||||
document,
|
||||
searchHelper.getSearxTorRedirectsChecks,
|
||||
searchHelper.setSearxTorRedirectsChecks,
|
||||
searchHelper.getSearxTorCustomRedirects,
|
||||
searchHelper.setSearxTorCustomRedirects
|
||||
);
|
||||
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'searx',
|
||||
'i2p',
|
||||
searchHelper,
|
||||
document,
|
||||
searchHelper.getSearxI2pRedirectsChecks,
|
||||
searchHelper.setSearxI2pRedirectsChecks,
|
||||
searchHelper.getSearxI2pCustomRedirects,
|
||||
searchHelper.setSearxI2pCustomRedirects
|
||||
);
|
||||
|
||||
browser.storage.local.get("searxngLatency").then(r => {
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'searxng',
|
||||
'normal',
|
||||
searchHelper,
|
||||
document,
|
||||
searchHelper.getSearxngNormalRedirectsChecks,
|
||||
searchHelper.setSearxngNormalRedirectsChecks,
|
||||
searchHelper.getSearxngNormalCustomRedirects,
|
||||
searchHelper.setSearxngNormalCustomRedirects,
|
||||
r.searxngLatency,
|
||||
);
|
||||
})
|
||||
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'searxng',
|
||||
'tor',
|
||||
searchHelper,
|
||||
document,
|
||||
searchHelper.getSearxngTorRedirectsChecks,
|
||||
searchHelper.setSearxngTorRedirectsChecks,
|
||||
searchHelper.getSearxngTorCustomRedirects,
|
||||
searchHelper.setSearxngTorCustomRedirects
|
||||
);
|
||||
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'searxng',
|
||||
'i2p',
|
||||
searchHelper,
|
||||
document,
|
||||
searchHelper.getSearxngI2pRedirectsChecks,
|
||||
searchHelper.setSearxngI2pRedirectsChecks,
|
||||
searchHelper.getSearxngI2pCustomRedirects,
|
||||
searchHelper.setSearxngI2pCustomRedirects
|
||||
);
|
||||
|
||||
browser.storage.local.get("whoogleLatency").then(r => {
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'whoogle',
|
||||
'normal',
|
||||
searchHelper,
|
||||
document,
|
||||
searchHelper.getWhoogleNormalRedirectsChecks,
|
||||
searchHelper.setWhoogleNormalRedirectsChecks,
|
||||
searchHelper.getWhoogleNormalCustomRedirects,
|
||||
searchHelper.setWhoogleNormalCustomRedirects,
|
||||
r.whoogleLatency,
|
||||
);
|
||||
})
|
||||
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'whoogle',
|
||||
'tor',
|
||||
searchHelper,
|
||||
document,
|
||||
searchHelper.getWhoogleTorRedirectsChecks,
|
||||
searchHelper.setWhoogleTorRedirectsChecks,
|
||||
searchHelper.getWhoogleTorCustomRedirects,
|
||||
searchHelper.setWhoogleTorCustomRedirects
|
||||
);
|
||||
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'whoogle',
|
||||
'i2p',
|
||||
searchHelper,
|
||||
document,
|
||||
searchHelper.getWhoogleI2pRedirectsChecks,
|
||||
searchHelper.setWhoogleI2pRedirectsChecks,
|
||||
searchHelper.getWhoogleI2pCustomRedirects,
|
||||
searchHelper.setWhoogleI2pCustomRedirects
|
||||
);
|
||||
});
|
||||
|
||||
commonHelper.processDefaultCustomInstances('searx', 'normal', searchHelper, document);
|
||||
commonHelper.processDefaultCustomInstances('searx', 'tor', searchHelper, document);
|
||||
commonHelper.processDefaultCustomInstances('searx', 'i2p', searchHelper, document);
|
||||
commonHelper.processDefaultCustomInstances('searxng', 'normal', searchHelper, document);
|
||||
commonHelper.processDefaultCustomInstances('searxng', 'tor', searchHelper, document);
|
||||
commonHelper.processDefaultCustomInstances('searxng', 'i2p', searchHelper, document);
|
||||
commonHelper.processDefaultCustomInstances('whoogle', 'normal', searchHelper, document);
|
||||
commonHelper.processDefaultCustomInstances('whoogle', 'tor', searchHelper, document);
|
||||
commonHelper.processDefaultCustomInstances('whoogle', 'i2p', searchHelper, document);
|
||||
|
||||
let latencySearxElement = document.getElementById("latency-searx");
|
||||
let latencySearxLabel = document.getElementById("latency-searx-label");
|
||||
@ -230,17 +129,7 @@ latencySearxElement.addEventListener("click",
|
||||
commonHelper.testLatency(latencySearxLabel, redirects.searx.normal).then(r => {
|
||||
browser.storage.local.set({ searxLatency: r });
|
||||
latencySearxLabel.innerHTML = oldHtml;
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'searx',
|
||||
'normal',
|
||||
searchHelper,
|
||||
document,
|
||||
searchHelper.getSearxNormalRedirectsChecks,
|
||||
searchHelper.setSearxNormalRedirectsChecks,
|
||||
searchHelper.getSearxNormalCustomRedirects,
|
||||
searchHelper.setSearxNormalCustomRedirects,
|
||||
r,
|
||||
);
|
||||
commonHelper.processDefaultCustomInstances('searx', 'normal', searchHelper, document);
|
||||
latencySearxElement.removeEventListener("click", reloadWindow);
|
||||
});
|
||||
}
|
||||
@ -259,17 +148,7 @@ latencySearxngElement.addEventListener("click",
|
||||
commonHelper.testLatency(latencySearxngLabel, redirects.searxng.normal).then(r => {
|
||||
browser.storage.local.set({ searxngLatency: r });
|
||||
latencySearxngLabel.innerHTML = oldHtml;
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'searxng',
|
||||
'normal',
|
||||
searchHelper,
|
||||
document,
|
||||
searchHelper.getSearxngNormalRedirectsChecks,
|
||||
searchHelper.setSearxngNormalRedirectsChecks,
|
||||
searchHelper.getSearxngNormalCustomRedirects,
|
||||
searchHelper.setSearxngNormalCustomRedirects,
|
||||
r,
|
||||
);
|
||||
commonHelper.processDefaultCustomInstances('searxng', 'normal', searchHelper, document);
|
||||
latencySearxngElement.removeEventListener("click", reloadWindow);
|
||||
});
|
||||
}
|
||||
@ -288,18 +167,13 @@ latencyWhoogleElement.addEventListener("click",
|
||||
commonHelper.testLatency(latencyWhoogleLabel, redirects.whoogle.normal).then(r => {
|
||||
browser.storage.local.set({ whoogleLatency: r });
|
||||
latencyWhoogleLabel.innerHTML = oldHtml;
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'whoogle',
|
||||
'normal',
|
||||
searchHelper,
|
||||
document,
|
||||
searchHelper.getWhoogleNormalRedirectsChecks,
|
||||
searchHelper.setWhoogleNormalRedirectsChecks,
|
||||
searchHelper.getWhoogleNormalCustomRedirects,
|
||||
searchHelper.setWhoogleNormalCustomRedirects,
|
||||
r,
|
||||
);
|
||||
commonHelper.processDefaultCustomInstances('whoogle', 'normal', searchHelper, document);
|
||||
latencyWhoogleElement.removeEventListener("click", reloadWindow);
|
||||
});
|
||||
}
|
||||
);
|
||||
);
|
||||
|
||||
window.onblur = () => {
|
||||
searchHelper.initSearxCookies();
|
||||
searchHelper.initSearxngCookies();
|
||||
}
|
@ -23,7 +23,6 @@
|
||||
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
|
||||
|
@ -2,18 +2,28 @@ import sendTargetsHelper from "../../../assets/javascripts/helpers/sendTargets.j
|
||||
import commonHelper from "../../../assets/javascripts/helpers/common.js";
|
||||
|
||||
let disableSendTargetsElement = document.getElementById("disable-sendTargets");
|
||||
disableSendTargetsElement.addEventListener("change",
|
||||
(event) => sendTargetsHelper.setDisable(!event.target.checked)
|
||||
);
|
||||
|
||||
let protocolElement = document.getElementById("protocol")
|
||||
protocolElement.addEventListener("change",
|
||||
(event) => {
|
||||
let protocol = event.target.options[protocolElement.selectedIndex].value
|
||||
sendTargetsHelper.setProtocol(protocol);
|
||||
changeProtocolSettings(protocol);
|
||||
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableSendTarget",
|
||||
"sendTargetsProtocol",
|
||||
],
|
||||
r => {
|
||||
disableSendTargetsElement.checked = !r.disableSendTarget;
|
||||
|
||||
protocolElement.value = r.sendTargetsProtocol;
|
||||
changeProtocolSettings(r.sendTargetsProtocol);
|
||||
}
|
||||
);
|
||||
)
|
||||
|
||||
document.addEventListener("change", async () => {
|
||||
await browser.storage.local.set({
|
||||
disableSendTarget: !disableSendTargetsElement.checked,
|
||||
sendTargetsProtocol: protocolElement.value,
|
||||
})
|
||||
changeProtocolSettings(protocolElement.value);
|
||||
})
|
||||
|
||||
function changeProtocolSettings(protocol) {
|
||||
let normalDiv = document.getElementsByClassName("normal")[0];
|
||||
@ -28,38 +38,8 @@ function changeProtocolSettings(protocol) {
|
||||
}
|
||||
}
|
||||
|
||||
sendTargetsHelper.init().then(() => {
|
||||
disableSendTargetsElement.checked = !sendTargetsHelper.getDisable();
|
||||
|
||||
let protocol = sendTargetsHelper.getProtocol();
|
||||
protocolElement.value = protocol;
|
||||
changeProtocolSettings(protocol);
|
||||
|
||||
browser.storage.local.get("sendLatency").then(r => {
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'send',
|
||||
'normal',
|
||||
sendTargetsHelper,
|
||||
document,
|
||||
sendTargetsHelper.getSendNormalRedirectsChecks,
|
||||
sendTargetsHelper.setSendNormalRedirectsChecks,
|
||||
sendTargetsHelper.getSendNormalCustomRedirects,
|
||||
sendTargetsHelper.setSendNormalCustomRedirects,
|
||||
r.sendLatency,
|
||||
);
|
||||
})
|
||||
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'send',
|
||||
'tor',
|
||||
sendTargetsHelper,
|
||||
document,
|
||||
sendTargetsHelper.getSendTorRedirectsChecks,
|
||||
sendTargetsHelper.setSendTorRedirectsChecks,
|
||||
sendTargetsHelper.getSendTorCustomRedirects,
|
||||
sendTargetsHelper.setSendTorCustomRedirects
|
||||
)
|
||||
})
|
||||
commonHelper.processDefaultCustomInstances('send', 'normal', sendTargetsHelper, document);
|
||||
commonHelper.processDefaultCustomInstances('send', 'tor', sendTargetsHelper, document,)
|
||||
|
||||
let latencyElement = document.getElementById("latency");
|
||||
let latencyLabel = document.getElementById("latency-label");
|
||||
@ -74,17 +54,7 @@ latencyElement.addEventListener("click",
|
||||
commonHelper.testLatency(latencyLabel, redirects.send.normal).then(r => {
|
||||
browser.storage.local.set({ sendLatency: r });
|
||||
latencyLabel.innerHTML = oldHtml;
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'send',
|
||||
'normal',
|
||||
sendTargetsHelper,
|
||||
document,
|
||||
sendTargetsHelper.getSendNormalRedirectsChecks,
|
||||
sendTargetsHelper.setSendNormalRedirectsChecks,
|
||||
sendTargetsHelper.getSendNormalCustomRedirects,
|
||||
sendTargetsHelper.setSendNormalCustomRedirects,
|
||||
r,
|
||||
)
|
||||
commonHelper.processDefaultCustomInstances('send', 'normal', sendTargetsHelper, document)
|
||||
latencyElement.removeEventListener("click", reloadWindow)
|
||||
});
|
||||
}
|
||||
|
@ -23,7 +23,6 @@
|
||||
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a class="selected" href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
|
||||
|
@ -2,18 +2,28 @@ import speedtestHelper from "../../../assets/javascripts/helpers/speedtest.js";
|
||||
import commonHelper from "../../../assets/javascripts/helpers/common.js";
|
||||
|
||||
let disableSpeedtestElement = document.getElementById("disable-speedtest");
|
||||
disableSpeedtestElement.addEventListener("change",
|
||||
(event) => speedtestHelper.setDisable(!event.target.checked)
|
||||
);
|
||||
|
||||
let protocolElement = document.getElementById("protocol")
|
||||
protocolElement.addEventListener("change",
|
||||
(event) => {
|
||||
let protocol = event.target.options[protocolElement.selectedIndex].value
|
||||
speedtestHelper.setProtocol(protocol);
|
||||
changeProtocolSettings(protocol);
|
||||
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableSpeedtest",
|
||||
"speedtestProtocol",
|
||||
],
|
||||
r => {
|
||||
disableSpeedtestElement.checked = !r.disableSpeedtest;
|
||||
|
||||
protocolElement.value = r.speedtestProtocol;
|
||||
changeProtocolSettings(r.speedtestProtocol);
|
||||
}
|
||||
);
|
||||
)
|
||||
|
||||
document.addEventListener("change", async () => {
|
||||
await browser.storage.local.set({
|
||||
disableSpeedtest: !disableSpeedtestElement.checked,
|
||||
speedtestProtocol: protocolElement.value,
|
||||
})
|
||||
changeProtocolSettings(protocolElement.value);
|
||||
})
|
||||
|
||||
function changeProtocolSettings(protocol) {
|
||||
let normalDiv = document.getElementsByClassName("normal")[0];
|
||||
@ -28,38 +38,8 @@ function changeProtocolSettings(protocol) {
|
||||
}
|
||||
}
|
||||
|
||||
speedtestHelper.init().then(() => {
|
||||
disableSpeedtestElement.checked = !speedtestHelper.getDisable();
|
||||
|
||||
let protocol = speedtestHelper.getProtocol();
|
||||
protocolElement.value = protocol;
|
||||
changeProtocolSettings(protocol);
|
||||
|
||||
browser.storage.local.get("librespeedLatency").then(r => {
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'librespeed',
|
||||
'normal',
|
||||
speedtestHelper,
|
||||
document,
|
||||
speedtestHelper.getLibrespeedNormalRedirectsChecks,
|
||||
speedtestHelper.setLibrespeedNormalRedirectsChecks,
|
||||
speedtestHelper.getLibrespeedNormalCustomRedirects,
|
||||
speedtestHelper.setLibrespeedNormalCustomRedirects,
|
||||
r.librespeedLatency,
|
||||
);
|
||||
})
|
||||
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'librespeed',
|
||||
'tor',
|
||||
speedtestHelper,
|
||||
document,
|
||||
speedtestHelper.getLibrespeedTorRedirectsChecks,
|
||||
speedtestHelper.setLibrespeedTorRedirectsChecks,
|
||||
speedtestHelper.getLibrespeedTorCustomRedirects,
|
||||
speedtestHelper.setLibrespeedTorCustomRedirects
|
||||
)
|
||||
})
|
||||
commonHelper.processDefaultCustomInstances('librespeed', 'normal', speedtestHelper, document);
|
||||
commonHelper.processDefaultCustomInstances('librespeed', 'tor', speedtestHelper, document);
|
||||
|
||||
let latencyElement = document.getElementById("latency");
|
||||
let latencyLabel = document.getElementById("latency-label");
|
||||
@ -74,17 +54,7 @@ latencyElement.addEventListener("click",
|
||||
commonHelper.testLatency(latencyLabel, redirects.librespeed.normal).then(r => {
|
||||
browser.storage.local.set({ librespeedLatency: r });
|
||||
latencyLabel.innerHTML = oldHtml;
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'librespeed',
|
||||
'normal',
|
||||
speedtestHelper,
|
||||
document,
|
||||
speedtestHelper.getLibrespeedNormalRedirectsChecks,
|
||||
speedtestHelper.setLibrespeedNormalRedirectsChecks,
|
||||
speedtestHelper.getLibrespeedNormalCustomRedirects,
|
||||
speedtestHelper.setLibrespeedNormalCustomRedirects,
|
||||
r,
|
||||
)
|
||||
commonHelper.processDefaultCustomInstances('librespeed', 'normal', speedtestHelper, document)
|
||||
latencyElement.removeEventListener("click", reloadWindow)
|
||||
});
|
||||
}
|
||||
|
@ -23,7 +23,6 @@
|
||||
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a class="selected" href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
|
||||
@ -62,13 +61,6 @@
|
||||
<h4 data-localise="__MSG_enable__">Enable</h4>
|
||||
<input id="disable-spotify" type="checkbox">
|
||||
</div>
|
||||
<div class="some-block option-block">
|
||||
<h4 data-localise="__MSG_protocol__">Protocol</h4>
|
||||
<select id="protocol">
|
||||
<option value="normal" data-localise="__MSG_normal__">Normal</option>
|
||||
<option value="tor" data-localise="__MSG_tor__">Tor</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="soju">
|
||||
<hr>
|
||||
<div class="normal">
|
||||
@ -99,27 +91,6 @@
|
||||
</label>
|
||||
<input class="button button-inline" id="latency" style="display:none;">
|
||||
</div>
|
||||
<div class="tor">
|
||||
<div class="some-block option-block">
|
||||
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
|
||||
</div>
|
||||
<div class="checklist"></div>
|
||||
<hr>
|
||||
<div class="some-block option-block">
|
||||
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
|
||||
</div>
|
||||
<form class="custom-instance-form">
|
||||
<div class="some-block option-block">
|
||||
<input class="custom-instance" placeholder="https://soju.onion" type="url">
|
||||
<button class="add add-instance" type="submit">
|
||||
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
|
||||
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
<div class="checklist custom-checklist"></div>
|
||||
</div>
|
||||
<script type="module" src="../init.js"></script>
|
||||
<script type="module" src="./spotify.js"></script>
|
||||
</div>
|
||||
|
@ -2,64 +2,17 @@ import spotifyHelper from "../../../assets/javascripts/helpers/spotify.js";
|
||||
import commonHelper from "../../../assets/javascripts/helpers/common.js";
|
||||
|
||||
let disableSpotifyElement = document.getElementById("disable-spotify");
|
||||
disableSpotifyElement.addEventListener("change",
|
||||
(event) => spotifyHelper.setDisable(!event.target.checked)
|
||||
);
|
||||
|
||||
let protocolElement = document.getElementById("protocol")
|
||||
protocolElement.addEventListener("change",
|
||||
(event) => {
|
||||
let protocol = event.target.options[protocolElement.selectedIndex].value
|
||||
spotifyHelper.setProtocol(protocol);
|
||||
changeProtocolSettings(protocol);
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableSpotifyTargets",
|
||||
],
|
||||
r => {
|
||||
disableSpotifyElement.checked = !r.disableSpotifyTargets;
|
||||
}
|
||||
);
|
||||
)
|
||||
|
||||
function changeProtocolSettings(protocol) {
|
||||
let normalDiv = document.getElementsByClassName("normal")[0];
|
||||
let torDiv = document.getElementsByClassName("tor")[0];
|
||||
if (protocol == 'normal') {
|
||||
normalDiv.style.display = 'block';
|
||||
torDiv.style.display = 'none';
|
||||
}
|
||||
else if (protocol == 'tor') {
|
||||
normalDiv.style.display = 'none';
|
||||
torDiv.style.display = 'block';
|
||||
}
|
||||
}
|
||||
|
||||
spotifyHelper.init().then(() => {
|
||||
disableSpotifyElement.checked = !spotifyHelper.getDisable();
|
||||
|
||||
let protocol = spotifyHelper.getProtocol();
|
||||
protocolElement.value = protocol;
|
||||
changeProtocolSettings(protocol);
|
||||
|
||||
browser.storage.local.get("sojuLatency").then(r => {
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'soju',
|
||||
'normal',
|
||||
spotifyHelper,
|
||||
document,
|
||||
spotifyHelper.getSojuNormalRedirectsChecks,
|
||||
spotifyHelper.setSojuNormalRedirectsChecks,
|
||||
spotifyHelper.getSojuNormalCustomRedirects,
|
||||
spotifyHelper.setSojuNormalCustomRedirects,
|
||||
r.sojuLatency,
|
||||
);
|
||||
})
|
||||
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'soju',
|
||||
'tor',
|
||||
spotifyHelper,
|
||||
document,
|
||||
spotifyHelper.getSojuTorRedirectsChecks,
|
||||
spotifyHelper.setSojuTorRedirectsChecks,
|
||||
spotifyHelper.getSojuTorCustomRedirects,
|
||||
spotifyHelper.setSojuTorCustomRedirects
|
||||
)
|
||||
})
|
||||
commonHelper.processDefaultCustomInstances('soju', 'normal', spotifyHelper, document);
|
||||
|
||||
let latencyElement = document.getElementById("latency");
|
||||
let latencyLabel = document.getElementById("latency-label");
|
||||
@ -74,17 +27,7 @@ latencyElement.addEventListener("click",
|
||||
commonHelper.testLatency(latencyLabel, redirects.soju.normal).then(r => {
|
||||
browser.storage.local.set({ sojuLatency: r });
|
||||
latencyLabel.innerHTML = oldHtml;
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'soju',
|
||||
'normal',
|
||||
spotifyHelper,
|
||||
document,
|
||||
spotifyHelper.getSojuNormalRedirectsChecks,
|
||||
spotifyHelper.setSojuNormalRedirectsChecks,
|
||||
spotifyHelper.getSojuNormalCustomRedirects,
|
||||
spotifyHelper.setSojuNormalCustomRedirects,
|
||||
r,
|
||||
)
|
||||
commonHelper.processDefaultCustomInstances('soju', 'normal', spotifyHelper, document)
|
||||
latencyElement.removeEventListener("click", reloadWindow)
|
||||
});
|
||||
}
|
||||
|
@ -23,7 +23,6 @@
|
||||
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a class="selected" href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
|
||||
|
@ -26,68 +26,44 @@ document.addEventListener("change", async () => {
|
||||
|
||||
window.onblur = tiktokHelper.initProxiTokCookies;
|
||||
|
||||
function init() {
|
||||
tiktokHelper.init().then(() => {
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableTiktok",
|
||||
"tiktokProtocol",
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableTiktok",
|
||||
"tiktokProtocol",
|
||||
|
||||
"enableTiktokCustomSettings",
|
||||
"enableTiktokCustomSettings",
|
||||
|
||||
"proxiTokTheme",
|
||||
"proxiTokApiLegacy",
|
||||
],
|
||||
r => {
|
||||
disable.checked = !r.disableTiktok;
|
||||
protocol.value = r.tiktokProtocol;
|
||||
let normalDiv = document.getElementsByClassName("normal")[0];
|
||||
let torDiv = document.getElementsByClassName("tor")[0];
|
||||
if (r.tiktokProtocol == 'normal') {
|
||||
normalDiv.style.display = 'block';
|
||||
torDiv.style.display = 'none';
|
||||
}
|
||||
else if (r.tiktokProtocol == 'tor') {
|
||||
normalDiv.style.display = 'none';
|
||||
torDiv.style.display = 'block';
|
||||
}
|
||||
"proxiTokTheme",
|
||||
"proxiTokApiLegacy",
|
||||
],
|
||||
r => {
|
||||
disable.checked = !r.disableTiktok;
|
||||
protocol.value = r.tiktokProtocol;
|
||||
let normalDiv = document.getElementsByClassName("normal")[0];
|
||||
let torDiv = document.getElementsByClassName("tor")[0];
|
||||
if (r.tiktokProtocol == 'normal') {
|
||||
normalDiv.style.display = 'block';
|
||||
torDiv.style.display = 'none';
|
||||
}
|
||||
else if (r.tiktokProtocol == 'tor') {
|
||||
normalDiv.style.display = 'none';
|
||||
torDiv.style.display = 'block';
|
||||
}
|
||||
|
||||
enableCustomSettings.checked = r.enableTiktokCustomSettings;
|
||||
if (r.enableTiktokCustomSettings)
|
||||
customSettingsDiv.style.display = 'block';
|
||||
else
|
||||
customSettingsDiv.style.display = 'none';
|
||||
enableCustomSettings.checked = r.enableTiktokCustomSettings;
|
||||
if (r.enableTiktokCustomSettings)
|
||||
customSettingsDiv.style.display = 'block';
|
||||
else
|
||||
customSettingsDiv.style.display = 'none';
|
||||
|
||||
theme.value = r.proxiTokTheme;
|
||||
api_legacy.value = r.proxiTokApiLegacy
|
||||
}
|
||||
)
|
||||
|
||||
commonHelper.processDefaultCustomInstances('proxiTok', 'normal', tiktokHelper, document);
|
||||
commonHelper.processDefaultCustomInstances('proxiTok', 'tor', tiktokHelper, document)
|
||||
|
||||
theme.value = r.proxiTokTheme;
|
||||
api_legacy.value = r.proxiTokApiLegacy
|
||||
}
|
||||
)
|
||||
browser.storage.local.get("proxiTokLatency").then(r => {
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'proxiTok',
|
||||
'normal',
|
||||
tiktokHelper,
|
||||
document,
|
||||
tiktokHelper.getProxiTokNormalRedirectsChecks,
|
||||
tiktokHelper.setProxiTokNormalRedirectsChecks,
|
||||
tiktokHelper.getProxiTokNormalCustomRedirects,
|
||||
tiktokHelper.setProxiTokNormalCustomRedirects,
|
||||
r.proxiTokLatency,
|
||||
);
|
||||
})
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'proxiTok',
|
||||
'tor',
|
||||
tiktokHelper,
|
||||
document,
|
||||
tiktokHelper.getProxiTokTorRedirectsChecks,
|
||||
tiktokHelper.setProxiTokTorRedirectsChecks,
|
||||
tiktokHelper.getProxiTokTorCustomRedirects,
|
||||
tiktokHelper.setProxiTokTorCustomRedirects
|
||||
)
|
||||
})
|
||||
}
|
||||
init();
|
||||
|
||||
let latencyElement = document.getElementById("latency");
|
||||
let latencyLabel = document.getElementById("latency-label");
|
||||
@ -102,17 +78,7 @@ latencyElement.addEventListener("click",
|
||||
commonHelper.testLatency(latencyLabel, redirects.proxiTok.normal).then(r => {
|
||||
browser.storage.local.set({ proxiTokLatency: r });
|
||||
latencyLabel.innerHTML = oldHtml;
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'proxiTok',
|
||||
'normal',
|
||||
tiktokHelper,
|
||||
document,
|
||||
tiktokHelper.getProxiTokNormalRedirectsChecks,
|
||||
tiktokHelper.setProxiTokNormalRedirectsChecks,
|
||||
tiktokHelper.getProxiTokNormalCustomRedirects,
|
||||
tiktokHelper.setProxiTokNormalCustomRedirects,
|
||||
r,
|
||||
)
|
||||
commonHelper.processDefaultCustomInstances('proxiTok', 'normal', tiktokHelper, document)
|
||||
latencyElement.removeEventListener("click", reloadWindow)
|
||||
});
|
||||
}
|
||||
|
@ -23,7 +23,6 @@
|
||||
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
|
||||
|
@ -23,7 +23,6 @@
|
||||
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
|
||||
|
@ -21,8 +21,56 @@ let hlsPlayback = document.getElementById('nitter').getElementsByClassName('hlsP
|
||||
let proxyVideos = document.getElementById('nitter').getElementsByClassName('proxyVideos')[0];
|
||||
let muteVideos = document.getElementById('nitter').getElementsByClassName('muteVideos')[0];
|
||||
let autoplayGifs = document.getElementById('nitter').getElementsByClassName('autoplayGifs')[0];
|
||||
|
||||
let nitterElement = document.getElementById("nitter");
|
||||
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableTwitter",
|
||||
"twitterProtocol",
|
||||
"enableTwitterCustomSettings",
|
||||
"bypassWatchOnTwitter",
|
||||
"nitterTheme",
|
||||
"nitterInfiniteScroll",
|
||||
"nitterStickyProfile",
|
||||
"nitterBidiSupport",
|
||||
"nitterHideTweetStats",
|
||||
"nitterHideBanner",
|
||||
"nitterHidePins",
|
||||
"nitterHideReplies",
|
||||
"nitterSquareAvatars",
|
||||
"nitterMp4Playback",
|
||||
"nitterHlsPlayback",
|
||||
"nitterProxyVideos",
|
||||
"nitterMuteVideos",
|
||||
"nitterAutoplayGifs",
|
||||
],
|
||||
r => {
|
||||
disableTwitterElement.checked = !r.disableTwitter;
|
||||
enableYoutubeCustomSettingsElement.checked = r.enableTwitterCustomSettings;
|
||||
bypassWatchOnTwitterElement.checked = r.bypassWatchOnTwitter;
|
||||
protocolElement.value = r.twitterProtocol;
|
||||
changeProtocolSettings(r.twitterProtocol);
|
||||
|
||||
// Display
|
||||
theme.value = r.nitterTheme;
|
||||
infiniteScroll.checked = r.nitterInfiniteScroll;
|
||||
stickyProfile.checked = r.nitterStickyProfile;
|
||||
bidiSupport.checked = r.nitterBidiSupport;
|
||||
hideTweetStats.checked = r.nitterHideTweetStats;
|
||||
hideBanner.checked = r.nitterHideBanner;
|
||||
hidePins.checked = r.nitterHidePins;
|
||||
hideReplies.checked = r.nitterHideReplies;
|
||||
squareAvatars.checked = r.nitterSquareAvatars;
|
||||
|
||||
// Media
|
||||
mp4Playback.checked = r.nitterMp4Playback;
|
||||
hlsPlayback.checked = r.nitterHlsPlayback;
|
||||
proxyVideos.checked = r.nitterProxyVideos;
|
||||
muteVideos.checked = r.nitterMuteVideos;
|
||||
autoplayGifs.checked = r.nitterAutoplayGifs;
|
||||
}
|
||||
)
|
||||
|
||||
document.addEventListener("change", async () => {
|
||||
await browser.storage.local.set({
|
||||
disableTwitter: !disableTwitterElement.checked,
|
||||
@ -68,58 +116,8 @@ function changeProtocolSettings(protocol) {
|
||||
for (const item of customSettingsDivElement) item.style.display = 'none';
|
||||
}
|
||||
|
||||
function init() {
|
||||
twitterHelper.init().then(() => {
|
||||
disableTwitterElement.checked = !twitterHelper.getDisable();
|
||||
enableYoutubeCustomSettingsElement.checked = twitterHelper.getEnableCustomSettings();
|
||||
bypassWatchOnTwitterElement.checked = twitterHelper.getBypassWatchOnTwitter();
|
||||
|
||||
let protocol = twitterHelper.getProtocol();
|
||||
protocolElement.value = protocol;
|
||||
changeProtocolSettings(protocol);
|
||||
theme.value = twitterHelper.getTheme();
|
||||
infiniteScroll.checked = twitterHelper.getInfiniteScroll();
|
||||
stickyProfile.checked = twitterHelper.getStickyProfile();
|
||||
bidiSupport.checked = twitterHelper.getBidiSupport();
|
||||
hideTweetStats.checked = twitterHelper.getHideTweetStats();
|
||||
hideBanner.checked = twitterHelper.getHideBanner();
|
||||
hidePins.checked = twitterHelper.getHidePins();
|
||||
hideReplies.checked = twitterHelper.getHideReplies();
|
||||
squareAvatars.checked = twitterHelper.getSquareAvatars();
|
||||
mp4Playback.checked = twitterHelper.getMp4Playback();
|
||||
hlsPlayback.checked = twitterHelper.getHlsPlayback();
|
||||
proxyVideos.checked = twitterHelper.getProxyVideos();
|
||||
muteVideos.checked = twitterHelper.getMuteVideos();
|
||||
autoplayGifs.checked = twitterHelper.getAutoplayGifs();
|
||||
|
||||
browser.storage.local.get("nitterLatency").then(r => {
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'nitter',
|
||||
'normal',
|
||||
twitterHelper,
|
||||
document,
|
||||
twitterHelper.getNitterNormalRedirectsChecks,
|
||||
twitterHelper.setNitterNormalRedirectsChecks,
|
||||
twitterHelper.getNitterNormalCustomRedirects,
|
||||
twitterHelper.setNitterNormalCustomRedirects,
|
||||
r.nitterLatency,
|
||||
);
|
||||
});
|
||||
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'nitter',
|
||||
'tor',
|
||||
twitterHelper,
|
||||
document,
|
||||
twitterHelper.getNitterTorRedirectsChecks,
|
||||
twitterHelper.setNitterTorRedirectsChecks,
|
||||
twitterHelper.getNitterTorCustomRedirects,
|
||||
twitterHelper.setNitterTorCustomRedirects
|
||||
)
|
||||
});
|
||||
}
|
||||
init();
|
||||
|
||||
// commonHelper.processDefaultCustomInstances('nitter', 'normal', twitterHelper, document);
|
||||
// commonHelper.processDefaultCustomInstances('nitter', 'tor', twitterHelper, document)
|
||||
window.onblur = twitterHelper.initNitterCookies;
|
||||
|
||||
let latencyElement = document.getElementById("latency");
|
||||
@ -135,17 +133,7 @@ latencyElement.addEventListener("click",
|
||||
commonHelper.testLatency(latencyLabel, redirects.nitter.normal).then(r => {
|
||||
browser.storage.local.set({ nitterLatency: r });
|
||||
latencyLabel.innerHTML = oldHtml;
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'nitter',
|
||||
'normal',
|
||||
twitterHelper,
|
||||
document,
|
||||
twitterHelper.getNitterNormalRedirectsChecks,
|
||||
twitterHelper.setNitterNormalRedirectsChecks,
|
||||
twitterHelper.getNitterNormalCustomRedirects,
|
||||
twitterHelper.setNitterNormalCustomRedirects,
|
||||
r,
|
||||
)
|
||||
commonHelper.processDefaultCustomInstances('nitter', 'normal', twitterHelper, document)
|
||||
latencyElement.removeEventListener("click", reloadWindow)
|
||||
});
|
||||
}
|
||||
|
@ -23,7 +23,6 @@
|
||||
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a class="selected" href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
|
||||
|
@ -2,18 +2,27 @@ import wikipediaHelper from "../../../assets/javascripts/helpers/wikipedia.js";
|
||||
import commonHelper from "../../../assets/javascripts/helpers/common.js";
|
||||
|
||||
let disableWikipediaElement = document.getElementById("disable-wikipedia");
|
||||
disableWikipediaElement.addEventListener("change",
|
||||
event => wikipediaHelper.setDisable(!event.target.checked)
|
||||
);
|
||||
|
||||
let protocolElement = document.getElementById("protocol");
|
||||
protocolElement.addEventListener("change",
|
||||
event => {
|
||||
let protocol = event.target.options[protocolElement.selectedIndex].value
|
||||
wikipediaHelper.setProtocol(protocol);
|
||||
changeProtocolSettings(protocol);
|
||||
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableWikipedia",
|
||||
"wikipediaProtocol",
|
||||
],
|
||||
r => {
|
||||
disableWikipediaElement.checked = !r.disableWikipedia;
|
||||
protocolElement.value = r.wikipediaProtocol;
|
||||
changeProtocolSettings(r.wikipediaProtocol);
|
||||
}
|
||||
);
|
||||
)
|
||||
|
||||
document.addEventListener("change", async () => {
|
||||
await browser.storage.local.set({
|
||||
disableWikipedia: !disableWikipediaElement.checked,
|
||||
wikipediaProtocol: protocolElement.value,
|
||||
})
|
||||
changeProtocolSettings(protocolElement.value)
|
||||
})
|
||||
|
||||
function changeProtocolSettings(protocol) {
|
||||
let normalDiv = document.getElementsByClassName("normal")[0];
|
||||
@ -35,51 +44,11 @@ function changeProtocolSettings(protocol) {
|
||||
i2pDiv.style.display = 'block';
|
||||
}
|
||||
}
|
||||
commonHelper.processDefaultCustomInstances('wikiless', 'normal', wikipediaHelper, document);
|
||||
commonHelper.processDefaultCustomInstances('wikiless', 'tor', wikipediaHelper, document)
|
||||
commonHelper.processDefaultCustomInstances('wikiless', 'i2p', wikipediaHelper, document)
|
||||
|
||||
wikipediaHelper.init().then(() => {
|
||||
disableWikipediaElement.checked = !wikipediaHelper.getDisable();
|
||||
|
||||
let protocol = wikipediaHelper.getProtocol();
|
||||
console.log('protocol', protocol);
|
||||
protocolElement.value = protocol;
|
||||
changeProtocolSettings(protocol);
|
||||
|
||||
browser.storage.local.get("wikilessLatency").then(r => {
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'wikiless',
|
||||
'normal',
|
||||
wikipediaHelper,
|
||||
document,
|
||||
wikipediaHelper.getWikilessNormalRedirectsChecks,
|
||||
wikipediaHelper.setWikilessNormalRedirectsChecks,
|
||||
wikipediaHelper.getWikilessNormalCustomRedirects,
|
||||
wikipediaHelper.setWikilessNormalCustomRedirects,
|
||||
r.wikilessLatency,
|
||||
);
|
||||
})
|
||||
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'wikiless',
|
||||
'tor',
|
||||
wikipediaHelper,
|
||||
document,
|
||||
wikipediaHelper.getWikilessTorRedirectsChecks,
|
||||
wikipediaHelper.setWikilessTorRedirectsChecks,
|
||||
wikipediaHelper.getWikilessTorCustomRedirects,
|
||||
wikipediaHelper.setWikilessTorCustomRedirects
|
||||
)
|
||||
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'wikiless',
|
||||
'i2p',
|
||||
wikipediaHelper,
|
||||
document,
|
||||
wikipediaHelper.getWikilessI2pRedirectsChecks,
|
||||
wikipediaHelper.setWikilessI2pRedirectsChecks,
|
||||
wikipediaHelper.getWikilessI2pCustomRedirects,
|
||||
wikipediaHelper.setWikilessI2pCustomRedirects
|
||||
)
|
||||
})
|
||||
window.onblur = wikipediaHelper.initWikilessCookies;
|
||||
|
||||
let latencyElement = document.getElementById("latency");
|
||||
let latencyLabel = document.getElementById("latency-label");
|
||||
@ -94,17 +63,7 @@ latencyElement.addEventListener("click",
|
||||
commonHelper.testLatency(latencyLabel, redirects.wikiless.normal).then(r => {
|
||||
browser.storage.local.set({ wikilessLatency: r });
|
||||
latencyLabel.innerHTML = oldHtml;
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'wikiless',
|
||||
'normal',
|
||||
wikipediaHelper,
|
||||
document,
|
||||
wikipediaHelper.getWikilessNormalRedirectsChecks,
|
||||
wikipediaHelper.setWikilessNormalRedirectsChecks,
|
||||
wikipediaHelper.getWikilessNormalCustomRedirects,
|
||||
wikipediaHelper.setWikilessNormalCustomRedirects,
|
||||
r,
|
||||
)
|
||||
commonHelper.processDefaultCustomInstances('wikiless', 'normal', wikipediaHelper, document)
|
||||
latencyElement.removeEventListener("click", reloadWindow)
|
||||
});
|
||||
}
|
||||
|
@ -23,7 +23,6 @@
|
||||
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
|
||||
@ -182,7 +181,7 @@
|
||||
<input class="volume" type="range" min="0" max="100" step="1">
|
||||
</div>
|
||||
<div class="some-block option-block">
|
||||
<h4 data-localise="__MSG_prefDashQuality__">Default comments</h4>
|
||||
<h4 data-localise="__MSG_defaultComments__">Default comments</h4>
|
||||
<select class="comments[0]">
|
||||
<option value="" data-localise="__MSG_none__">none</option>
|
||||
<option value="youtube">YouTube</option>
|
||||
|
@ -23,7 +23,6 @@
|
||||
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
|
||||
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
|
||||
|
@ -2,27 +2,23 @@ import youtubeMusicHelper from "../../../assets/javascripts/helpers/youtubeMusic
|
||||
import commonHelper from "../../../assets/javascripts/helpers/common.js";
|
||||
|
||||
let disableYoutubeMusicElement = document.getElementById("disable-beatbump");
|
||||
disableYoutubeMusicElement.addEventListener("change",
|
||||
(event) => youtubeMusicHelper.setDisable(!event.target.checked)
|
||||
|
||||
browser.storage.local.get(
|
||||
[
|
||||
"disableYoutubeMusic",
|
||||
],
|
||||
r => {
|
||||
disableYoutubeMusicElement.checked = !r.disableYoutubeMusic;
|
||||
}
|
||||
);
|
||||
|
||||
youtubeMusicHelper.init().then(() => {
|
||||
disableYoutubeMusicElement.checked = !youtubeMusicHelper.getDisable();
|
||||
|
||||
browser.storage.local.get("beatbumpLatency").then(r => {
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'beatbump',
|
||||
'normal',
|
||||
youtubeMusicHelper,
|
||||
document,
|
||||
youtubeMusicHelper.getBeatbumpNormalRedirectsChecks,
|
||||
youtubeMusicHelper.setBeatbumpNormalRedirectsChecks,
|
||||
youtubeMusicHelper.getBeatbumpNormalCustomRedirects,
|
||||
youtubeMusicHelper.setBeatbumpNormalCustomRedirects,
|
||||
r.beatbumpLatency,
|
||||
);
|
||||
document.addEventListener("change", async () => {
|
||||
await browser.storage.local.set({
|
||||
disableYoutubeMusic: !disableYoutubeMusicElement.checked,
|
||||
})
|
||||
});
|
||||
})
|
||||
|
||||
commonHelper.processDefaultCustomInstances('beatbump', 'normal', youtubeMusicHelper, document);
|
||||
|
||||
let latencyElement = document.getElementById("latency");
|
||||
let latencyLabel = document.getElementById("latency-label");
|
||||
@ -37,17 +33,7 @@ latencyElement.addEventListener("click",
|
||||
commonHelper.testLatency(latencyLabel, redirects.beatbump.normal).then(r => {
|
||||
browser.storage.local.set({ beatbumpLatency: r });
|
||||
latencyLabel.innerHTML = oldHtml;
|
||||
commonHelper.processDefaultCustomInstances(
|
||||
'beatbump',
|
||||
'normal',
|
||||
youtubeMusicHelper,
|
||||
document,
|
||||
youtubeMusicHelper.getBeatbumpNormalRedirectsChecks,
|
||||
youtubeMusicHelper.setBeatbumpNormalRedirectsChecks,
|
||||
youtubeMusicHelper.getBeatbumpNormalCustomRedirects,
|
||||
youtubeMusicHelper.setBeatbumpNormalCustomRedirects,
|
||||
r,
|
||||
)
|
||||
commonHelper.processDefaultCustomInstances('beatbump', 'normal', youtubeMusicHelper, document)
|
||||
latencyElement.removeEventListener("click", reloadWindow)
|
||||
});
|
||||
}
|
||||
|
@ -68,15 +68,6 @@
|
||||
<input id="disable-reddit" type="checkbox" checked />
|
||||
</div>
|
||||
|
||||
<div id="pixiv" class="some-block">
|
||||
<a class="title" href="https://pixiv.net">
|
||||
<!-- https://clipground.com/pics/getsecond?url=pixiv-logo-2.png -->
|
||||
<img src="../../assets/images/pixiv-icon.svg" />
|
||||
<h4 data-localise="__MSG_pixiv__">Pixiv</h4>
|
||||
</a>
|
||||
<input id="disable-pixiv" type="checkbox" checked />
|
||||
</div>
|
||||
|
||||
<div id="spotify" class="some-block">
|
||||
<a class="title" href="https://spotify.com">
|
||||
<img src="../../../assets/images/spotify-icon.png" />
|
||||
|
@ -14,7 +14,6 @@ import wikipediaHelper from "../../assets/javascripts/helpers/wikipedia.js";
|
||||
import mediumHelper from "../../assets/javascripts/helpers/medium.js";
|
||||
import imgurHelper from "../../assets/javascripts/helpers/imgur.js";
|
||||
import tiktokHelper from "../../assets/javascripts/helpers/tiktok.js";
|
||||
import pixivHelper from "../../assets/javascripts/helpers/pixiv.js";
|
||||
import spotifyHelper from "../../assets/javascripts/helpers/spotify.js";
|
||||
import sendTargetsHelper from "../../assets/javascripts/helpers/sendTargets.js";
|
||||
import peertubeHelper from "../../assets/javascripts/helpers/peertube.js";
|
||||
@ -36,7 +35,6 @@ let disableLbryElement = document.getElementById("disable-lbry");
|
||||
let disableSendTargetsElement = document.getElementById("disable-sendTargets");
|
||||
let disableImgurElement = document.getElementById("disable-imgur");
|
||||
let disableTiktokElement = document.getElementById("disable-tiktok");
|
||||
let disablePixivElement = document.getElementById("disable-pixiv");
|
||||
let disableSpotifyElement = document.getElementById("disable-spotify");
|
||||
|
||||
let copyRawElement = document.getElementById('copy_raw');
|
||||
@ -53,7 +51,6 @@ browser.storage.local.get(
|
||||
"disableWikipedia",
|
||||
"disableImgur",
|
||||
"disableTiktok",
|
||||
"disablePixiv",
|
||||
"disableSpotifyTargets",
|
||||
"disableMedium",
|
||||
"disablePeertubeTargets",
|
||||
@ -72,7 +69,6 @@ browser.storage.local.get(
|
||||
disableWikipediaElement.checked = !r.disableWikipedia;
|
||||
disableImgurElement.checked = !r.disableImgur;
|
||||
disableTiktokElement.checked = !r.disableTiktok;
|
||||
disablePixivElement.checked = !r.disablePixiv;
|
||||
disableSpotifyElement.checked = !r.disableSpotifyTargets;
|
||||
disableMediumElement.checked = !r.disableMedium;
|
||||
disablePeertubeElement.checked = !r.disablePeertubeTargets;
|
||||
@ -94,7 +90,6 @@ document.addEventListener("change", () => {
|
||||
disableWikipedia: !disableWikipediaElement.checked,
|
||||
disableImgur: !disableImgurElement.checked,
|
||||
disableTiktok: !disableTiktokElement.checked,
|
||||
disablePixiv: !disablePixivElement.checked,
|
||||
disableSpotifyTargets: !disableSpotifyElement.checked,
|
||||
disableMedium: !disableMediumElement.checked,
|
||||
disablePeertubeTargets: !disablePeertubeElement.checked,
|
||||
|
Loading…
x
Reference in New Issue
Block a user