Begin work with ejs, created widgets/services.js

This commit is contained in:
Hygna 2022-09-12 18:17:25 +01:00
parent e04c79d4ae
commit d6cad17a15
45 changed files with 392 additions and 353 deletions

View File

@ -17,10 +17,6 @@ async function getConfig() {
})
}
function camelCase(str) {
return str.charAt(0).toUpperCase() + str.slice(1)
}
function init() {
return new Promise(async resolve => {
browser.storage.local.get(["network", "networkFallback"], r => {
@ -31,8 +27,8 @@ function init() {
//cur = current
for (const service in config.services) {
options[service] = {}
browser.storage.local.get([`disable${camelCase(service)}`, `${service}RedirectType`, `${service}Frontend`], r => {
options[service].disabled = r["disable" + camelCase(service)]
browser.storage.local.get([`disable${utils.camelCase(service)}`, `${service}RedirectType`, `${service}Frontend`], r => {
options[service].disabled = r["disable" + utils.camelCase(service)]
options[service].frontend = r[service + "Frontend"]
options[service].redirectType = r[service + "RedirectType"]
// console.log(r)
@ -42,11 +38,11 @@ function init() {
options[frontend].checks = []
options[frontend].custom = []
for (const network in config.networks) {
browser.storage.local.get([`${frontend}${camelCase(network)}RedirectsChecks`, `${frontend}${camelCase(network)}CustomRedirects`], r => {
browser.storage.local.get([`${frontend}${utils.camelCase(network)}RedirectsChecks`, `${frontend}${utils.camelCase(network)}CustomRedirects`], r => {
// console.log(r)
// console.log(`${frontend}${camelCase(network)}RedirectsChecks`)
options[frontend].checks = r[frontend + camelCase(network) + "RedirectsChecks"]
options[frontend].custom = r[frontend + camelCase(network) + "CustomRedirects"]
// console.log(`${frontend}${utils.camelCase(network)}RedirectsChecks`)
options[frontend].checks = r[frontend + utils.camelCase(network) + "RedirectsChecks"]
options[frontend].custom = r[frontend + utils.camelCase(network) + "CustomRedirects"]
})
}
}
@ -72,6 +68,7 @@ function redirect(url, type, initiator) {
let frontend = options[service].frontend
let network = options.network
let networkFallback = options.networkFallback
let redirectType = options[service].redirectType
if (url.pathname == "/") return
for (const service in config.services) {
if (options[service].disabled && !disableOverride) continue
@ -82,9 +79,9 @@ function redirect(url, type, initiator) {
if (initiator && (all(service).includes(initiator.origin) || targets.includes(initiator.host))) continue
if (!targets.some(rx => rx.test(url.href))) continue
if (type != options[service].redirectType && type != "both") continue
if (type != redirectType && type != "both") continue
// browser.storage.local.get(`${service}Frontend`, (frontend = r[service + "Frontend"]))
let instanceList = [...[service + camelCase(network) + "RedirectsChecks"], ...[service + camelCase(network) + "CustomRedirects"]]
let instanceList = [...[service + utils.camelCase(network) + "RedirectsChecks"], ...[service + utils.camelCase(network) + "CustomRedirects"]]
if (instanceList.length === 0 && networkFallback) instanceList = [...[service + "ClearnetRedirectsChecks"], ...[service + "ClearnetCustomRedirects"]]
if (instanceList.length === 0 && redirects.indexOf(frontend) != -1) return
randomInstance = utils.getRandomInstance(instanceList)
@ -400,13 +397,13 @@ function initDefaults() {
browser.storage.local.set({ [defaultOption]: config.services[service].defaults[defaultOption] })
}
for (const frontend in config.services[service].frontends) {
let clearnetChecks = redirects[frontend][clearnet]
let clearnetChecks = redirects[frontend].clearnet
for (const instance of [...r.cloudflareBlackList, ...r.authenticateBlackList, ...r.offlineBlackList]) {
let i = clearnetChecks.indexOf(instance)
if (i > -1) clearnetChecks.splice(i, 1)
}
for (const network in config.networks) {
console.log(redirects[frontend][network])
// console.log(redirects[frontend][network])
switch (network) {
case "clearnet":
browser.storage.local.set({
@ -416,8 +413,8 @@ function initDefaults() {
break
default:
browser.storage.local.set({
[frontend + camelCase(network) + "RedirectsChecks"]: [...redirects[frontend][network]],
[frontend + camelCase(network) + "CustomRedirects"]: [],
[frontend + utils.camelCase(network) + "RedirectsChecks"]: [...redirects[frontend][network]],
[frontend + utils.camelCase(network) + "CustomRedirects"]: [],
})
}
}

View File

@ -123,17 +123,16 @@ async function processDefaultCustomInstances(target, name, protocol, document) {
let redirectsChecks = `${name}${camelCase(protocol)}RedirectsChecks`
let customRedirects = `${name}${camelCase(protocol)}CustomRedirects`
let redirectsKey = `${target}Redirects`
let redirects
async function getFromStorage() {
return new Promise(async resolve =>
browser.storage.local.get([redirectsChecks, customRedirects, redirectsKey, latencyKey], r => {
browser.storage.local.get([redirectsChecks, customRedirects, "redirects", latencyKey], r => {
nameDefaultRedirects = r[redirectsChecks]
nameCustomInstances = r[customRedirects]
instancesLatency = r[latencyKey] ?? []
redirects = r[redirectsKey]
redirects = r.redirects
resolve()
})
)
@ -298,9 +297,9 @@ async function testLatency(element, instances, frontend) {
let myList = {}
let latencyThreshold
let redirectsChecks = []
browser.storage.local.get(["latencyThreshold", `${frontend}NormalRedirectsChecks`], r => {
browser.storage.local.get(["latencyThreshold", `${frontend}ClearnetRedirectsChecks`], r => {
latencyThreshold = r.latencyThreshold
redirectsChecks = r[`${frontend}NormalRedirectsChecks`]
redirectsChecks = r[`${frontend}ClearnetRedirectsChecks`]
})
for (const href of instances)
await ping(href).then(time => {
@ -315,7 +314,7 @@ async function testLatency(element, instances, frontend) {
redirectsChecks.splice(redirectsChecks.indexOf(href), 1)
}
browser.storage.local.set({ [`${frontend}NormalRedirectsChecks`]: redirectsChecks })
browser.storage.local.set({ [`${frontend}ClearnetRedirectsChecks`]: redirectsChecks })
let text
if (time == 5000) text = "5000ms+"
@ -516,10 +515,10 @@ function latency(name, frontend, document, location) {
let redirects = r[key]
const oldHtml = latencyLabel.innerHTML
latencyLabel.innerHTML = "..."
testLatency(latencyLabel, redirects[frontend].normal, frontend).then(r => {
testLatency(latencyLabel, redirects[frontend].clearnet, frontend).then(r => {
browser.storage.local.set({ [`${frontend}Latency`]: r })
latencyLabel.innerHTML = oldHtml
processDefaultCustomInstances(name, frontend, "normal", document)
processDefaultCustomInstances(name, frontend, "clearnet", document)
latencyElement.removeEventListener("click", reloadWindow)
})
})
@ -537,4 +536,5 @@ export default {
switchInstance,
copyRaw,
unify,
camelCase,
}

View File

@ -1,19 +1,19 @@
{
"networks": {
"clearnet": {
"url": "org",
"tld": "org",
"name": "Clearnet"
},
"tor": {
"url": "onion",
"tld": "onion",
"name": "Tor"
},
"i2p": {
"url": "i2p",
"tld": "i2p",
"name": "I2P"
},
"loki": {
"url": "loki",
"tld": "loki",
"name": "Lokinet"
}
},
@ -72,14 +72,14 @@
"^https?:\\/{2}(www\\.|)(youtube|youtube-nocookie)\\.com\\/embed\\/..*"
],
"name": "Youtube",
"defaults": {
"disableYoutube": false,
"enableYoutubeCustomSettings": false,
"onlyEmbeddedVideo": "both",
"youtubeFrontend": "invidious",
"youtubeEmbedFrontend": "invidious"
"options": {
"disabled": false,
"redirectType": "both",
"frontend": "invidious",
"embedFrontend": "invidious"
},
"imageType": "png"
"imageType": "png",
"embeddable": true
},
"youtubeMusic": {
"frontends": {
@ -88,11 +88,12 @@
},
"targets": ["^https?:\\/{2}music\\.youtube\\.com(\\/.*|$)"],
"name": "YT Music",
"defaults": {
"disableYoutubeMusic": false,
"youtubeMusicFrontend": "beatbump"
"options": {
"disabled": false,
"frontend": "beatbump"
},
"imageType": "png"
"imageType": "png",
"embeddable": false
},
"twitter": {
"frontends": {
@ -123,11 +124,12 @@
},
"targets": ["^https?:\\/{2}(www\\.|mobile\\.|)twitter\\.com", "^https?:\\/{2}(pbs\\.|video\\.|)twimg\\.com", "^https?:\\/{2}platform\\.twitter\\.com/embed", "^https?:\\/{2}t\\.co"],
"name": "Twitter",
"defaults": {
"disableTwitter": false,
"twitterRedirectType": "both"
"options": {
"disabled": false,
"redirectType": "both"
},
"imageType": "png"
"imageType": "png",
"embeddable": true
},
"instagram": {
"frontends": {
@ -141,10 +143,9 @@
},
"targets": ["^https?:\\/{2}(www\\.)?instagram\\.com"],
"name": "Instagram",
"defaults": {
"disableInstagram": false
},
"imageType": "png"
"options": { "disabled": false },
"imageType": "png",
"embeddable": false
},
"tiktok": {
"frontends": {
@ -152,10 +153,9 @@
},
"targets": ["^https?:\\/{2}(www\\.|)tiktok\\.com.*"],
"name": "TikTok",
"defaults": {
"disableTiktok": false
},
"imageType": "png"
"options": { "disabled": false },
"imageType": "png",
"embeddable": false
},
"reddit": {
"frontends": {
@ -185,11 +185,12 @@
},
"targets": ["^https?:\\/{2}(www\\.|old\\.|np\\.|new\\.|amp\\.|)reddit\\.com", "^https?:\\/{2}(i\\.|preview\\.)redd\\.it"],
"name": "Reddit",
"defaults": {
"disableReddit": false,
"redditFrontend": "libreddit"
"options": {
"disabled": false,
"frontend": "libreddit"
},
"imageType": "png"
"imageType": "png",
"embeddable": false
},
"imgur": {
"frontends": {
@ -199,8 +200,9 @@
},
"targets": ["^https?:\\/{2}([im]\\.)?imgur\\.(com|io)(\\/|$)"],
"name": "Imgur",
"defaults": { "disableImgur": false },
"imageType": "png"
"options": { "disabled": false },
"imageType": "png",
"embeddable": false
},
"wikipedia": {
"frontends": {
@ -212,8 +214,9 @@
},
"targets": ["^https?:\\/{2}([a-z]+\\.)*wikipedia\\.org"],
"name": "Wikipedia",
"defaults": { "disableWikipedia": true },
"imageType": "svg"
"options": { "disabled": true },
"imageType": "svg",
"embeddable": false
},
"medium": {
"frontends": {
@ -242,8 +245,9 @@
"^writingcooperative\\.com "
],
"name": "Medium",
"defaults": { "disableMedium": false },
"imageType": "svg"
"options": { "disabled": false },
"imageType": "svg",
"embeddable": false
},
"quora": {
"frontends": {
@ -253,10 +257,9 @@
},
"targets": ["^https?:\\/{2}([a-z]+\\.)*quora\\.com.*"],
"name": "Quora",
"defaults": {
"disableQuora": false
},
"imageType": "png"
"options": { "disabled": false },
"imageType": "png",
"embeddable": false
},
"imdb": {
"frontends": {
@ -266,10 +269,9 @@
},
"targets": ["^https?:\\/{2}(?:www\\.|)imdb\\.com.*"],
"name": "IMDb",
"defaults": {
"disableImdb": true
},
"imageType": "svg"
"options": { "disabled": true },
"imageType": "svg",
"embeddable": false
},
"reuters": {
"frontends": {
@ -279,10 +281,9 @@
},
"targets": ["^https?:\\/{2}(www\\.|)reuters\\.com.*"],
"name": "Reuters",
"defaults": {
"disableReuters": true
},
"imageType": "svg"
"options": { "disabled": true },
"imageType": "svg",
"embeddable": false
},
"peertube": {
"frontends": {
@ -292,10 +293,9 @@
},
"targets": "datajson",
"name": "PeerTube",
"defaults": {
"disablePeertube": true
},
"imageType": "svg"
"options": { "disabled": true },
"imageType": "svg",
"embeddable": false
},
"lbry": {
"frontends": {
@ -309,12 +309,13 @@
"singleInstanceFrontends": ["lbryDesktop"],
"targets": ["^https?:\\/{2}odysee\\.com", "^https?:\\/{2}lbry\\.tv"],
"name": "LBRY",
"defaults": {
"disableLbry": true,
"lbryFrontend": "librarian",
"lbryRedirectType": "both"
"options": {
"disabled": true,
"frontend": "librarian",
"redirectType": "both"
},
"imageType": "png"
"imageType": "png",
"embeddable": true
},
"search": {
"frontends": {
@ -377,12 +378,12 @@
},
"targets": ["^https?:\\/{2}search\\.libredirect\\.invalid"],
"name": "Search",
"defaults": {
"disableSearch": false,
"searchFrontend": "searxng",
"searxngCustomSettings": false
"options": {
"disabled": false,
"frontend": "searxng"
},
"imageType": "svg"
"imageType": "svg",
"embeddable": false
},
"translate": {
"frontends": {
@ -399,11 +400,12 @@
},
"targets": ["^https?:\\/{2}translate\\.google(\\.[a-z]{2,3}){1,2}\\/"],
"name": "Translate",
"defaults": {
"translateDisable": false,
"translateFrontend": "simplyTranslate"
"options": {
"disabled": false,
"frontend": "simplyTranslate"
},
"imageType": "svg"
"imageType": "svg",
"embeddable": false
},
"maps": {
"frontends": {
@ -414,11 +416,12 @@
"singleInstanceFrontends": ["osm"],
"targets": ["^https?:\\/{2}(((www|maps)\\.)?(google\\.).*(\\/maps)|maps\\.(google\\.).*)"],
"name": "Maps",
"defaults": {
"disableMaps": false,
"mapsFrontend": "osm"
"options": {
"disabled": false,
"frontend": "osm"
},
"imageType": "svg"
"imageType": "svg",
"embeddable": false
},
"sendTargets": {
"frontends": {
@ -428,10 +431,9 @@
},
"targets": ["^https?:\\/{2}send\\.libredirect\\.invalid\\/$", "^https?:\\/{2}send\\.firefox\\.com\\/$", "^https?:\\/{2}sendfiles\\.online\\/$"],
"name": "Send Files",
"defaults": {
"disableSendTargets": false
},
"imageType": "svg"
"options": { "disabled": false },
"imageType": "svg",
"embeddable": false
}
}
}

View File

@ -78,7 +78,7 @@
<div class="some-block option-block">
<h4 data-localise="__MSG_protocol__"></h4>
<select id="protocol">
<option value="normal" data-localise="__MSG_normal__">Normal</option>
<option value="clearnet" data-localise="__MSG_normal__">Clearnet</option>
<option value="tor">Tor</option>
<option value="i2p">I2P</option>
<option value="loki">Lokinet</option>
@ -318,7 +318,7 @@
</div>
<div id="invidious">
<hr>
<div class="normal">
<div class="clearnet">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
@ -414,7 +414,7 @@
</div>
<div id="piped">
<hr>
<div class="normal">
<div class="clearnet">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
@ -510,7 +510,7 @@
</div>
<div id="pipedMaterial">
<hr>
<div class="normal">
<div class="clearnet">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
@ -606,7 +606,7 @@
</div>
<div id="cloudtube">
<hr>
<div class="normal">
<div class="clearnet">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
@ -720,7 +720,7 @@
</div>
<div id="beatbump">
<hr>
<div class="normal">
<div class="clearnet">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
@ -816,7 +816,7 @@
</div>
<div id="hyperpipe">
<hr>
<div class="normal">
<div class="clearnet">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
@ -931,7 +931,7 @@
</div>
<div id="nitter">
<hr>
<div class="normal">
<div class="clearnet">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
@ -1038,7 +1038,7 @@
</div>
<div id="bibliogram">
<hr>
<div class="normal">
<div class="clearnet">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
@ -1145,7 +1145,7 @@
</div>
<div id="proxiTok">
<hr>
<div class="normal">
<div class="clearnet">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
@ -1259,7 +1259,7 @@
</div>
<div id="libreddit">
<hr>
<div class="normal">
<div class="clearnet">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
@ -1355,7 +1355,7 @@
</div>
<div id="teddit">
<hr>
<div class="normal">
<div class="clearnet">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
@ -1462,7 +1462,7 @@
</div>
<div id="rimgo">
<hr>
<div class="normal">
<div class="clearnet">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
@ -1569,7 +1569,7 @@
</div>
<div id="wikiless">
<hr>
<div class="normal">
<div class="clearnet">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
@ -1676,7 +1676,7 @@
</div>
<div id="scribe">
<hr>
<div class="normal">
<div class="clearnet">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
@ -1783,7 +1783,7 @@
</div>
<div id="quetre">
<hr>
<div class="normal">
<div class="clearnet">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
@ -1890,7 +1890,7 @@
</div>
<div id="libremdb">
<hr>
<div class="normal">
<div class="clearnet">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
@ -1997,7 +1997,7 @@
</div>
<div id="neuters">
<hr>
<div class="normal">
<div class="clearnet">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
@ -2104,7 +2104,7 @@
</div>
<div id="simpleertube">
<hr>
<div class="normal">
<div class="clearnet">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
@ -2226,7 +2226,7 @@
</div>
<div id="librarian">
<hr>
<div class="normal">
<div class="clearnet">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
@ -2345,7 +2345,7 @@
</div>
<div id="searx">
<hr>
<div class="normal">
<div class="clearnet">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
@ -2441,7 +2441,7 @@
</div>
<div id="searxng">
<hr>
<div class="normal">
<div class="clearnet">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
@ -2537,7 +2537,7 @@
</div>
<div id="whoogle">
<hr>
<div class="normal">
<div class="clearnet">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
@ -2633,7 +2633,7 @@
</div>
<div id="librex">
<hr>
<div class="normal">
<div class="clearnet">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
@ -2747,7 +2747,7 @@
</div>
<hr>
<div id="simplyTranslate">
<div class="normal">
<div class="clearnet">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
@ -2842,7 +2842,7 @@
</div>
</div>
<div id="lingva">
<div class="normal">
<div class="clearnet">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
@ -2956,7 +2956,7 @@
</div>
<div id="facil">
<hr>
<div class="normal">
<div class="clearnet">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
@ -3063,7 +3063,7 @@
</div>
<div id="send">
<hr>
<div class="normal">
<div class="clearnet">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
@ -3186,4 +3186,4 @@
</div>
</body>
<script type="module" src="./index.js"></script>
</html>
</html>

View File

@ -0,0 +1,24 @@
<section class="option-block" id="about_page">
<div class="some-block option-block">
<h1 data-localise="__MSG_about__">About</h1>
</div>
<hr>
<div class="about">
<div class="some-block option-block">
<h4>Donate: ♥️</h4>
<h4><a href='https://libredirect.github.io/donate'>https://libredirect.github.io/donate</a> </h4>
</div>
<div class="some-block option-block">
<h4>FAQ:</h4>
<h4><a href='https://libredirect.github.io/faq'>https://libredirect.github.io/faq</a></h4>
</div>
<div class="some-block option-block">
<h4>Docs:</h4>
<h4><a href='https://libredirect.github.io/docs'>https://libredirect.github.io/docs</a></h4>
</div>
<div class="some-block option-block">
<h4>Source Code:</h4>
<h4><a href='https://libredirect.github.io/source_code'>https://libredirect.github.io/source_code</a></h4>
</div>
</div>
</section>

View File

@ -3,25 +3,7 @@ window.browser = window.browser || window.chrome
import utils from "../../../assets/javascripts/utils.js"
import generalHelper from "../../../assets/javascripts/general.js"
import youtubeHelper from "../../../assets/javascripts/youtube/youtube.js"
import youtubeMusicHelper from "../../../assets/javascripts/youtubeMusic.js"
import twitterHelper from "../../../assets/javascripts/twitter.js"
import instagramHelper from "../../../assets/javascripts/instagram.js"
import redditHelper from "../../../assets/javascripts/reddit.js"
import searchHelper from "../../../assets/javascripts/search.js"
import translateHelper from "../../../assets/javascripts/translate/translate.js"
import mapsHelper from "../../../assets/javascripts/maps.js"
import wikipediaHelper from "../../../assets/javascripts/wikipedia.js"
import mediumHelper from "../../../assets/javascripts/medium.js"
import quoraHelper from "../../../assets/javascripts/quora.js"
import libremdbHelper from "../../../assets/javascripts/imdb.js"
import reutersHelper from "../../../assets/javascripts/reuters.js"
import imgurHelper from "../../../assets/javascripts/imgur.js"
import tiktokHelper from "../../../assets/javascripts/tiktok.js"
import sendTargetsHelper from "../../../assets/javascripts/sendTargets.js"
import peertubeHelper from "../../../assets/javascripts/peertube.js"
import lbryHelper from "../../../assets/javascripts/lbry.js"
import servicesHelper from "../../../assets/javascripts/services.js"
let updateInstancesElement = document.getElementById("update-instances")
updateInstancesElement.addEventListener("click", async () => {
@ -82,28 +64,10 @@ resetSettings.addEventListener("click", async () => {
.then(async data => {
browser.storage.local.set({ cloudflareBlackList: JSON.parse(data).cloudflare }, () => {
browser.storage.local.set({ offlineBlackList: JSON.parse(data).offline }, () => {
browser.storage.local.set({ authenticateBlackList: JSON.parse(data).authenticate }, async () => {
await generalHelper.initDefaults()
await youtubeHelper.initDefaults()
await youtubeMusicHelper.initDefaults()
await twitterHelper.initDefaults()
await instagramHelper.initDefaults()
await mapsHelper.initDefaults()
await searchHelper.initDefaults()
await translateHelper.initDefaults()
await mediumHelper.initDefaults()
await quoraHelper.initDefaults()
await libremdbHelper.initDefaults()
await reutersHelper.initDefaults()
await redditHelper.initDefaults()
await wikipediaHelper.initDefaults()
await imgurHelper.initDefaults()
await tiktokHelper.initDefaults()
await sendTargetsHelper.initDefaults()
await peertubeHelper.initDefaults()
await lbryHelper.initDefaults()
location.reload()
})
browser.storage.local.set({ authenticateBlackList: JSON.parse(data).authenticate }, async () => {
await servicesHelper.initDefaults()
location.reload()
})
})
})
})
@ -125,13 +89,13 @@ themeElement.addEventListener("change", event => {
let protocolElement = document.getElementById("protocol")
protocolElement.addEventListener("change", event => {
const value = event.target.options[protocol.selectedIndex].value
browser.storage.local.set({ protocol: value })
browser.storage.local.set({ network: value })
location.reload()
})
let protocolFallbackCheckbox = document.getElementById("protocol-fallback-checkbox")
protocolFallbackCheckbox.addEventListener("change", event => {
browser.storage.local.set({ protocolFallback: event.target.checked })
browser.storage.local.set({ networkFallback: event.target.checked })
})
let latencyOutput = document.getElementById("latency-output")
@ -166,21 +130,21 @@ browser.storage.local.get(
"theme",
"autoRedirect",
"exceptions",
"protocol",
"protocolFallback",
"network",
"networkFallback",
"latencyThreshold",
// 'firstPartyIsolate'
],
r => {
autoRedirectElement.checked = r.autoRedirect
themeElement.value = r.theme
protocolElement.value = r.protocol
protocolFallbackCheckbox.checked = r.protocolFallback
protocolElement.value = r.network
protocolFallbackCheckbox.checked = r.networkFallback
latencyOutput.value = r.latencyThreshold
// firstPartyIsolate.checked = r.firstPartyIsolate;
let protocolFallbackElement = document.getElementById("protocol-fallback")
if (protocolElement.value == "normal") {
if (protocolElement.value == "clearnet") {
protocolFallbackElement.style.display = "none"
} else {
protocolFallbackElement.style.display = "block"

View File

@ -17,7 +17,7 @@ section#general_page.option-block
.some-block.option-block
h4(data-localise="__MSG_protocol__")
select#protocol
option(value="normal" data-localise="__MSG_normal__") Normal
option(value="clearnet" data-localise="__MSG_normal__") Clearnet
option(value="tor") Tor
option(value="i2p") I2P
option(value="loki") Lokinet

View File

@ -3,7 +3,7 @@ import utils from "../../../assets/javascripts/utils.js"
// UNCOMMENT ALL COMMENTS ONCE OTHER FRONTENDS EXIST
const frontends = new Array("libremdb")
const protocols = new Array("normal", "tor", "i2p", "loki")
const protocols = new Array("clearnet", "tor", "i2p", "loki")
const enable = document.getElementById("imdb-enable")
const imdb = document.getElementById("imdb_page")
@ -39,7 +39,7 @@ function changeProtocolSettings() {
browser.storage.local.get(["disableImdb", "protocol"], r => {
enable.checked = !r.disableImdb
protocol = r.protocol
protocol = r.network
changeProtocolSettings()
})

View File

@ -8,7 +8,7 @@ section#imdb_page.option-block
#libremdb
hr
.normal
.clearnet
include ../../widgets/instances.pug
+instances('https://libremdb.com')
include ../../widgets/latency.pug

View File

@ -3,7 +3,7 @@ import utils from "../../../assets/javascripts/utils.js"
// UNCOMMENT ALL COMMENTS ONCE OTHER FRONTENDS EXIST
const frontends = new Array("rimgo")
const protocols = new Array("normal", "tor", "i2p", "loki")
const protocols = new Array("clearnet", "tor", "i2p", "loki")
const enable = document.getElementById("imgur-enable")
const imgur = document.getElementById("imgur_page")
@ -39,7 +39,7 @@ function changeProtocolSettings() {
browser.storage.local.get(["disableImgur", "protocol"], r => {
enable.checked = !r.disableImgur
protocol = r.protocol
protocol = r.network
changeProtocolSettings()
})

View File

@ -9,7 +9,7 @@ section#imgur_page.option-block
#rimgo
hr
.normal
.clearnet
include ../../widgets/instances.pug
+instances('https://rimgo.com')
include ../../widgets/latency.pug

View File

@ -3,7 +3,7 @@ import utils from "../../../assets/javascripts/utils.js"
// UNCOMMENT ALL COMMENTS ONCE OTHER FRONTENDS EXIST
const frontends = new Array("bibliogram")
const protocols = new Array("normal", "tor", "i2p", "loki")
const protocols = new Array("clearnet", "tor", "i2p", "loki")
const enable = document.getElementById("instagram-enable")
const instagram = document.getElementById("instagram_page")
@ -39,7 +39,7 @@ function changeProtocolSettings() {
browser.storage.local.get(["disableInstagram", "protocol"], r => {
enable.checked = !r.disableInstagram
protocol = r.protocol
protocol = r.network
changeProtocolSettings()
})

View File

@ -9,7 +9,7 @@ section#instagram_page.option-block
#bibliogram
hr
.normal
.clearnet
include ../../widgets/instances.pug
+instances('https://bibliogram.com')
include ../../widgets/latency.pug

View File

@ -1,7 +1,7 @@
import utils from "../../../assets/javascripts/utils.js"
const frontends = new Array("librarian")
const protocols = new Array("normal", "tor", "i2p", "loki")
const protocols = new Array("clearnet", "tor", "i2p", "loki")
const enable = document.getElementById("lbry-enable")
const lbry = document.getElementById("lbry_page")
@ -36,7 +36,7 @@ function changeProtocolSettings() {
browser.storage.local.get(["disableLbryTargets", "protocol", "lbryFrontend", "lbryRedirectType"], r => {
enable.checked = !r.disableLbryTargets
protocol = r.protocol
protocol = r.network
redirectType.value = r.lbryRedirectType
frontend.value = r.lbryFrontend
changeFrontendsSettings()

View File

@ -21,7 +21,7 @@ section#lbry_page.option-block
#librarian
hr
.normal
.clearnet
include ../../widgets/instances.pug
+instances('https://librarian.com')
include ../../widgets/latency.pug

View File

@ -1,7 +1,7 @@
import utils from "../../../assets/javascripts/utils.js"
const frontends = new Array("facil")
const protocols = new Array("normal", "tor", "i2p", "loki")
const protocols = new Array("clearnet", "tor", "i2p", "loki")
const enable = document.getElementById("maps-enable")
const maps = document.getElementById("maps_page")
@ -35,7 +35,7 @@ function changeFrontendsSettings() {
browser.storage.local.get(["disableMaps", "protocol", "mapsFrontend"], r => {
enable.checked = !r.disableMaps
protocol = r.protocol
protocol = r.network
frontend.value = r.mapsFrontend
changeFrontendsSettings()
changeProtocolSettings()

View File

@ -14,7 +14,7 @@ section#maps_page.option-block
#facil
hr
.normal
.clearnet
include ../../widgets/instances.pug
+instances('https://facilmap.com')
include ../../widgets/latency.pug

View File

@ -3,7 +3,7 @@ import utils from "../../../assets/javascripts/utils.js"
// UNCOMMENT ALL COMMENTS ONCE OTHER FRONTENDS EXIST
const frontends = new Array("scribe")
const protocols = new Array("normal", "tor", "i2p", "loki")
const protocols = new Array("clearnet", "tor", "i2p", "loki")
const enable = document.getElementById("medium-enable")
const medium = document.getElementById("medium_page")
@ -39,7 +39,7 @@ function changeProtocolSettings() {
browser.storage.local.get(["disableMedium", "protocol"], r => {
enable.checked = !r.disableMedium
protocol = r.protocol
protocol = r.network
changeProtocolSettings()
})

View File

@ -8,7 +8,7 @@ section#medium_page.option-block
#scribe
hr
.normal
.clearnet
include ../../widgets/instances.pug
+instances('https://scribe.com')
include ../../widgets/latency.pug

View File

@ -3,7 +3,7 @@ import utils from "../../../assets/javascripts/utils.js"
// UNCOMMENT ALL COMMENTS ONCE OTHER FRONTENDS EXIST
const frontends = new Array("simpleertube")
const protocols = new Array("normal", "tor", "i2p", "loki")
const protocols = new Array("clearnet", "tor", "i2p", "loki")
const enable = document.getElementById("peertube-enable")
const peertube = document.getElementById("peertube_page")
@ -39,7 +39,7 @@ function changeProtocolSettings() {
browser.storage.local.get(["disablePeertubeTargets", "protocol"], r => {
enable.checked = !r.disablePeertubeTargets
protocol = r.protocol
protocol = r.network
changeProtocolSettings()
})

View File

@ -8,7 +8,7 @@ section#peertube_page.option-block
#simpleertube
hr
.normal
.clearnet
include ../../widgets/instances.pug
+instances('https://simpleertube.com')
include ../../widgets/latency.pug

View File

@ -3,7 +3,7 @@ import utils from "../../../assets/javascripts/utils.js"
// UNCOMMENT ALL COMMENTS ONCE OTHER FRONTENDS EXIST
const frontends = new Array("quetre")
const protocols = new Array("normal", "tor", "i2p", "loki")
const protocols = new Array("clearnet", "tor", "i2p", "loki")
const enable = document.getElementById("quora-enable")
const quora = document.getElementById("quora_page")
@ -39,7 +39,7 @@ function changeProtocolSettings() {
browser.storage.local.get(["disableQuora", "protocol"], r => {
enable.checked = !r.disableQuora
protocol = r.protocol
protocol = r.network
changeProtocolSettings()
})

View File

@ -8,7 +8,7 @@ section#quora_page.option-block
#quetre
hr
.normal
.clearnet
include ../../widgets/instances.pug
+instances('https://quetre.com')
include ../../widgets/latency.pug

View File

@ -1,7 +1,7 @@
import utils from "../../../assets/javascripts/utils.js"
const frontends = new Array("libreddit", "teddit")
const protocols = new Array("normal", "tor", "i2p", "loki")
const protocols = new Array("clearnet", "tor", "i2p", "loki")
const enable = document.getElementById("reddit-enable")
const reddit = document.getElementById("reddit_page")
@ -35,7 +35,7 @@ function changeProtocolSettings() {
browser.storage.local.get(["disableReddit", "protocol", "redditFrontend"], r => {
enable.checked = !r.disableReddit
protocol = r.protocol
protocol = r.network
frontend.value = r.redditFrontend
changeFrontendsSettings()
changeProtocolSettings()

View File

@ -14,7 +14,7 @@ section#reddit_page.option-block
#libreddit
hr
.normal
.clearnet
include ../../widgets/instances.pug
+instances('https://libreddit.com')
include ../../widgets/latency.pug
@ -31,7 +31,7 @@ section#reddit_page.option-block
#teddit
hr
.normal
.clearnet
include ../../widgets/instances.pug
+instances('https://teddit.com')
+latency('teddit')

View File

@ -3,7 +3,7 @@ import utils from "../../../assets/javascripts/utils.js"
// UNCOMMENT ALL COMMENTS ONCE OTHER FRONTENDS EXIST
const frontends = new Array("neuters")
const protocols = new Array("normal", "tor", "i2p", "loki")
const protocols = new Array("clearnet", "tor", "i2p", "loki")
const enable = document.getElementById("reuters-enable")
const reuters = document.getElementById("reuters_page")
@ -39,7 +39,7 @@ function changeProtocolSettings() {
browser.storage.local.get(["disableReuters", "protocol"], r => {
enable.checked = !r.disableReuters
protocol = r.protocol
protocol = r.network
changeProtocolSettings()
})

View File

@ -8,7 +8,7 @@ section#reuters_page.option-block
#neuters
hr
.normal
.clearnet
include ../../widgets/instances.pug
+instances('https://neuters.com')
include ../../widgets/latency.pug

View File

@ -5,7 +5,7 @@ import utils from "../../../assets/javascripts/utils.js"
// ONCE FINISHED: add librex and see if it works
const frontends = new Array("searx", "searxng", "whoogle", "librex") // Add librex once /javascripts/search.js is made agnostic
const protocols = new Array("normal", "tor", "i2p", "loki")
const protocols = new Array("clearnet", "tor", "i2p", "loki")
//let frontendProtocols = (frontends.length)
// I will leave comments of my privious attemps so that people can learn from my mistakes. :)
@ -29,12 +29,6 @@ for (var i = 0; i < frontends.length; i++) {
}
*/
/*
const searxDiv = document.getElementById("searx");
const searxngDiv = document.getElementById("searxng");
const whoogleDiv = document.getElementById("whoogle");
*/
const enable = document.getElementById("search-enable")
const search = document.getElementById("search_page")
const frontend = document.getElementById("search-frontend")
@ -49,33 +43,6 @@ function changeFrontendsSettings() {
frontendDiv.style.display = "none"
}
}
/*
if (frontend.value == 'searx') {
searxDiv.style.display = 'block';
searxngDiv.style.display = 'none';
whoogleDiv.style.display = 'none';
librexDiv.style.display = 'none';
}
else if (frontend.value == 'searxng') {
searxDiv.style.display = 'none';
searxngDiv.style.display = 'block';
whoogleDiv.style.display = 'none';
librexDiv.style.display = 'none';
}
else if (frontend.value == 'whoogle') {
searxDiv.style.display = 'none';
searxngDiv.style.display = 'none';
whoogleDiv.style.display = 'block';
librexDiv.style.display = 'none';
}
else if (frontend.value == 'librex') {
searxDiv.style.display = 'none';
searxDiv.style.display = 'none';
searxngDiv.style.display = 'none';
librexDiv.style.display = 'block';
}
*/
}
function changeProtocolSettings() {
@ -97,75 +64,12 @@ function changeProtocolSettings() {
}
*/
}
/*
* "Legacy" code
const normalsearxDiv = searxDiv.getElementsByClassName("normal")[0];
const torsearxDiv = searxDiv.getElementsByClassName("tor")[0];
const i2psearxDiv = searxDiv.getElementsByClassName("i2p")[0];
const normalsearxngDiv = searxngDiv.getElementsByClassName("normal")[0];
const torsearxngDiv = searxngDiv.getElementsByClassName("tor")[0];
const i2psearxngDiv = searxngDiv.getElementsByClassName("i2p")[0];
const torwhoogleDiv = whoogleDiv.getElementsByClassName("tor")[0];
const i2pwhoogleDiv = whoogleDiv.getElementsByClassName("i2p")[0];
const normalwhoogleDiv = whoogleDiv.getElementsByClassName("normal")[0];
function protocolDisplay(proto) {
proto.searxngDiv = 'block'
}
protocolDisplay(protocol.value)
if (protocol.value == 'normal') {
normalsearxDiv.style.display = 'block';
normalsearxngDiv.style.display = 'block';
normalwhoogleDiv.style.display = 'block';
torsearxDiv.style.display = 'none';
torsearxngDiv.style.display = 'none';
torwhoogleDiv.style.display = 'none';
i2psearxDiv.style.display = 'none';
i2psearxngDiv.style.display = 'none';
i2pwhoogleDiv.style.display = 'none';
}
else if (protocol.value == 'tor') {
normalsearxDiv.style.display = 'none';
normalsearxngDiv.style.display = 'none';
normalwhoogleDiv.style.display = 'none';
torsearxDiv.style.display = 'block';
torsearxngDiv.style.display = 'block';
torwhoogleDiv.style.display = 'block';
i2psearxDiv.style.display = 'none';
i2psearxngDiv.style.display = 'none';
i2pwhoogleDiv.style.display = 'none';
}
else if (protocol.value == 'i2p') {
normalsearxDiv.style.display = 'none';
normalsearxngDiv.style.display = 'none';
normalwhoogleDiv.style.display = 'none';
torsearxDiv.style.display = 'none';
torsearxngDiv.style.display = 'none';
torwhoogleDiv.style.display = 'none';
i2psearxDiv.style.display = 'block';
i2psearxngDiv.style.display = 'block';
i2pwhoogleDiv.style.display = 'block';
}
*/
}
browser.storage.local.get(["disableSearch", "searchFrontend", "protocol"], r => {
enable.checked = !r.disableSearch
frontend.value = r.searchFrontend
protocol = r.protocol
protocol = r.network
changeFrontendsSettings()
changeProtocolSettings()
@ -185,20 +89,3 @@ search.addEventListener("change", () => {
})
changeFrontendsSettings()
})
/*
* more "legacy" code
utils.processDefaultCustomInstances('search', 'searx', 'normal', document);
utils.processDefaultCustomInstances('search', 'searx', 'tor', document);
utils.processDefaultCustomInstances('search', 'searx', 'i2p', document);
utils.processDefaultCustomInstances('search', 'searxng', 'normal', document);
utils.processDefaultCustomInstances('search', 'searxng', 'tor', document);
utils.processDefaultCustomInstances('search', 'searxng', 'i2p', document);
utils.processDefaultCustomInstances('search', 'whoogle', 'normal', document);
utils.processDefaultCustomInstances('search', 'whoogle', 'tor', document);
utils.processDefaultCustomInstances('search', 'whoogle', 'i2p', document);
utils.latency('search', 'searx', document, location, true)
utils.latency('search', 'searxng', document, location, true)
utils.latency('search', 'whoogle', document, location, true)
*/

View File

@ -19,7 +19,7 @@ section#search_page.option-block
#searx
hr
.normal
.clearnet
include ../../widgets/instances.pug
+instances('https://searx.com')
include ../../widgets/latency.pug
@ -36,7 +36,7 @@ section#search_page.option-block
#searxng
hr
.normal
.clearnet
include ../../widgets/instances.pug
+instances('https://searxng.com')
+latency('searxng')
@ -52,7 +52,7 @@ section#search_page.option-block
#whoogle
hr
.normal
.clearnet
include ../../widgets/instances.pug
+instances('https://whoogle.com')
+latency('whoogle')
@ -68,7 +68,7 @@ section#search_page.option-block
#librex
hr
.normal
.clearnet
include ../../widgets/instances.pug
+instances('https://librex.com')
+latency('librex')

View File

@ -3,7 +3,7 @@ import utils from "../../../assets/javascripts/utils.js"
// UNCOMMENT ALL COMMENTS ONCE OTHER FRONTENDS EXIST
const frontends = new Array("send")
const protocols = new Array("normal", "tor", "i2p", "loki")
const protocols = new Array("clearnet", "tor", "i2p", "loki")
const enable = document.getElementById("sendTargets-enable")
const sendTargets = document.getElementById("sendTargets_page")
@ -39,7 +39,7 @@ function changeProtocolSettings() {
browser.storage.local.get(["disableSendTarget", "protocol"], r => {
enable.checked = !r.disableSendTarget
protocol = r.protocol
protocol = r.network
changeProtocolSettings()
})

View File

@ -8,7 +8,7 @@ section#sendTargets_page.option-block
#send
hr
.normal
.clearnet
include ../../widgets/instances.pug
+instances('https://send.com')
include ../../widgets/latency.pug

View File

@ -0,0 +1,84 @@
<% config.services.forEach(service=>{ %>
<section class="option-block" id="<%= service =%>_page"</section>
<div class="some-block option-block">
<h1 data-localise="__MSG_<%= service =%>__"><%= config.services[service].name =%></h1>
</div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_enable__">Enable</h4>
<input id="<%= service =%>-enable" type="checkbox">
</div>
<div class="some-block option-block">
<h4 data-localise="__MSG_frontend__">Frontend</h4>
<select id="<%= service =%>-frontend">
<% config.services[service].frontends.forEach(frontend=>{ %>
<option value="<%= frontend =%>"><%= frontend =%></option>
<% }); %>
<% config.services[service].singleInstanceFrontends.forEach(frontend=>{ %>
<option value="<%= frontend =%>"><%= frontend =%></option>
<% }); %>
</select>
</div>
<% if (config.services[service].embeddable) { %>
<% if (config.services[service].singleInstanceFrontends) { %>
<div id="<%= service =%>-embedded_frontend">
<div class="some-block option-block">
<h4 data-localise="__MSG_embeddedVids__">Embedded Videos Frontend</h4>
<select id="<%= service =%>-embed_frontend">
<% config.services[service].frontends.forEach(frontend=>{ %>
<option value="frontend">frontend</option>
<% }); %>
</select>
</div>
</div>
<% } %>
<div class="some-block option-block">
<h4 data-localise="__MSG_redirectType__">Redirect Type</h4>
<select id="<%= service =%-redirect_type">
<option value="both" data-localise="__MSG_both__">both</option>
<option value="onlyEmbedded" data-localise="__MSG_onlyEmbedded__">Only Embedded</option>
<option value="onlyNotEmbedded" data-localise="__MSG_onlyNotEmbedded__">Only Not Embedded</option>
</select>
</div>
<% } %>
<hr>
<% config.services[service].frontends.forEach(frontend=>{ %>
<div id="<%= frontend =%>">
<% config.networks.forEach(network=>{ %>
<div class="<%= network =%>">
<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="http://<%= frontend =%>.<%= config[network].tld =%>" 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>
<% if (network == "clearnet") { %>
<div class="buttons buttons-inline">
<label class="button button-inline" id="latency-<%= frontend =%>-label" for="latency-<%= frontend =%>">
<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-<%= frontend =%>" style="display:none;">
</div>
<% } %>
</div>
<% }); %>
<% }); %>
</section>
<% }); %>
<script type="module" src="./widgets/services.js"></script>

View File

@ -0,0 +1,81 @@
import utils from "../../../assets/javascripts/utils.js"
// const frontends = new Array("librarian")
// const protocols = new Array("clearnet", "tor", "i2p", "loki")
let config,
network,
divs = {}
async function getConfig() {
return new Promise(resolve => {
fetch("/config/config.json")
.then(response => response.text())
.then(data => {
config = JSON.parse(data)
resolve()
})
})
}
getConfig()
browser.storage.local.get("network", r => {
network = r.network
})
function changeFrontendsSettings(service) {
for (const frontend in config.services[service].frontends) {
const frontendDiv = document.getElementById(frontend)
if (frontend == divs[service].frontend.value) {
frontendDiv.style.display = "block"
} else {
frontendDiv.style.display = "none"
}
}
}
function changeNetworkSettings(selectedNetwork) {
for (const frontend in config.frontends) {
const frontendDiv = document.getElementById(frontend)
for (const network in config.networks) {
const networkDiv = frontendDiv.getElementsByClassName(network)[0]
if (network == selectedNetwork) {
networkDiv.style.display = "block"
} else {
networkDiv.style.display = "none"
}
}
}
}
for (service in config.services) {
divs[service][service] = document.getElementById(`${service}_page`)
for (const option in config.services[service].options) {
divs[service][option] = document.getElementById(`${service}-${option}`)
browser.storage.local.get([`${service + utils.camelCase(option)}`], r => {
if (typeof config.services[service].options[option] == "boollean") divs[service][option].checked = !r[service + utils.camelCase(option)]
else divs[service][option].value = !r[service + utils.camelCase(option)]
})
divs[service][option].addEventListener("change", () => {
if (typeof config.services[service].options[option] == "boollean") {
browser.storage.local.set({ [service + utils.camelCase(option)]: !divs[service][option].checked })
} else {
browser.storage.local.set({ [service + utils.camelCase(option)]: divs[service][option].value })
}
changeFrontendsSettings()
})
}
changeFrontendsSettings(service)
changeNetworkSettings(network)
for (const frontend in config.services[service].frontends) {
for (const network in config.networks) {
utils.processDefaultCustomInstances(service, frontend, network, document)
}
utils.latency(service, frontend, document, location)
}
}

View File

@ -3,7 +3,7 @@ import utils from "../../../assets/javascripts/utils.js"
// UNCOMMENT ALL COMMENTS ONCE OTHER FRONTENDS EXIST
const frontends = new Array("proxiTok")
const protocols = new Array("normal", "tor", "i2p", "loki")
const protocols = new Array("clearnet", "tor", "i2p", "loki")
const enable = document.getElementById("tiktok-enable")
const tiktok = document.getElementById("tiktok_page")
@ -39,7 +39,7 @@ function changeProtocolSettings() {
browser.storage.local.get(["disableTiktok", "protocol"], r => {
enable.checked = !r.disableTiktok
protocol = r.protocol
protocol = r.network
changeProtocolSettings()
})

View File

@ -8,7 +8,7 @@ section#tiktok_page.option-block
#proxiTok
hr
.normal
.clearnet
include ../../widgets/instances.pug
+instances('https://proxitok.com')
include ../../widgets/latency.pug

View File

@ -1,7 +1,7 @@
import utils from "../../../assets/javascripts/utils.js"
const frontends = new Array("simplyTranslate", "lingva")
const protocols = new Array("normal", "tor", "i2p", "loki")
const protocols = new Array("clearnet", "tor", "i2p", "loki")
const enable = document.getElementById("translate-enable")
const translate = document.getElementById("translate_page")
@ -36,7 +36,7 @@ function changeProtocolSettings() {
browser.storage.local.get(["translateDisable", "translateFrontend", "protocol"], r => {
enable.checked = !r.translateDisable
frontend.value = r.translateFrontend
protocol = r.protocol
protocol = r.network
changeFrontendsSettings()
changeProtocolSettings()
})

View File

@ -14,7 +14,7 @@ section#translate_page.option-block
hr
#simplyTranslate
.normal
.clearnet
include ../../widgets/instances.pug
+instances('https://simplytranslate.org')
include ../../widgets/latency.pug
@ -30,7 +30,7 @@ section#translate_page.option-block
+instances('http://simplytranslate.loki')
#lingva
.normal
.clearnet
include ../../widgets/instances.pug
+instances('https://lingvatranslate.com')
+latency('lingva')

View File

@ -3,7 +3,7 @@ import utils from "../../../assets/javascripts/utils.js"
// UNCOMMENT ALL COMMENTS ONCE OTHER FRONTENDS EXIST
const frontends = new Array("nitter")
const protocols = new Array("normal", "tor", "i2p", "loki")
const protocols = new Array("clearnet", "tor", "i2p", "loki")
const enable = document.getElementById("twitter-enable")
const twitter = document.getElementById("twitter_page")
@ -40,7 +40,7 @@ function changeProtocolSettings() {
browser.storage.local.get(["disableTwitter", "protocol", "twitterRedirectType"], r => {
enable.checked = !r.disableTwitter
protocol = r.protocol
protocol = r.network
redirectType.value = r.twitterRedirectType
changeProtocolSettings()
})

View File

@ -15,7 +15,7 @@ section#twitter_page.option-block
#nitter
hr
.normal
.clearnet
include ../../widgets/instances.pug
+instances('https://nitter.com')
include ../../widgets/latency.pug

View File

@ -3,7 +3,7 @@ import utils from "../../../assets/javascripts/utils.js"
// UNCOMMENT ALL COMMENTS ONCE OTHER FRONTENDS EXIST
const frontends = new Array("wikiless")
const protocols = new Array("normal", "tor", "i2p", "loki")
const protocols = new Array("clearnet", "tor", "i2p", "loki")
const enable = document.getElementById("wikipedia-enable")
const wikipedia = document.getElementById("wikipedia_page")
@ -39,7 +39,7 @@ function changeProtocolSettings() {
browser.storage.local.get(["disableWikipedia", "protocol"], r => {
enable.checked = !r.disableWikipedia
protocol = r.protocol
protocol = r.network
changeProtocolSettings()
})

View File

@ -8,7 +8,7 @@ section#wikipedia_page.option-block
#wikiless
hr
.normal
.clearnet
include ../../widgets/instances.pug
+instances('https://wikiless.com')
include ../../widgets/latency.pug

View File

@ -1,7 +1,7 @@
import utils from "../../../assets/javascripts/utils.js"
const frontends = new Array("invidious", "piped", "pipedMaterial", "cloudtube")
const protocols = new Array("normal", "tor", "i2p", "loki")
const protocols = new Array("clearnet", "tor", "i2p", "loki")
const singleInstanceFrontends = new Array("freetube", "yatte")
const enable = document.getElementById("youtube-enable")
@ -66,7 +66,7 @@ browser.storage.local.get(["disableYoutube", "onlyEmbeddedVideo", "youtubeRedire
onlyEmbeddedVideo.value = r.onlyEmbeddedVideo
youtubeEmbedFrontend.value = r.youtubeEmbedFrontend
frontend.value = r.youtubeFrontend
protocol = r.protocol
protocol = r.network
changeFrontendsSettings()
changeProtocolSettings()

View File

@ -34,7 +34,7 @@ section#youtube_page.option-block
#invidious
hr
.normal
.clearnet
include ../../widgets/instances.pug
+instances('http://invidious.com')
include ../../widgets/latency.pug
@ -51,7 +51,7 @@ section#youtube_page.option-block
#piped
hr
.normal
.clearnet
include ../../widgets/instances.pug
+instances('https://piped.com')
include ../../widgets/latency.pug
@ -68,7 +68,7 @@ section#youtube_page.option-block
#pipedMaterial
hr
.normal
.clearnet
include ../../widgets/instances.pug
+instances('https://piped-material.com')
include ../../widgets/latency.pug
@ -85,7 +85,7 @@ section#youtube_page.option-block
#cloudtube
hr
.normal
.clearnet
include ../../widgets/instances.pug
+instances('https://cloudtube.com')
include ../../widgets/latency.pug

View File

@ -1,7 +1,7 @@
import utils from "../../../assets/javascripts/utils.js"
const frontends = new Array("beatbump", "hyperpipe")
const protocols = new Array("normal", "tor", "i2p", "loki")
const protocols = new Array("clearnet", "tor", "i2p", "loki")
let enable = document.getElementById("youtubeMusic-enable")
const youtubeMusic = document.getElementById("youtubeMusic_page")
@ -36,7 +36,7 @@ function changeProtocolSettings() {
browser.storage.local.get(["disableYoutubeMusic", "youtubeMusicFrontend", "protocol"], r => {
enable.checked = !r.disableYoutubeMusic
frontend.value = r.youtubeMusicFrontend
protocol = r.protocol
protocol = r.network
changeFrontendsSettings()
changeProtocolSettings()
})

View File

@ -14,7 +14,7 @@ section#youtubeMusic_page.option-block
#beatbump
hr
.normal
.clearnet
include ../../widgets/instances.pug
+instances('https://beatbump.org')
include ../../widgets/latency.pug
@ -31,7 +31,7 @@ section#youtubeMusic_page.option-block
#hyperpipe
hr
.normal
.clearnet
include ../../widgets/instances.pug
+instances('https://hyperpipe.org')
include ../../widgets/latency.pug