aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/assets/javascripts/helpers/common.js2
-rw-r--r--src/assets/javascripts/helpers/instagram.js11
-rw-r--r--src/assets/javascripts/helpers/medium.js4
-rw-r--r--src/assets/javascripts/helpers/reddit.js8
-rw-r--r--src/assets/javascripts/helpers/rimgo.js14
-rw-r--r--src/assets/javascripts/helpers/search.js53
-rw-r--r--src/assets/javascripts/helpers/translate.js5
-rw-r--r--src/assets/javascripts/helpers/twitter.js54
-rw-r--r--src/assets/javascripts/helpers/wikipedia.js8
-rw-r--r--src/assets/javascripts/helpers/youtube/invidious-cookies.js38
-rw-r--r--src/assets/javascripts/helpers/youtube/youtube.js (renamed from src/assets/javascripts/helpers/youtube.js)119
-rw-r--r--src/manifest.json2
-rw-r--r--src/pages/background/background.js9
-rw-r--r--src/pages/options/general/general.html (renamed from src/pages/options/general.html)26
-rw-r--r--src/pages/options/general/general.js (renamed from src/pages/options/general.js)6
-rw-r--r--src/pages/options/instagram/instagram.html (renamed from src/pages/options/instagram.html)24
-rw-r--r--src/pages/options/instagram/instagram.js (renamed from src/pages/options/instagram.js)11
-rw-r--r--src/pages/options/maps/maps.html (renamed from src/pages/options/maps.html)24
-rw-r--r--src/pages/options/maps/maps.js (renamed from src/pages/options/maps.js)11
-rw-r--r--src/pages/options/medium/medium.html (renamed from src/pages/options/medium.html)24
-rw-r--r--src/pages/options/medium/medium.js (renamed from src/pages/options/medium.js)11
-rw-r--r--src/pages/options/reddit/reddit.html (renamed from src/pages/options/reddit.html)24
-rw-r--r--src/pages/options/reddit/reddit.js (renamed from src/pages/options/reddit.js)17
-rw-r--r--src/pages/options/search/search.html (renamed from src/pages/options/search.html)26
-rw-r--r--src/pages/options/search/search.js (renamed from src/pages/options/search.js)15
-rw-r--r--src/pages/options/shared.js1
-rw-r--r--src/pages/options/translate/translate.html (renamed from src/pages/options/translate.html)24
-rw-r--r--src/pages/options/translate/translate.js (renamed from src/pages/options/translate.js)16
-rw-r--r--src/pages/options/twitter/twitter.html (renamed from src/pages/options/twitter.html)24
-rw-r--r--src/pages/options/twitter/twitter.js (renamed from src/pages/options/twitter.js)15
-rw-r--r--src/pages/options/wikipedia/wikipedia.html (renamed from src/pages/options/wikipedia.html)26
-rw-r--r--src/pages/options/wikipedia/wikipedia.js (renamed from src/pages/options/wikipedia.js)11
-rw-r--r--src/pages/options/youtube/youtube.html (renamed from src/pages/options/youtube.html)30
-rw-r--r--src/pages/options/youtube/youtube.js (renamed from src/pages/options/youtube.js)91
-rw-r--r--src/pages/popup/popup.js2
35 files changed, 430 insertions, 356 deletions
diff --git a/src/assets/javascripts/helpers/common.js b/src/assets/javascripts/helpers/common.js
index 22ee252d..d7b65881 100644
--- a/src/assets/javascripts/helpers/common.js
+++ b/src/assets/javascripts/helpers/common.js
@@ -1,5 +1,5 @@
import twitterHelper from "./twitter.js";
-import youtubeHelper from "./youtube.js";
+import youtubeHelper from "./youtube/youtube.js";
import instagramHelper from "./instagram.js";
import mediumHelper from "./medium.js";
import redditHelper from "./reddit.js";
diff --git a/src/assets/javascripts/helpers/instagram.js b/src/assets/javascripts/helpers/instagram.js
index 71dfdc5b..666b9f71 100644
--- a/src/assets/javascripts/helpers/instagram.js
+++ b/src/assets/javascripts/helpers/instagram.js
@@ -11,12 +11,13 @@ let redirects = {
"https://bibliogram.art",
"https://bibliogram.snopyta.org",
"https://bibliogram.pussthecat.org",
- "https://bibliogram.nixnet.services",
- "https://bibliogram.ethibox.fr",
- "https://bibliogram.hamster.dance",
+ "https://bibliogram.1d4.us",
"https://insta.trom.tf",
- "https://bib.actionsack.com"
- ],
+ "https://bib.riverside.rocks",
+ "https://bibliogram.esmailelbob.xyz",
+ "https://bib.actionsack.com",
+ "https://biblio.alefvanoon.xyz"
+ ]
};
const getRedirects = () => redirects;
function setRedirects(val) {
diff --git a/src/assets/javascripts/helpers/medium.js b/src/assets/javascripts/helpers/medium.js
index cca83250..ce91e99c 100644
--- a/src/assets/javascripts/helpers/medium.js
+++ b/src/assets/javascripts/helpers/medium.js
@@ -19,7 +19,9 @@ const targets = [
let redirects = {
"normal": [
"https://scribe.rip",
- "https://scribe.nixnet.services"
+ "https://scribe.nixnet.services",
+ "https://scribe.citizen4.eu",
+ "https://scribe.bus-hit.me"
]
};
const getRedirects = () => redirects;
diff --git a/src/assets/javascripts/helpers/reddit.js b/src/assets/javascripts/helpers/reddit.js
index 005636b8..880d1576 100644
--- a/src/assets/javascripts/helpers/reddit.js
+++ b/src/assets/javascripts/helpers/reddit.js
@@ -45,6 +45,14 @@ let redirects = {
"https://teddit.adminforge.de",
"https://teddit.bus-hit.me"
],
+ "onion": [
+ "http://teddit4w6cmzmj5kimhfcavs7yo5s7alszvsi2khqutqtlaanpcftfyd.onion",
+ "http://snoo.ioensistjs7wd746zluwixvojbbkxhr37lepdvwtdfeav673o64iflqd.onion",
+ "http://ibarajztopxnuhabfu7fg6gbudynxofbnmvis3ltj6lfx47b6fhrd5qd.onion",
+ "http://tedditfyn6idalzso5wam5qd3kdtxoljjhbrbbx34q2xkcisvshuytad.onion",
+ "http://dawtyi5e2cfyfmoht4izmczi42aa2zwh6wi34zwvc6rzf2acpxhrcrad.onion",
+ "http://qtpvyiaqhmwccxwzsqubd23xhmmrt75tdyw35kp43w4hvamsgl3x27ad.onion"
+ ]
},
"desktop": "https://old.reddit.com", // desktop
"mobile": "https://i.reddit.com", // mobile
diff --git a/src/assets/javascripts/helpers/rimgo.js b/src/assets/javascripts/helpers/rimgo.js
new file mode 100644
index 00000000..829dd230
--- /dev/null
+++ b/src/assets/javascripts/helpers/rimgo.js
@@ -0,0 +1,14 @@
+let redirects = {
+ "normal": [
+ "https://i.bcow.xyz",
+ "https://rimgo.bcow.xyz",
+ "https://rimgo.pussthecat.org",
+ "https://img.riverside.rocks",
+ "https://rimgo.totaldarkness.net",
+ "https://rimgo.bus-hit.me"
+ ],
+ "onion": [
+ "http://l4d4owboqr6xcmd6lf64gbegel62kbudu3x3jnldz2mx6mhn3bsv3zyd.onion",
+ "http://jx3dpcwedpzu2mh54obk5gvl64i2ln7pt5mrzd75s4jnndkqwzaim7ad.onion"
+ ]
+} \ No newline at end of file
diff --git a/src/assets/javascripts/helpers/search.js b/src/assets/javascripts/helpers/search.js
index 3470abb2..84b63f9a 100644
--- a/src/assets/javascripts/helpers/search.js
+++ b/src/assets/javascripts/helpers/search.js
@@ -6,12 +6,12 @@ const targets = [
/https?:\/\/(((www|maps)\.)?(google\.).*(\/search)|search\.(google\.).*)/
];
let redirects = {
- "searx": {
+ "searx": {
"normal": [
"https://a.searx.space",
"https://anon.sx",
"https://beezboo.com",
- "https://darmarit.org",
+ "https://darmarit.org/searx",
"https://dynabyte.ca",
"https://engo.mint.lgbt",
"https://jsearch.pw",
@@ -37,6 +37,7 @@ let redirects = {
"https://search.jigsaw-security.com",
"https://search.jpope.org",
"https://search.mdosch.de",
+ "https://search.neet.works",
"https://search.ononoki.org",
"https://search.snopyta.org",
"https://search.st8.at",
@@ -50,7 +51,6 @@ let redirects = {
"https://searx.dresden.network",
"https://searx.esmailelbob.xyz",
"https://searx.everdot.org",
- "https://searx.feneas.org",
"https://searx.fmac.xyz",
"https://searx.fossencdi.org",
"https://searx.gnous.eu",
@@ -106,50 +106,49 @@ let redirects = {
"https://swag.pw",
"https://sx.catgirl.cloud",
"https://sx.fedi.tech",
- "https://timdor.noip.me",
+ "https://timdor.noip.me/searx",
"https://trovu.komun.org",
"https://www.gruble.de",
- "https://www.perfectpixel.de",
+ "https://www.perfectpixel.de/searx",
"https://www.searxs.eu",
"https://www.webrats.xyz",
"https://xeek.com",
- "searx.roflcopter.fr"
+ "https://searx.roflcopter.fr"
],
"onion": [
- "https://3afisqjw2rxm6z7mmstyt5rx75qfqrgxnkzftknbp2vhipr2nrmrjdyd.onion",
- "https://searxbgetrkiwxhdwi6svpgh7eotopqyxhbqiokrwzg7dcte44t36kyd.onion",
- "https://suche.xyzco456vwisukfg.onion",
- "https://w5rl6wsd7mzj4bdkbuqvzidet5osdsm5jhg2f7nvfidakfq5exda5wid.onion",
- "https://4n53nafyi77iplnbrpmxnp3x4exbswwxigujaxy3b37fvr7bvlopxeyd.onion",
- "https://z34ambyi6makk6ta7ksog2sljly2ctt2sa3apekb7wkllk72sxecdtad.onion",
- "https://search.4bkxscubgtxwvhpe.onion",
- "https://juy4e6eicawzdrz7.onion",
- "https://z5vawdol25vrmorm4yydmohsd4u6rdoj2sylvoi3e3nqvxkvpqul7bqd.onion",
- "https://zbuc3bbzbfdqqo2x46repx2ddajbha6fpsjeeptjhhhhzji3zopxdqyd.onion",
- "https://f4qfqajszpx5b7itzxt6mb7kj4ktpgbdq7lq6xaiqyqx6a7de3epptad.onion",
- "https://searx.cwuzdtzlubq5uual.onion",
- "https://rq2w52kyrif3xpfihkgjnhqm3a5aqhoikpv72z3drpjglfzc2wr5z4yd.onion",
- "https://searx3aolosaf3urwnhpynlhuokqsgz47si4pzz5hvb7uuzyjncl2tid.onion",
- "https://searx.bsbvtqi5oq2cqzn32zt4cr2f2z2rwots3dq7gmdcnlyqoxko2wx6reqd.onion",
+ "http://3afisqjw2rxm6z7mmstyt5rx75qfqrgxnkzftknbp2vhipr2nrmrjdyd.onion",
+ "http://searxbgetrkiwxhdwi6svpgh7eotopqyxhbqiokrwzg7dcte44t36kyd.onion",
+ "http://suche.xyzco456vwisukfg.onion",
+ "http://w5rl6wsd7mzj4bdkbuqvzidet5osdsm5jhg2f7nvfidakfq5exda5wid.onion",
+ "http://4n53nafyi77iplnbrpmxnp3x4exbswwxigujaxy3b37fvr7bvlopxeyd.onion",
+ "http://z34ambyi6makk6ta7ksog2sljly2ctt2sa3apekb7wkllk72sxecdtad.onion",
+ "http://search.4bkxscubgtxwvhpe.onion",
+ "http://juy4e6eicawzdrz7.onion",
+ "http://z5vawdol25vrmorm4yydmohsd4u6rdoj2sylvoi3e3nqvxkvpqul7bqd.onion",
+ "http://zbuc3bbzbfdqqo2x46repx2ddajbha6fpsjeeptjhhhhzji3zopxdqyd.onion",
+ "http://f4qfqajszpx5b7itzxt6mb7kj4ktpgbdq7lq6xaiqyqx6a7de3epptad.onion",
+ "http://searx.cwuzdtzlubq5uual.onion",
+ "http://rq2w52kyrif3xpfihkgjnhqm3a5aqhoikpv72z3drpjglfzc2wr5z4yd.onion",
+ "http://searx3aolosaf3urwnhpynlhuokqsgz47si4pzz5hvb7uuzyjncl2tid.onion",
+ "http://searx.bsbvtqi5oq2cqzn32zt4cr2f2z2rwots3dq7gmdcnlyqoxko2wx6reqd.onion"
],
"i2p": [
- "https://ransack.i2p",
- "https://mqamk4cfykdvhw5kjez2gnvse56gmnqxn7vkvvbuor4k4j2lbbnq.b32.i2p",
+ "http://ransack.i2p",
+ "http://mqamk4cfykdvhw5kjez2gnvse56gmnqxn7vkvvbuor4k4j2lbbnq.b32.i2p"
]
},
- "whoogle": {
+ "whoogle": {
"normal": [
"https://s.alefvanoon.xyz",
"https://search.albony.xyz",
- "https://search.exonip.de",
"https://search.garudalinux.org",
"https://search.sethforprivacy.com",
"https://whoogle.fossho.st",
"https://whooglesearch.net",
"https://www.whooglesearch.ml",
- "https://whoogle.dcs0.hu",
+ "https://whoogle.dcs0.hu"
]
- }
+ },
};
const getRedirects = () => redirects;
diff --git a/src/assets/javascripts/helpers/translate.js b/src/assets/javascripts/helpers/translate.js
index d128bc53..198603e9 100644
--- a/src/assets/javascripts/helpers/translate.js
+++ b/src/assets/javascripts/helpers/translate.js
@@ -16,6 +16,11 @@ let redirects = {
"https://manerakai.asuscomm.com:447",
"https://translate.bus-hit.me",
"https://simplytranslate.pussthecat.org",
+ "https://translate.northboot.xyz"
+ ],
+ "onion": [
+ "http://fyng2tsmzmvxmojzbbwmfnsn2lrcyftf4cw6rk5j2v2huliazud3fjid.onion",
+ "http://xxtbwyb5z5bdvy2f6l2yquu5qilgkjeewno4qfknvb3lkg3nmoklitid.onion"
]
},
diff --git a/src/assets/javascripts/helpers/twitter.js b/src/assets/javascripts/helpers/twitter.js
index ee5ea287..24d2725e 100644
--- a/src/assets/javascripts/helpers/twitter.js
+++ b/src/assets/javascripts/helpers/twitter.js
@@ -20,27 +20,63 @@ const targets = [
let redirects = {
"normal": [
"https://nitter.net",
- "https://nitter.snopyta.org",
"https://nitter.42l.fr",
- "https://nitter.nixnet.services",
"https://nitter.pussthecat.org",
- "https://nitter.dark.fail",
- "https://nitter.tedomum.net",
- "https://nitter.cattube.org",
+ "https://nitter.nixnet.services",
"https://nitter.fdn.fr",
"https://nitter.1d4.us",
"https://nitter.kavin.rocks",
- "https://tweet.lambda.dance",
- "https://nitter.cc",
- "https://nitter.vxempire.xyz",
"https://nitter.unixfox.eu",
+ "https://nitter.domain.glass",
+ "https://nitter.eu",
+ "https://nitter.namazso.eu",
+ "https://nitter.actionsack.com",
+ "https://birdsite.xanny.family",
+ "https://nitter.hu",
+ "https://twitr.gq",
+ "https://nitter.moomoo.me",
+ "https://nittereu.moomoo.me",
"https://bird.trom.tf",
+ "https://nitter.it",
+ "https://twitter.censors.us",
+ "https://nitter.grimneko.de",
+ "https://nitter.alefvanoon.xyz",
+ "https://n.hyperborea.cloud",
+ "https://nitter.ca",
+ "https://twitter.076.ne.jp",
+ "https://nitter.mstdn.social",
+ "https://nitter.fly.dev",
+ "https://notabird.site",
+ "https://nitter.weiler.rocks",
+ "https://nitter.silkky.cloud",
+ "https://nitter.sethforprivacy.com",
+ "https://nttr.stream",
+ "https://nitter.cutelab.space",
+ "https://nitter.nl",
+ "https://nitter.mint.lgbt",
+ "https://nitter.tokhmi.xyz",
+ "https://nitter.bus-hit.me",
+ "https://fuckthesacklers.network",
+ "https://nitter.govt.land",
+ "https://nitter.datatunnel.xyz",
+ "https://nitter.esmailelbob.xyz"
],
"onion": [
"http://3nzoldnxplag42gqjs23xvghtzf6t6yzssrtytnntc6ppc7xxuoneoad.onion",
"http://nitter.l4qlywnpwqsluw65ts7md3khrivpirse744un3x7mlskqauz5pyuzgqd.onion",
- "http://nitterlgj3n5fgwesu3vxc5h67ruku33nqaoeoocae2mvlzhsu6k7fqd.onion",
+ "http://nitter7bryz3jv7e3uekphigvmoyoem4al3fynerxkj22dmoxoq553qd.onion",
"http://npf37k3mtzwxreiw52ccs5ay4e6qt2fkcs2ndieurdyn2cuzzsfyfvid.onion",
+ "http://nitter.v6vgyqpa7yefkorazmg5d5fimstmvm2vtbirt6676mt7qmllrcnwycqd.onion",
+ "http://i23nv6w3juvzlw32xzoxcqzktegd4i4fu3nmnc2ewv4ggiu4ledwklad.onion",
+ "http://26oq3gioiwcmfojub37nz5gzbkdiqp7fue5kvye7d4txv4ny6fb4wwid.onion",
+ "http://vfaomgh4jxphpbdfizkm5gbtjahmei234giqj4facbwhrfjtcldauqad.onion",
+ "http://iwgu3cv7ywf3gssed5iqtavmrlszgsxazkmwwnt4h2kdait75thdyrqd.onion",
+ "http://erpnncl5nhyji3c32dcfmztujtl3xaddqb457jsbkulq24zqq7ifdgad.onion",
+ "http://ckzuw5misyahmg7j5t5xwwuj3bwy62jfolxyux4brfflramzsvvd3syd.onion",
+ "http://jebqj47jgxleaiosfcxfibx2xdahjettuydlxbg64azd4khsxv6kawid.onion",
+ "http://nttr2iupbb6fazdpr2rgbooon2tzbbsvvkagkgkwohhodjzj43stxhad.onion",
+ "http://nitraeju2mipeziu2wtcrqsxg7h62v5y4eqgwi75uprynkj74gevvuqd.onion",
+ "http://nitter.lqs5fjmajyp7rvp4qvyubwofzi6d4imua7vs237rkc4m5qogitqwrgyd.onion"
]
};
const getRedirects = () => redirects;
diff --git a/src/assets/javascripts/helpers/wikipedia.js b/src/assets/javascripts/helpers/wikipedia.js
index d3c9ffb5..e730c8b8 100644
--- a/src/assets/javascripts/helpers/wikipedia.js
+++ b/src/assets/javascripts/helpers/wikipedia.js
@@ -4,7 +4,13 @@ const targets = /wikipedia.org/;
let redirects = {
"normal": [
- "https://wikiless.org"
+ "https://wikiless.org",
+ "https://wikiless.alefvanoon.xyz",
+ "https://wikiless.sethforprivacy.com",
+ "https://wiki.604kph.xyz"
+ ],
+ "onion": [
+ "http://dj2tbh2nqfxyfmvq33cjmhuw7nb6am7thzd3zsjvizeqf374fixbrxyd.onion"
]
};
const getRedirects = () => redirects;
diff --git a/src/assets/javascripts/helpers/youtube/invidious-cookies.js b/src/assets/javascripts/helpers/youtube/invidious-cookies.js
new file mode 100644
index 00000000..6b77a278
--- /dev/null
+++ b/src/assets/javascripts/helpers/youtube/invidious-cookies.js
@@ -0,0 +1,38 @@
+
+function getCookie() {
+ let ca = document.cookie.split(";");
+ for (let i = 0; i < ca.length; i++) {
+ let c = ca[i];
+ while (c.charAt(0) == " ") c = c.substring(1, c.length);
+ if (c.indexOf("PREFS=") == 0)
+ return JSON.parse(
+ decodeURIComponent(c.substring("PREFS=".length, c.length))
+ );
+ }
+ return {};
+}
+
+browser.storage.sync.get(
+ [
+ "invidiousAlwaysProxy",
+ "invidiousVideoQuality",
+ "invidiousDarkMode",
+ "invidiousOnlyEmbeddedVideo",
+ "invidiousVolume",
+ "invidiousPlayerStyle",
+ "invidiousSubtitles",
+ "invidiousAutoplay",
+ ], (result) => {
+ const prefs = getCookie();
+
+ prefs.local = result.invidiousAlwaysProxy;
+ prefs.quality = result.invidiousVideoQuality;
+ prefs.dark_mode = result.invidiousDarkMode;
+ prefs.volume = result.invidiousVolume;
+ prefs.player_style = result.invidiousPlayerStyle;
+ prefs.subtitles = result.invidiousSubtitles;
+ prefs.autoplay = result.invidiousAutoplay;
+
+ document.cookie = `PREFS=${encodeURIComponent(JSON.stringify(prefs))}`;
+ }
+)
diff --git a/src/assets/javascripts/helpers/youtube.js b/src/assets/javascripts/helpers/youtube/youtube.js
index 30f7a4b5..547e2614 100644
--- a/src/assets/javascripts/helpers/youtube.js
+++ b/src/assets/javascripts/helpers/youtube/youtube.js
@@ -1,6 +1,6 @@
"use strict";
-import commonHelper from './common.js'
+import commonHelper from '../common.js'
window.browser = window.browser || window.chrome;
@@ -15,39 +15,30 @@ const targets = [
"s.ytimg.com",
"music.youtube.com",
];
-/*
- Please remember to also update the manifest.json file
- (content_scripts > matches, 'persist-invidious-prefs.js')
- when updating this list:
- */
let redirects = {
"invidious": {
"normal": [
- "https://invidious.snopyta.org",
- "https://invidious.xyz",
- "https://invidious.kavin.rocks",
- "https://tube.connect.cafe",
- "https://invidious.zapashcanon.fr",
- "https://invidiou.site",
- "https://vid.mint.lgbt",
- "https://invidious.site",
"https://yewtu.be",
- "https://invidious.tube",
- "https://invidious.silkky.cloud",
- "https://invidious.himiko.cloud",
- "https://inv.skyn3t.in",
- "https://tube.incognet.io",
- "https://invidious.tinfoil-hat.net",
- "https://invidious.namazso.eu",
+ "https://invidious.snopyta.org",
"https://vid.puffyan.us",
- "https://dev.viewtube.io",
- "https://invidious.048596.xyz",
+ "https://invidious.kavin.rocks",
+ "https://invidio.xamh.de",
+ "https://inv.riverside.rocks",
+ "https://invidious-us.kavin.rocks",
+ "https://invidious.osi.kr",
+ "https://inv.cthd.icu",
+ "https://yt.artemislena.eu",
+ "https://youtube.076.ne.jp",
+ "https://invidious.namazso.eu"
],
"onion": [
- "http://fz253lmuao3strwbfbmx46yu7acac2jz27iwtorgmbqlkurlclmancad.onion",
- "http://qklhadlycap4cnod.onion",
"http://c7hqkpkpemu6e7emz5b4vyz7idjgdvgaaa3dyimmeojqbgpea3xqjoid.onion",
"http://w6ijuptxiku4xpnnaetxvnkc5vqcdu7mgns2u77qefoixi63vbvnpnqd.onion",
+ "http://kbjggqkzv65ivcqj6bumvp337z6264huv5kpkwuv6gu5yjiskvan7fad.onion",
+ "http://grwp24hodrefzvjjuccrkw3mjq4tzhaaq32amf33dzpmuxe7ilepcmad.onion",
+ "http://hpniueoejy4opn7bc4ftgazyqjoeqwlvh2uiku2xqku6zpoa4bf5ruid.onion",
+ "http://osbivz6guyeahrwp2lnwyjk2xos342h4ocsxyqrlaopqjuhwn2djiiyd.onion",
+ "http://u2cvlit75owumwpy4dj2hsmvkq7nvrclkpht7xgyye2pyoxhpmclkrad.onion"
]
},
"piped": {
@@ -176,7 +167,6 @@ function setPersistInvidiousPrefs(val) {
persistInvidiousPrefs = val;
browser.storage.sync.set({ persistInvidiousPrefs })
console.log("persistInvidiousPrefs: ", persistInvidiousPrefs)
- if (persistInvidiousPrefs) initInvidiousCookie()
}
const getPersistInvidiousPrefs = () => persistInvidiousPrefs;
@@ -184,27 +174,6 @@ function isYoutube(url) {
return targets.includes(url.host);
}
-function getCookie() {
- let ca = document.cookie.split(";");
- for (let i = 0; i < ca.length; i++) {
- let c = ca[i];
- while (c.charAt(0) == " ") c = c.substring(1, c.length);
- if (c.indexOf("PREFS=") == 0)
- return JSON.parse(
- decodeURIComponent(c.substring("PREFS=".length, c.length))
- );
- }
- return {};
-}
-
-function initInvidiousCookie() {
- const prefs = getCookie();
- prefs.local = invidiousAlwaysProxy;
- prefs.quality = invidiousVideoQuality;
- prefs.dark_mode = invidiousDarkMode;
- document.cookie = `PREFS=${encodeURIComponent(JSON.stringify(prefs))}`;
-}
-
async function init() {
let result = await browser.storage.sync.get(
[
@@ -214,10 +183,7 @@ async function init() {
"persistInvidiousPrefs",
"disableYoutube",
"invidiousInstance",
- "invidiousAlwaysProxy",
"invidiousOnlyEmbeddedVideo",
- "invidiousVideoQuality",
- "invidiousDarkMode",
"invidiousVolume",
"invidiousPlayerStyle",
"invidiousSubtitles",
@@ -226,8 +192,12 @@ async function init() {
"youtubeRedirects",
"youtubeFrontend",
]);
+ if (result.youtubeRedirects) redirects = result.youtubeRedirects
+ frontend = result.youtubeFrontend ?? 'piped';
disableYoutube = result.disableYoutube ?? false;
+
invidiousInstance = result.invidiousInstance;
+
invidiousAlwaysProxy = result.invidiousAlwaysProxy ?? true;
invidiousOnlyEmbeddedVideo = result.invidiousOnlyEmbeddedVideo ?? false;
invidiousVideoQuality = result.invidiousVideoQuality ?? 'medium';
@@ -236,14 +206,18 @@ async function init() {
invidiousPlayerStyle = result.invidiousPlayerStyle ?? 'invidious';
invidiousSubtitles = result.invidiousSubtitles || '';
invidiousAutoplay = result.invidiousAutoplay ?? true;
- useFreeTube = result.useFreeTube ?? false;
- if (result.youtubeRedirects)
- redirects = result.youtubeRedirects
+ persistInvidiousPrefs = result.persistInvidiousPrefs ?? false;
- if (result.persistInvidiousPrefs) initInvidiousCookie();
+ useFreeTube = result.useFreeTube ?? false;
+}
- frontend = result.youtubeFrontend ?? 'piped';
+function invidiousInitCookies(tabId) {
+ browser.tabs.executeScript(
+ tabId, {
+ file: "/assets/javascripts/helpers/youtube/invidious-cookies.js",
+ runAt: "document_start"
+ });
}
function redirect(url, initiator, type) {
@@ -261,31 +235,26 @@ function redirect(url, initiator, type) {
)
return null;
- if (frontend == 'invidious') {
+ if (frontend == 'freeTube' && type === "main_frame")
+ return `freetube://${url}`;
+ else if (frontend == 'invidious') {
if (url.pathname.match(/iframe_api/) || url.pathname.match(/www-widgetapi/)) return null; // Don't redirect YouTube Player API.
- if (url.host.split(".")[0] === "studio") return null; // Avoid redirecting `studio.youtube.com`
+ if (url.host.split(".")[0] === "studio") {
+ console.log("no because studio");
+ return null;
+ }; // Avoid redirecting `studio.youtube.com`
if (invidiousOnlyEmbeddedVideo && type !== "sub_frame") return null;
- if (useFreeTube && type === "main_frame")
- return `freetube://${url}`;
-
- // Apply settings
- if (invidiousAlwaysProxy) url.searchParams.append("local", true);
-
- if (invidiousVideoQuality) url.searchParams.append("quality", invidiousVideoQuality);
-
- if (invidiousDarkMode) url.searchParams.append("dark_mode", invidiousDarkMode);
-
- if (invidiousVolume) url.searchParams.append("volume", invidiousVolume);
-
- if (invidiousPlayerStyle) url.searchParams.append("player_style", invidiousPlayerStyle);
-
- if (invidiousSubtitles) url.searchParams.append("subtitles", invidiousSubtitles);
-
- if (invidiousAutoplay) url.searchParams.append("autoplay", 1);
+ url.searchParams.append("local", invidiousAlwaysProxy);
+ url.searchParams.append("quality", invidiousVideoQuality);
+ url.searchParams.append("dark_mode", invidiousDarkMode);
+ url.searchParams.append("volume", invidiousVolume);
+ url.searchParams.append("player_style", invidiousPlayerStyle);
+ url.searchParams.append("subtitles", invidiousSubtitles);
+ url.searchParams.append("autoplay", invidiousAutoplay);
let randomInstance = commonHelper.getRandomInstance(redirects.invidious.normal)
@@ -304,6 +273,8 @@ function redirect(url, initiator, type) {
export default {
+ invidiousInitCookies,
+
getFrontend,
setFrontend,
diff --git a/src/manifest.json b/src/manifest.json
index ff2cad69..161162e9 100644
--- a/src/manifest.json
+++ b/src/manifest.json
@@ -42,7 +42,7 @@
}
},
"options_ui": {
- "page": "pages/options/general.html",
+ "page": "pages/options/general/general.html",
"browser_style": false,
"open_in_tab": true
},
diff --git a/src/pages/background/background.js b/src/pages/background/background.js
index caa7444d..30d7ae32 100644
--- a/src/pages/background/background.js
+++ b/src/pages/background/background.js
@@ -1,6 +1,6 @@
"use strict";
-import youtubeHelper from "../../assets/javascripts/helpers/youtube.js";
+import youtubeHelper from "../../assets/javascripts/helpers/youtube/youtube.js";
import twitterHelper from "../../assets/javascripts/helpers/twitter.js";
import instagramHelper from "../../assets/javascripts/helpers/instagram.js";
import redditHelper from "../../assets/javascripts/helpers/reddit.js";
@@ -75,6 +75,13 @@ browser.tabs.onUpdated.addListener((tabId, changeInfo, _) => {
return;
}
var protocolHost = `${url.protocol}//${url.host}`;
+
+
+ if (youtubeHelper.getRedirects().invidious.normal.includes(protocolHost)) {
+ if (youtubeHelper.getPersistInvidiousPrefs())
+ youtubeHelper.invidiousInitCookies(tabId);
+ }
+
var mightyList = [];
mightyList.push(
...youtubeHelper.getRedirects().invidious.normal,
diff --git a/src/pages/options/general.html b/src/pages/options/general/general.html
index 507e65c3..8c46c40b 100644
--- a/src/pages/options/general.html
+++ b/src/pages/options/general/general.html
@@ -4,23 +4,23 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
- <link href="../stylesheets/styles.css" rel="stylesheet" />
+ <link href="../../stylesheets/styles.css" rel="stylesheet" />
<title>LibRedirect Options</title>
</head>
<body class="option">
<section class="links">
- <a href="general.html" class="selected">General</a>
- <a href="youtube.html">Youtube</a>
- <a href="twitter.html">Twitter</a>
- <a href="instagram.html">Instagram</a>
- <a href="reddit.html">Reddit</a>
- <a href="search.html">Search</a>
- <a href="translate.html">Translate</a>
- <a href="maps.html">Maps</a>
- <a href="wikipedia.html" >Wikipedia</a>
- <a href="medium.html">Medium</a>
+ <a href="./general.html" class="selected">General</a>
+ <a href="../youtube/youtube.html">Youtube</a>
+ <a href="../twitter/twitter.html">Twitter</a>
+ <a href="../instagram/instagram.html">Instagram</a>
+ <a href="../reddit/reddit.html">Reddit</a>
+ <a href="../search/search.html">Search</a>
+ <a href="../translate/translate.html">Translate</a>
+ <a href="../maps/maps.html">Maps</a>
+ <a href="../wikipedia/wikipedia.html">Wikipedia</a>
+ <a href="../medium/medium.html">Medium</a>
</section>
@@ -99,8 +99,8 @@
<script type="module" src="./general.js"></script>
- <script type="module" src="./init.js"></script>
- <script src="../../assets/javascripts/localise.js"></script>
+ <script type="module" src="../init.js"></script>
+ <!-- <script src="../../assets/javascripts/localise.js"></script> -->
</body>
</html> \ No newline at end of file
diff --git a/src/pages/options/general.js b/src/pages/options/general/general.js
index 1104ba16..4f111469 100644
--- a/src/pages/options/general.js
+++ b/src/pages/options/general/general.js
@@ -1,9 +1,9 @@
"use strict";
-import data from "../../assets/javascripts/data.js";
-import commonHelper from "../../assets/javascripts/helpers/common.js";
+import data from "../../../assets/javascripts/data.js";
+import commonHelper from "../../../assets/javascripts/helpers/common.js";
-import shared from "./shared.js";
+import shared from "../shared.js";
const domparser = new DOMParser();
diff --git a/src/pages/options/instagram.html b/src/pages/options/instagram/instagram.html
index 25cfc8f2..dfbbd7f7 100644
--- a/src/pages/options/instagram.html
+++ b/src/pages/options/instagram/instagram.html
@@ -5,22 +5,22 @@
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <link href="../stylesheets/styles.css" rel="stylesheet" />
+ <link href="../../stylesheets/styles.css" rel="stylesheet" />
</head>
<body class="option">
<section class="links">
- <a href="general.html">General</a>
- <a href="youtube.html">Youtube</a>
- <a href="twitter.html">Twitter</a>
+ <a href="../general/general.html">General</a>
+ <a href="../youtube/youtube.html">Youtube</a>
+ <a href="../twitter/twitter.html">Twitter</a>
<a href="instagram.html" class="selected">Instagram</a>
- <a href="reddit.html">Reddit</a>
- <a href="search.html">Search</a>
- <a href="translate.html">Translate</a>
- <a href="maps.html">Maps</a>
- <a href="wikipedia.html">Wikipedia</a>
- <a href="medium.html">Medium</a>
+ <a href="../reddit/reddit.html">Reddit</a>
+ <a href="../search/search.html">Search</a>
+ <a href="../translate/translate.html">Translate</a>
+ <a href="../maps/maps.html">Maps</a>
+ <a href="../wikipedia/wikipedia.html">Wikipedia</a>
+ <a href="../medium/medium.html">Medium</a>
</section>
<section class="option-block">
@@ -46,9 +46,9 @@
</section>
- <script type="module" src="./init.js"></script>
+ <script type="module" src="../init.js"></script>
<script type="module" src="./instagram.js"></script>
- <script src="../../assets/javascripts/localise.js"></script>
+ <!-- <script src="../../assets/javascripts/localise.js"></script> -->
</body>
</html> \ No newline at end of file
diff --git a/src/pages/options/instagram.js b/src/pages/options/instagram/instagram.js
index b4e57def..c5aad9c2 100644
--- a/src/pages/options/instagram.js
+++ b/src/pages/options/instagram/instagram.js
@@ -1,11 +1,10 @@
-import instagramHelper from "../../assets/javascripts/helpers/instagram.js";
+import instagramHelper from "../../../assets/javascripts/helpers/instagram.js";
let disableInstagramElement = document.getElementById("disable-bibliogram");
+disableInstagramElement.addEventListener("change",
+ (event) => instagramHelper.setDisableInstagram(!event.target.checked)
+);
instagramHelper.init().then(() => {
disableInstagramElement.checked = !instagramHelper.getDisableInstagram();
-})
-
-disableInstagramElement.addEventListener("change",
- (event) => instagramHelper.setDisableInstagram(!event.target.checked)
-); \ No newline at end of file
+}) \ No newline at end of file
diff --git a/src/pages/options/maps.html b/src/pages/options/maps/maps.html
index bfcedbaf..7702d019 100644
--- a/src/pages/options/maps.html
+++ b/src/pages/options/maps/maps.html
@@ -5,23 +5,23 @@
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <link href="../stylesheets/styles.css" rel="stylesheet" />
+ <link href="../../stylesheets/styles.css" rel="stylesheet" />
<title>LibRedirect Options: Twitter</title>
</head>
<body class="option">
<section class="links">
- <a href="general.html">General</a>
- <a href="youtube.html">Youtube</a>
- <a href="twitter.html">Twitter</a>
- <a href="instagram.html">Instagram</a>
- <a href="reddit.html">Reddit</a>
- <a href="search.html">Search</a>
- <a href="translate.html">Translate</a>
+ <a href="../general/general.html">General</a>
+ <a href="../youtube/youtube.html">Youtube</a>
+ <a href="../twitter/twitter.html">Twitter</a>
+ <a href="../instagram/instagram.html">Instagram</a>
+ <a href="../reddit/reddit.html">Reddit</a>
+ <a href="../search/search.html">Search</a>
+ <a href="../translate/translate.html">Translate</a>
<a href="maps.html" class="selected">Maps</a>
- <a href="wikipedia.html">Wikipedia</a>
- <a href="medium.html">Medium</a>
+ <a href="../wikipedia/wikipedia.html">Wikipedia</a>
+ <a href="../medium/medium.html">Medium</a>
</section>
<section class="option-block">
@@ -36,9 +36,9 @@
</div>
</div> -->
</section>
- <script type="module" src="./init.js"></script>
+ <script type="module" src="../init.js"></script>
<script type="module" src="./maps.js"></script>
- <script src="../../assets/javascripts/localise.js"></script>
+ <!-- <script src="../../assets/javascripts/localise.js"></script> -->
</body>
</html> \ No newline at end of file
diff --git a/src/pages/options/maps.js b/src/pages/options/maps/maps.js
index 9e5bb2cc..edb1cca3 100644
--- a/src/pages/options/maps.js
+++ b/src/pages/options/maps/maps.js
@@ -1,11 +1,10 @@
-import mapsHelper from "../../assets/javascripts/helpers/maps.js";
+import mapsHelper from "../../../assets/javascripts/helpers/maps.js";
let disableMapsElement = document.getElementById("disable-osm");
+disableMapsElement.addEventListener("change",
+ (event) => mapsHelper.setDisableMaps(!event.target.checked)
+);
mapsHelper.init().then(() => {
disableMapsElement.checked = !mapsHelper.getDisableMaps();
-})
-
-disableMapsElement.addEventListener("change",
- (event) => mapsHelper.setDisableMaps(!event.target.checked)
-); \ No newline at end of file
+}) \ No newline at end of file
diff --git a/src/pages/options/medium.html b/src/pages/options/medium/medium.html
index fb44b7ee..877d704e 100644
--- a/src/pages/options/medium.html
+++ b/src/pages/options/medium/medium.html
@@ -5,21 +5,21 @@
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <link href="../stylesheets/styles.css" rel="stylesheet" />
+ <link href="../../stylesheets/styles.css" rel="stylesheet" />
<title>LibRedirect Options: Twitter</title>
</head>
<body class="option">
<section class="links">
- <a href="general.html">General</a>
- <a href="youtube.html">Youtube</a>
- <a href="twitter.html">Twitter</a>
- <a href="instagram.html">Instagram</a>
- <a href="reddit.html">Reddit</a>
- <a href="search.html">Search</a>
- <a href="translate.html">Translate</a>
- <a href="maps.html">Maps</a>
- <a href="wikipedia.html">Wikipedia</a>
+ <a href="../general/general.html">General</a>
+ <a href="../youtube/youtube.html">Youtube</a>
+ <a href="../twitter/twitter.html">Twitter</a>
+ <a href="../instagram/instagram.html">Instagram</a>
+ <a href="../reddit/reddit.html">Reddit</a>
+ <a href="../search/search.html">Search</a>
+ <a href="../translate/translate.html">Translate</a>
+ <a href="../maps/maps.html">Maps</a>
+ <a href="../wikipedia/wikipedia.html">Wikipedia</a>
<a href="medium.html" class="selected">Medium</a>
</section>
@@ -45,9 +45,9 @@
</section> -->
</section>
- <script type="module" src="./init.js"></script>
+ <script type="module" src="../init.js"></script>
<script type="module" src="./medium.js"></script>
- <script src="../../assets/javascripts/localise.js"></script>
+ <!-- <script src="../../assets/javascripts/localise.js"></script> -->
</body>
</html> \ No newline at end of file
diff --git a/src/pages/options/medium.js b/src/pages/options/medium/medium.js
index 4f0377f5..fea66855 100644
--- a/src/pages/options/medium.js
+++ b/src/pages/options/medium/medium.js
@@ -1,11 +1,10 @@
-import mediumHelper from "../../assets/javascripts/helpers/medium.js";
+import mediumHelper from "../../../assets/javascripts/helpers/medium.js";
let disableMediumElement = document.getElementById("disable-scribe");
-
-mediumHelper.init().then(() => {
- disableMediumElement.checked = !mediumHelper.getDisableMedium();
-})
-
disableMediumElement.addEventListener("change",
(event) => mediumHelper.setDisableMedium(!event.target.checked)
);
+
+mediumHelper.init().then(() => {
+ disableMediumElement.checked = !mediumHelper.getDisableMedium();
+}) \ No newline at end of file
diff --git a/src/pages/options/reddit.html b/src/pages/options/reddit/reddit.html
index 14474285..b3f9c7c7 100644
--- a/src/pages/options/reddit.html
+++ b/src/pages/options/reddit/reddit.html
@@ -5,22 +5,22 @@
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <link href="../stylesheets/styles.css" rel="stylesheet" />
+ <link href="../../stylesheets/styles.css" rel="stylesheet" />
<title>LibRedirect Options: Twitter</title>
</head>
<body class="option">
<section class="links">
- <a href="general.html">General</a>
- <a href="youtube.html">Youtube</a>
- <a href="twitter.html">Twitter</a>
- <a href="instagram.html">Instagram</a>
+ <a href="../general/general.html">General</a>
+ <a href="../youtube/youtube.html">Youtube</a>
+ <a href="../twitter/twitter.html">Twitter</a>
+ <a href="../instagram/instagram.html">Instagram</a>
<a href="reddit.html" class="selected">Reddit</a>
- <a href="search.html">Search</a>
- <a href="translate.html">Translate</a>
- <a href="maps.html">Maps</a>
- <a href="wikipedia.html">Wikipedia</a>
- <a href="medium.html">Medium</a>
+ <a href="../search/search.html">Search</a>
+ <a href="../translate/translate.html">Translate</a>
+ <a href="../maps/maps.html">Maps</a>
+ <a href="../wikipedia/wikipedia.html">Wikipedia</a>
+ <a href="../medium/medium.html">Medium</a>
</section>
@@ -64,9 +64,9 @@
</section>
- <script type="module" src="./init.js"></script>
+ <script type="module" src="../init.js"></script>
<script type="module" src="./reddit.js"></script>
- <script src="../../assets/javascripts/localise.js"></script>
+ <!-- <script src="../../assets/javascripts/localise.js"></script> -->
</body>
</html> \ No newline at end of file
diff --git a/src/pages/options/reddit.js b/src/pages/options/reddit/reddit.js
index 0222c6dd..92bd6e46 100644
--- a/src/pages/options/reddit.js
+++ b/src/pages/options/reddit/reddit.js
@@ -1,17 +1,16 @@
-import redditHelper from "../../assets/javascripts/helpers/reddit.js";
+import redditHelper from "../../../assets/javascripts/helpers/reddit.js";
let disableRedditElement = document.getElementById("disable-reddit");
-let redditFrontendElement = document.getElementById("reddit-frontend");
-
-redditHelper.init().then(() => {
- disableRedditElement.checked = !redditHelper.getDisableReddit();
- redditFrontendElement.value = redditHelper.getRedditFrontend();
-})
-
disableRedditElement.addEventListener("change",
(event) => redditHelper.setDisableReddit(!event.target.checked)
);
+let redditFrontendElement = document.getElementById("reddit-frontend");
redditFrontendElement.addEventListener("change",
(event) => redditHelper.setRedditFrontend(event.target.options[redditFrontendElement.selectedIndex].value)
-); \ No newline at end of file
+);
+
+redditHelper.init().then(() => {
+ disableRedditElement.checked = !redditHelper.getDisableReddit();
+ redditFrontendElement.value = redditHelper.getRedditFrontend();
+}) \ No newline at end of file
diff --git a/src/pages/options/search.html b/src/pages/options/search/search.html
index d0510eed..863a3472 100644
--- a/src/pages/options/search.html
+++ b/src/pages/options/search/search.html
@@ -5,22 +5,22 @@
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <link href="../stylesheets/styles.css" rel="stylesheet" />
+ <link href="../../stylesheets/styles.css" rel="stylesheet" />
<title>LibRedirect Options: Twitter</title>
</head>
<body class="option">
<section class="links">
- <a href="general.html">General</a>
- <a href="youtube.html">Youtube</a>
- <a href="twitter.html">Twitter</a>
- <a href="instagram.html">Instagram</a>
- <a href="reddit.html">Reddit</a>
+ <a href="../general/general.html">General</a>
+ <a href="../youtube/youtube.html">Youtube</a>
+ <a href="../twitter/twitter.html">Twitter</a>
+ <a href="../instagram/instagram.html">Instagram</a>
+ <a href="../reddit/reddit.html">Reddit</a>
<a href="search.html" class="selected">Search</a>
- <a href="translate.html">Translate</a>
- <a href="maps.html">Maps</a>
- <a href="wikipedia.html">Wikipedia</a>
- <a href="medium.html">Medium</a>
+ <a href="../translate/translate.html">Translate</a>
+ <a href="../maps/maps.html">Maps</a>
+ <a href="../wikipedia/wikipedia.html">Wikipedia</a>
+ <a href="../medium/medium.html">Medium</a>
</section>
<section class="option-block">
@@ -64,10 +64,10 @@
</section>
- <script type="module" src="./init.js"></script>
- <script type="module" src="./init.js"></script>
+ <script type="module" src="../init.js"></script>
+ <script type="module" src="../init.js"></script>
<script type="module" src="./search.js"></script>
- <script src="../../assets/javascripts/localise.js"></script>
+ <!-- <script src="../../assets/javascripts/localise.js"></script> -->
</body>
</html> \ No newline at end of file
diff --git a/src/pages/options/search.js b/src/pages/options/search/search.js
index 2029392c..e38480e2 100644
--- a/src/pages/options/search.js
+++ b/src/pages/options/search/search.js
@@ -1,17 +1,16 @@
-import searchHelper from "../../assets/javascripts/helpers/search.js";
+import searchHelper from "../../../assets/javascripts/helpers/search.js";
-let disableSearchElement = document.getElementById("disable-search");
let searchFrontendElement = document.getElementById("search-frontend");
-
-searchHelper.init().then(() => {
- disableSearchElement.checked = !searchHelper.getDisableSearch();
- searchFrontendElement.value = searchHelper.getSearchFrontend();
-});
-
searchFrontendElement.addEventListener("change",
(event) => searchHelper.setSearchFrontend(event.target.options[searchFrontendElement.selectedIndex].value)
);
+let disableSearchElement = document.getElementById("disable-search");
disableSearchElement.addEventListener("change",
(event) => searchHelper.setDisableSearch(!event.target.checked)
);
+
+searchHelper.init().then(() => {
+ disableSearchElement.checked = !searchHelper.getDisableSearch();
+ searchFrontendElement.value = searchHelper.getSearchFrontend();
+});
diff --git a/src/pages/options/shared.js b/src/pages/options/shared.js
index 62da2504..36f2ef27 100644
--- a/src/pages/options/shared.js
+++ b/src/pages/options/shared.js
@@ -107,7 +107,6 @@ function autocomplete(input, list) {
});
}
-
export default {
autocompletes,
parseURL,
diff --git a/src/pages/options/translate.html b/src/pages/options/translate/translate.html
index b193130a..3b6d7580 100644
--- a/src/pages/options/translate.html
+++ b/src/pages/options/translate/translate.html
@@ -5,22 +5,22 @@
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <link href="../stylesheets/styles.css" rel="stylesheet" />
+ <link href="../../stylesheets/styles.css" rel="stylesheet" />
<title>LibRedirect Options: Twitter</title>
</head>
<body class="option">
<section class="links">
- <a href="general.html">General</a>
- <a href="youtube.html">Youtube</a>
- <a href="twitter.html">Twitter</a>
- <a href="instagram.html">Instagram</a>
- <a href="reddit.html">Reddit</a>
- <a href="search.html">Search</a>
+ <a href="../general/general.html">General</a>
+ <a href="../youtube/youtube.html">Youtube</a>
+ <a href="../twitter/twitter.html">Twitter</a>
+ <a href="../instagram/instagram.html">Instagram</a>
+ <a href="../reddit/reddit.html">Reddit</a>
+ <a href="../search/search.html">Search</a>
<a href="translate.html" class="selected">Translate</a>
- <a href="maps.html">Maps</a>
- <a href="wikipedia.html">Wikipedia</a>
- <a href="medium.html">Medium</a>
+ <a href="../maps/maps.html">Maps</a>
+ <a href="../wikipedia/wikipedia.html">Wikipedia</a>
+ <a href="../medium/medium.html">Medium</a>
</section>
<section class="option-block">
<div class="some-block option-block">
@@ -43,9 +43,9 @@
</div>
</section>
- <script type="module" src="./init.js"></script>
+ <script type="module" src="../init.js"></script>
<script type="module" src="./translate.js"></script>
- <script src="../../assets/javascripts/localise.js"></script>
+ <!-- <script src="../../assets/javascripts/localise.js"></script> -->
</body>
</html> \ No newline at end of file
diff --git a/src/pages/options/translate.js b/src/pages/options/translate/translate.js
index 84a12ab0..480b754e 100644
--- a/src/pages/options/translate.js
+++ b/src/pages/options/translate/translate.js
@@ -1,18 +1,16 @@
-import translateHelper from "../../assets/javascripts/helpers/translate.js";
+import translateHelper from "../../../assets/javascripts/helpers/translate.js";
let disableTranslateElement = document.getElementById("disable-simplyTranslate");
-let translateFrontendElement = document.getElementById("translate-frontend");
-
-
-translateHelper.init().then(() => {
- disableTranslateElement.checked = !translateHelper.getDisableTranslate();
- translateFrontendElement.value = translateHelper.getFrontend();
-});
-
disableTranslateElement.addEventListener("change",
(event) => translateHelper.setDisableTranslate(!event.target.checked)
);
+let translateFrontendElement = document.getElementById("translate-frontend");
translateFrontendElement.addEventListener("change",
(event) => translateHelper.setFrontend(event.target.options[translateFrontendElement.selectedIndex].value)
);
+
+translateHelper.init().then(() => {
+ disableTranslateElement.checked = !translateHelper.getDisableTranslate();
+ translateFrontendElement.value = translateHelper.getFrontend();
+}); \ No newline at end of file
diff --git a/src/pages/options/twitter.html b/src/pages/options/twitter/twitter.html
index 555b3f64..b695a8b2 100644
--- a/src/pages/options/twitter.html
+++ b/src/pages/options/twitter/twitter.html
@@ -5,23 +5,23 @@
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <link href="../stylesheets/styles.css" rel="stylesheet" />
+ <link href="../../stylesheets/styles.css" rel="stylesheet" />
<title>LibRedirect Options: Twitter</title>
</head>
<body class="option">
<section class="links">
- <a href="general.html">General</a>
- <a href="youtube.html">Youtube</a>
+ <a href="../general/general.html">General</a>
+ <a href="../youtube/youtube.html">Youtube</a>
<a href="twitter.html" class="selected">Twitter</a>
- <a href="instagram.html">Instagram</a>
- <a href="reddit.html">Reddit</a>
- <a href="search.html">Search</a>
- <a href="translate.html">Translate</a>
- <a href="maps.html">Maps</a>
- <a href="wikipedia.html">Wikipedia</a>
- <a href="medium.html">Medium</a>
+ <a href="../instagram/instagram.html">Instagram</a>
+ <a href="../reddit/reddit.html">Reddit</a>
+ <a href="../search/search.html">Search</a>
+ <a href="../translate/translate.html">Translate</a>
+ <a href="../maps/maps.html">Maps</a>
+ <a href="../wikipedia/wikipedia.html">Wikipedia</a>
+ <a href="../medium/medium.html">Medium</a>
</section>
<section class="option-block">
@@ -53,9 +53,9 @@
</section>
- <script type="module" src="./init.js"></script>
+ <script type="module" src="../init.js"></script>
<script type="module" src="./twitter.js"></script>
- <script src="../../assets/javascripts/localise.js"></script>
+ <!-- <script src="../../assets/javascripts/localise.js"></script> -->
</body>
</html> \ No newline at end of file
diff --git a/src/pages/options/twitter.js b/src/pages/options/twitter/twitter.js
index f8fdd8ce..08fabb20 100644
--- a/src/pages/options/twitter.js
+++ b/src/pages/options/twitter/twitter.js
@@ -1,17 +1,16 @@
-import twitterHelper from "../../assets/javascripts/helpers/twitter.js";
+import twitterHelper from "../../../assets/javascripts/helpers/twitter.js";
-let removeTwitterSWElement = document.getElementById("remove-twitter-sw");
let disableTwitterElement = document.getElementById("disable-nitter");
-
-twitterHelper.init().then(() => {
- disableTwitterElement.checked = !twitterHelper.getDisableTwitter();
- removeTwitterSWElement.checked = !remove.getRemoveTwitterSW; // Problem
-});
-
disableTwitterElement.addEventListener("change",
(event) => twitterHelper.setDisableTwitter(!event.target.checked)
);
+let removeTwitterSWElement = document.getElementById("remove-twitter-sw");
removeTwitterSWElement.addEventListener("change", (event) => {
browser.storage.sync.set({ removeTwitterSW: !event.target.checked }); // Problem
});
+
+twitterHelper.init().then(() => {
+ disableTwitterElement.checked = !twitterHelper.getDisableTwitter();
+ removeTwitterSWElement.checked = !remove.getRemoveTwitterSW; // Problem
+}); \ No newline at end of file
diff --git a/src/pages/options/wikipedia.html b/src/pages/options/wikipedia/wikipedia.html
index d3cc5cb2..1a4ea8d5 100644
--- a/src/pages/options/wikipedia.html
+++ b/src/pages/options/wikipedia/wikipedia.html
@@ -5,22 +5,22 @@
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <link href="../stylesheets/styles.css" rel="stylesheet" />
+ <link href="../../stylesheets/styles.css" rel="stylesheet" />
<title>LibRedirect Options: Twitter</title>
</head>
<body class="option">
<section class="links">
- <a href="general.html">General</a>
- <a href="youtube.html">Youtube</a>
- <a href="twitter.html">Twitter</a>
- <a href="instagram.html">Instagram</a>
- <a href="reddit.html">Reddit</a>
- <a href="search.html">Search</a>
- <a href="translate.html">Translate</a>
- <a href="maps.html">Maps</a>
- <a href="wikipedia.html" class="selected">Wikipedia</a>
- <a href="medium.html">Medium</a>
+ <a href="../general/general.html">General</a>
+ <a href="../youtube/youtube.html">Youtube</a>
+ <a href="../twitter/twitter.html">Twitter</a>
+ <a href="../instagram/instagram.html">Instagram</a>
+ <a href="../reddit/reddit.html">Reddit</a>
+ <a href="../search/search.html">Search</a>
+ <a href="../translate/translate.html">Translate</a>
+ <a href="../maps/maps.html">Maps</a>
+ <a href="../wikipedia/wikipedia.html" class="selected">Wikipedia</a>
+ <a href="../medium/medium.html">Medium</a>
</section>
<section class="option-block">
@@ -44,9 +44,9 @@
</section> -->
</section>
- <script type="module" src="./init.js"></script>
+ <script type="module" src="../init.js"></script>
<script type="module" src="./wikipedia.js"></script>
- <script src="../../assets/javascripts/localise.js"></script>
+ <!-- <script src="../../assets/javascripts/localise.js"></script> -->
</body>
</html> \ No newline at end of file
diff --git a/src/pages/options/wikipedia.js b/src/pages/options/wikipedia/wikipedia.js
index 95ef6406..08a9a6e0 100644
--- a/src/pages/options/wikipedia.js
+++ b/src/pages/options/wikipedia/wikipedia.js
@@ -1,11 +1,10 @@
-import wikipediaHelper from "../../assets/javascripts/helpers/wikipedia.js";
+import wikipediaHelper from "../../../assets/javascripts/helpers/wikipedia.js";
let disableWikipediaElement = document.getElementById("disable-wikipedia");
+disableWikipediaElement.addEventListener("change",
+ (event) => wikipediaHelper.setDisableWikipedia(!event.target.checked)
+);
wikipediaHelper.init().then(() => {
disableWikipediaElement.checked = !wikipediaHelper.getDisableWikipedia();
-})
-
-disableWikipediaElement.addEventListener("change",
- (event) => wikipediaHelper.setDisableWikipedia(!event.target.checked)
-); \ No newline at end of file
+}) \ No newline at end of file
diff --git a/src/pages/options/youtube.html b/src/pages/options/youtube/youtube.html
index c1bd830e..15688873 100644
--- a/src/pages/options/youtube.html
+++ b/src/pages/options/youtube/youtube.html
@@ -5,23 +5,23 @@
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <link href="../stylesheets/styles.css" rel="stylesheet" />
+ <link href="../../stylesheets/styles.css" rel="stylesheet" />
<title>LibRedirect Options: Twitter</title>
</head>
<body class="option">
<section class="links">
- <a href="general.html">General</a>
+ <a href="../general/general.html">General</a>
<a href="youtube.html" class="selected">Youtube</a>
- <a href="twitter.html">Twitter</a>
- <a href="instagram.html">Instagram</a>
- <a href="reddit.html">Reddit</a>
- <a href="search.html">Search</a>
- <a href="translate.html">Translate</a>
- <a href="maps.html">Maps</a>
- <a href="wikipedia.html">Wikipedia</a>
- <a href="medium.html">Medium</a>
+ <a href="../twitter/twitter.html">Twitter</a>
+ <a href="../instagram/instagram.html">Instagram</a>
+ <a href="../reddit/reddit.html">Reddit</a>
+ <a href="../search/search.html">Search</a>
+ <a href="../translate/translate.html">Translate</a>
+ <a href="../maps/maps.html">Maps</a>
+ <a href="../wikipedia/wikipedia.html">Wikipedia</a>
+ <a href="../medium/medium.html">Medium</a>
</section>
<section class="option-block">
@@ -52,6 +52,7 @@
<select id="youtube-frontend">
<option value="piped">Piped</option>
<option value="invidious">Invidious</option>
+ <option value="freeTube">FreeTube</option>
</select>
</div>
@@ -77,11 +78,6 @@
</div>
<div class="some-block option-block">
- <h4 data-localise="__MSG_useFreeTube__">Use FreeTube over Invidious when possible</h4>
- <input id="use-freetube" type="checkbox" checked />
- </div>
-
- <div class="some-block option-block">
<h4 data-localise="__MSG_invidiousAlwaysProxy__">Always proxy videos through Invidious</h4>
<input id="always-proxy" type="checkbox" checked />
</div>
@@ -122,9 +118,9 @@
</section>
- <script type="module" src="./init.js"></script>
+ <script type="module" src="../init.js"></script>
<script type="module" src="./youtube.js"></script>
- <script src="../../assets/javascripts/localise.js"></script>
+ <!-- <script src="../../assets/javascripts/localise.js"></script> -->
</body>
</html> \ No newline at end of file
diff --git a/src/pages/options/youtube.js b/src/pages/options/youtube/youtube.js
index c592b4cc..c1d526da 100644
--- a/src/pages/options/youtube.js
+++ b/src/pages/options/youtube/youtube.js
@@ -1,23 +1,11 @@
-import youtubeHelper from "../../assets/javascripts/helpers/youtube.js";
-import commonHelper from "../../assets/javascripts/helpers/common.js";
+import youtubeHelper from "../../../assets/javascripts/helpers/youtube/youtube.js";
+import commonHelper from "../../../assets/javascripts/helpers/common.js";
let disableYoutubeElement = document.getElementById("disable-invidious");
-let youtubeFrontendElement = document.getElementById("youtube-frontend");
-let invidiousDarkModeElement = document.getElementById("invidious-dark-mode");
-let persistInvidiousPrefsElement = document.getElementById("persist-invidious-prefs");
-let invidiousVolumeElement = document.getElementById("invidious-volume");
-let invidiousPlayerStyleElement = document.getElementById("invidious-player-style");
-let invidiousSubtitlesElement = document.getElementById("invidious-subtitles");
-let invidiousAutoplayElement = document.getElementById("invidious-autoplay");
-let useFreeTubeElement = document.getElementById("use-freetube");
-let invidiousAlwaysProxyElement = document.getElementById("always-proxy");
-let invidiousOnlyEmbeddedVideoElement = document.getElementById("only-embed");
-let invidiousVideoQualityElement = document.getElementById("video-quality");
-let invidiousVolumeValueElement = document.querySelector("#volume-value");
+let youtubeFrontendElement = document.getElementById("youtube-frontend");
let invidiousDivElement = document.getElementById("invidious")
let pipedDivElement = document.getElementById("piped")
-
function changeFrontendsSettings(frontend) {
if (frontend == 'piped') {
pipedDivElement.style.display = 'block';
@@ -27,39 +15,35 @@ function changeFrontendsSettings(frontend) {
pipedDivElement.style.display = 'none';
invidiousDivElement.style.display = 'block';
}
+ else if (frontend == 'freeTube') {
+ pipedDivElement.style.display = 'none';
+ invidiousDivElement.style.display = 'none';
+ }
}
-
-youtubeHelper.init().then(() => {
- disableYoutubeElement.checked = !youtubeHelper.getDisableYoutube();
- invidiousDarkModeElement.checked = youtubeHelper.getInvidiousDarkMode();
- persistInvidiousPrefsElement.checked = youtubeHelper.getPersistInvidiousPrefs();
- invidiousVolumeElement.value = youtubeHelper.getInvidiousVolume();
- invidiousVolumeValueElement.textContent = `${youtubeHelper.getInvidiousVolume()}%`;
- invidiousPlayerStyleElement.value = youtubeHelper.getInvidiousPlayerStyle();
- invidiousSubtitlesElement.value = youtubeHelper.getInvidiousSubtitles();
- useFreeTubeElement.checked = youtubeHelper.getUseFreeTube();
- invidiousOnlyEmbeddedVideoElement.checked = youtubeHelper.getInvidiousOnlyEmbeddedVideo();
- invidiousAlwaysProxyElement.checked = youtubeHelper.getInvidiousAlwaysProxy();
- invidiousVideoQualityElement.value = youtubeHelper.getInvidiousVideoQuality();
- invidiousAutoplayElement.checked = youtubeHelper.getInvidiousAutoplay();
- let frontend = youtubeHelper.getFrontend()
- youtubeFrontendElement.value = frontend;
- changeFrontendsSettings(frontend);
-});
-
+youtubeFrontendElement.addEventListener("change",
+ (event) => {
+ let frontend = event.target.options[youtubeFrontendElement.selectedIndex].value
+ youtubeHelper.setFrontend(frontend);
+ changeFrontendsSettings(frontend);
+ }
+);
disableYoutubeElement.addEventListener("change",
(event) => youtubeHelper.setDisableYoutube(!event.target.checked)
);
+let invidiousDarkModeElement = document.getElementById("invidious-dark-mode");
invidiousDarkModeElement.addEventListener("change",
(event) => youtubeHelper.setInvidiousDarkMode(event.target.checked)
);
+let persistInvidiousPrefsElement = document.getElementById("persist-invidious-prefs");
persistInvidiousPrefsElement.addEventListener("change",
(event) => youtubeHelper.setPersistInvidiousPrefs(event.target.checked)
);
+let invidiousVolumeElement = document.getElementById("invidious-volume");
+let invidiousVolumeValueElement = document.querySelector("#volume-value");
invidiousVolumeElement.addEventListener("input",
() => {
youtubeHelper.setInvidiousVolume(invidiousVolumeElement.value);
@@ -67,40 +51,57 @@ invidiousVolumeElement.addEventListener("input",
}
);
+let invidiousPlayerStyleElement = document.getElementById("invidious-player-style");
invidiousPlayerStyleElement.addEventListener("change",
(event) => youtubeHelper.setInvidiousPlayerStyle(event.target.options[invidiousPlayerStyleElement.selectedIndex].value)
);
+let invidiousSubtitlesElement = document.getElementById("invidious-subtitles");
invidiousSubtitlesElement.addEventListener("input",
commonHelper.debounce(() => {
youtubeHelper.setInvidiousSubtitles(invidiousSubtitlesElement.value)
}, 500)
);
+let invidiousAutoplayElement = document.getElementById("invidious-autoplay");
invidiousAutoplayElement.addEventListener("change",
(event) => youtubeHelper.setInvidiousAutoplay(event.target.checked)
);
-useFreeTubeElement.addEventListener("change",
- (event) => youtubeHelper.setUseFreeTube(event.target.checked)
-);
-
+let invidiousAlwaysProxyElement = document.getElementById("always-proxy");
invidiousAlwaysProxyElement.addEventListener("change",
(event) => youtubeHelper.setInvidiousAlwaysProxy(event.target.checked)
);
+let invidiousOnlyEmbeddedVideoElement = document.getElementById("only-embed");
invidiousOnlyEmbeddedVideoElement.addEventListener("change",
(event) => youtubeHelper.setInvidiousOnlyEmbeddedVideo(event.target.checked)
);
+let invidiousVideoQualityElement = document.getElementById("video-quality");
invidiousVideoQualityElement.addEventListener("change",
(event) => youtubeHelper.setInvidiousVideoQuality(event.target.options[invidiousVideoQualityElement.selectedIndex].value)
);
-youtubeFrontendElement.addEventListener("change",
- (event) => {
- let frontend = event.target.options[youtubeFrontendElement.selectedIndex].value
- youtubeHelper.setFrontend(frontend);
- changeFrontendsSettings(frontend);
- }
-); \ No newline at end of file
+
+youtubeHelper.init().then(() => {
+ disableYoutubeElement.checked = !youtubeHelper.getDisableYoutube();
+ invidiousDarkModeElement.checked = youtubeHelper.getInvidiousDarkMode();
+ persistInvidiousPrefsElement.checked = youtubeHelper.getPersistInvidiousPrefs();
+ invidiousVolumeElement.value = youtubeHelper.getInvidiousVolume();
+ invidiousVolumeValueElement.textContent = `${youtubeHelper.getInvidiousVolume()}%`;
+ invidiousPlayerStyleElement.value = youtubeHelper.getInvidiousPlayerStyle();
+ invidiousSubtitlesElement.value = youtubeHelper.getInvidiousSubtitles();
+ invidiousOnlyEmbeddedVideoElement.checked = youtubeHelper.getInvidiousOnlyEmbeddedVideo();
+ invidiousAlwaysProxyElement.checked = youtubeHelper.getInvidiousAlwaysProxy();
+ invidiousVideoQualityElement.value = youtubeHelper.getInvidiousVideoQuality();
+ invidiousAutoplayElement.checked = youtubeHelper.getInvidiousAutoplay();
+ let frontend = youtubeHelper.getFrontend()
+ youtubeFrontendElement.value = frontend;
+ changeFrontendsSettings(frontend);
+});
+
+
+
+
+
diff --git a/src/pages/popup/popup.js b/src/pages/popup/popup.js
index 5362c79a..bd8a5057 100644
--- a/src/pages/popup/popup.js
+++ b/src/pages/popup/popup.js
@@ -2,7 +2,7 @@
import commonHelper from "../../assets/javascripts/helpers/common.js";
import data from "../../assets/javascripts/data.js";
-import youtubeHelper from "../../assets/javascripts/helpers/youtube.js";
+import youtubeHelper from "../../assets/javascripts/helpers/youtube/youtube.js";
import twitterHelper from "../../assets/javascripts/helpers/twitter.js";
import instagramHelper from "../../assets/javascripts/helpers/instagram.js";
import mapsHelper from "../../assets/javascripts/helpers/maps.js";