diff options
author | ManeraKai <manerakai@protonmail.com> | 2022-02-04 18:48:24 +0300 |
---|---|---|
committer | ManeraKai <manerakai@protonmail.com> | 2022-02-04 18:48:24 +0300 |
commit | a9f95b3d1de44edf205508233a3526246842bbf3 (patch) | |
tree | a273532e131ae36cee2a200c953d015c3fa36bff /src | |
parent | Added Piped, cleaned code (diff) | |
download | libredirect-a9f95b3d1de44edf205508233a3526246842bbf3.zip |
Cleaning and refining settings
Diffstat (limited to 'src')
-rw-r--r-- | src/assets/javascripts/helpers/common.js | 2 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/instagram.js | 11 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/medium.js | 4 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/reddit.js | 8 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/rimgo.js | 14 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/search.js | 53 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/translate.js | 5 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/twitter.js | 54 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/wikipedia.js | 8 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/youtube/invidious-cookies.js | 38 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/youtube/youtube.js (renamed from src/assets/javascripts/helpers/youtube.js) | 119 | ||||
-rw-r--r-- | src/manifest.json | 2 | ||||
-rw-r--r-- | src/pages/background/background.js | 9 | ||||
-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.js | 1 | ||||
-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.js | 2 |
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"; |