diff --git a/.gitignore b/.gitignore
index e5f8149..a50c6bd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,5 +2,4 @@ web-ext-artifacts/
.DS_Store
nod
node_modules
-package-lock.json
-src/pages/options/*/*.html
\ No newline at end of file
+package-lock.json
\ No newline at end of file
diff --git a/pug/options/general/general.pug b/pug/options/general/general.pug
index 1f49363..d0aad99 100644
--- a/pug/options/general/general.pug
+++ b/pug/options/general/general.pug
@@ -49,26 +49,26 @@ body.option(dir="auto")
svg(xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor")
path(d="M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z")
x(data-localise="__MSG_updateInstances__") Update Instances
-
+
|
-
+
label.button.button-inline(for="import-settings")
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")
|
x(data-localise="__MSG_importSettings__") Import Settings
- input#import-settings.button.button-inline(type="file" style="display:none;")
-
+ input#import-settings.button.button-inline(type="file" style="display:none;")
+
|
-
+
a#export-settings.button.button-inline
svg(xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor")
path(d="M10.09 15.59L11.5 17l5-5-5-5-1.41 1.41L12.67 11H3v2h9.67l-2.58 2.59zM19 3H5c-1.11 0-2 .9-2 2v4h2V5h14v14H5v-4H3v4c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z")
|
x(data-localise="__MSG_exportSettings__") Export Settings
-
+
|
-
+
a#reset-settings.button.button-inline
svg(xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor")
path(d="M12,5V2L8,6l4,4V7c3.31,0,6,2.69,6,6c0,2.97-2.17,5.43-5,5.91v2.02c3.95-0.49,7-3.85,7-7.93C20,8.58,16.42,5,12,5z")
diff --git a/pug/options/imgur/imgur.pug b/pug/options/imgur/imgur.pug
index 14b31df..f195ca6 100644
--- a/pug/options/imgur/imgur.pug
+++ b/pug/options/imgur/imgur.pug
@@ -24,6 +24,8 @@ body.option(dir="auto")
.normal
include ../../widgets/instances.pug
+instances('https://rimgo.com')
+ include ../../widgets/latency.pug
+ +latency()
.tor
include ../../widgets/instances.pug
+instances('https://rimgo.onion')
@@ -32,5 +34,7 @@ body.option(dir="auto")
include ../../widgets/instances.pug
+instances('https://rimgo.onion')
+
+
script(type="module" src="../init.js")
script(type="module" src="./imgur.js")
\ No newline at end of file
diff --git a/pug/options/instagram/instagram.pug b/pug/options/instagram/instagram.pug
index 49133c6..6e1ef19 100644
--- a/pug/options/instagram/instagram.pug
+++ b/pug/options/instagram/instagram.pug
@@ -23,6 +23,8 @@ body.option(dir="auto")
.normal
include ../../widgets/instances.pug
+instances('https://bibliogram.com')
+ include ../../widgets/latency.pug
+ +latency()
.tor
include ../../widgets/instances.pug
+instances('https://bibliogram.onion')
diff --git a/pug/options/lbry/lbry.pug b/pug/options/lbry/lbry.pug
index bf01bef..aca0d48 100644
--- a/pug/options/lbry/lbry.pug
+++ b/pug/options/lbry/lbry.pug
@@ -23,6 +23,8 @@ body.option(dir="auto")
.normal
include ../../widgets/instances.pug
+instances('https://librarian.com')
+ include ../../widgets/latency.pug
+ +latency()
.tor
include ../../widgets/instances.pug
+instances('https://librarian.onion')
diff --git a/pug/options/maps/maps.pug b/pug/options/maps/maps.pug
index ded2555..2da94a4 100644
--- a/pug/options/maps/maps.pug
+++ b/pug/options/maps/maps.pug
@@ -23,6 +23,8 @@ body.option(dir="auto")
.normal
include ../../widgets/instances.pug
+instances('https://facilmap.com')
+ include ../../widgets/latency.pug
+ +latency()
script(type="module" src="../init.js")
script(type="module" src="./maps.js")
\ No newline at end of file
diff --git a/pug/options/medium/medium.pug b/pug/options/medium/medium.pug
index 91947ee..f5b698d 100644
--- a/pug/options/medium/medium.pug
+++ b/pug/options/medium/medium.pug
@@ -23,6 +23,8 @@ body.option(dir="auto")
.normal
include ../../widgets/instances.pug
+instances('https://scribe.com')
+ include ../../widgets/latency.pug
+ +latency()
.tor
include ../../widgets/instances.pug
+instances('https://scribe.onion')
diff --git a/pug/options/peertube/peertube.pug b/pug/options/peertube/peertube.pug
index f49e311..d9b25bb 100644
--- a/pug/options/peertube/peertube.pug
+++ b/pug/options/peertube/peertube.pug
@@ -23,6 +23,8 @@ body.option(dir="auto")
.normal
include ../../widgets/instances.pug
+instances('https://simpleertube.com')
+ include ../../widgets/latency.pug
+ +latency()
.tor
include ../../widgets/instances.pug
+instances('https://simpleertube.onion')
diff --git a/pug/options/pixiv/pixiv.pug b/pug/options/pixiv/pixiv.pug
index ead2f65..3fab598 100644
--- a/pug/options/pixiv/pixiv.pug
+++ b/pug/options/pixiv/pixiv.pug
@@ -31,9 +31,11 @@ body.option(dir="auto")
.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")
\ No newline at end of file
diff --git a/pug/options/reddit/reddit.pug b/pug/options/reddit/reddit.pug
index faab846..5068acb 100644
--- a/pug/options/reddit/reddit.pug
+++ b/pug/options/reddit/reddit.pug
@@ -36,6 +36,8 @@ body.option(dir="auto")
.normal
include ../../widgets/instances.pug
+instances('https://libreddit.com')
+ include ../../widgets/latency.pug
+ +latency('libreddit')
.tor
include ../../widgets/instances.pug
+instances('https://libreddit.onion')
@@ -44,10 +46,11 @@ body.option(dir="auto")
hr
.normal
include ../../widgets/instances.pug
- +instances('https://libreddit.com')
+ +instances('https://teddit.com')
+ +latency('teddit')
.tor
include ../../widgets/instances.pug
- +instances('https://libreddit.onion')
+ +instances('https://teddit.onion')
script(type="module" src="../init.js")
script(type="module" src="./reddit.js")
\ No newline at end of file
diff --git a/pug/options/search/search.pug b/pug/options/search/search.pug
index 590a427..61664b9 100644
--- a/pug/options/search/search.pug
+++ b/pug/options/search/search.pug
@@ -37,6 +37,8 @@ body.option(dir="auto")
.normal
include ../../widgets/instances.pug
+instances('https://searx.com')
+ include ../../widgets/latency.pug
+ +latency('searx')
.tor
include ../../widgets/instances.pug
+instances('https://searx.onion')
@@ -49,6 +51,7 @@ body.option(dir="auto")
.normal
include ../../widgets/instances.pug
+instances('https://searxng.com')
+ +latency('searxng')
.tor
include ../../widgets/instances.pug
+instances('https://searxng.onion')
@@ -61,6 +64,7 @@ body.option(dir="auto")
.normal
include ../../widgets/instances.pug
+instances('https://whoogle.com')
+ +latency('whoogle')
.tor
include ../../widgets/instances.pug
+instances('https://whoogle.onion')
diff --git a/pug/options/sendTargets/sendTargets.pug b/pug/options/sendTargets/sendTargets.pug
index c285114..3017fa8 100644
--- a/pug/options/sendTargets/sendTargets.pug
+++ b/pug/options/sendTargets/sendTargets.pug
@@ -23,6 +23,8 @@ body.option(dir="auto")
.normal
include ../../widgets/instances.pug
+instances('https://send.com')
+ include ../../widgets/latency.pug
+ +latency()
.tor
include ../../widgets/instances.pug
+instances('https://send.onion')
diff --git a/pug/options/speedtest/speedtest.pug b/pug/options/speedtest/speedtest.pug
index 51bbf91..c9b36fa 100644
--- a/pug/options/speedtest/speedtest.pug
+++ b/pug/options/speedtest/speedtest.pug
@@ -23,6 +23,8 @@ body.option(dir="auto")
.normal
include ../../widgets/instances.pug
+instances('https://librespeed.com')
+ include ../../widgets/latency.pug
+ +latency()
.tor
include ../../widgets/instances.pug
+instances('https://librespeed.onion')
diff --git a/pug/options/spotify/spotify.pug b/pug/options/spotify/spotify.pug
index 6bbf9d8..2314fe2 100644
--- a/pug/options/spotify/spotify.pug
+++ b/pug/options/spotify/spotify.pug
@@ -23,6 +23,8 @@ body.option(dir="auto")
.normal
include ../../widgets/instances.pug
+instances('https://soju.com')
+ include ../../widgets/latency.pug
+ +latency()
.tor
include ../../widgets/instances.pug
+instances('https://soju.onion')
diff --git a/pug/options/tiktok/tiktok.pug b/pug/options/tiktok/tiktok.pug
index 0a16954..e9017f9 100644
--- a/pug/options/tiktok/tiktok.pug
+++ b/pug/options/tiktok/tiktok.pug
@@ -23,6 +23,8 @@ body.option(dir="auto")
.normal
include ../../widgets/instances.pug
+instances('https://proxitok.com')
+ include ../../widgets/latency.pug
+ +latency()
.tor
include ../../widgets/instances.pug
+instances('https://proxitok.onion')
diff --git a/pug/options/translate/translate.pug b/pug/options/translate/translate.pug
index 1bcf200..f6a192c 100644
--- a/pug/options/translate/translate.pug
+++ b/pug/options/translate/translate.pug
@@ -46,19 +46,22 @@ body.option(dir="auto")
option(value="deepl") Deepl
option(value="iciba") ICIBA
option(value="reverso") Reverso
-
+
.normal
include ../../widgets/instances.pug
+instances('https://simplytranslate.org')
+ include ../../widgets/latency.pug
+ +latency('simplyTranslate')
.tor
include ../../widgets/instances.pug
+instances('http://hxecvvetgrznmprg.onion')
-
+
#lingva
.normal
include ../../widgets/instances.pug
+instances('https://lingvatranslate.com')
+ +latency('lingva')
.tor
include ../../widgets/instances.pug
+instances('http://tyzxppdeoojdnaux.onion')
diff --git a/pug/options/twitter/twitter.pug b/pug/options/twitter/twitter.pug
index 2d7f145..230aefd 100644
--- a/pug/options/twitter/twitter.pug
+++ b/pug/options/twitter/twitter.pug
@@ -104,6 +104,8 @@ body.option(dir="auto")
.normal
include ../../widgets/instances.pug
+instances('https://nitter.com')
+ include ../../widgets/latency.pug
+ +latency()
.tor
include ../../widgets/instances.pug
+instances('https://nitter.onion')
diff --git a/pug/options/wikipedia/wikipedia.pug b/pug/options/wikipedia/wikipedia.pug
index 6a505cf..54ca873 100644
--- a/pug/options/wikipedia/wikipedia.pug
+++ b/pug/options/wikipedia/wikipedia.pug
@@ -24,6 +24,8 @@ body.option(dir="auto")
.normal
include ../../widgets/instances.pug
+instances('https://wikiless.com')
+ include ../../widgets/latency.pug
+ +latency()
.tor
include ../../widgets/instances.pug
+instances('https://wikiless.onion')
diff --git a/pug/options/youtube/youtube.pug b/pug/options/youtube/youtube.pug
index 57fc2b5..49bbc8b 100644
--- a/pug/options/youtube/youtube.pug
+++ b/pug/options/youtube/youtube.pug
@@ -322,6 +322,8 @@ body.option(dir="auto")
.normal
include ../../widgets/instances.pug
+instances('https://invidious.com')
+ include ../../widgets/latency.pug
+ +latency('invidious')
.tor
include ../../widgets/instances.pug
+instances('https://invidious.onion')
@@ -643,6 +645,7 @@ body.option(dir="auto")
.normal
include ../../widgets/instances.pug
+instances('https://piped.com')
+ +latency('piped')
.tor
include ../../widgets/instances.pug
+instances('https://piped.onion')
@@ -713,6 +716,7 @@ body.option(dir="auto")
.normal
include ../../widgets/instances.pug
+instances('https://piped-material.com')
+ +latency('pipedMaterial')
.tor
include ../../widgets/instances.pug
+instances('https://piped-material.onion')
diff --git a/pug/options/youtubeMusic/youtubeMusic.pug b/pug/options/youtubeMusic/youtubeMusic.pug
index 3a61867..10d2dee 100644
--- a/pug/options/youtubeMusic/youtubeMusic.pug
+++ b/pug/options/youtubeMusic/youtubeMusic.pug
@@ -15,7 +15,10 @@ body.option(dir="auto")
#beatbump
hr
.normal
- include ../../widgets/instances.pug
- +instances('https://beatbump.wewe')
- script(type="module" src="../init.js")
- script(type="module" src="./youtubeMusic.js")
+ include ../../widgets/instances.pug
+ +instances('https://beatbump.wewe')
+ include ../../widgets/latency.pug
+ +latency()
+
+ script(type="module" src="../init.js")
+ script(type="module" src="./youtubeMusic.js")
diff --git a/pug/widgets/latency.pug b/pug/widgets/latency.pug
new file mode 100644
index 0000000..0069ca7
--- /dev/null
+++ b/pug/widgets/latency.pug
@@ -0,0 +1,13 @@
+mixin latency(service)
+ - var latencyVal
+ if (service)
+ - latencyVal = `latency-${service}`
+ else
+ - latencyVal = `latency`
+
+ label.button.button-inline(id=`${latencyVal}-label` for=latencyVal)
+ 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")
+ |
+ x(data-localise="__MSG_testInstancesLatency__") Test Instances Latency
+ input.button.button-inline(id=latencyVal style="display:none;")
\ No newline at end of file
diff --git a/src/assets/javascripts/helpers/common.js b/src/assets/javascripts/helpers/common.js
index 287604d..4b2d963 100644
--- a/src/assets/javascripts/helpers/common.js
+++ b/src/assets/javascripts/helpers/common.js
@@ -19,7 +19,6 @@ let cloudflareList = [];
async function initCloudflareList() {
return new Promise(resolve => {
fetch('/instances/cloudflare.json').then(response => response.text()).then(data => {
- console.log(data);
cloudflareList = data;
resolve();
})
@@ -90,8 +89,6 @@ function protocolHost(url) {
return `${url.protocol}//${url.host}`;
}
-
-
async function processDefaultCustomInstances(
name,
protocol,
@@ -100,8 +97,10 @@ async function processDefaultCustomInstances(
getNameRedirectsChecks,
setNameRedirectsChecks,
getNameCustomRedirects,
- setNameCustomRedirects
+ setNameCustomRedirects,
+ instancesLatency,
) {
+ instancesLatency = instancesLatency ?? [];
let nameProtocolElement = document.getElementById(name).getElementsByClassName(protocol)[0];
let nameCustomInstances = [];
@@ -123,12 +122,10 @@ async function processDefaultCustomInstances(
}
nameDefaultRedirects = getNameRedirectsChecks();
-
- console.log('cloudflareList', cloudflareList)
nameCheckListElement.innerHTML =
[
`
Toggle All
`,
- ...nameHelper.getRedirects()[name][protocol].map(x => `${x}${cloudflareList.includes(x) ? ' cloudflare' : ''}
`),
+ ...nameHelper.getRedirects()[name][protocol].map(x => `${x}${cloudflareList.includes(x) ? ' cloudflare' : ''} ${x in instancesLatency ? '' + (instancesLatency[x] == 5000 ? '5000ms+' : instancesLatency[x] + 'ms') + '' : ''}
`),
].join('\n
\n');
localise.localisePage();
@@ -161,15 +158,15 @@ async function processDefaultCustomInstances(
function calcNameCustomInstances() {
nameProtocolElement.getElementsByClassName('custom-checklist')[0].innerHTML =
nameCustomInstances.map(
- x => `
-
`
+ x => `
+
`
).join('\n');
for (const item of nameCustomInstances) {
@@ -201,6 +198,46 @@ function isRtl() {
return ["ar", "iw", "ku", "fa", "ur"].includes(browser.i18n.getUILanguage())
}
+async function ping(href) {
+ return new Promise(resolve => {
+ let http = new XMLHttpRequest();
+ http.open("GET", href + '?_=' + new Date().getTime(), /*async*/true);
+ http.timeout = 5000;
+ let started = new Date().getTime();
+ http.onreadystatechange = function () {
+ if (http.readyState == 2) {
+ if (http.status == 200) {
+ let ended = new Date().getTime();
+ let ms = ended - started;
+ http.abort();
+ resolve(ms);
+ }
+ else resolve()
+ }
+ };
+ http.ontimeout = () => resolve(5000)
+ http.onerror = () => resolve()
+ try {
+ http.send(null);
+ } catch (exception) {
+ resolve()
+ }
+ });
+}
+
+async function testLatency(element, instances) {
+ return new Promise(async resolve => {
+ let myList = {};
+ for (const href of instances) await ping(href).then(m => {
+ if (m) {
+ myList[href] = m;
+ element.innerHTML = `${href}: ${'' + (m == 5000 ? '5000ms+' : m + 'ms') + ''}`;
+ console.log(`${href}: ${m}ms`)
+ }
+ })
+ resolve(myList);
+ })
+}
export default {
getRandomInstance,
updateInstances,
@@ -208,4 +245,5 @@ export default {
isFirefox,
processDefaultCustomInstances,
isRtl,
-};
+ testLatency,
+}
diff --git a/src/pages/options/general/general.html b/src/pages/options/general/general.html
new file mode 100644
index 0000000..e27ff9d
--- /dev/null
+++ b/src/pages/options/general/general.html
@@ -0,0 +1,223 @@
+
+
+
+
+
+
+
+ General
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/options/general/general.js b/src/pages/options/general/general.js
index 3b93947..2fab94f 100644
--- a/src/pages/options/general/general.js
+++ b/src/pages/options/general/general.js
@@ -170,6 +170,6 @@ generalHelper.init().then(() => {
})
popupFrontends = generalHelper.getPopupFrontends();
- for (const frontend of generalHelper.allPopupFrontends)
+ for (const frontend of generalHelper.allPopupFrontends)
document.getElementById(frontend).checked = popupFrontends.includes(frontend);
})
\ No newline at end of file
diff --git a/src/pages/options/imgur/imgur.html b/src/pages/options/imgur/imgur.html
new file mode 100644
index 0000000..c9d4862
--- /dev/null
+++ b/src/pages/options/imgur/imgur.html
@@ -0,0 +1,146 @@
+
+
+
+
+
+
+
+ General
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Enable
+
+
+
+
Protocol
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/options/imgur/imgur.js b/src/pages/options/imgur/imgur.js
index 26a7d41..11ebceb 100644
--- a/src/pages/options/imgur/imgur.js
+++ b/src/pages/options/imgur/imgur.js
@@ -8,7 +8,7 @@ disableImgurElement.addEventListener("change",
let protocolElement = document.getElementById("protocol")
protocolElement.addEventListener("change",
- (event) => {
+ event => {
let protocol = event.target.options[protocolElement.selectedIndex].value
imgurHelper.setProtocol(protocol);
changeProtocolSettings(protocol);
@@ -20,19 +20,19 @@ function changeProtocolSettings(protocol) {
let torDiv = document.getElementsByClassName("tor")[0];
let i2pDiv = document.getElementsByClassName("i2p")[0];
if (protocol == 'normal') {
- normalDiv.style.display = 'block';
- torDiv.style.display = 'none';
- i2pDiv.style.display = 'none';
+ normalDiv.style.display = 'block';
+ torDiv.style.display = 'none';
+ i2pDiv.style.display = 'none';
}
else if (protocol == 'tor') {
- normalDiv.style.display = 'none';
- torDiv.style.display = 'block';
- i2pDiv.style.display = 'none';
+ normalDiv.style.display = 'none';
+ torDiv.style.display = 'block';
+ i2pDiv.style.display = 'none';
}
else if (protocol == 'i2p') {
- normalDiv.style.display = 'none';
- torDiv.style.display = 'none';
- i2pDiv.style.display = 'block';
+ normalDiv.style.display = 'none';
+ torDiv.style.display = 'none';
+ i2pDiv.style.display = 'block';
}
}
@@ -44,16 +44,19 @@ imgurHelper.init().then(() => {
protocolElement.value = protocol;
changeProtocolSettings(protocol);
- commonHelper.processDefaultCustomInstances(
- 'rimgo',
- 'normal',
- imgurHelper,
- document,
- imgurHelper.getRimgoNormalRedirectsChecks,
- imgurHelper.setRimgoNormalRedirectsChecks,
- imgurHelper.getRimgoNormalCustomRedirects,
- imgurHelper.setRimgoNormalCustomRedirects
- );
+ browser.storage.local.get("rimgoLatency").then(r => {
+ commonHelper.processDefaultCustomInstances(
+ 'rimgo',
+ 'normal',
+ imgurHelper,
+ document,
+ imgurHelper.getRimgoNormalRedirectsChecks,
+ imgurHelper.setRimgoNormalRedirectsChecks,
+ imgurHelper.getRimgoNormalCustomRedirects,
+ imgurHelper.setRimgoNormalCustomRedirects,
+ r.rimgoLatency
+ );
+ });
commonHelper.processDefaultCustomInstances(
'rimgo',
@@ -67,13 +70,42 @@ imgurHelper.init().then(() => {
);
commonHelper.processDefaultCustomInstances(
- 'rimgo',
- 'i2p',
- imgurHelper,
- document,
- imgurHelper.getRimgoI2pRedirectsChecks,
- imgurHelper.setRimgoI2pRedirectsChecks,
- imgurHelper.getRimgoI2pCustomRedirects,
- imgurHelper.setRimgoI2pCustomRedirects
+ 'rimgo',
+ 'i2p',
+ imgurHelper,
+ document,
+ imgurHelper.getRimgoI2pRedirectsChecks,
+ imgurHelper.setRimgoI2pRedirectsChecks,
+ imgurHelper.getRimgoI2pCustomRedirects,
+ imgurHelper.setRimgoI2pCustomRedirects
);
});
+
+let latencyElement = document.getElementById("latency");
+let latencyLabel = document.getElementById("latency-label");
+latencyElement.addEventListener("click",
+ async () => {
+ let reloadWindow = () => location.reload();
+ latencyElement.addEventListener("click", reloadWindow);
+ await imgurHelper.init();
+ let redirects = imgurHelper.getRedirects();
+ const oldHtml = latencyLabel.innerHTML;
+ latencyLabel.innerHTML = '...';
+ commonHelper.testLatency(latencyLabel, redirects.rimgo.normal).then(r => {
+ browser.storage.local.set({ rimgoLatency: r });
+ latencyLabel.innerHTML = oldHtml;
+ commonHelper.processDefaultCustomInstances(
+ 'rimgo',
+ 'normal',
+ imgurHelper,
+ document,
+ imgurHelper.getRimgoNormalRedirectsChecks,
+ imgurHelper.setRimgoNormalRedirectsChecks,
+ imgurHelper.getRimgoNormalCustomRedirects,
+ imgurHelper.setRimgoNormalCustomRedirects,
+ r
+ );
+ latencyElement.removeEventListener("click", reloadWindow)
+ });
+ }
+);
diff --git a/src/pages/options/instagram/instagram.html b/src/pages/options/instagram/instagram.html
new file mode 100644
index 0000000..01556fd
--- /dev/null
+++ b/src/pages/options/instagram/instagram.html
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+ General
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Enable
+
+
+
+
Protocol
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/options/instagram/instagram.js b/src/pages/options/instagram/instagram.js
index a7788a6..867a5dd 100644
--- a/src/pages/options/instagram/instagram.js
+++ b/src/pages/options/instagram/instagram.js
@@ -36,16 +36,19 @@ instagramHelper.init().then(() => {
changeProtocolSettings(protocol);
- commonHelper.processDefaultCustomInstances(
- 'bibliogram',
- 'normal',
- instagramHelper,
- document,
- instagramHelper.getBibliogramNormalRedirectsChecks,
- instagramHelper.setBibliogramNormalRedirectsChecks,
- instagramHelper.getBibliogramNormalCustomRedirects,
- instagramHelper.setBibliogramNormalCustomRedirects
- )
+ browser.storage.local.get("bibliogramLatency").then(r => {
+ commonHelper.processDefaultCustomInstances(
+ 'bibliogram',
+ 'normal',
+ instagramHelper,
+ document,
+ instagramHelper.getBibliogramNormalRedirectsChecks,
+ instagramHelper.setBibliogramNormalRedirectsChecks,
+ instagramHelper.getBibliogramNormalCustomRedirects,
+ instagramHelper.setBibliogramNormalCustomRedirects,
+ r.bibliogramLatency,
+ )
+ })
commonHelper.processDefaultCustomInstances(
'bibliogram',
@@ -57,4 +60,34 @@ instagramHelper.init().then(() => {
instagramHelper.getBibliogramTorCustomRedirects,
instagramHelper.setBibliogramTorCustomRedirects
)
-})
\ No newline at end of file
+})
+
+
+let latencyElement = document.getElementById("latency");
+let latencyLabel = document.getElementById("latency-label");
+latencyElement.addEventListener("click",
+ async () => {
+ let reloadWindow = () => location.reload();
+ latencyElement.addEventListener("click", reloadWindow);
+ await instagramHelper.init();
+ let redirects = instagramHelper.getRedirects();
+ const oldHtml = latencyLabel.innerHTML;
+ latencyLabel.innerHTML = '...';
+ commonHelper.testLatency(latencyLabel, redirects.bibliogram.normal).then(r => {
+ browser.storage.local.set({ bibliogramLatency: r });
+ latencyLabel.innerHTML = oldHtml;
+ commonHelper.processDefaultCustomInstances(
+ 'bibliogram',
+ 'normal',
+ instagramHelper,
+ document,
+ instagramHelper.getBibliogramNormalRedirectsChecks,
+ instagramHelper.setBibliogramNormalRedirectsChecks,
+ instagramHelper.getBibliogramNormalCustomRedirects,
+ instagramHelper.setBibliogramNormalCustomRedirects,
+ r,
+ );
+ latencyElement.removeEventListener("click", reloadWindow);
+ });
+ }
+);
\ No newline at end of file
diff --git a/src/pages/options/lbry/lbry.html b/src/pages/options/lbry/lbry.html
new file mode 100644
index 0000000..074ae4b
--- /dev/null
+++ b/src/pages/options/lbry/lbry.html
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+ General
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Enable
+
+
+
+
Protocol
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/options/lbry/lbry.js b/src/pages/options/lbry/lbry.js
index 7599521..4511373 100644
--- a/src/pages/options/lbry/lbry.js
+++ b/src/pages/options/lbry/lbry.js
@@ -35,16 +35,19 @@ lbryHelper.init().then(() => {
protocolElement.value = protocol;
changeProtocolSettings(protocol);
- commonHelper.processDefaultCustomInstances(
- 'librarian',
- 'normal',
- lbryHelper,
- document,
- lbryHelper.getLibrarianNormalRedirectsChecks,
- lbryHelper.setLibrarianNormalRedirectsChecks,
- lbryHelper.getLibrarianNormalCustomRedirects,
- lbryHelper.setLibrarianNormalCustomRedirects
- );
+ 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',
@@ -56,4 +59,34 @@ lbryHelper.init().then(() => {
lbryHelper.getLibrarianTorCustomRedirects,
lbryHelper.setLibrarianTorCustomRedirects
)
-})
\ No newline at end of file
+})
+
+
+let latencyElement = document.getElementById("latency");
+let latencyLabel = document.getElementById("latency-label");
+latencyElement.addEventListener("click",
+ async () => {
+ let reloadWindow = () => location.reload();
+ latencyElement.addEventListener("click", reloadWindow);
+ await lbryHelper.init();
+ let redirects = lbryHelper.getRedirects();
+ const oldHtml = latencyLabel.innerHTML;
+ latencyLabel.innerHTML = '...';
+ 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,
+ );
+ latencyElement.removeEventListener("click", reloadWindow);
+ });
+ }
+);
\ No newline at end of file
diff --git a/src/pages/options/maps/maps.html b/src/pages/options/maps/maps.html
new file mode 100644
index 0000000..d7c551b
--- /dev/null
+++ b/src/pages/options/maps/maps.html
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+
+ General
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Enable
+
+
+
+
Frontend
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/options/maps/maps.js b/src/pages/options/maps/maps.js
index 88a99ab..17c628d 100644
--- a/src/pages/options/maps/maps.js
+++ b/src/pages/options/maps/maps.js
@@ -32,14 +32,46 @@ mapsHelper.init().then(() => {
mapsFrontendElement.value = frontend;
changeFrontendsSettings(frontend);
- commonHelper.processDefaultCustomInstances(
- 'facil',
- 'normal',
- mapsHelper,
- document,
- mapsHelper.getFacilNormalRedirectsChecks,
- mapsHelper.setFacilNormalRedirectsChecks,
- mapsHelper.getFacilNormalCustomRedirects,
- mapsHelper.setFacilNormalCustomRedirects
- )
-})
\ No newline at end of file
+ browser.storage.local.get("facilLatency").then(r => {
+ commonHelper.processDefaultCustomInstances(
+ 'facil',
+ 'normal',
+ mapsHelper,
+ document,
+ mapsHelper.getFacilNormalRedirectsChecks,
+ mapsHelper.setFacilNormalRedirectsChecks,
+ mapsHelper.getFacilNormalCustomRedirects,
+ mapsHelper.setFacilNormalCustomRedirects,
+ r.facilLatency,
+ )
+ })
+})
+
+let latencyElement = document.getElementById("latency");
+let latencyLabel = document.getElementById("latency-label");
+latencyElement.addEventListener("click",
+ async () => {
+ let reloadWindow = () => location.reload();
+ latencyElement.addEventListener("click", reloadWindow);
+ await mapsHelper.init();
+ let redirects = mapsHelper.getRedirects();
+ const oldHtml = latencyLabel.innerHTML;
+ latencyLabel.innerHTML = '...';
+ 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,
+ );
+ latencyElement.removeEventListener("click", reloadWindow);
+ });
+ }
+);
\ No newline at end of file
diff --git a/src/pages/options/medium/medium.html b/src/pages/options/medium/medium.html
new file mode 100644
index 0000000..193dbbb
--- /dev/null
+++ b/src/pages/options/medium/medium.html
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+ General
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Enable
+
+
+
+
Protocol
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/options/medium/medium.js b/src/pages/options/medium/medium.js
index 5337e41..d79c1de 100644
--- a/src/pages/options/medium/medium.js
+++ b/src/pages/options/medium/medium.js
@@ -36,16 +36,20 @@ mediumHelper.init().then(() => {
protocolElement.value = protocol;
changeProtocolSettings(protocol);
- commonHelper.processDefaultCustomInstances(
- 'scribe',
- 'normal',
- mediumHelper,
- document,
- mediumHelper.getScribeNormalRedirectsChecks,
- mediumHelper.setScribeNormalRedirectsChecks,
- mediumHelper.getScribeNormalCustomRedirects,
- mediumHelper.setScribeNormalCustomRedirects
- )
+
+ 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',
@@ -57,4 +61,33 @@ mediumHelper.init().then(() => {
mediumHelper.getScribeTorCustomRedirects,
mediumHelper.setScribeTorCustomRedirects
)
-})
\ No newline at end of file
+})
+
+let latencyElement = document.getElementById("latency");
+let latencyLabel = document.getElementById("latency-label");
+latencyElement.addEventListener("click",
+ async () => {
+ let reloadWindow = () => location.reload();
+ latencyElement.addEventListener("click", reloadWindow);
+ await mediumHelper.init();
+ let redirects = mediumHelper.getRedirects();
+ const oldHtml = latencyLabel.innerHTML;
+ latencyLabel.innerHTML = '...';
+ 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,
+ );
+ latencyElement.removeEventListener("click", reloadWindow);
+ });
+ }
+);
\ No newline at end of file
diff --git a/src/pages/options/peertube/peertube.html b/src/pages/options/peertube/peertube.html
new file mode 100644
index 0000000..5ebff09
--- /dev/null
+++ b/src/pages/options/peertube/peertube.html
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+ General
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Enable
+
+
+
+
Protocol
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/options/peertube/peertube.js b/src/pages/options/peertube/peertube.js
index d01a6e0..0b7a09e 100644
--- a/src/pages/options/peertube/peertube.js
+++ b/src/pages/options/peertube/peertube.js
@@ -35,16 +35,18 @@ peertubeHelper.init().then(() => {
protocolElement.value = protocol;
changeProtocolSettings(protocol);
- commonHelper.processDefaultCustomInstances(
- 'simpleertube',
- 'normal',
- peertubeHelper,
- document,
- peertubeHelper.getSimpleertubeNormalRedirectsChecks,
- peertubeHelper.setSimpleertubeNormalRedirectsChecks,
- peertubeHelper.getSimpleertubeNormalCustomRedirects,
- peertubeHelper.setSimpleertubeNormalCustomRedirects
- );
+ browser.storage.local.get("simpleertubeLatency").then(r => {
+ commonHelper.processDefaultCustomInstances(
+ 'simpleertube',
+ 'normal',
+ peertubeHelper,
+ document,
+ peertubeHelper.getSimpleertubeNormalRedirectsChecks,
+ peertubeHelper.setSimpleertubeNormalRedirectsChecks,
+ peertubeHelper.getSimpleertubeNormalCustomRedirects,
+ peertubeHelper.setSimpleertubeNormalCustomRedirects
+ );
+ })
commonHelper.processDefaultCustomInstances(
'simpleertube',
@@ -56,4 +58,34 @@ peertubeHelper.init().then(() => {
peertubeHelper.getSimpleertubeTorCustomRedirects,
peertubeHelper.setSimpleertubeTorCustomRedirects
)
-})
\ No newline at end of file
+})
+
+
+let latencyElement = document.getElementById("latency");
+let latencyLabel = document.getElementById("latency-label");
+latencyElement.addEventListener("click",
+ async () => {
+ let reloadWindow = () => location.reload();
+ latencyElement.addEventListener("click", reloadWindow);
+ await peertubeHelper.init();
+ let redirects = peertubeHelper.getRedirects();
+ const oldHtml = latencyLabel.innerHTML;
+ latencyLabel.innerHTML = '...';
+ commonHelper.testLatency(latencyLabel, redirects.simpleertube.normal).then(r => {
+ browser.storage.local.set({ simpleertubeLatency: r });
+ latencyLabel.innerHTML = oldHtml;
+ commonHelper.processDefaultCustomInstances(
+ 'simpleertube',
+ 'normal',
+ peertubeHelper,
+ document,
+ peertubeHelper.getSimpleertubeNormalRedirectsChecks,
+ peertubeHelper.setSimpleertubeNormalRedirectsChecks,
+ peertubeHelper.getSimpleertubeNormalCustomRedirects,
+ peertubeHelper.setSimpleertubeNormalCustomRedirects,
+ r,
+ );
+ latencyElement.removeEventListener("click", reloadWindow);
+ });
+ }
+);
\ No newline at end of file
diff --git a/src/pages/options/pixiv/pixiv.html b/src/pages/options/pixiv/pixiv.html
new file mode 100644
index 0000000..3682509
--- /dev/null
+++ b/src/pages/options/pixiv/pixiv.html
@@ -0,0 +1,133 @@
+
+
+
+
+
+
+
+ General
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Enable
+
+
+
+
+ Frontend:This isn't a fully private frontend
+
+
+
+
+
Protocol
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/options/pixiv/pixiv.js b/src/pages/options/pixiv/pixiv.js
index a9a11e1..fe60734 100644
--- a/src/pages/options/pixiv/pixiv.js
+++ b/src/pages/options/pixiv/pixiv.js
@@ -35,16 +35,19 @@ pixivHelper.init().then(() => {
protocolElement.value = protocol;
changeProtocolSettings(protocol);
- commonHelper.processDefaultCustomInstances(
- 'pixivMoe',
- 'normal',
- pixivHelper,
- document,
- pixivHelper.getPixivMoeNormalRedirectsChecks,
- pixivHelper.setPixivMoeNormalRedirectsChecks,
- pixivHelper.getPixivMoeNormalCustomRedirects,
- pixivHelper.setPixivMoeNormalCustomRedirects
- );
+
+ browser.storage.local.get("pixivMoeLatency").then(r => {
+ commonHelper.processDefaultCustomInstances(
+ 'pixivMoe',
+ 'normal',
+ pixivHelper,
+ document,
+ pixivHelper.getPixivMoeNormalRedirectsChecks,
+ pixivHelper.setPixivMoeNormalRedirectsChecks,
+ pixivHelper.getPixivMoeNormalCustomRedirects,
+ pixivHelper.setPixivMoeNormalCustomRedirects
+ );
+ })
commonHelper.processDefaultCustomInstances(
'pixivMoe',
@@ -56,4 +59,35 @@ pixivHelper.init().then(() => {
pixivHelper.getPixivMoeTorCustomRedirects,
pixivHelper.setPixivMoeTorCustomRedirects
)
-})
\ No newline at end of file
+})
+
+
+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);
+ });
+
+ }
+);
\ No newline at end of file
diff --git a/src/pages/options/reddit/reddit.html b/src/pages/options/reddit/reddit.html
new file mode 100644
index 0000000..2ded809
--- /dev/null
+++ b/src/pages/options/reddit/reddit.html
@@ -0,0 +1,188 @@
+
+
+
+
+
+
+
+ General
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Enable
+
+
+
+
Frontend
+
+
+
+
Protocol
+
+
+
+
Bypass "Open in Reddit"
+
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/options/reddit/reddit.js b/src/pages/options/reddit/reddit.js
index 1c577a9..36bb8a5 100644
--- a/src/pages/options/reddit/reddit.js
+++ b/src/pages/options/reddit/reddit.js
@@ -81,16 +81,19 @@ redditHelper.init().then(() => {
protocolElement.value = protocol;
changeProtocolSettings(protocol);
- commonHelper.processDefaultCustomInstances(
- 'libreddit',
- 'normal',
- redditHelper,
- document,
- redditHelper.getLibredditNormalRedirectsChecks,
- redditHelper.setLibredditNormalRedirectsChecks,
- redditHelper.getLibredditNormalCustomRedirects,
- redditHelper.setLibredditNormalCustomRedirects
- )
+ browser.storage.local.get("libredditLatency").then(r => {
+ commonHelper.processDefaultCustomInstances(
+ 'libreddit',
+ 'normal',
+ redditHelper,
+ document,
+ redditHelper.getLibredditNormalRedirectsChecks,
+ redditHelper.setLibredditNormalRedirectsChecks,
+ redditHelper.getLibredditNormalCustomRedirects,
+ redditHelper.setLibredditNormalCustomRedirects,
+ r.libredditLatency,
+ )
+ })
commonHelper.processDefaultCustomInstances(
'libreddit',
@@ -103,16 +106,19 @@ redditHelper.init().then(() => {
redditHelper.setLibredditTorCustomRedirects
)
- commonHelper.processDefaultCustomInstances(
- 'teddit',
- 'normal',
- redditHelper,
- document,
- redditHelper.getTedditNormalRedirectsChecks,
- redditHelper.setTedditNormalRedirectsChecks,
- redditHelper.getTedditNormalCustomRedirects,
- redditHelper.setTedditNormalCustomRedirects
- );
+ browser.storage.local.get("tedditLatency").then(r => {
+ commonHelper.processDefaultCustomInstances(
+ 'teddit',
+ 'normal',
+ redditHelper,
+ document,
+ redditHelper.getTedditNormalRedirectsChecks,
+ redditHelper.setTedditNormalRedirectsChecks,
+ redditHelper.getTedditNormalCustomRedirects,
+ redditHelper.setTedditNormalCustomRedirects,
+ r.tedditLatency,
+ );
+ })
commonHelper.processDefaultCustomInstances(
'teddit',
@@ -126,3 +132,62 @@ redditHelper.init().then(() => {
);
})
+
+
+let latencyLibredditElement = document.getElementById("latency-libreddit");
+let latencyLibredditLabel = document.getElementById("latency-libreddit-label");
+latencyLibredditElement.addEventListener("click",
+ async () => {
+ let reloadWindow = () => location.reload();
+ latencyLibredditElement.addEventListener("click", reloadWindow);
+ await redditHelper.init();
+ let redirects = redditHelper.getRedirects();
+ const oldHtml = latencyLibredditLabel.innerHTML;
+ latencyLibredditLabel.innerHTML = '...';
+ commonHelper.testLatency(latencyLibredditLabel, redirects.libreddit.normal).then(r => {
+ browser.storage.local.set({ libredditLatency: r });
+ latencyLibredditLabel.innerHTML = oldHtml;
+ commonHelper.processDefaultCustomInstances(
+ 'libreddit',
+ 'normal',
+ redditHelper,
+ document,
+ redditHelper.getLibredditNormalRedirectsChecks,
+ redditHelper.setLibredditNormalRedirectsChecks,
+ redditHelper.getLibredditNormalCustomRedirects,
+ redditHelper.setLibredditNormalCustomRedirects,
+ r,
+ );
+ latencyLibredditElement.removeEventListener("click", reloadWindow);
+ });
+ }
+);
+
+let latencyTedditElement = document.getElementById("latency-teddit");
+let latencyTedditLabel = document.getElementById("latency-teddit-label");
+latencyTedditElement.addEventListener("click",
+ async () => {
+ let reloadWindow = () => location.reload();
+ latencyTedditElement.addEventListener("click", reloadWindow);
+ await redditHelper.init();
+ let redirects = redditHelper.getRedirects();
+ const oldHtml = latencyTedditLabel.innerHTML;
+ latencyTedditLabel.innerHTML = '...';
+ commonHelper.testLatency(latencyTedditLabel, redirects.teddit.normal).then(r => {
+ browser.storage.local.set({ tedditLatency: r });
+ latencyTedditLabel.innerHTML = oldHtml;
+ commonHelper.processDefaultCustomInstances(
+ 'teddit',
+ 'normal',
+ redditHelper,
+ document,
+ redditHelper.getTedditNormalRedirectsChecks,
+ redditHelper.setTedditNormalRedirectsChecks,
+ redditHelper.getTedditNormalCustomRedirects,
+ redditHelper.setTedditNormalCustomRedirects,
+ r,
+ );
+ latencyTedditElement.removeEventListener("click", reloadWindow);
+ });
+ }
+);
\ No newline at end of file
diff --git a/src/pages/options/search/search.html b/src/pages/options/search/search.html
new file mode 100644
index 0000000..622c079
--- /dev/null
+++ b/src/pages/options/search/search.html
@@ -0,0 +1,300 @@
+
+
+
+
+
+
+
+ General
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Enable
+
+
+
+
Frontend
+
+
+
+
+
Protocol
+
+
+
+
+
Note: To use Search to its full potential, make LibRedirect as the Default Search Engine
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/options/search/search.js b/src/pages/options/search/search.js
index 0eeac5e..1483430 100644
--- a/src/pages/options/search/search.js
+++ b/src/pages/options/search/search.js
@@ -118,16 +118,19 @@ searchHelper.init().then(() => {
protocolElement.value = protocol;
changeProtocolSettings(protocol);
- commonHelper.processDefaultCustomInstances(
- 'searx',
- 'normal',
- searchHelper,
- document,
- searchHelper.getSearxNormalRedirectsChecks,
- searchHelper.setSearxNormalRedirectsChecks,
- searchHelper.getSearxNormalCustomRedirects,
- searchHelper.setSearxNormalCustomRedirects
- );
+ 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',
@@ -151,16 +154,19 @@ searchHelper.init().then(() => {
searchHelper.setSearxI2pCustomRedirects
);
- commonHelper.processDefaultCustomInstances(
- 'searxng',
- 'normal',
- searchHelper,
- document,
- searchHelper.getSearxngNormalRedirectsChecks,
- searchHelper.setSearxngNormalRedirectsChecks,
- searchHelper.getSearxngNormalCustomRedirects,
- searchHelper.setSearxngNormalCustomRedirects
- );
+ 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',
@@ -184,16 +190,19 @@ searchHelper.init().then(() => {
searchHelper.setSearxngI2pCustomRedirects
);
- commonHelper.processDefaultCustomInstances(
- 'whoogle',
- 'normal',
- searchHelper,
- document,
- searchHelper.getWhoogleNormalRedirectsChecks,
- searchHelper.setWhoogleNormalRedirectsChecks,
- searchHelper.getWhoogleNormalCustomRedirects,
- searchHelper.setWhoogleNormalCustomRedirects
- );
+ 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',
@@ -217,3 +226,91 @@ searchHelper.init().then(() => {
searchHelper.setWhoogleI2pCustomRedirects
);
});
+
+
+let latencySearxElement = document.getElementById("latency-searx");
+let latencySearxLabel = document.getElementById("latency-searx-label");
+latencySearxElement.addEventListener("click",
+ async () => {
+ let reloadWindow = () => location.reload();
+ latencySearxElement.addEventListener("click", reloadWindow);
+ await searchHelper.init();
+ let redirects = searchHelper.getRedirects();
+ const oldHtml = latencySearxLabel.innerHTML;
+ latencySearxLabel.innerHTML = '...';
+ 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,
+ );
+ latencySearxElement.removeEventListener("click", reloadWindow);
+ });
+ }
+);
+
+let latencySearxngElement = document.getElementById("latency-searxng");
+let latencySearxngLabel = document.getElementById("latency-searxng-label");
+latencySearxngElement.addEventListener("click",
+ async () => {
+ let reloadWindow = () => location.reload();
+ latencySearxngElement.addEventListener("click", reloadWindow);
+ await searchHelper.init();
+ let redirects = searchHelper.getRedirects();
+ const oldHtml = latencySearxngLabel.innerHTML;
+ latencySearxngLabel.innerHTML = '...';
+ 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,
+ );
+ latencySearxngElement.removeEventListener("click", reloadWindow);
+ });
+ }
+);
+
+let latencyWhoogleElement = document.getElementById("latency-whoogle");
+let latencyWhoogleLabel = document.getElementById("latency-whoogle-label");
+latencyWhoogleElement.addEventListener("click",
+ async () => {
+ let reloadWindow = () => location.reload();
+ latencyWhoogleElement.addEventListener("click", reloadWindow);
+ await searchHelper.init();
+ let redirects = searchHelper.getRedirects();
+ const oldHtml = latencyWhoogleLabel.innerHTML;
+ latencyWhoogleLabel.innerHTML = '...';
+ 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,
+ );
+ latencyWhoogleElement.removeEventListener("click", reloadWindow);
+ });
+ }
+);
\ No newline at end of file
diff --git a/src/pages/options/sendTargets/sendTargets.html b/src/pages/options/sendTargets/sendTargets.html
new file mode 100644
index 0000000..d514b8f
--- /dev/null
+++ b/src/pages/options/sendTargets/sendTargets.html
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+ General
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Enable
+
+
+
+
Protocol
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/options/sendTargets/sendTargets.js b/src/pages/options/sendTargets/sendTargets.js
index 1e39e24..ae6f9e7 100644
--- a/src/pages/options/sendTargets/sendTargets.js
+++ b/src/pages/options/sendTargets/sendTargets.js
@@ -35,16 +35,19 @@ sendTargetsHelper.init().then(() => {
protocolElement.value = protocol;
changeProtocolSettings(protocol);
- commonHelper.processDefaultCustomInstances(
- 'send',
- 'normal',
- sendTargetsHelper,
- document,
- sendTargetsHelper.getSendNormalRedirectsChecks,
- sendTargetsHelper.setSendNormalRedirectsChecks,
- sendTargetsHelper.getSendNormalCustomRedirects,
- sendTargetsHelper.setSendNormalCustomRedirects
- );
+ 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',
@@ -56,4 +59,33 @@ sendTargetsHelper.init().then(() => {
sendTargetsHelper.getSendTorCustomRedirects,
sendTargetsHelper.setSendTorCustomRedirects
)
-})
\ No newline at end of file
+})
+
+let latencyElement = document.getElementById("latency");
+let latencyLabel = document.getElementById("latency-label");
+latencyElement.addEventListener("click",
+ async () => {
+ let reloadWindow = () => location.reload();
+ latencyElement.addEventListener("click", reloadWindow);
+ await sendTargetsHelper.init();
+ let redirects = sendTargetsHelper.getRedirects();
+ const oldHtml = latencyLabel.innerHTML;
+ latencyLabel.innerHTML = '...';
+ 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,
+ )
+ latencyElement.removeEventListener("click", reloadWindow)
+ });
+ }
+);
\ No newline at end of file
diff --git a/src/pages/options/speedtest/speedtest.html b/src/pages/options/speedtest/speedtest.html
new file mode 100644
index 0000000..50a195e
--- /dev/null
+++ b/src/pages/options/speedtest/speedtest.html
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+ General
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Enable
+
+
+
+
Protocol
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/options/speedtest/speedtest.js b/src/pages/options/speedtest/speedtest.js
index bcef4de..077d644 100644
--- a/src/pages/options/speedtest/speedtest.js
+++ b/src/pages/options/speedtest/speedtest.js
@@ -35,6 +35,7 @@ speedtestHelper.init().then(() => {
protocolElement.value = protocol;
changeProtocolSettings(protocol);
+ browser.storage.local.get("librespeedLatency").then(r => {
commonHelper.processDefaultCustomInstances(
'librespeed',
'normal',
@@ -43,8 +44,10 @@ speedtestHelper.init().then(() => {
speedtestHelper.getLibrespeedNormalRedirectsChecks,
speedtestHelper.setLibrespeedNormalRedirectsChecks,
speedtestHelper.getLibrespeedNormalCustomRedirects,
- speedtestHelper.setLibrespeedNormalCustomRedirects
+ speedtestHelper.setLibrespeedNormalCustomRedirects,
+ r.librespeedLatency,
);
+ })
commonHelper.processDefaultCustomInstances(
'librespeed',
@@ -56,4 +59,33 @@ speedtestHelper.init().then(() => {
speedtestHelper.getLibrespeedTorCustomRedirects,
speedtestHelper.setLibrespeedTorCustomRedirects
)
-})
\ No newline at end of file
+})
+
+let latencyElement = document.getElementById("latency");
+let latencyLabel = document.getElementById("latency-label");
+latencyElement.addEventListener("click",
+ async () => {
+ let reloadWindow = () => location.reload();
+ latencyElement.addEventListener("click", reloadWindow);
+ await speedtestHelper.init();
+ let redirects = speedtestHelper.getRedirects();
+ const oldHtml = latencyLabel.innerHTML;
+ latencyLabel.innerHTML = '...';
+ 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,
+ )
+ latencyElement.removeEventListener("click", reloadWindow)
+ });
+ }
+);
\ No newline at end of file
diff --git a/src/pages/options/spotify/spotify.html b/src/pages/options/spotify/spotify.html
new file mode 100644
index 0000000..cfcf34b
--- /dev/null
+++ b/src/pages/options/spotify/spotify.html
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+ General
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Enable
+
+
+
+
Protocol
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/options/spotify/spotify.js b/src/pages/options/spotify/spotify.js
index 8dbc6bc..d158412 100644
--- a/src/pages/options/spotify/spotify.js
+++ b/src/pages/options/spotify/spotify.js
@@ -35,16 +35,19 @@ spotifyHelper.init().then(() => {
protocolElement.value = protocol;
changeProtocolSettings(protocol);
- commonHelper.processDefaultCustomInstances(
- 'soju',
- 'normal',
- spotifyHelper,
- document,
- spotifyHelper.getSojuNormalRedirectsChecks,
- spotifyHelper.setSojuNormalRedirectsChecks,
- spotifyHelper.getSojuNormalCustomRedirects,
- spotifyHelper.setSojuNormalCustomRedirects
- );
+ 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',
@@ -56,4 +59,33 @@ spotifyHelper.init().then(() => {
spotifyHelper.getSojuTorCustomRedirects,
spotifyHelper.setSojuTorCustomRedirects
)
-})
\ No newline at end of file
+})
+
+let latencyElement = document.getElementById("latency");
+let latencyLabel = document.getElementById("latency-label");
+latencyElement.addEventListener("click",
+ async () => {
+ let reloadWindow = () => location.reload();
+ latencyElement.addEventListener("click", reloadWindow);
+ await spotifyHelper.init();
+ let redirects = spotifyHelper.getRedirects();
+ const oldHtml = latencyLabel.innerHTML;
+ latencyLabel.innerHTML = '...';
+ 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,
+ )
+ latencyElement.removeEventListener("click", reloadWindow)
+ });
+ }
+);
\ No newline at end of file
diff --git a/src/pages/options/tiktok/tiktok.html b/src/pages/options/tiktok/tiktok.html
new file mode 100644
index 0000000..52b09bb
--- /dev/null
+++ b/src/pages/options/tiktok/tiktok.html
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+ General
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Enable
+
+
+
+
Protocol
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/options/tiktok/tiktok.js b/src/pages/options/tiktok/tiktok.js
index 1f5351a..35cc668 100644
--- a/src/pages/options/tiktok/tiktok.js
+++ b/src/pages/options/tiktok/tiktok.js
@@ -35,17 +35,19 @@ tiktokHelper.init().then(() => {
protocolElement.value = protocol;
changeProtocolSettings(protocol);
- commonHelper.processDefaultCustomInstances(
- 'proxiTok',
- 'normal',
- tiktokHelper,
- document,
- tiktokHelper.getProxiTokNormalRedirectsChecks,
- tiktokHelper.setProxiTokNormalRedirectsChecks,
- tiktokHelper.getProxiTokNormalCustomRedirects,
- tiktokHelper.setProxiTokNormalCustomRedirects
- );
-
+ 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',
@@ -56,4 +58,33 @@ tiktokHelper.init().then(() => {
tiktokHelper.getProxiTokTorCustomRedirects,
tiktokHelper.setProxiTokTorCustomRedirects
)
-})
\ No newline at end of file
+})
+
+let latencyElement = document.getElementById("latency");
+let latencyLabel = document.getElementById("latency-label");
+latencyElement.addEventListener("click",
+ async () => {
+ let reloadWindow = () => location.reload();
+ latencyElement.addEventListener("click", reloadWindow);
+ await tiktokHelper.init();
+ let redirects = tiktokHelper.getRedirects();
+ const oldHtml = latencyLabel.innerHTML;
+ latencyLabel.innerHTML = '...';
+ 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,
+ )
+ latencyElement.removeEventListener("click", reloadWindow)
+ });
+ }
+);
\ No newline at end of file
diff --git a/src/pages/options/translate/translate.html b/src/pages/options/translate/translate.html
new file mode 100644
index 0000000..53436c9
--- /dev/null
+++ b/src/pages/options/translate/translate.html
@@ -0,0 +1,418 @@
+
+
+
+
+
+
+
+ General
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Enable
+
+
+
+
Frontend
+
+
+
+
Protocol
+
+
+
+
+
+
From
+
+
+
+
To
+
+
+
+
Engine
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/options/translate/translate.js b/src/pages/options/translate/translate.js
index 5da4874..999d5e3 100644
--- a/src/pages/options/translate/translate.js
+++ b/src/pages/options/translate/translate.js
@@ -90,16 +90,19 @@ translateHelper.init().then(() => {
toElement.value = translateHelper.getTo();
simplyTranslateEngineElement.value = translateHelper.getSimplyTranslateEngine();
- commonHelper.processDefaultCustomInstances(
- 'simplyTranslate',
- 'normal',
- translateHelper,
- document,
- translateHelper.getSimplyTranslateNormalRedirectsChecks,
- translateHelper.setSimplyTranslateNormalRedirectsChecks,
- translateHelper.getSimplyTranslateNormalCustomRedirects,
- translateHelper.setSimplyTranslateNormalCustomRedirects
- );
+ browser.storage.local.get("simplyTranslateLatency").then(r => {
+ commonHelper.processDefaultCustomInstances(
+ 'simplyTranslate',
+ 'normal',
+ translateHelper,
+ document,
+ translateHelper.getSimplyTranslateNormalRedirectsChecks,
+ translateHelper.setSimplyTranslateNormalRedirectsChecks,
+ translateHelper.getSimplyTranslateNormalCustomRedirects,
+ translateHelper.setSimplyTranslateNormalCustomRedirects,
+ r.simplyTranslateLatency,
+ )
+ })
commonHelper.processDefaultCustomInstances(
'simplyTranslate',
@@ -112,16 +115,20 @@ translateHelper.init().then(() => {
translateHelper.setSimplyTranslateTorCustomRedirects
);
- commonHelper.processDefaultCustomInstances(
- 'lingva',
- 'normal',
- translateHelper,
- document,
- translateHelper.getLingvaNormalRedirectsChecks,
- translateHelper.setLingvaNormalRedirectsChecks,
- translateHelper.getLingvaNormalCustomRedirects,
- translateHelper.setLingvaNormalCustomRedirects
- );
+ browser.storage.local.get("lingvaLatency").then(r => {
+ commonHelper.processDefaultCustomInstances(
+ 'lingva',
+ 'normal',
+ translateHelper,
+ document,
+ translateHelper.getLingvaNormalRedirectsChecks,
+ translateHelper.setLingvaNormalRedirectsChecks,
+ translateHelper.getLingvaNormalCustomRedirects,
+ translateHelper.setLingvaNormalCustomRedirects,
+ r.lingvaLatency,
+ );
+ });
+
commonHelper.processDefaultCustomInstances(
'lingva',
@@ -131,6 +138,65 @@ translateHelper.init().then(() => {
translateHelper.getLingvaTorRedirectsChecks,
translateHelper.setLingvaTorRedirectsChecks,
translateHelper.getLingvaTorCustomRedirects,
- translateHelper.setLingvaTorCustomRedirects
+ translateHelper.setLingvaTorCustomRedirects,
)
-});
\ No newline at end of file
+});
+
+
+let latencySimplyTranslateElement = document.getElementById("latency-simplyTranslate");
+let latencySimplyTranslateLabel = document.getElementById("latency-simplyTranslate-label");
+latencySimplyTranslateElement.addEventListener("click",
+ async () => {
+ let reloadWindow = () => location.reload();
+ latencySimplyTranslateElement.addEventListener("click", reloadWindow);
+ await translateHelper.init();
+ let redirects = translateHelper.getRedirects();
+ const oldHtml = latencySimplyTranslateLabel.innerHTML;
+ latencySimplyTranslateLabel.innerHTML = '...';
+ commonHelper.testLatency(latencySimplyTranslateLabel, redirects.simplyTranslate.normal).then(r => {
+ browser.storage.local.set({ simplyTranslateLatency: r });
+ latencySimplyTranslateLabel.innerHTML = oldHtml;
+ commonHelper.processDefaultCustomInstances(
+ 'simplyTranslate',
+ 'normal',
+ translateHelper,
+ document,
+ translateHelper.getSimplyTranslateNormalRedirectsChecks,
+ translateHelper.setSimplyTranslateNormalRedirectsChecks,
+ translateHelper.getSimplyTranslateNormalCustomRedirects,
+ translateHelper.setSimplyTranslateNormalCustomRedirects,
+ r,
+ );
+ latencySimplyTranslateElement.removeEventListener("click", reloadWindow);
+ });
+ }
+);
+
+let latencyLingvaElement = document.getElementById("latency-lingva");
+let latencyLingvaLabel = document.getElementById("latency-lingva-label");
+latencyLingvaElement.addEventListener("click",
+ async () => {
+ let reloadWindow = () => location.reload();
+ latencyLingvaElement.addEventListener("click", reloadWindow);
+ await translateHelper.init();
+ let redirects = translateHelper.getRedirects();
+ const oldHtml = latencyLingvaLabel.innerHTML;
+ latencyLingvaLabel.innerHTML = '...';
+ commonHelper.testLatency(latencyLingvaLabel, redirects.lingva.normal).then(r => {
+ browser.storage.local.set({ lingvaLatency: r });
+ latencyLingvaLabel.innerHTML = oldHtml;
+ commonHelper.processDefaultCustomInstances(
+ 'lingva',
+ 'normal',
+ translateHelper,
+ document,
+ translateHelper.getLingvaNormalRedirectsChecks,
+ translateHelper.setLingvaNormalRedirectsChecks,
+ translateHelper.getLingvaNormalCustomRedirects,
+ translateHelper.setLingvaNormalCustomRedirects,
+ r,
+ );
+ latencyLingvaElement.removeEventListener("click", reloadWindow);
+ });
+ }
+);
\ No newline at end of file
diff --git a/src/pages/options/twitter/twitter.html b/src/pages/options/twitter/twitter.html
new file mode 100644
index 0000000..6d8e0e6
--- /dev/null
+++ b/src/pages/options/twitter/twitter.html
@@ -0,0 +1,227 @@
+
+
+
+
+
+
+
+ General
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Enable
+
+
+
+
Protocol
+
+
+
+
Bypass "Open in Twitter"
+
+
+
+
Enable Custom Settings (will use cookies)
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/options/twitter/twitter.js b/src/pages/options/twitter/twitter.js
index b86fc19..4cb3164 100644
--- a/src/pages/options/twitter/twitter.js
+++ b/src/pages/options/twitter/twitter.js
@@ -93,16 +93,20 @@ function init() {
muteVideos.checked = twitterHelper.getMuteVideos();
autoplayGifs.checked = twitterHelper.getAutoplayGifs();
- commonHelper.processDefaultCustomInstances(
- 'nitter',
- 'normal',
- twitterHelper,
- document,
- twitterHelper.getNitterNormalRedirectsChecks,
- twitterHelper.setNitterNormalRedirectsChecks,
- twitterHelper.getNitterNormalCustomRedirects,
- twitterHelper.setNitterNormalCustomRedirects
- )
+ 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',
@@ -116,3 +120,32 @@ function init() {
});
}
init();
+
+let latencyElement = document.getElementById("latency");
+let latencyLabel = document.getElementById("latency-label");
+latencyElement.addEventListener("click",
+ async () => {
+ let reloadWindow = () => location.reload();
+ latencyElement.addEventListener("click", reloadWindow);
+ await twitterHelper.init();
+ let redirects = twitterHelper.getRedirects();
+ const oldHtml = latencyLabel.innerHTML;
+ latencyLabel.innerHTML = '...';
+ 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,
+ )
+ latencyElement.removeEventListener("click", reloadWindow)
+ });
+ }
+);
\ No newline at end of file
diff --git a/src/pages/options/wikipedia/wikipedia.html b/src/pages/options/wikipedia/wikipedia.html
new file mode 100644
index 0000000..b7fcc40
--- /dev/null
+++ b/src/pages/options/wikipedia/wikipedia.html
@@ -0,0 +1,146 @@
+
+
+
+
+
+
+
+ Wikipedia
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Enable
+
+
+
+
Protocol
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/options/wikipedia/wikipedia.js b/src/pages/options/wikipedia/wikipedia.js
index a2dafbf..526068b 100644
--- a/src/pages/options/wikipedia/wikipedia.js
+++ b/src/pages/options/wikipedia/wikipedia.js
@@ -22,17 +22,17 @@ function changeProtocolSettings(protocol) {
if (protocol == 'normal') {
normalDiv.style.display = 'block';
torDiv.style.display = 'none';
- i2pDiv.style.display = 'none';
+ i2pDiv.style.display = 'none';
}
else if (protocol == 'tor') {
normalDiv.style.display = 'none';
torDiv.style.display = 'block';
- i2pDiv.style.display = 'none';
+ i2pDiv.style.display = 'none';
}
else if (protocol == 'i2p') {
- normalDiv.style.display = 'none';
- torDiv.style.display = 'none';
- i2pDiv.style.display = 'block';
+ normalDiv.style.display = 'none';
+ torDiv.style.display = 'none';
+ i2pDiv.style.display = 'block';
}
}
@@ -44,16 +44,19 @@ wikipediaHelper.init().then(() => {
protocolElement.value = protocol;
changeProtocolSettings(protocol);
- commonHelper.processDefaultCustomInstances(
- 'wikiless',
- 'normal',
- wikipediaHelper,
- document,
- wikipediaHelper.getWikilessNormalRedirectsChecks,
- wikipediaHelper.setWikilessNormalRedirectsChecks,
- wikipediaHelper.getWikilessNormalCustomRedirects,
- wikipediaHelper.setWikilessNormalCustomRedirects
- )
+ 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',
@@ -67,13 +70,42 @@ wikipediaHelper.init().then(() => {
)
commonHelper.processDefaultCustomInstances(
- 'wikiless',
- 'i2p',
- wikipediaHelper,
- document,
- wikipediaHelper.getWikilessI2pRedirectsChecks,
- wikipediaHelper.setWikilessI2pRedirectsChecks,
- wikipediaHelper.getWikilessI2pCustomRedirects,
- wikipediaHelper.setWikilessI2pCustomRedirects
+ 'wikiless',
+ 'i2p',
+ wikipediaHelper,
+ document,
+ wikipediaHelper.getWikilessI2pRedirectsChecks,
+ wikipediaHelper.setWikilessI2pRedirectsChecks,
+ wikipediaHelper.getWikilessI2pCustomRedirects,
+ wikipediaHelper.setWikilessI2pCustomRedirects
)
})
+
+let latencyElement = document.getElementById("latency");
+let latencyLabel = document.getElementById("latency-label");
+latencyElement.addEventListener("click",
+ async () => {
+ let reloadWindow = () => location.reload();
+ latencyElement.addEventListener("click", reloadWindow);
+ await wikipediaHelper.init();
+ let redirects = wikipediaHelper.getRedirects();
+ const oldHtml = latencyLabel.innerHTML;
+ latencyLabel.innerHTML = '...';
+ 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,
+ )
+ latencyElement.removeEventListener("click", reloadWindow)
+ });
+ }
+);
\ No newline at end of file
diff --git a/src/pages/options/youtube/invidious.js b/src/pages/options/youtube/invidious.js
index d390ef8..af94c53 100644
--- a/src/pages/options/youtube/invidious.js
+++ b/src/pages/options/youtube/invidious.js
@@ -118,6 +118,7 @@ function init() {
feed_menu0.value = youtubeHelper.getInvidiousFeedMenuList()[0];
feed_menu1.value = youtubeHelper.getInvidiousFeedMenuList()[1];
+ browser.storage.local.get("invidiousLatency").then(r => {
commonHelper.processDefaultCustomInstances(
'invidious',
'normal',
@@ -126,8 +127,10 @@ function init() {
youtubeHelper.getInvidiousNormalRedirectsChecks,
youtubeHelper.setInvidiousNormalRedirectsChecks,
youtubeHelper.getInvidiousNormalCustomRedirects,
- youtubeHelper.setInvidiousNormalCustomRedirects
- );
+ youtubeHelper.setInvidiousNormalCustomRedirects,
+ r.invidiousLatency
+ );
+ })
commonHelper.processDefaultCustomInstances(
'invidious',
@@ -142,4 +145,33 @@ function init() {
});
}
-init()
\ No newline at end of file
+init()
+
+let latencyInvidiousElement = document.getElementById("latency-invidious");
+let latencyInvidiousLabel = document.getElementById("latency-invidious-label");
+latencyInvidiousElement.addEventListener("click",
+ async () => {
+ let reloadWindow = () => location.reload();
+ latencyInvidiousElement.addEventListener("click", reloadWindow);
+ await youtubeHelper.init();
+ let redirects = youtubeHelper.getRedirects();
+ const oldHtml = latencyInvidiousLabel.innerHTML;
+ latencyInvidiousLabel.innerHTML = '...';
+ commonHelper.testLatency(latencyInvidiousLabel, redirects.invidious.normal).then(r => {
+ browser.storage.local.set({ invidiousLatency: r });
+ latencyInvidiousLabel.innerHTML = oldHtml;
+ commonHelper.processDefaultCustomInstances(
+ 'invidious',
+ 'normal',
+ youtubeHelper,
+ document,
+ youtubeHelper.getInvidiousNormalRedirectsChecks,
+ youtubeHelper.setInvidiousNormalRedirectsChecks,
+ youtubeHelper.getInvidiousNormalCustomRedirects,
+ youtubeHelper.setInvidiousNormalCustomRedirects,
+ r,
+ );
+ latencyInvidiousElement.removeEventListener("click", reloadWindow);
+ });
+ }
+);
\ No newline at end of file
diff --git a/src/pages/options/youtube/piped.js b/src/pages/options/youtube/piped.js
index bb851ba..a0bc45a 100644
--- a/src/pages/options/youtube/piped.js
+++ b/src/pages/options/youtube/piped.js
@@ -110,16 +110,20 @@ function init() {
volume.value = youtubeHelper.getVolume();
volumeValue.textContent = `${youtubeHelper.getVolume()}%`;
- commonHelper.processDefaultCustomInstances(
- 'piped',
- 'normal',
- youtubeHelper,
- document,
- youtubeHelper.getPipedNormalRedirectsChecks,
- youtubeHelper.setPipedNormalRedirectsChecks,
- youtubeHelper.getPipedNormalCustomRedirects,
- youtubeHelper.setPipedNormalCustomRedirects
- );
+ browser.storage.local.get("pipedLatency").then(r => {
+ commonHelper.processDefaultCustomInstances(
+ 'piped',
+ 'normal',
+ youtubeHelper,
+ document,
+ youtubeHelper.getPipedNormalRedirectsChecks,
+ youtubeHelper.setPipedNormalRedirectsChecks,
+ youtubeHelper.getPipedNormalCustomRedirects,
+ youtubeHelper.setPipedNormalCustomRedirects,
+ r.pipedLatency,
+ );
+ });
+
commonHelper.processDefaultCustomInstances(
'piped',
'tor',
@@ -132,4 +136,33 @@ function init() {
);
});
}
-init();
\ No newline at end of file
+init();
+
+let latencyPipedElement = document.getElementById("latency-piped");
+let latencyPipedLabel = document.getElementById("latency-piped-label");
+latencyPipedElement.addEventListener("click",
+ async () => {
+ let reloadWindow = () => location.reload();
+ latencyPipedElement.addEventListener("click", reloadWindow);
+ await youtubeHelper.init();
+ let redirects = youtubeHelper.getRedirects();
+ const oldHtml = latencyPipedLabel.innerHTML;
+ latencyPipedLabel.innerHTML = '...';
+ commonHelper.testLatency(latencyPipedLabel, redirects.piped.normal).then(r => {
+ browser.storage.local.set({ pipedLatency: r });
+ latencyPipedLabel.innerHTML = oldHtml;
+ commonHelper.processDefaultCustomInstances(
+ 'piped',
+ 'normal',
+ youtubeHelper,
+ document,
+ youtubeHelper.getPipedNormalRedirectsChecks,
+ youtubeHelper.setPipedNormalRedirectsChecks,
+ youtubeHelper.getPipedNormalCustomRedirects,
+ youtubeHelper.setPipedNormalCustomRedirects,
+ r,
+ );
+ latencyPipedElement.removeEventListener("click", reloadWindow);
+ });
+ }
+);
diff --git a/src/pages/options/youtube/pipedMaterial.js b/src/pages/options/youtube/pipedMaterial.js
index 60b2c42..bc31289 100644
--- a/src/pages/options/youtube/pipedMaterial.js
+++ b/src/pages/options/youtube/pipedMaterial.js
@@ -86,17 +86,20 @@ function init() {
volumeElement.value = youtubeHelper.getVolume();
volumeValueElement.textContent = `${youtubeHelper.getVolume()}%`;
+ browser.storage.local.get("pipedMaterialLatency").then(r => {
+ commonHelper.processDefaultCustomInstances(
+ 'pipedMaterial',
+ 'normal',
+ youtubeHelper,
+ document,
+ youtubeHelper.getPipedMaterialNormalRedirectsChecks,
+ youtubeHelper.setPipedMaterialNormalRedirectsChecks,
+ youtubeHelper.getPipedMaterialNormalCustomRedirects,
+ youtubeHelper.setPipedMaterialNormalCustomRedirects,
+ r.pipedMaterialLatency,
+ );
+ });
- commonHelper.processDefaultCustomInstances(
- 'pipedMaterial',
- 'normal',
- youtubeHelper,
- document,
- youtubeHelper.getPipedMaterialNormalRedirectsChecks,
- youtubeHelper.setPipedMaterialNormalRedirectsChecks,
- youtubeHelper.getPipedMaterialNormalCustomRedirects,
- youtubeHelper.setPipedMaterialNormalCustomRedirects
- );
commonHelper.processDefaultCustomInstances(
'pipedMaterial',
'tor',
@@ -109,4 +112,33 @@ function init() {
);
});
}
-init();
\ No newline at end of file
+init();
+
+let latencyPipedMaterialElement = document.getElementById("latency-pipedMaterial");
+let latencyPipedMaterialLabel = document.getElementById("latency-pipedMaterial-label");
+latencyPipedMaterialElement.addEventListener("click",
+ async () => {
+ let reloadWindow = () => location.reload();
+ latencyPipedMaterialElement.addEventListener("click", reloadWindow);
+ await youtubeHelper.init();
+ let redirects = youtubeHelper.getRedirects();
+ const oldHtml = latencyPipedMaterialLabel.innerHTML;
+ latencyPipedMaterialLabel.innerHTML = '...';
+ commonHelper.testLatency(latencyPipedMaterialLabel, redirects.pipedMaterial.normal).then(r => {
+ browser.storage.local.set({ pipedMaterialLatency: r });
+ latencyPipedMaterialLabel.innerHTML = oldHtml;
+ commonHelper.processDefaultCustomInstances(
+ 'pipedMaterial',
+ 'normal',
+ youtubeHelper,
+ document,
+ youtubeHelper.getPipedMaterialNormalRedirectsChecks,
+ youtubeHelper.setPipedMaterialNormalRedirectsChecks,
+ youtubeHelper.getPipedMaterialNormalCustomRedirects,
+ youtubeHelper.setPipedMaterialNormalCustomRedirects,
+ r,
+ );
+ latencyPipedMaterialElement.removeEventListener("click", reloadWindow);
+ });
+ }
+);
\ No newline at end of file
diff --git a/src/pages/options/youtube/youtube.html b/src/pages/options/youtube/youtube.html
new file mode 100644
index 0000000..67c8678
--- /dev/null
+++ b/src/pages/options/youtube/youtube.html
@@ -0,0 +1,1302 @@
+
+
+
+
+
+
+
+ Document
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Enable
+
+
+
+
Frontend
+
+
+
+
+
+
Embedded Videos Frontend
+
+
+
+
+
+
+
Protocol
+
+
+
+
Redirect Type
+
+
+
+
Bypass "Watch On YouTube"
+
+
+
+
Enable Custom Settings (will use cookies and localStorage)
+
+
+
+
+
+
+
+
Always loop
+
+
+
+
Autoplay Video
+
+
+
+
Play next by default
+
+
+
+
Autoplay next video
+
+
+
+
Always proxy videos
+
+
+
+
Listen by default
+
+
+
+
Default speed
+
+
+
+
Preferred video quality
+
+
+
+
Preferred DASH video quality
+
+
+
+
+ Volume:--%
+
+
+
+
+
Default comments
+
+
+
+
+
Default captions
+
+
+
+
+
+
Show related videos
+
+
+
+
Show annotations by default
+
+
+
+
Automatically extend video description
+
+
+
+
Interactive 360 degree videos (requires WebGL)
+
+
+
+
Save playback position
+
+
+
+
Select country
+
+
+
+
Player Style
+
+
+
+
Theme
+
+
+
+
Thin mode
+
+
+
+
Default homepage
+
+
+
+
Feed menu
+
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
+
+
+ Volume:--%
+
+
+
+
+
Enable Sponsorblock
+
+
+
+
Skip Sponsors
+
+
+
+
Skip Intermission/Intro Animation
+
+
+
+
Skip Endcards/Credits
+
+
+
+
Skip Preview/Recap
+
+
+
+
Skip Interaction Reminder (Subscribe)
+
+
+
+
Skip Unpaid/Self Promotion(Subscribe)
+
+
+
+
Skip Music: Non-Music Section(Subscribe)
+
+
+
+
Skip Highlight(Subscribe)
+
+
+
+
Skip Filler Tangent
+
+
+
+
Theme
+
+
+
+
Autoplay Video
+
+
+
+
Audio Only
+
+
+
+
Default Quality
+
+
+
+
Buffering Goal (in seconds)
+
+
+
+
Country Selection
+
+
+
+
Default Homepage
+
+
+
+
Show Comments
+
+
+
+
Minimize Description by default
+
+
+
+
Store Watch History
+
+
+
+
Enabled Codecs (Multiple)
+
+
+
+
Disable LBRY for Streaming
+
+
+
+
Enable Proxy for LBRY
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/options/youtubeMusic/youtubeMusic.html b/src/pages/options/youtubeMusic/youtubeMusic.html
new file mode 100644
index 0000000..eae611d
--- /dev/null
+++ b/src/pages/options/youtubeMusic/youtubeMusic.html
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+
+ Document
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Enable
+
+
+
+
+
+
+
Default Instances
+
+
+
+
+
Custom Instances
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/options/youtubeMusic/youtubeMusic.js b/src/pages/options/youtubeMusic/youtubeMusic.js
index 597458d..98d8b9a 100644
--- a/src/pages/options/youtubeMusic/youtubeMusic.js
+++ b/src/pages/options/youtubeMusic/youtubeMusic.js
@@ -9,14 +9,46 @@ disableYoutubeMusicElement.addEventListener("change",
youtubeMusicHelper.init().then(() => {
disableYoutubeMusicElement.checked = !youtubeMusicHelper.getDisable();
- commonHelper.processDefaultCustomInstances(
- 'beatbump',
- 'normal',
- youtubeMusicHelper,
- document,
- youtubeMusicHelper.getBeatbumpNormalRedirectsChecks,
- youtubeMusicHelper.setBeatbumpNormalRedirectsChecks,
- youtubeMusicHelper.getBeatbumpNormalCustomRedirects,
- youtubeMusicHelper.setBeatbumpNormalCustomRedirects
- )
+ browser.storage.local.get("beatbumpLatency").then(r => {
+ commonHelper.processDefaultCustomInstances(
+ 'beatbump',
+ 'normal',
+ youtubeMusicHelper,
+ document,
+ youtubeMusicHelper.getBeatbumpNormalRedirectsChecks,
+ youtubeMusicHelper.setBeatbumpNormalRedirectsChecks,
+ youtubeMusicHelper.getBeatbumpNormalCustomRedirects,
+ youtubeMusicHelper.setBeatbumpNormalCustomRedirects,
+ r.beatbumpLatency,
+ );
+ })
});
+
+let latencyElement = document.getElementById("latency");
+let latencyLabel = document.getElementById("latency-label");
+latencyElement.addEventListener("click",
+ async () => {
+ let reloadWindow = () => location.reload();
+ latencyElement.addEventListener("click", reloadWindow);
+ await youtubeMusicHelper.init();
+ let redirects = youtubeMusicHelper.getRedirects();
+ const oldHtml = latencyLabel.innerHTML;
+ latencyLabel.innerHTML = '...';
+ 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,
+ )
+ latencyElement.removeEventListener("click", reloadWindow)
+ });
+ }
+);
\ No newline at end of file