Simplified code. Removed pixivMoe, old.reddit.com #239

This commit is contained in:
ManeraKai 2022-05-04 13:59:37 +03:00
parent 6022b28407
commit a28cccfde0
No known key found for this signature in database
GPG Key ID: 5ABC31FFD562E337
66 changed files with 1128 additions and 3481 deletions

View File

@ -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)\

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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": {

View File

@ -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": {

View File

@ -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": {

View File

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

View File

@ -111,7 +111,6 @@ let allPopupFrontends = [
"tikTok",
"imgur",
"reddit",
"pixiv",
"spotify",
"search",
"translate",

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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') {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -42,7 +42,7 @@ function init() {
],
r => {
disableImgurElement.checked = !r.disableImgur;
protocol.value = r.imgurProtocol;
protocolElement.value = r.imgurProtocol;
changeProtocolSettings(r.imgurProtocol);
}
);

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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" />

View File

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