From f719a9c890f5698619fdb692e7c04f60a9d565f2 Mon Sep 17 00:00:00 2001 From: BobIsMyManager Date: Thu, 14 Jul 2022 10:00:58 +0100 Subject: data and blacklist only handled by ci --- .github/workflows/main.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5d746e28..4ff79267 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -29,8 +29,7 @@ jobs: run: | git config --local user.email "action@github.com" git config --local user.name "GitHub Action" - git add -A - git commit -m "update instances" -a || : + git commit -Am "update instances" || : - name: push changes uses: ad-m/github-push-action@v0.6.0 with: -- cgit 1.4.1 From 473dad301ebe64ce380296a971ea0057d5c38e10 Mon Sep 17 00:00:00 2001 From: BobIsMyManager Date: Fri, 22 Jul 2022 09:40:34 +0100 Subject: Fix workflows issue --- .github/workflows/main.yml | 3 +- src/instances/blacklist.json | 56 -- src/instances/data.json | 1581 ------------------------------------------ 3 files changed, 2 insertions(+), 1638 deletions(-) delete mode 100644 src/instances/blacklist.json delete mode 100644 src/instances/data.json (limited to '.github/workflows') diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4ff79267..de199a28 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -29,7 +29,8 @@ jobs: run: | git config --local user.email "action@github.com" git config --local user.name "GitHub Action" - git commit -Am "update instances" || : + git add -f src/instances + git commit -am "update instances" || : - name: push changes uses: ad-m/github-push-action@v0.6.0 with: diff --git a/src/instances/blacklist.json b/src/instances/blacklist.json deleted file mode 100644 index 025f5935..00000000 --- a/src/instances/blacklist.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "cloudflare": [ - "https://invidious.kavin.rocks", - "https://piped.kavin.rocks", - "https://piped.tokhmi.xyz", - "https://piped.moomoo.me", - "https://piped.syncpundit.com", - "https://piped.mha.fi", - "https://piped.shimul.me", - "https://pipedus.palash.dev/", - "https://nitter.domain.glass", - "https://birdsite.xanny.family", - "https://nitter.moomoo.me", - "https://notabird.site", - "https://fuckthesacklers.network", - "https://nitter.winscloud.net", - "https://twtr.bch.bar", - "https://twitter.dr460nf1r3.org", - "https://nitter.wef.lol", - "https://nitter.catalyst.sx", - "https://bib.actionsack.com", - "https://libreddit.domain.glass", - "https://r.nf", - "https://libreddit.flux.industries", - "https://lr.oversold.host", - "https://libreddit.hu", - "https://lr.stilic.ml", - "https://reddi.tk", - "https://r.walkx.org", - "https://libreddit.yonalee.eu", - "https://libreddit.winscloud.net", - "https://r.ahwx.org", - "https://reddit.dr460nf1r3.org", - "https://libreddit.encrypted-data.xyz", - "https://libreddit.eu.org", - "https://teddit.domain.glass", - "https://teddit.httpjames.space", - "https://teddit.encrypted-data.xyz", - "https://wiki.604kph.xyz", - "https://wikiless.lunar.icu", - "https://lingva.lunar.icu", - "https://searx.josie.lol", - "https://searx.org", - "https://searx.run", - "https://searx.albony.xyz", - "https://searx.kujonello.cf", - "https://search.albony.xyz", - "https://search.garudalinux.org", - "https://search.dr460nf1r3.org", - "https://search.wef.lol", - "https://i.actionsack.com" - ], - "authenticate": [ - "https://nitter.nixnet.services" - ] -} diff --git a/src/instances/data.json b/src/instances/data.json deleted file mode 100644 index 1c942300..00000000 --- a/src/instances/data.json +++ /dev/null @@ -1,1581 +0,0 @@ -{ - "invidious": { - "normal": [ - "https://yewtu.be", - "https://vid.puffyan.us", - "https://invidious.snopyta.org", - "https://invidious.kavin.rocks", - "https://inv.riverside.rocks", - "https://invidious.osi.kr", - "https://y.com.sb", - "https://yt.artemislena.eu", - "https://invidious.flokinet.to", - "https://invidious.tiekoetter.com", - "https://invidious.sethforprivacy.com", - "https://inv.bp.projectsegfau.lt", - "https://invidious.projectsegfau.lt", - "https://inv.vern.cc", - "https://invidious.nerdvpn.de", - "https://invidious.slipfox.xyz", - "https://youtube.076.ne.jp", - "https://invidious.esmailelbob.xyz", - "https://invidious.weblibre.org", - "https://invidious.namazso.eu" - ], - "tor": [ - "http://c7hqkpkpemu6e7emz5b4vyz7idjgdvgaaa3dyimmeojqbgpea3xqjoid.onion", - "http://w6ijuptxiku4xpnnaetxvnkc5vqcdu7mgns2u77qefoixi63vbvnpnqd.onion", - "http://kbjggqkzv65ivcqj6bumvp337z6264huv5kpkwuv6gu5yjiskvan7fad.onion", - "http://osbivz6guyeahrwp2lnwyjk2xos342h4ocsxyqrlaopqjuhwn2djiiyd.onion", - "http://u2cvlit75owumwpy4dj2hsmvkq7nvrclkpht7xgyye2pyoxhpmclkrad.onion", - "http://euxxcnhsynwmfidvhjf6uzptsmh4dipkmgdmcmxxuo7tunp3ad2jrwyd.onion/", - "http://invidious.lqs5fjmajyp7rvp4qvyubwofzi6d4imua7vs237rkc4m5qogitqwrgyd.onion", - "http://inv.vernccvbvyi5qhfzyqengccj7lkove6bjot2xhh5kajhwvidqafczrad.onion/" - ] - }, - "piped": { - "normal": [ - "https://piped.kavin.rocks", - "https://piped.tokhmi.xyz", - "https://piped.moomoo.me", - "https://il.ax", - "https://piped.syncpundit.com", - "https://piped.mha.fi", - "https://piped.shimul.me", - "https://pipedus.palash.dev/", - "https://yt.jae.fi", - "https://piped.mint.lgbt", - "https://piped.privacy.com.de", - "https://piped.esmailelbob.xyz" - ], - "tor": [ - "http://piped2bbch4xslbl2ckr6k62q56kon56ffowxaqzy42ai22a4sash3ad.onion" - ] - }, - "proxiTok": { - "normal": [ - "https://proxitok.herokuapp.com", - "https://proxitok.pussthecat.org", - "https://proxitok.privacydev.net" - ], - "tor": [] - }, - "send": { - "normal": [ - "https://send.vis.ee", - "https://send.zcyph.cc", - "https://send.turingpoint.de", - "https://send.ephemeral.land", - "https://send.mni.li", - "https://send.monks.tools", - "https://send.boblorange.net/", - "https://send.aurorabilisim.com", - "https://nhanh.cloud", - "https://send.datahoarder.dev", - "https://fileupload.ggc-project.de", - "https://drop.chapril.org", - "https://send.jeugdhulp.be", - "https://files.psu.ru", - "https://send.portailpro.net", - "https://bytefile.de", - "https://transfer.acted.org" - ], - "tor": [] - }, - "nitter": { - "normal": [ - "https://nitter.net", - "https://nitter.42l.fr", - "https://nitter.pussthecat.org", - "https://nitter.nixnet.services", - "https://nitter.fdn.fr", - "https://nitter.1d4.us", - "https://nitter.kavin.rocks", - "https://nitter.unixfox.eu", - "https://nitter.domain.glass", - "https://nitter.namazso.eu", - "https://birdsite.xanny.family", - "https://nitter.hu", - "https://nitter.moomoo.me", - "https://bird.trom.tf", - "https://nitter.it", - "https://twitter.censors.us", - "https://nitter.grimneko.de", - "https://n.hyperborea.cloud", - "https://nitter.ca", - "https://twitter.076.ne.jp", - "https://nitter.fly.dev", - "https://notabird.site", - "https://nitter.weiler.rocks", - "https://nitter.sethforprivacy.com", - "https://nttr.stream", - "https://nitter.cutelab.space", - "https://nitter.nl", - "https://nitter.mint.lgbt", - "https://nitter.bus-hit.me", - "https://fuckthesacklers.network", - "https://nitter.esmailelbob.xyz", - "https://tw.artemislena.eu", - "https://de.nttr.stream", - "https://nitter.winscloud.net", - "https://nitter.tiekoetter.com", - "https://nitter.spaceint.fr", - "https://twtr.bch.bar", - "https://nitter.privacy.com.de", - "https://nitter.mastodon.pro", - "https://nitter.notraxx.ch", - "https://nitter.poast.org", - "https://nitter.bird.froth.zone", - "https://nitter.dcs0.hu", - "https://twitter.dr460nf1r3.org", - "https://twitter.beparanoid.de", - "https://n.ramle.be", - "https://nitter.cz", - "https://nitter.privacydev.net", - "https://tweet.lambda.dance", - "https://nitter.ebnar.xyz", - "https://nitter.kylrth.com", - "https://nitter.oishi-ra.men", - "https://nitter.foss.wtf", - "https://nitter.priv.pw", - "https://t.com.sb", - "https://nt.vern.cc", - "https://nitter.wef.lol", - "https://nitter.tokhmi.xyz", - "https://nitter.catalyst.sx", - "https://unofficialbird.com" - ], - "tor": [ - "http://3nzoldnxplag42gqjs23xvghtzf6t6yzssrtytnntc6ppc7xxuoneoad.onion", - "http://nitter.l4qlywnpwqsluw65ts7md3khrivpirse744un3x7mlskqauz5pyuzgqd.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", - "http://ibsboeui2im5o7dxnik3s5yghufumgy5abevtij5nbizequfpu4qi4ad.onion", - "http://ec5nvbycpfa5k6ro77blxgkyrzbkv7uy6r5cngcbkadtjj2733nm3uyd.onion", - "http://twitter.ap3jtgssd7qn4vfoa62gi2ijddoblslbeuw5dan3xt7myvqpura5i4qd.onion", - "http://twitter.prnoid54e44a4bduq5due64jkk7wcnkxcp5kv3juncm7veptjcqudgyd.onion", - "http://nitter.micohauwkjbyw5meacrb4ipicwvwg4xtzl7y7viv53kig2mdcsvwkyyd.onion", - "http://fbdi323aj3t6hdx4jtkuwxrnafzskquciowu2yu3jizfssaq35aow6ad.onion", - "http://nitterqdyumlovt7tjqpdjrluitgmtpa53qq3idlpgoe4kxo7gs3xvad.onion", - "http://nitter.privpw3tndpkw6pnp3g727zfgfdzbu3k6a7chv226s3xymv2p4eiuqyd.onion", - "http://aaaaaxx74hbzeibageieowryhsqvimbdiitfkfe47tvgawkwkjh3coqd.onion" - ] - }, - "bibliogram": { - "normal": [ - "https://bibliogram.art", - "https://bibliogram.snopyta.org", - "https://bibliogram.pussthecat.org", - "https://bibliogram.1d4.us", - "https://bibliogram.froth.zone", - "https://insta.trom.tf", - "https://insta.tromdienste.de", - "https://biblio.alefvanoon.xyz", - "https://ig.beparanoid.de", - "https://bibliogram.privacydev.net", - "https://bib.actionsack.com" - ], - "tor": [] - }, - "libreddit": { - "normal": [ - "https://libredd.it", - "https://libreddit.spike.codes", - "https://libreddit.dothq.co", - "https://libreddit.kavin.rocks", - "https://reddit.invak.id", - "https://reddit.phii.me", - "https://lr.riverside.rocks", - "https://libreddit.strongthany.cc", - "https://libreddit.database.red", - "https://libreddit.privacy.com.de", - "https://libreddit.domain.glass", - "https://libreddit.sugoma.tk", - "https://libreddit.jamiethalacker.dev", - "https://reddit.artemislena.eu", - "https://r.nf", - "https://libreddit.some-things.org", - "https://reddit.stuehieyr.com", - "https://lr.mint.lgbt", - "https://libreddit.igna.rocks", - "https://libreddit.autarkic.org", - "https://libreddit.flux.industries", - "https://libreddit.drivet.xyz", - "https://lr.oversold.host", - "https://libreddit.de", - "https://libreddit.pussthecat.org", - "https://libreddit.mutahar.rocks", - "https://libreddit.northboot.xyz", - "https://leddit.xyz", - "https://de.leddit.xyz", - "https://lr.cowfee.moe", - "https://libreddit.hu", - "https://libreddit.totaldarkness.net", - "https://libreddit.esmailelbob.xyz", - "https://lr.vern.cc", - "https://libreddit.nl", - "https://lr.stilic.ml", - "https://reddi.tk", - "https://libreddit.bus-hit.me", - "https://libreddit.datatunnel.xyz", - "https://libreddit.crewz.me", - "https://r.walkx.org", - "https://libreddit.kylrth.com", - "https://libreddit.yonalee.eu", - "https://libreddit.winscloud.net", - "https://libreddit.tiekoetter.com", - "https://reddit.rtrace.io", - "https://libreddit.lunar.icu", - "https://libreddit.privacydev.net", - "https://libreddit.notyourcomputer.net", - "https://r.ahwx.org", - "https://bob.fr.to", - "https://reddit.beparanoid.de", - "https://libreddit.dcs0.hu", - "https://reddit.dr460nf1r3.org", - "https://rd.jae.su", - "https://libreddit.mha.fi", - "https://libreddit.foss.wtf", - "https://libreddit.encrypted-data.xyz", - "https://libreddit.eu.org", - "https://l.opnxng.com" - ], - "tor": [ - "http://spjmllawtheisznfs7uryhxumin26ssv2draj7oope3ok3wuhy43eoyd.onion", - "http://fwhhsbrbltmrct5hshrnqlqygqvcgmnek3cnka55zj4y7nuus5muwyyd.onion", - "http://kphht2jcflojtqte4b4kyx7p2ahagv4debjj32nre67dxz7y57seqwyd.onion", - "http://inytumdgnri7xsqtvpntjevaelxtgbjqkuqhtf6txxhwbll2fwqtakqd.onion", - "http://liredejj74h5xjqr2dylnl5howb2bpikfowqoveub55ru27x43357iid.onion", - "http://kzhfp3nvb4qp575vy23ccbrgfocezjtl5dx66uthgrhu7nscu6rcwjyd.onion", - "http://ecue64ybzvn6vjzl37kcsnwt4ycmbsyf74nbttyg7rkc3t3qwnj7mcyd.onion", - "http://ledditqo2mxfvlgobxnlhrkq4dh34jss6evfkdkb2thlvy6dn4f4gpyd.onion", - "http://libredoxhxwnmsb6dvzzd35hmgzmawsq5i764es7witwhddvpc2razid.onion", - "http://libreddit.2syis2nnyytz6jnusnjurva4swlaizlnleiks5mjp46phuwjbdjqwgqd.onion", - "http://ol5begilptoou34emq2sshf3may3hlblvipdjtybbovpb7c7zodxmtqd.onion", - "http://lbrdtjaj7567ptdd4rv74lv27qhxfkraabnyphgcvptl64ijx2tijwid.onion", - "http://libreddit.lqs5fjmajyp7rvp4qvyubwofzi6d4imua7vs237rkc4m5qogitqwrgyd.onion", - "http://reddit.prnoid54e44a4bduq5due64jkk7wcnkxcp5kv3juncm7veptjcqudgyd.onion", - "http://inz6tbezfwzexva6dize4cqraj2tjdhygxabmcgysccesvw2pybzhbyd.onion", - "http://libreddit.micohauwkjbyw5meacrb4ipicwvwg4xtzl7y7viv53kig2mdcsvwkyyd.onion", - "http://lr.vernccvbvyi5qhfzyqengccj7lkove6bjot2xhh5kajhwvidqafczrad.onion" - ] - }, - "teddit": { - "normal": [ - "https://teddit.net", - "https://teddit.ggc-project.de", - "https://teddit.zaggy.nl", - "https://teddit.namazso.eu", - "https://teddit.nautolan.racing", - "https://teddit.tinfoil-hat.net", - "https://teddit.domain.glass", - "https://snoo.ioens.is", - "https://teddit.httpjames.space", - "https://incogsnoo.com", - "https://teddit.pussthecat.org", - "https://reddit.lol", - "https://teddit.sethforprivacy.com", - "https://teddit.totaldarkness.net", - "https://teddit.adminforge.de", - "https://teddit.bus-hit.me", - "https://teddit.froth.zone", - "https://rdt.trom.tf/", - "https://teddit.encrypted-data.xyz", - "https://i.opnxng.com", - "https://teddit.tokhmi.xyz" - ], - "tor": [ - "http://snoo.ioensistjs7wd746zluwixvojbbkxhr37lepdvwtdfeav673o64iflqd.onion", - "http://ibarajztopxnuhabfu7fg6gbudynxofbnmvis3ltj6lfx47b6fhrd5qd.onion", - "http://tedditfyn6idalzso5wam5qd3kdtxoljjhbrbbx34q2xkcisvshuytad.onion", - "http://dawtyi5e2cfyfmoht4izmczi42aa2zwh6wi34zwvc6rzf2acpxhrcrad.onion", - "http://qtpvyiaqhmwccxwzsqubd23xhmmrt75tdyw35kp43w4hvamsgl3x27ad.onion" - ] - }, - "wikiless": { - "normal": [ - "https://wikiless.org", - "https://wikiless.sethforprivacy.com", - "https://wiki.604kph.xyz", - "https://wikiless.lunar.icu", - "https://wiki.froth.zone", - "https://wikiless.northboot.xyz", - "https://wikiless.tiekoetter.com", - "https://wikiless.esmailelbob.xyz", - "", - "https://wiki.slipfox.xyz" - ], - "tor": [ - "http://dj2tbh2nqfxyfmvq33cjmhuw7nb6am7thzd3zsjvizeqf374fixbrxyd.onion", - "http://ybgg2evrcdz37y2qes23ff3wjqjdn33tthgoagi76vhxytu4mpxiz5qd.onion", - "http://wikiless.lqs5fjmajyp7rvp4qvyubwofzi6d4imua7vs237rkc4m5qogitqwrgyd.onion", - "http://c2pesewpalbi6lbfc5hf53q4g3ovnxe4s7tfa6k2aqkf7jd7a7dlz5ad.onion" - ], - "i2p": [ - "http://hflqp2ejxygpj6cdwo3ogfieqmxw3b56w7dblt7bor2ltwk6kcfa.b32.i2p", - "http://x33lx4h6d7h6xs4eiqwhvaxn3ea5gn2ifmu3jobnvuvn4k4aej7a.b32.i2p" - ] - }, - "scribe": { - "normal": [ - "https://scribe.rip", - "https://scribe.nixnet.services", - "https://scribe.citizen4.eu", - "https://scribe.bus-hit.me", - "https://scribe.froth.zone" - ], - "tor": [] - }, - "quetre": { - "normal": [ - "https://quetre.herokuapp.com", - "https://quora.vern.cc", - "https://quetre.pussthecat.org", - "https://wuetre.herokuapp.com", - "https://quetreus.herokuapp.com", - "https://quetre.tokhmi.xyz" - ], - "tor": [] - }, - "libremdb": { - "normal": [ - "https://libremdb.herokuapp.com", - "https://libremdb.pussthecat.org", - "https://libremdbeu.herokuapp.com", - "https://lmdb.tokhmi.xyz" - ], - "tor": [] - }, - "simplyTranslate": { - "normal": [ - "https://simplytranslate.org", - "https://st.tokhmi.xyz", - "https://translate.josias.dev", - "https://translate.namazso.eu", - "https://translate.riverside.rocks", - "https://st.manerakai.com", - "https://translate.bus-hit.me", - "https://simplytranslate.pussthecat.org", - "https://translate.northboot.xyz", - "https://translate.tiekoetter.com", - "https://simplytranslate.esmailelbob.xyz", - "https://tl.vern.cc", - "https://translate.slipfox.xyz", - "https://st.privacydev.net", - "https://translate.beparanoid.de", - "https://translate.priv.pw" - ], - "tor": [ - "http://fyng2tsmzmvxmojzbbwmfnsn2lrcyftf4cw6rk5j2v2huliazud3fjid.onion", - "http://xxtbwyb5z5bdvy2f6l2yquu5qilgkjeewno4qfknvb3lkg3nmoklitid.onion", - "http://translate.prnoid54e44a4bduq5due64jkk7wcnkxcp5kv3juncm7veptjcqudgyd.onion" - ], - "i2p": [ - "http://kmnkkp4v4ublygtnyq46oacy3qw75nrxxniriuaersumw7bfsm2a.b32.i2p" - ], - "loki": [ - "http://translate.priv.loki" - ] - }, - "lingva": { - "normal": [ - "https://lingva.ml", - "https://translate.igna.ooo", - "https://lingva.pussthecat.org", - "https://translate.plausibility.cloud", - "https://lingva.lunar.icu", - "https://lingva.opnxng.com" - ], - "tor": [] - }, - "searx": { - "tor": [ - "http://3afisqjw2rxm6z7mmstyt5rx75qfqrgxnkzftknbp2vhipr2nrmrjdyd.onion", - "http://w5rl6wsd7mzj4bdkbuqvzidet5osdsm5jhg2f7nvfidakfq5exda5wid.onion", - "http://yra4tke2pwcnatxjkufpw6kvebu3h3ti2jca2lcdpgx3mpwol326lzid.onion", - "http://z5vawdol25vrmorm4yydmohsd4u6rdoj2sylvoi3e3nqvxkvpqul7bqd.onion", - "http://zbuc3bbzbfdqqo2x46repx2ddajbha6fpsjeeptjhhhhzji3zopxdqyd.onion", - "http://f4qfqajszpx5b7itzxt6mb7kj4ktpgbdq7lq6xaiqyqx6a7de3epptad.onion", - "http://rq2w52kyrif3xpfihkgjnhqm3a5aqhoikpv72z3drpjglfzc2wr5z4yd.onion", - "http://searx.bsbvtqi5oq2cqzn32zt4cr2f2z2rwots3dq7gmdcnlyqoxko2wx6reqd.onion" - ], - "i2p": [ - "http://ransack.i2p", - "http://mqamk4cfykdvhw5kjez2gnvse56gmnqxn7vkvvbuor4k4j2lbbnq.b32.i2p" - ], - "normal": [ - "https://anon.sx", - "https://dynabyte.ca", - "https://jsearch.pw", - "https://nibblehole.com", - "https://search.ethibox.fr", - "https://search.jpope.org", - "https://search.snopyta.org", - "https://search.stinpriza.org", - "https://search.trom.tf", - "https://searx.bissisoft.com", - "https://searx.divided-by-zero.eu", - "https://searx.dresden.network", - "https://searx.fossencdi.org", - "https://searx.gnu.style", - "https://searx.josie.lol", - "https://searx.mastodontech.de", - "https://searx.mxchange.org", - "https://searx.nakhan.net", - "https://searx.netzspielplatz.de", - "https://searx.nixnet.services", - "https://searx.openhoofd.nl", - "https://searx.org", - "https://searx.ppeb.me", - "https://searx.pwoss.org", - "https://searx.rasp.fr", - "https://searx.ru", - "https://searx.run", - "https://searx.semipvt.com", - "https://searx.sp-codes.de", - "https://searx.stuehieyr.com", - "https://searx.tuxcloud.net", - "https://searx.tyil.nl", - "https://searx.vanwa.tech", - "https://searx.webheberg.info", - "https://searx.xyz", - "https://searx.zapashcanon.fr", - "https://spot.ecloud.global", - "https://suche.dasnetzundich.de", - "https://suche.tromdienste.de", - "https://suche.uferwerk.org", - "https://sx.catgirl.cloud", - "https://timdor.noip.me/searx", - "https://www.gruble.de", - "https://searx.roflcopter.fr" - ] - }, - "searxng": { - "tor": [ - "http://4n53nafyi77iplnbrpmxnp3x4exbswwxigujaxy3b37fvr7bvlopxeyd.onion", - "http://search3q76rqpektbrchlf2rjq4fnbxzeov6rljdywg3nwbunpgd7bid.onion", - "http://searchoorwalty5a2ailrboa2asqyts2u7bdoqwnjefpgjobpvtzn4qd.onion", - "http://gbat2pbpg7ys3fi3pbp64667tt5x66mg45xok35bxdw7v55brm7a27yd.onion", - "http://searxdr3pqz4nydgnqocsia2xbywptxbkympa2emn7zlgggrir4bkfad.onion", - "http://searx.micohauwkjbyw5meacrb4ipicwvwg4xtzl7y7viv53kig2mdcsvwkyyd.onion", - "http://searx.privpw3tndpkw6pnp3g727zfgfdzbu3k6a7chv226s3xymv2p4eiuqyd.onion", - "http://searx3aolosaf3urwnhpynlhuokqsgz47si4pzz5hvb7uuzyjncl2tid.onion", - "http://4tz2vlnwk2apf2rpinkqv6uxvfgo5xjx6vl5vp7lxgaiooumetjpstqd.onion" - ], - "i2p": [], - "normal": [ - "https://darmarit.org/searx", - "https://de.xcxc.ml", - "https://etsi.me", - "https://northboot.xyz", - "https://notgoogle.win", - "https://opnxng.com", - "https://paulgo.io", - "https://s.frlt.one", - "https://s.zhaocloud.net", - "https://search.ashs.club", - "https://search.bingowaves.xyz", - "https://search.bus-hit.me", - "https://search.disroot.org", - "https://search.kiwitalk.de", - "https://search.mdosch.de", - "https://search.neet.works", - "https://search.ononoki.org", - "https://search.privacyguides.net", - "https://search.rabbit-company.com", - "https://search.sapti.me", - "https://search.teamriverbubbles.com", - "https://search.unlocked.link", - "https://search.vojkovic.xyz", - "https://search.zzls.xyz", - "https://searx.albony.xyz", - "https://searx.be", - "https://searx.becomesovran.com", - "https://searx.chocoflan.net", - "https://searx.ebnar.xyz", - "https://searx.ericaftereric.top", - "https://searx.esmailelbob.xyz", - "https://searx.fi", - "https://searx.fmac.xyz", - "https://searx.gnous.eu", - "https://searx.kujonello.cf", - "https://searx.loafland.xyz", - "https://searx.mha.fi", - "https://searx.mistli.net", - "https://searx.namejeff.xyz", - "https://searx.orion-hub.fr", - "https://searx.priv.pw", - "https://searx.prvcy.eu", - "https://searx.sethforprivacy.com", - "https://searx.sev.monster", - "https://searx.slipfox.xyz/searx", - "http://fub6vgedgeadlu3ctskrpkcqjruh76tckwtj5swfhyblgml2tzgzckqd.onion/searx", - "https://searx.tiekoetter.com", - "https://searx.vimproved.me", - "https://searx.youshitsune.me", - "https://searx.zcyph.cc", - "https://searxng.au/searx", - "https://searxng.ir", - "https://searxng.tordenskjold.de", - "https://searxng.zackptg5.com", - "https://serx.ml", - "https://srx.cosmohub.io", - "https://swag.pw", - "https://www.webrats.xyz", - "https://xcxc.ml" - ] - }, - "whoogle": { - "normal": [ - "https://gowogle.voring.me", - "https://s.tokhmi.xyz", - "https://search.albony.xyz", - "https://search.garudalinux.org", - "https://search.dr460nf1r3.org", - "https://search.sethforprivacy.com", - "https://whoogle.fossho.st", - "https://www.whooglesearch.ml", - "https://whoogle.dcs0.hu", - "https://whoogle.esmailelbob.xyz", - "https://whoogle.lunar.icu", - "https://whoogle.privacydev.net", - "https://search.wef.lol" - ], - "tor": [], - "i2p": [] - }, - "rimgo": { - "normal": [ - "https://i.bcow.xyz", - "https://rimgo.pussthecat.org", - "https://rimgo.bus-hit.me", - "https://rimgo.esmailelbob.xyz", - "https://rimgo.lunar.icu", - "https://i.actionsack.com", - "https://rimgo.privacydev.net", - "https://imgur.artemislena.eu", - "https://rimgo.vern.cc" - ], - "tor": [ - "http://rimgo.lqs5fjmajyp7rvp4qvyubwofzi6d4imua7vs237rkc4m5qogitqwrgyd.onion", - "http://rimgo.vernccvbvyi5qhfzyqengccj7lkove6bjot2xhh5kajhwvidqafczrad.onion" - ], - "i2p": [] - }, - "peertube": [ - "https://video.slipfox.xyz", - "https://pt.vern.cc", - "https://3.600900.su", - "https://vnop.org", - "https://videos.cassidypunchmachine.com", - "https://video.mullet.social", - "https://tv1.gomntu.space", - "https://dalek.zone", - "https://seka.pona.la", - "https://syop.tv", - "https://watch.thelema.social", - "https://tube.miegl.cz", - "https://mov.clov.fr", - "https://videomensoif.ynh.fr", - "https://peertube.hainry.fr", - "https://videos.neongarden.life", - "https://video.vaku.org.ua", - "https://videos.trom.lt", - "https://videod.fr", - "https://vid.mkp.ca", - "https://jupiter.tube", - "https://tuvideo.encanarias.info", - "https://videos.squat.net", - "https://peertube.chaunchy.com", - "https://tube.vrpnet.org", - "https://video.tii.space", - "https://peertube.familleboisteau.fr", - "https://peertube.inubo.ch", - "https://nightshift.minnix.dev", - "https://tube.friloux.me", - "https://peertube.virtual-assembly.org", - "https://video.olos311.org", - "https://peertube.atilla.org", - "https://video.lapineige.fr", - "https://zapping.no-ip.info", - "https://tube.azkware.net", - "https://video.lunasqu.ee", - "https://v.mkp.ca", - "https://peertube.eus", - "https://infothema.net", - "https://tube.nilsu.org", - "https://podlibre.video", - "https://videos.tankernn.eu", - "https://watch.autonomous-zone.earth", - "https://pirtube.calut.fr", - "https://y.melonia.se", - "https://peertube.cirkau.art", - "https://peertube.2i2l.net", - "https://videos.martyn.berlin", - "https://turkum.me", - "https://video.colibris-outilslibres.org", - "https://invoice.peertube.biz", - "https://vnhup.com", - "https://peertube.chantierlibre.org", - "https://video.9wd.eu", - "https://video.niboe.info", - "https://peertuibe.fedsinfo.nohost.me", - "https://s9.gegenstimme.tv", - "https://pocketnetpeertube1.nohost.me", - "https://videos.alamaisondulibre.org", - "https://videos.tormentasolar.win", - "https://tube.nestor.coop", - "https://live.oldskool.fi", - "https://dytube.com", - "https://video.toby3d.me", - "https://tube.thierrytalbert.fr", - "https://peertube.informaction.info", - "https://peertube.thele.me", - "https://tube.ac-amiens.fr", - "https://tube.alado.space", - "https://tube.network.europa.eu", - "https://vnchich.com", - "https://pt.maciej.website", - "https://peertube.frontmediatique.fr", - "https://peertube.bgzashtita.es", - "https://tube.genb.de", - "https://cliptube.org", - "https://tube.tr4sk.me", - "https://videos.campdarling.com", - "https://peertube.live", - "https://video.mikka.md", - "https://www.aktion-nordost.tv", - "https://tube.rooty.fr", - "https://tube.dnet.one", - "https://peertube.io", - "https://peertube.echelon4.space", - "https://www.kotikoff.net", - "https://peertube.nz", - "https://videos.grafo.zone", - "https://tube.chocoflan.net", - "https://video.pthreat.co", - "https://peertube.egroc.de", - "https://pt.k2s.sk", - "https://video.cats-home.net", - "https://peertube.narrativerry.xyz", - "https://tube.9minuti.it", - "https://krdtube.org", - "https://peertube.elforcer.ru", - "https://tubocatodico.bida.im", - "https://linhtran.eu", - "https://torstenwitte.peertube-host.de", - "https://peertube.hackerfraternity.org", - "https://openmedia.edunova.it", - "https://ocfedtest.hosted.spacebear.ee", - "https://video.lono.space", - "https://mirrored.rocks", - "https://videopen.net", - "https://demo.lioncast.org", - "https://peertube.get-racing.de", - "https://tube-rennes.beta.education.fr", - "https://pierre.tube", - "https://mirametube.fr", - "https://tube.sanyi.nl", - "https://vidz.dou.bet", - "https://videos.redeyes.site", - "https://video.hostpath.de", - "https://free-streams.com", - "https://video.chadwaltercummings.me", - "https://tube.pawelko.net", - "https://video.livecchi.cloud", - "https://anarchy.video", - "https://peertube.gsugambit.com", - "https://media.zat.im", - "https://videos.sadx.moe", - "https://pt.nospy.net", - "https://yhwh.tube", - "https://peerlook.ru", - "https://monero.wf", - "https://tube.kicou.info", - "https://video.aqr.af", - "https://videos-passages.huma-num.fr", - "https://video.linc.systems", - "https://video.sftblw.moe", - "https://peertube.dsmouse.net", - "https://ptube.horsentiers.fr", - "https://video.cnt.social", - "https://peertube.okko.io", - "https://video.mentality.rip", - "https://tube.03281.fspfc.org", - "https://tube.linc.systems", - "https://peertube.ketchup.noho.st", - "https://yt.x1337x.fr", - "https://video.wsforum.net", - "https://videos.rabbit-company.com", - "https://video.paradigmthreat.net", - "https://video.lincolncyber.com", - "https://vid.twhtv.club", - "https://video.retroedge.tech", - "https://truvitv.com", - "https://pt.ilyamikcoder.com", - "https://peertube.sensin.eu", - "https://watch.riverside.rocks", - "https://sharetube.us", - "https://video.sadmin.io", - "https://stream.jurnalfm.md", - "https://video.asgardius.company", - "https://video.publicspaces.net", - "https://video.eientei.org", - "https://tv.suwerenni.org", - "https://tube.revertron.com", - "https://tube.erzbistum-hamburg.de", - "https://video.germanische-heilkunde.at", - "https://views.southfox.me", - "https://vide.oxel.me", - "https://video.mttv.it", - "https://peertube.cloud.nerdraum.de", - "https://vid.pretok.tv", - "https://videos.slownewsdayshow.com", - "https://videos.sarcasmstardust.com", - "https://videos.factsonthegroundshow.com", - "https://video.regenpfeifer.net", - "https://video.pe6.eu", - "https://tv.santic-zombie.ru", - "https://tube.sleeping.town", - "https://tube.globalfrens.com", - "https://peertube.hacknews.pmdcollab.org", - "https://freetubes.nohost.me", - "https://video.simplex-software.ru", - "https://wwtube.net", - "https://video.snug.moe", - "https://video.avant-le-strike.buzz", - "https://videos.ritimo.org", - "https://videos.ephphatha.church", - "https://video.cerclearistote.com", - "https://computerstuff.mooo.com", - "https://video.greenmycity.eu", - "https://peertubemirror.satoshishop.de", - "https://przej.me", - "https://pt.mezzo.moe", - "https://tube.dsocialize.net", - "https://video.pourpenser.pro", - "https://videos.npo.city", - "https://live2.codinglab.ch", - "https://video.linux.it", - "https://bee-tube.fr", - "https://vid.prometheus.systems", - "https://tube.nx12.net", - "https://redundant2.peertube.support", - "https://peertube.ignifi.me", - "https://docker.videos.lecygnenoir.info", - "https://tv.based.quest", - "https://peertube.beardedtek.com", - "https://casnocensure.site", - "https://creemoseducacioninclusiva.uma.es", - "https://videos.yeswiki.net", - "https://tube.lrk.sh", - "https://peertube.teneriffe.nohost.me", - "https://peertube.autogestioncitoyenne.org", - "https://stream.dynacloud.ynh.fr", - "https://video.r3s.nrw", - "https://peertube.semweb.pro", - "https://sneedtube.com", - "https://poast.tv", - "https://testube.distrilab.fr", - "https://peertube.rse43.com", - "https://libremedia.video", - "https://vid.lelux.fi", - "https://v.wolfskaempf.de", - "https://peertube.chevro.fr", - "https://peertube.minecloud.ro", - "https://media.econoalchemist.com", - "https://video.qoto.org", - "https://peertube.maxweiss.io", - "https://peertube.chatinbit.com", - "https://peertube.ffs2play.fr", - "https://peertube.swarm.solvingmaz.es", - "https://film.node9.org", - "https://peertube.mi-site.net", - "https://tube.nowtech.io", - "https://raptube.antipub.org", - "https://video.cm-en-transition.fr", - "https://tube.koweb.fr", - "https://peertube.genma.fr", - "https://tv.generallyrubbish.net.au", - "https://video.travisshears.xyz", - "https://videos.codingotaku.com", - "https://foss.tube", - "https://peertube.satoshishop.de", - "https://ua.peertube.red", - "https://peertube.zwindler.fr", - "https://videos.fsci.in", - "https://swebbtube.se", - "https://video.dnfi.no", - "https://peertube.revelin.fr", - "https://video.wsf2021.info", - "https://armstube.com", - "https://peertube.ti-fr.com", - "https://video.turbo.chat", - "https://tube.toldi.eu", - "https://review.peertube.biz", - "https://peertube.am-networks.fr", - "https://video.chbmeyer.de", - "https://video.rs-einrich.de", - "https://p2ptv.ru", - "https://peertube.librenet.co.za", - "https://h3h3.club", - "https://watch.snoot.tube", - "https://tube.freepeople.fr", - "https://watch.rt4mn.org", - "https://video.lrose.de", - "https://video.chalec.org", - "https://dud175.inf.tu-dresden.de", - "https://peertube.fenarinarsa.com", - "https://peertube.gardion.de", - "https://ias-peertube.iosb.fraunhofer.de", - "https://visionon.tv", - "https://polskijutub.mkljczk.pl", - "https://peertube.noussommes.org", - "https://exode.me", - "https://megatube.lilomoino.fr", - "https://video.anartist.org", - "https://peertube.home.x0r.fr", - "https://peertube.marud.fr", - "https://freetubehub.live", - "https://peertube.librelabucm.org", - "https://tube4.apolut.net", - "https://mtube.mooo.com", - "https://skeptube.fr", - "https://tube.villejuif.fr", - "https://videos.hyphalfusion.network", - "https://videos.fromouter.space", - "https://pocketnetpeertube11.nohost.me", - "https://tube.1o1.io", - "https://peertube.aventer.biz", - "https://videos.rights.ninja", - "https://pertur.be", - "https://tube.pilgerweg-21.de", - "https://freediverse.com", - "https://pocketnetpeertube2.nohost.me", - "https://peertube.bubbletea.dev", - "https://peertube.art3mis.de", - "https://open.movie", - "https://tube.rfc1149.net", - "https://tube.radiomercure.fr", - "https://medias.debrouillonet.org", - "https://peertube.1984.cz", - "https://tube.sp4ke.com", - "https://pt.nix.uno", - "https://videos.openmandriva.org", - "https://video.vanderwarker.photos", - "https://peertube.soykaf.org", - "https://tube.interhacker.space", - "https://video.firehawk-systems.com", - "https://tube.otter.sh", - "https://replay.jres.org", - "https://peertube.lagob.fr", - "https://peertube.gcaillaut.fr", - "https://peertube.hellsite.net", - "https://peertube.hosnet.fr", - "https://video.extremelycorporate.ca", - "https://video.zarchbox.ovh", - "https://video.sgiath.dev", - "https://videos.b4tech.org", - "https://video.off-investigation.fr", - "https://tube.source.news", - "https://tube.childrenshealthdefense.eu", - "https://stream.litera.tools", - "https://peertube.kriom.net", - "https://peertube.grosist.fr", - "https://peertube.gemlog.ca", - "https://nettube.uc-netcorsoft.de", - "https://live.solari.com", - "https://live.codinglab.ch", - "https://dud-video.inf.tu-dresden.de", - "https://media-test.interior.edu.uy", - "https://media.interior.edu.uy", - "https://bitcast.online", - "https://peertube.la-scic.fr", - "https://phoenixproject.group", - "https://peertube.sebu77.com", - "https://www.orion-hub.fr", - "https://tv.orion-serv.fr", - "https://video.interru.io", - "https://tube.cnr.it", - "https://peertube.dtmf.ca", - "https://tube.ponsonaille.fr", - "https://tube.int5.net", - "https://peertube.jackbot.fr", - "https://stream.nuemedia.se", - "https://peertube.wiredentrypoint.xyz", - "https://videos.lemnoslife.com", - "https://peertube.arch-linux.cz", - "https://tube.digitalesozialearbeit.de", - "https://tube.spdns.org", - "https://tube.onlinekirche.net", - "https://tube.systerserver.net", - "https://peertube.redpill-insight.com", - "https://pt.sfunk1x.com", - "https://video.antopie.org", - "https://vtr.chikichiki.tube", - "https://fedimovie.com", - "https://videos.thinkerview.com", - "https://tube.doctors4covidethics.org", - "https://yoba.tv", - "https://tube.mediainformationcenter.de", - "https://peertube.communecter.org", - "https://peertube.librosphere.fr", - "https://queermotion.org", - "https://video.audiovisuel-participatif.org", - "https://peertube.vip", - "https://video.eutychia.org", - "https://video.liveitlive.show", - "https://vid.plantplotting.co.uk", - "https://video.telemillevaches.net", - "https://p.nogafa.org", - "https://tv.pirati.cz", - "https://peertube.therealblue.de", - "https://tube.nuxnik.com", - "https://tube.froth.zone", - "https://peertube.ethibox.fr", - "https://www.freetubehub.live", - "https://tube.communia.org", - "https://peertube.dragonborn.app", - "https://ai-tube.ch", - "https://buddhist.tv", - "https://video.citizen4.eu", - "https://video.matomocamp.org", - "https://media.fsfe.org", - "https://flytandemeistring.space", - "https://video.windfluechter.org", - "https://pocketnetpeertube10.nohost.me", - "https://tube.io18.top", - "https://peertube.remerge.net", - "https://video.wuatek.is", - "https://tube.geekyboo.net", - "https://notretube.asselma.eu", - "https://canal.facil.services", - "https://ukva.li", - "https://pt.gordons.gen.nz", - "https://tube.misterbanal.net", - "https://peertube.fomin.site", - "https://peertube.kenjiyon.xyz", - "https://tube.g1zm0.de", - "https://video.ellijaymakerspace.org", - "https://videos.benpro.fr", - "https://tube.fait.ch", - "https://peertube.expi.studio", - "https://crank.recoil.org", - "https://tube.flokinet.is", - "https://peertube.education-forum.com", - "https://apathy.tv", - "https://pocketnetpeertube9.nohost.me", - "https://lfbu.nl", - "https://tube.benzo.online", - "https://peertube.paladyn.org", - "https://fightforinfo.com", - "https://tube.ulne.be", - "https://video.rubdos.be", - "https://tube.tuxfriend.fr", - "https://anarchy.tube", - "https://nsfw.vger.cloud", - "https://tube.elemac.fr", - "https://tube.nocturlab.fr", - "https://videos.optoutpod.com", - "https://videos.bik.opencloud.lu", - "https://videos.aadtp.be", - "https://videos.gunfreezone.net", - "https://videos.globenet.org", - "https://tube.klardenken.tv", - "https://serv2.wiki-tube.de", - "https://tube2.apolut.net", - "https://pt01.lehrerfortbildung-bw.de", - "https://videos.buceoluegoexisto.com", - "https://tube.exozy.me", - "https://video.benetou.fr", - "https://bideoak.argia.eus", - "https://video.hainry.fr", - "https://video.gresille.org", - "https://peertube.tangentfox.com", - "https://puffy.tube", - "https://tube.kher.nl", - "https://perceptiontravel.tv", - "https://watch.ocaml.org", - "https://peertube.kleph.eu", - "https://tube.missbanal.net", - "https://pityu.flaki.hu", - "https://tv.catalpafestival.fr", - "https://pony.tube", - "https://peertube.umeahackerspace.se", - "https://tube.okcinfo.news", - "https://www.rocaguinarda.tv", - "https://videos.wirtube.de", - "https://tube.tinfoil-hat.net", - "https://livegram.net", - "https://video.ustim.ru", - "https://merci-la-police.fr", - "https://pocketnetpeertube7.nohost.me", - "https://tube.noise.rocks", - "https://video.rhizome.org", - "https://dnk.video", - "https://video.medienzentrum-harburg.de", - "https://video.metaccount.de", - "https://video.libreti.net", - "https://leopard.tube", - "https://peertube.skorpil.cz", - "https://peertube.scyldings.com", - "https://gade.o-k-i.net", - "https://peertube.mobilsicher.de", - "https://video.jigmedatse.com", - "https://video.amiga-ng.org", - "https://peertube.espace.si", - "https://videos.supertuxkart.net", - "https://pt.borgcube.eu", - "https://mp-tube.de", - "https://socialwebtube.com", - "https://kraut.zone", - "https://www.birkeundnymphe.de", - "https://birkeundnymphe.de", - "https://v.kisombrella.top", - "https://peertube.w.utnw.de", - "https://tube.sp-codes.de", - "https://tube.apolut.net", - "https://tube.mfraters.net", - "https://tube.pyngu.com", - "https://peertube.troback.com", - "https://peertube.ucy.de", - "https://peertube.aukfood.net", - "https://peertube.bridaahost.ynh.fr", - "https://peertube.myrasp.eu", - "https://watch.softinio.com", - "https://peertube.plataformess.org", - "https://tube.arthack.nz", - "https://tv.atmx.ca", - "https://kino.kompot.si", - "https://tube.kockatoo.org", - "https://peertube.cabaal.net", - "https://sovran.video", - "https://stream.k-prod.fr", - "https://tube.tylerdavis.xyz", - "https://video.marcorennmaus.de", - "https://peertube.ecologie.bzh", - "https://peertube.atsuchan.page", - "https://peertube.vlaki.cz", - "https://video-cave-v2.de", - "https://peertube.keazilla.net", - "https://vids.tekdmn.me", - "https://piraten.space", - "https://tube.bstly.de", - "https://web-fellow.de", - "https://peertube.alpharius.io", - "https://ptb.lunarviews.net", - "https://ovaltube.codinglab.ch", - "https://video.wilkie.how", - "https://videos.ahp-numerique.fr", - "https://auf1.eu", - "https://tube.toontoet.nl", - "https://video.gyt.is", - "https://peertube.jensdiemer.de", - "https://tube.futuretic.fr", - "https://libra.syntazia.org", - "https://peertube.beeldengeluid.nl", - "https://tv.lumbung.space", - "https://vid.dascoyote.xyz", - "https://peertube.cuatrolibertades.org", - "https://videos.hush.is", - "https://tube.ebin.club", - "https://tube.tpshd.de", - "https://video.ozgurkon.org", - "https://video.progressiv.dev", - "https://video.migennes.net", - "https://irrsinn.video", - "https://pocketnetpeertube4.nohost.me", - "https://video.omniatv.com", - "https://comf.tube", - "https://pocketnetpeertube6.nohost.me", - "https://pocketnetpeertube5.nohost.me", - "https://peertube.radres.xyz", - "https://darkvapor.nohost.me", - "https://tube.chaoszone.tv", - "https://media.over-world.org", - "https://tube.avensio.de", - "https://peertube.klaewyss.fr", - "https://sender-fm.veezee.tube", - "https://peertube.takeko.cyou", - "https://hyperreal.tube", - "https://peertube.kalua.im", - "https://tv.undersco.re", - "https://video.selea.se", - "https://tv.neue.city", - "https://videos.shmalls.pw", - "https://peertube.iriseden.eu", - "https://video.shitposter.club", - "https://tv.mattchristiansenmedia.com", - "https://tube.hackerscop.org", - "https://videos.capas.se", - "https://peertube.kx.studio", - "https://videos.3d-wolf.com", - "https://tube.octaplex.net", - "https://video.076.ne.jp", - "https://stream.elven.pw", - "https://juggling.digital", - "https://videos.rampin.org", - "https://bitcointv.com", - "https://media.gzevd.de", - "https://video.resolutions.it", - "https://tube.cms.garden", - "https://peertube.luckow.org", - "https://video.linuxtrent.it", - "https://tube.bachaner.fr", - "https://video.comune.trento.it", - "https://tube.org.il", - "https://tv.pirateradio.social", - "https://peertube.eu.org", - "https://peertube.mxinfo.fr", - "https://tube.frischesicht.de", - "https://peertube1.zeteo.me", - "https://conspiracydistillery.com", - "https://peertube.chemnitz.freifunk.net", - "https://hpstube.fr", - "https://video.blast-info.fr", - "https://peertube.bubuit.net", - "https://tube.aerztefueraufklaerung.de", - "https://video.cybre.town", - "https://the.jokertv.eu", - "https://climatejustice.video", - "https://wikileaks.video", - "https://fair.tube", - "https://tube.lokad.com", - "https://videos.benjaminbrady.ie", - "https://video.binarydad.com", - "https://tube.pmj.rocks", - "https://gary.vger.cloud", - "https://video.guerredeclasse.fr", - "https://ptmir4.inter21.net", - "https://ptmir3.inter21.net", - "https://peertube.habets.house", - "https://tube.yapbreak.fr", - "https://peertube.ctseuro.com", - "https://spectra.video", - "https://live.nanao.moe", - "https://peertube.inapurna.org", - "https://watch.libertaria.space", - "https://video.triplea.fr", - "https://video.catgirl.biz", - "https://vulgarisation-informatique.fr", - "https://tube.kotur.org", - "https://peertube.euskarabildua.eus", - "https://video.veloma.org", - "https://vidcommons.org", - "https://regarder.sans.pub", - "https://tube.rhythms-of-resistance.org", - "https://tube-bordeaux.beta.education.fr", - "https://video.lespoesiesdheloise.fr", - "https://peertube.luga.at", - "https://peertube.roflcopter.fr", - "https://ptube.rousset.nom.fr", - "https://peertube.swrs.net", - "https://tube.shanti.cafe", - "https://videos.cloudron.io", - "https://tube.seditio.fr", - "https://video.p3x.de", - "https://video.codingfield.com", - "https://tv.adn.life", - "https://peertube.functional.cafe", - "https://peertube.br0.fr", - "https://video.bards.online", - "https://video.toot.pt", - "https://videos.archigny.net", - "https://videos.pzelawski.xyz", - "https://peertube.zoz-serv.org", - "https://videos.stadtfabrikanten.org", - "https://peertube.gargantia.fr", - "https://tube.melonbread.xyz", - "https://tube.grap.coop", - "https://webtv.vandoeuvre.net", - "https://peertube.european-pirates.eu", - "https://video.fhtagn.org", - "https://kirche.peertube-host.de", - "https://v.lor.sh", - "https://peertube.be", - "https://peertube.linuxrocks.online", - "https://grypstube.uni-greifswald.de", - "https://wiwi.video", - "https://video.soi.ch", - "https://peertube.newsocial.tech", - "https://peertube.cpge-brizeux.fr", - "https://tube.distrilab.fr", - "https://kinowolnosc.pl", - "https://videos.trom.tf", - "https://videos.john-livingston.fr", - "https://melsungen.peertube-host.de", - "https://evangelisch.video", - "https://tube.anufrij.de", - "https://videos.mastodont.cat", - "https://flim.txmn.tk", - "https://video.taboulisme.com", - "https://media.undeadnetwork.de", - "https://tube.dragonpsi.xyz", - "https://veezee.tube", - "https://peertube.nicolastissot.fr", - "https://s2.veezee.tube", - "https://tubes.jodh.us", - "https://tube.lucie-philou.com", - "https://video.odayacres.farm", - "https://tube.schule.social", - "https://unfilter.tube", - "https://tube.systest.eu", - "https://tube.xd0.de", - "https://tube.xy-space.de", - "https://studios.racer159.com", - "https://exo.tube", - "https://fediverse.tv", - "https://xxivproduction.video", - "https://digitalcourage.video", - "https://tvox.ru", - "https://video.kuba-orlik.name", - "https://peer.azurs.fr", - "https://video.ecole-89.com", - "https://tube.kai-stuht.com", - "https://video.fbxl.net", - "https://live.libratoi.org", - "https://video.p1ng0ut.social", - "https://watch.deranalyst.ch", - "https://video.discord-insoumis.fr", - "https://video.pcf.fr", - "https://kumi.tube", - "https://tube.rsi.cnr.it", - "https://peertube.dc.pini.fr", - "https://peertube.simounet.net", - "https://peertube.bilange.ca", - "https://watch.ignorance.eu", - "https://tube.schleuss.online", - "https://tube-corse.beta.education.fr", - "https://tube-creteil.beta.education.fr", - "https://tube.saumon.io", - "https://tube-paris.beta.education.fr", - "https://theater.ethernia.net", - "https://watch.tubelab.video", - "https://lastbreach.tv", - "https://tube.abolivier.bzh", - "https://video.coales.co", - "https://film.k-prod.fr", - "https://videos.danksquad.org", - "https://peertube.tweb.tv", - "https://peertube.lestutosdeprocessus.fr", - "https://video.mycrowd.ca", - "https://kodcast.com", - "https://video.altertek.org", - "https://ruraletv.ovh", - "https://videos.weblib.re", - "https://tube.oisux.org", - "https://peertube.louisematic.site", - "https://clap.nerv-project.eu", - "https://tube.lacaveatonton.ovh", - "https://peertube.tspu.edu.ru", - "https://p.lu", - "https://serv3.wiki-tube.de", - "https://serv1.wiki-tube.de", - "https://video.lavolte.net", - "https://peertube.public.cat", - "https://peertube.anduin.net", - "https://peertube.r5c3.fr", - "https://mountaintown.video", - "https://ptmir1.inter21.net", - "https://tube.foxden.party", - "https://fotogramas.politicaconciencia.org", - "https://peertube.pl", - "https://peertube.manalejandro.com", - "https://www4.mir.inter21.net", - "https://video.csc49.fr", - "https://tube.wolfe.casa", - "https://tube.linkse.media", - "https://video.dresden.network", - "https://peertube.zapashcanon.fr", - "https://40two.tube", - "https://tube.amic37.fr", - "https://video.comptoir.net", - "https://kino.schuerz.at", - "https://peertube.tiennot.net", - "https://tututu.tube", - "https://peertube.interhop.org", - "https://tube.picasoft.net", - "https://www.wiki-tube.de", - "https://videos.pair2jeux.tube", - "https://video.internet-czas-dzialac.pl", - "https://thecool.tube", - "https://tube.troopers.agency", - "https://peertube.chtisurel.net", - "https://videos.testimonia.org", - "https://video.mass-trespass.uk", - "https://peertube.cipherbliss.com", - "https://peertube.stemy.me", - "https://daschauher.aksel.rocks", - "https://tube.cyano.at", - "https://tube.nox-rhea.org", - "https://peertube.securitymadein.lu", - "https://tube.rita.moe", - "https://tuktube.com", - "https://v.basspistol.org", - "https://mytube.kn-cloud.de", - "https://tube.nuagelibre.fr", - "https://video.nogafam.es", - "https://peertube.stream", - "https://videos.leslionsfloorball.fr", - "https://player.ojamajo.moe", - "https://ftsi.ru", - "https://video.cigliola.com", - "https://xxx.noho.st", - "https://peertube.stefofficiel.me", - "https://canard.tube", - "https://videos.jordanwarne.xyz", - "https://tube.jeena.net", - "https://tube.cloud-libre.eu", - "https://videos.coletivos.org", - "https://peertube.xwiki.com", - "https://cinema.yunohost.support", - "https://peertube.s2s.video", - "https://peertube.travelpandas.eu", - "https://video.sdm-tools.net", - "https://peertube.anzui.dev", - "https://video.up.edu.ph", - "https://video.igem.org", - "https://worldofvids.com", - "https://peertube.underworld.fr", - "https://peertube.pi2.dev", - "https://video.pony.gallery", - "https://tube.skrep.in", - "https://tube.others.social", - "https://videos.ubuntu-paris.org", - "https://tube-poitiers.beta.education.fr", - "https://streamsource.video", - "https://vid.wildeboer.net", - "https://battlepenguin.video", - "https://peertube.cloud.sans.pub", - "https://refuznik.video", - "https://tube.shela.nu", - "https://video.1146.nohost.me", - "https://peertube.davigge.com", - "https://vod.ksite.de", - "https://tube.grin.hu", - "https://media.inno3.cricket", - "https://tube.cryptography.dog", - "https://peertube.zergy.net", - "https://vid.ncrypt.at", - "https://videos.tcit.fr", - "https://video.valme.io", - "https://peertube.patapouf.xyz", - "https://video.violoncello.ch", - "https://peertube.gidikroon.eu", - "https://tubedu.org", - "https://watch.breadtube.tv", - "https://video.exodus-privacy.eu.org", - "https://tilvids.com", - "https://peertube.devloprog.org", - "https://peertube.designersethiques.org", - "https://testtube.florimond.eu", - "https://tube.gnous.eu", - "https://tube-lille.beta.education.fr", - "https://peertube.monlycee.net", - "https://tube.plomlompom.com", - "https://tube-outremer.beta.education.fr", - "https://tube-dijon.beta.education.fr", - "https://tube-reims.beta.education.fr", - "https://tube-limoges.beta.education.fr", - "https://tube-versailles.beta.education.fr", - "https://peertube.r2.enst.fr", - "https://tube-orleans-tours.beta.education.fr", - "https://spacepub.space", - "https://peertube.devol.it", - "https://tube-clermont-ferrand.beta.education.fr", - "https://tube-nice.beta.education.fr", - "https://tube-montpellier.beta.education.fr", - "https://tube-nancy.beta.education.fr", - "https://tube-aix-marseille.beta.education.fr", - "https://tube-nantes.beta.education.fr", - "https://tube-grenoble.beta.education.fr", - "https://tube-amiens.beta.education.fr", - "https://media.privacyinternational.org", - "https://tube-normandie.beta.education.fr", - "https://tube.port0.xyz", - "https://tube1.it.tuwien.ac.at", - "https://tube.aquilenet.fr", - "https://peertube.lyceeconnecte.fr", - "https://tube-education.beta.education.fr", - "https://vids.roshless.me", - "https://tube-toulouse.beta.education.fr", - "https://peertube.netzbegruenung.de", - "https://plextube.nl", - "https://tube.opportunis.me", - "https://nanawel-peertube.dyndns.org", - "https://tube-strasbourg.beta.education.fr", - "https://tube.graz.social", - "https://tube-besancon.beta.education.fr", - "https://vid.garwood.io", - "https://kolektiva.media", - "https://peertube.ichigo.everydayimshuflin.com", - "https://video.lundi.am", - "https://tube.florimond.eu", - "https://peertube.taxinachtegel.de", - "https://peertube.scic-tetris.org", - "https://peertube.lagvoid.com", - "https://pt.diaspodon.fr", - "https://video.mugoreve.fr", - "https://tube.portes-imaginaire.org", - "https://peervideo.ru", - "https://p.eertu.be", - "https://video.hardlimit.com", - "https://peertube.debian.social", - "https://tube.piweb.be", - "https://peertube.su", - "https://video.hackers.town", - "https://tube.fdn.fr", - "https://peertube.demonix.fr", - "https://videos.hauspie.fr", - "https://lexx.impa.me", - "https://mplayer.demouliere.eu", - "https://video.liberta.vip", - "https://peertube.gcfamily.fr", - "https://video.ploud.fr", - "https://tube.plaf.fr", - "https://tube.nah.re", - "https://dreiecksnebel.alex-detsch.de", - "https://tube.hoga.fr", - "https://videos.festivalparminous.org", - "https://tube.thechangebook.org", - "https://lepetitmayennais.fr.nf", - "https://medias.pingbase.net", - "https://video.oh14.de", - "https://mytube.madzel.de", - "https://monplaisirtube.ddns.net", - "https://video.okaris.de", - "https://video.blender.org", - "https://peertube.020.pl", - "https://tube.azbyka.ru", - "https://greatview.video", - "https://media.krashboyz.org", - "https://toobnix.org", - "https://video.emergeheart.info", - "https://tube.kdy.ch", - "https://widemus.de", - "https://video.nesven.eu", - "https://tube.rebellion.global", - "https://videos.koumoul.com", - "https://tube.undernet.uy", - "https://peertube.opencloud.lu", - "https://peertube.ch", - "https://tube.tappret.fr", - "https://peertube.snargol.com", - "https://peertube.desmu.fr", - "https://peertube.rainbowswingers.net", - "https://tube.nx-pod.de", - "https://video.monsieurbidouille.fr", - "https://tube.crapaud-fou.org", - "https://lostpod.space", - "https://www.videos-libr.es", - "https://video.vny.fr", - "https://peervideo.club", - "https://tube.taker.fr", - "https://peertube.co.uk", - "https://video.fitchfamily.org", - "https://video.fdlibre.eu", - "https://peer.philoxweb.be", - "https://peertube.sl-network.fr", - "https://peertube.dynlinux.io", - "https://v.kretschmann.social", - "https://videos.funkwhale.audio", - "https://watch.44con.com", - "https://tube.danq.me", - "https://tube.calculate.social", - "https://peertube.laas.fr", - "https://video.ploud.jp", - "https://conf.tube", - "https://tube.extinctionrebellion.fr", - "https://peertube.f-si.org", - "https://video.subak.ovh", - "https://peertube.floss-marketing-school.com", - "https://peertube.slat.org", - "https://peertube.uno", - "https://tube.ksl-bmx.de", - "https://tube.tchncs.de", - "https://yunopeertube.myddns.me", - "https://peertube.anon-kenkai.com", - "https://tube.maiti.info", - "https://video.lemediatv.fr", - "https://peertube.artica.center", - "https://indymotion.fr", - "https://video.farci.org", - "https://tube.fede.re", - "https://peertube.mygaia.org", - "https://peertube.livingutopia.org", - "https://tube.anjara.eu", - "https://video.latavernedejohnjohn.fr", - "https://peertube.pcservice46.fr", - "https://alttube.fr", - "https://video.coop.tools", - "https://video.cabane-libre.org", - "https://peertube.openstreetmap.fr", - "https://videos.alolise.org", - "https://scitech.video", - "https://peertube.togart.de", - "https://tube.postblue.info", - "https://videos.domainepublic.net", - "https://repro.video", - "https://videos.side-ways.net", - "https://videos.pueseso.club", - "https://media.assassinate-you.net", - "https://peertube.makotoworkshop.org", - "https://peertube.serveur.slv-valbonne.fr", - "https://video.netsyms.com", - "https://video.writeas.org", - "https://videos.adhocmusic.com", - "https://vid.y-y.li", - "https://diode.zone", - "https://peertube.nomagic.uk", - "https://video.rastapuls.com", - "https://peertube.musicstudio.pro", - "https://peertube.we-keys.fr", - "https://artitube.artifaille.fr", - "https://peertube.fr", - "https://peertube.amicale.net", - "https://aperi.tube", - "https://tube.ac-lyon.fr", - "https://video.lw1.at", - "https://www.yiny.org", - "https://video.typica.us", - "https://videos.lescommuns.org", - "https://dialup.express", - "https://peertube.1312.media", - "https://skeptikon.fr", - "https://video.blueline.mg", - "https://tube.homecomputing.fr", - "https://video.tedomum.net", - "https://video.g3l.org", - "https://fontube.fr", - "https://peertube.gaialabs.ch", - "https://peertube.qtg.fr", - "https://tube.p2p.legal", - "https://troll.tv", - "https://videos.iut-orsay.fr", - "https://peertube.solidev.net", - "https://videos.cemea.org", - "https://video.passageenseine.fr", - "https://peertube.touhoppai.moe", - "https://share.tube", - "https://peertube.heraut.eu", - "https://peertube.gegeweb.eu", - "https://framatube.org", - "https://tube.conferences-gesticulees.net", - "https://peertube.datagueule.tv", - "https://video.lqdn.fr", - "https://peertube3.cpy.re", - "https://peertube2.cpy.re", - "https://peertube.cpy.re" - ] -} -- cgit 1.4.1 From 3bc5cafe65caa86734f6ad9ef13d3a70f5effa4c Mon Sep 17 00:00:00 2001 From: BobIsMyManager Date: Fri, 22 Jul 2022 19:39:08 +0100 Subject: Make almost all instances follow new protocol structre Closes https://github.com/libredirect/libredirect/issues/238 Closes https://github.com/libredirect/libredirect/issues/391 --- .github/workflows/main.yml | 1 - .gitignore | 2 - src/assets/javascripts/imdb.js | 26 +++++- src/assets/javascripts/imgur.js | 18 +++- src/assets/javascripts/instagram.js | 24 ++++- src/assets/javascripts/lbry.js | 25 ++++- src/assets/javascripts/maps.js | 38 +++++++- src/assets/javascripts/medium.js | 22 ++++- src/assets/javascripts/peertube.js | 22 ++++- src/assets/javascripts/quora.js | 26 +++++- src/assets/javascripts/reddit.js | 104 ++++++++++++++++----- src/assets/javascripts/reuters.js | 32 ++++++- src/assets/javascripts/search.js | 91 ++++++++++++++----- src/assets/javascripts/sendTargets.js | 22 ++++- src/assets/javascripts/tiktok.js | 48 +++++++--- src/assets/javascripts/translate/translate.js | 48 +++++++--- src/assets/javascripts/twitter.js | 30 +++++- src/assets/javascripts/utils.js | 4 +- src/assets/javascripts/wikipedia.js | 24 +++-- src/assets/javascripts/youtube/youtube.js | 126 ++++++++++++++++++++++---- src/assets/javascripts/youtubeMusic.js | 35 ++++++- 21 files changed, 623 insertions(+), 145 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index de199a28..c63281a2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -29,7 +29,6 @@ jobs: run: | git config --local user.email "action@github.com" git config --local user.name "GitHub Action" - git add -f src/instances git commit -am "update instances" || : - name: push changes uses: ad-m/github-push-action@v0.6.0 diff --git a/.gitignore b/.gitignore index 76962127..f6fc62d4 100644 --- a/.gitignore +++ b/.gitignore @@ -3,5 +3,3 @@ web-ext-artifacts/ nod node_modules package-lock.json -src/instances/blacklist.json -src/instances/data.json diff --git a/src/assets/javascripts/imdb.js b/src/assets/javascripts/imdb.js index de1293af..681f6754 100644 --- a/src/assets/javascripts/imdb.js +++ b/src/assets/javascripts/imdb.js @@ -41,7 +41,9 @@ let libremdbNormalRedirectsChecks, libremdbNormalCustomRedirects, libremdbTorRedirectsChecks, - libremdbTorCustomRedirects; + libremdbTorCustomRedirects, + libremdbI2pCustomRedirects, + libremdbLokiCustomRedirects; function init() { return new Promise(async resolve => { @@ -55,6 +57,8 @@ function init() { "libremdbNormalCustomRedirects", "libremdbTorRedirectsChecks", "libremdbTorCustomRedirects", + "libremdbI2pCustomRedirects", + "libremdbLokiCustomRedirects" ], r => { disableImdb = r.disableImdb; @@ -65,6 +69,8 @@ function init() { libremdbNormalCustomRedirects = r.libremdbNormalCustomRedirects; libremdbTorRedirectsChecks = r.libremdbTorRedirectsChecks; libremdbTorCustomRedirects = r.libremdbTorCustomRedirects; + libremdbI2pCustomRedirects = r.libremdbI2pCustomRedirects; + libremdbLokiCustomRedirects = r.libremdbLokiCustomRedirects; resolve(); } ) @@ -86,7 +92,9 @@ function redirect(url, type, initiator, disableOverride) { if (!targets.some(rx => rx.test(url.href))) return; let instancesList = []; - if (protocol == 'tor') instancesList = [...libremdbTorRedirectsChecks, ...libremdbTorCustomRedirects]; + if (protocol == 'loki') instancesList = [...libremdbLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...libremdbI2pCustomRedirects]; + else if (protocol == 'tor') instancesList = [...libremdbTorRedirectsChecks, ...libremdbTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { instancesList = [...libremdbNormalRedirectsChecks, ...libremdbNormalCustomRedirects]; } @@ -104,7 +112,9 @@ function reverse(url) { ...imdbRedirects.libremdb.normal, ...imdbRedirects.libremdb.tor, ...libremdbNormalCustomRedirects, - ...libremdbTorCustomRedirects + ...libremdbTorCustomRedirects, + ...libremdbI2pCustomRedirects, + ...libremdbLokiCustomRedirects ]; if (!all.includes(protocolHost)) { resolve(); return; } @@ -123,11 +133,15 @@ function switchInstance(url, disableOverride) { ...libremdbNormalCustomRedirects, ...libremdbTorCustomRedirects, + ...libremdbI2pCustomRedirects, + ...libremdbLokiCustomRedirects ]; if (!all.includes(protocolHost)) { resolve(); return; } let instancesList = []; - if (protocol == 'tor') instancesList = [...libremdbTorRedirectsChecks, ...libremdbTorCustomRedirects]; + if (protocol == 'loki') instancesList = [...libremdbLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...libremdbI2pCustomRedirects]; + else if (protocol == 'tor') instancesList = [...libremdbTorRedirectsChecks, ...libremdbTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { instancesList = [...libremdbNormalRedirectsChecks, ...libremdbNormalCustomRedirects]; } @@ -157,6 +171,10 @@ function initDefaults() { libremdbTorRedirectsChecks: [...redirects.libremdb.tor], libremdbTorCustomRedirects: [], + + libremdbI2pCustomRedirects: [], + + libremdbLokiCustomRedirects: [] }, () => resolve()); }); }) diff --git a/src/assets/javascripts/imgur.js b/src/assets/javascripts/imgur.js index dafebb9c..f76679a3 100644 --- a/src/assets/javascripts/imgur.js +++ b/src/assets/javascripts/imgur.js @@ -57,7 +57,8 @@ let rimgoTorRedirectsChecks, rimgoTorCustomRedirects, rimgoI2pRedirectsChecks, - rimgoI2pCustomRedirects; + rimgoI2pCustomRedirects, + rimgoLokiCustomRedirects; function init() { return new Promise(async resolve => { @@ -73,6 +74,7 @@ function init() { "rimgoTorCustomRedirects", "rimgoI2pRedirectsChecks", "rimgoI2pCustomRedirects", + "rimgoLokiCustomRedirects" ], r => { disableImgur = r.disableImgur; @@ -85,6 +87,7 @@ function init() { rimgoTorCustomRedirects = r.rimgoTorCustomRedirects; rimgoI2pRedirectsChecks = r.rimgoI2pRedirectsChecks; rimgoI2pCustomRedirects = r.rimgoI2pCustomRedirects; + rimgoLokiCustomRedirects = r.rimgoLokiCustomRedirects; resolve(); } ) @@ -108,6 +111,7 @@ function all() { ...rimgoNormalCustomRedirects, ...rimgoTorCustomRedirects, ...rimgoI2pCustomRedirects, + ...rimgoLokiCustomRedirects ]; } @@ -120,8 +124,9 @@ function redirect(url, type, initiator, disableOverride) { if (url.pathname.includes("delete/")) return; let instancesList = []; - if (protocol == 'i2p') instancesList = [...rimgoI2pCustomRedirects, ...rimgoI2pRedirectsChecks]; - if (protocol == 'tor') instancesList = [...rimgoTorRedirectsChecks, ...rimgoTorCustomRedirects]; + if (protocol == 'loki') instancesList = [...rimgoLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...rimgoI2pCustomRedirects, ...rimgoI2pRedirectsChecks]; + else if (protocol == 'tor') instancesList = [...rimgoTorRedirectsChecks, ...rimgoTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { instancesList = [...rimgoNormalRedirectsChecks, ...rimgoNormalCustomRedirects]; } @@ -147,8 +152,9 @@ function switchInstance(url, disableOverride) { let protocolHost = utils.protocolHost(url); if (!all().includes(protocolHost)) { resolve(); return; } let instancesList = []; - if (protocol == 'i2p') instancesList = [...rimgoI2pCustomRedirects, ...rimgoI2pRedirectsChecks]; - if (protocol == 'tor') instancesList = [...rimgoTorRedirectsChecks, ...rimgoTorCustomRedirects]; + if (protocol == 'loki') instancesList = [...rimgoLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...rimgoI2pCustomRedirects, ...rimgoI2pRedirectsChecks]; + else if (protocol == 'tor') instancesList = [...rimgoTorRedirectsChecks, ...rimgoTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { instancesList = [...rimgoNormalRedirectsChecks, ...rimgoNormalCustomRedirects]; } @@ -187,6 +193,8 @@ function initDefaults() { rimgoI2pRedirectsChecks: [...redirects.rimgo.i2p], rimgoI2pCustomRedirects: [], + + rimgoLokiCustomRedirects: [] }, () => resolve()); }); }); diff --git a/src/assets/javascripts/instagram.js b/src/assets/javascripts/instagram.js index e1c4061b..7c816b4b 100644 --- a/src/assets/javascripts/instagram.js +++ b/src/assets/javascripts/instagram.js @@ -41,7 +41,9 @@ let bibliogramNormalRedirectsChecks, bibliogramTorRedirectsChecks, bibliogramNormalCustomRedirects, - bibliogramTorCustomRedirects; + bibliogramTorCustomRedirects, + bibliogramI2pCustomRedirects, + bibliogramLokiCustomRedirects; function init() { return new Promise(async resolve => { @@ -55,6 +57,8 @@ function init() { "bibliogramTorRedirectsChecks", "bibliogramNormalCustomRedirects", "bibliogramTorCustomRedirects", + "bibliogramI2pCustomRedirects", + "bibliogramLokiCustomRedirects" ], r => { disableInstagram = r.disableInstagram; @@ -65,6 +69,8 @@ function init() { bibliogramTorRedirectsChecks = r.bibliogramTorRedirectsChecks; bibliogramNormalCustomRedirects = r.bibliogramNormalCustomRedirects; bibliogramTorCustomRedirects = r.bibliogramTorCustomRedirects; + bibliogramI2pCustomRedirects = r.bibliogramI2pCustomRedirects; + bibliogramLokiCustomRedirects = r.bibliogramLokiCustomRedirects resolve(); } ) @@ -80,6 +86,8 @@ function all() { ...instagramRedirects.bibliogram.tor, ...bibliogramNormalCustomRedirects, ...bibliogramTorCustomRedirects, + ...bibliogramI2pCustomRedirects, + ...bibliogramLokiCustomRedirects ] } @@ -93,7 +101,9 @@ function redirect(url, type, initiator, disableOverride) { if (bypassPaths.some(rx => rx.test(url.pathname))) return; let instancesList = []; - if (protocol == 'tor') instancesList = [...bibliogramTorRedirectsChecks, ...bibliogramTorCustomRedirects]; + if (protocol == 'loki') instancesList = [...bibliogramLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...bibliogramI2pCustomRedirects]; + else if (protocol == 'tor') instancesList = [...bibliogramTorRedirectsChecks, ...bibliogramTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { instancesList = [...bibliogramNormalRedirectsChecks, ...bibliogramNormalCustomRedirects]; } @@ -129,7 +139,9 @@ function switchInstance(url, disableOverride) { if (!all().includes(protocolHost)) { resolve(); return; } let instancesList = []; - if (protocol == 'tor') instancesList = [...bibliogramTorRedirectsChecks, ...bibliogramTorCustomRedirects]; + if (protocol == 'loki') instancesList = [...bibliogramLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...bibliogramI2pCustomRedirects]; + else if (protocol == 'tor') instancesList = [...bibliogramTorRedirectsChecks, ...bibliogramTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { instancesList = [...bibliogramNormalRedirectsChecks, ...bibliogramNormalCustomRedirects]; } @@ -164,7 +176,11 @@ function initDefaults() { bibliogramTorRedirectsChecks: [], bibliogramNormalCustomRedirects: [...redirects.bibliogram.tor], - bibliogramTorCustomRedirects: [] + bibliogramTorCustomRedirects: [], + + bibliogramI2pCustomRedirects: [], + + bibliogramLokiCustomRedirects: [] }) resolve(); } diff --git a/src/assets/javascripts/lbry.js b/src/assets/javascripts/lbry.js index 7a298fbe..6e2bd352 100644 --- a/src/assets/javascripts/lbry.js +++ b/src/assets/javascripts/lbry.js @@ -34,11 +34,14 @@ function setRedirects(val) { let disableLbryTargets, protocol, + protocolFallback, lbryTargetsRedirects, librarianNormalRedirectsChecks, librarianNormalCustomRedirects, librarianTorRedirectsChecks, - librarianTorCustomRedirects; + librarianTorCustomRedirects, + librarianI2pCustomRedirects, + librarianLokiCustomRedirects; function init() { return new Promise(resolve => { @@ -46,20 +49,26 @@ function init() { [ "disableLbryTargets", "protocol", + "protocolFallback", "lbryTargetsRedirects", "librarianNormalRedirectsChecks", "librarianNormalCustomRedirects", "librarianTorRedirectsChecks", "librarianTorCustomRedirects", + "librarianI2pCustomRedirects", + "librarianLokiCustomRedirects" ], r => { disableLbryTargets = r.disableLbryTargets; protocol = r.protocol; + protocolFallback = r.protocolFallback; lbryTargetsRedirects = r.lbryTargetsRedirects; librarianNormalRedirectsChecks = r.librarianNormalRedirectsChecks; librarianNormalCustomRedirects = r.librarianNormalCustomRedirects; librarianTorRedirectsChecks = r.librarianTorRedirectsChecks; librarianTorCustomRedirects = r.librarianTorCustomRedirects; + librarianI2pCustomRedirects = r.librarianI2pCustomRedirects; + librarianLokiCustomRedirects = r.librarianLokiCustomRedirects; resolve(); } ) @@ -74,6 +83,8 @@ function all() { ...redirects.librarian.tor, ...librarianNormalCustomRedirects, ...librarianTorCustomRedirects, + ...librarianI2pCustomRedirects, + ...librarianLokiCustomRedirects ]; } @@ -85,7 +96,9 @@ function switchInstance(url, disableOverride) { if (!all().includes(protocolHost)) { resolve(); return; } let instancesList = []; - if (protocol == 'tor') instancesList = [...librarianTorRedirectsChecks, ...librarianTorCustomRedirects]; + if (protocol == 'loki') instancesList = [...librarianLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...librarianI2pCustomRedirects]; + else if (protocol == 'tor') instancesList = [...librarianTorRedirectsChecks, ...librarianTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { instancesList = [...librarianNormalRedirectsChecks, ...librarianNormalCustomRedirects]; } @@ -106,7 +119,9 @@ function redirect(url, type, initiator, disableOverride) { if (type != "main_frame") return; let instancesList = []; - if (protocol == 'tor') instancesList = [...librarianTorRedirectsChecks, ...librarianTorCustomRedirects]; + if (protocol == 'loki') instancesList = [...librarianLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...librarianI2pCustomRedirects]; + else if (protocol == 'tor') instancesList = [...librarianTorRedirectsChecks, ...librarianTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { instancesList = [...librarianNormalRedirectsChecks, ...librarianNormalCustomRedirects]; } @@ -133,6 +148,10 @@ function initDefaults() { librarianTorRedirectsChecks: [...redirects.librarian.tor], librarianTorCustomRedirects: [], + + librarianI2pCustomRedirects: [], + + librarianLokiCustomRedirects: [] }, () => resolve()); }); }) diff --git a/src/assets/javascripts/maps.js b/src/assets/javascripts/maps.js index 57add6f8..7714e17d 100644 --- a/src/assets/javascripts/maps.js +++ b/src/assets/javascripts/maps.js @@ -14,7 +14,10 @@ let redirects = { 'facil': { "normal": [ "https://facilmap.org" - ] + ], + "tor": [], + "i2p": [], + "loki": [] } }; @@ -22,22 +25,37 @@ let redirects = { let disableMaps, mapsFrontend, + protocol, + protocolFallback, facilNormalRedirectsChecks, - facilNormalCustomRedirects; + facilNormalCustomRedirects, + facilTorCustomRedirects, + facilI2pCustomRedirects, + facilLokiCustomRedirects; function init() { browser.storage.local.get( [ "disableMaps", "mapsFrontend", + "protocol", + "protocolFallback", "facilNormalRedirectsChecks", "facilNormalCustomRedirects", + "facilTorCustomRedirects", + "facilI2pCustomRedirects", + "facilLokiCustomRedirects" ], r => { disableMaps = r.disableMaps; mapsFrontend = r.mapsFrontend; + protocol = r.protocol; + protocolFallback = r.protocolFallback; facilNormalRedirectsChecks = r.facilNormalRedirectsChecks; facilNormalCustomRedirects = r.facilNormalCustomRedirects; + facilTorCustomRedirects = r.facilTorCustomRedirects; + facilI2pCustomRedirects = r.facilI2pCustomRedirects; + facilLokiCustomRedirects = r.facilLokiCustomRedirects; } ) } @@ -89,7 +107,15 @@ function redirect(url, initiator) { let randomInstance; if (mapsFrontend == 'osm') randomInstance = utils.getRandomInstance(redirects.osm.normal); - if (mapsFrontend == 'facil') randomInstance = utils.getRandomInstance([...facilNormalRedirectsChecks, ...facilNormalCustomRedirects]); + + if (mapsFrontend == 'facil') { + if (protocol == 'loki') randomInstance = utils.getRandomInstance(...facilLokiCustomRedirects); + else if (protocol == 'i2p') randomInstance = utils.getRandomInstance(...facilI2pCustomRedirects); + else if (protocol == 'tor') randomInstance = utils.getRandomInstance(...facilTorCustomRedirects); + if ((randomInstance == "" && protocolFallback) || protocol == 'normal') { + randomInstance = utils.getRandomInstance([...facilNormalRedirectsChecks, ...facilNormalCustomRedirects]); + } + } let mapCentre = "#"; let prefs = {}; @@ -201,6 +227,12 @@ async function initDefaults() { mapsRedirects: redirects, facilNormalRedirectsChecks: [...redirects.facil.normal], facilNormalCustomRedirects: [], + + facilTorCustomRedirects: [], + + facilI2pCustomRedirects: [], + + facilLokiCustomRedirects: [] }, () => resolve()) ) diff --git a/src/assets/javascripts/medium.js b/src/assets/javascripts/medium.js index 37a8a3db..d4c81ba8 100644 --- a/src/assets/javascripts/medium.js +++ b/src/assets/javascripts/medium.js @@ -61,6 +61,8 @@ let scribeNormalCustomRedirects, scribeTorRedirectsChecks, scribeTorCustomRedirects, + scribeI2pCustomRedirects, + scribeLokiCustomRedirects, protocol, protocolFallback; @@ -74,6 +76,8 @@ function init() { "scribeNormalCustomRedirects", "scribeTorRedirectsChecks", "scribeTorCustomRedirects", + "scribeI2pCustomRedirects", + "scribeLokiCustomRedirects", "protocol", "protocolFallback" ], @@ -84,6 +88,8 @@ function init() { scribeNormalCustomRedirects = r.scribeNormalCustomRedirects; scribeTorRedirectsChecks = r.scribeTorRedirectsChecks; scribeTorCustomRedirects = r.scribeTorCustomRedirects; + scribeI2pCustomRedirects = r.scribeI2pCustomRedirects; + scribeLokiCustomRedirects = r.scribeLokiCustomRedirects; protocol = r.protocol; protocolFallback = r.protocolFallback; resolve(); @@ -105,13 +111,17 @@ function redirect(url, type, initiator, disableOverride) { ...mediumRedirects.scribe.tor, ...scribeNormalCustomRedirects, ...scribeTorCustomRedirects, + ...scribeI2pCustomRedirects, + ...scribeLokiCustomRedirects ].includes(initiator.origin))) return; if (!targets.some(rx => rx.test(url.host))) return; if (/^\/(@[a-zA-Z.]{0,}(\/|)$)/.test(url.pathname)) return; let instancesList = []; - if (protocol == 'tor') instancesList = [...scribeTorRedirectsChecks, ...scribeTorCustomRedirects]; + if (protocol == 'loki') instancesList = [...scribeLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...scribeI2pCustomRedirects]; + else if (protocol == 'tor') instancesList = [...scribeTorRedirectsChecks, ...scribeTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { instancesList = [...scribeNormalRedirectsChecks, ...scribeNormalCustomRedirects]; } @@ -132,11 +142,15 @@ function switchInstance(url, disableOverride) { ...scribeNormalCustomRedirects, ...scribeTorCustomRedirects, + ...scribeI2pCustomRedirects, + ...scribeLokiCustomRedirects ]; if (!all.includes(protocolHost)) { resolve(); return; } let instancesList = []; - if (protocol == 'tor') instancesList = [...scribeTorRedirectsChecks, ...scribeTorCustomRedirects]; + if (protocol == 'loki') instancesList = [...scribeLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...scribeI2pCustomRedirects]; + else if (protocol == 'tor') instancesList = [...scribeTorRedirectsChecks, ...scribeTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { instancesList = [...scribeNormalRedirectsChecks, ...scribeNormalCustomRedirects]; } @@ -173,6 +187,10 @@ function initDefaults() { scribeTorRedirectsChecks: [...redirects.scribe.tor], scribeTorCustomRedirects: [], + + scribeI2pCustomRedirects: [], + + scribeLokiCustomRedirects: [] }, () => resolve()) }) }) diff --git a/src/assets/javascripts/peertube.js b/src/assets/javascripts/peertube.js index b397f972..82993941 100644 --- a/src/assets/javascripts/peertube.js +++ b/src/assets/javascripts/peertube.js @@ -39,6 +39,8 @@ let simpleertubeNormalCustomRedirects, simpleertubeTorRedirectsChecks, simpleertubeTorCustomRedirects, + simpleertubeI2pCustomRedirects, + simpleertubeLokiCustomRedirects, peerTubeTargets, protocol, protocolFallback; @@ -53,6 +55,8 @@ function init() { "simpleertubeNormalCustomRedirects", "simpleertubeTorRedirectsChecks", "simpleertubeTorCustomRedirects", + "simpleertubeI2pCustomRedirects", + "simpleertubeLokiCustomRedirects", "peerTubeTargets", "protocol", "protocolFallback" @@ -64,6 +68,8 @@ function init() { simpleertubeNormalCustomRedirects = r.simpleertubeNormalCustomRedirects; simpleertubeTorRedirectsChecks = r.simpleertubeTorRedirectsChecks; simpleertubeTorCustomRedirects = r.simpleertubeTorCustomRedirects; + simpleertubeI2pCustomRedirects = r.simpleertubeI2pCustomRedirects; + simpleertubeLokiCustomRedirects = r.simpleertubeLokiCustomRedirects; peerTubeTargets = r.peerTubeTargets; protocol = r.protocol; protocolFallback = r.protocolFallback; @@ -82,6 +88,8 @@ function all() { ...redirects.simpleertube.tor, ...simpleertubeNormalCustomRedirects, ...simpleertubeTorCustomRedirects, + ...simpleertubeI2pCustomRedirects, + ...simpleertubeLokiCustomRedirects ]; } @@ -93,7 +101,9 @@ function redirect(url, type, initiator, disableOverride) { if (type != "main_frame") return; let instancesList = []; - if (protocol == 'tor') instancesList = [...simpleertubeTorRedirectsChecks, ...simpleertubeTorCustomRedirects]; + if (protocol == 'loki') instancesList = [...simpleertubeLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...simpleertubeI2pCustomRedirects]; + else if (protocol == 'tor') instancesList = [...simpleertubeTorRedirectsChecks, ...simpleertubeTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { instancesList = [...simpleertubeNormalRedirectsChecks, ...simpleertubeNormalCustomRedirects]; } @@ -112,7 +122,9 @@ function switchInstance(url, disableOverride) { if (!all().includes(protocolHost)) { resolve(); return; } let instancesList = []; - if (protocol == 'tor') instancesList = [...simpleertubeTorRedirectsChecks, ...simpleertubeTorCustomRedirects]; + if (protocol == 'loki') instancesList = [...simpleertubeLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...simpleertubeI2pCustomRedirects]; + else if (protocol == 'tor') instancesList = [...simpleertubeTorRedirectsChecks, ...simpleertubeTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { instancesList = [...simpleertubeNormalRedirectsChecks, ...simpleertubeNormalCustomRedirects]; } @@ -145,7 +157,11 @@ function initDefaults() { simpleertubeNormalCustomRedirects: [], simpleertubeTorRedirectsChecks: [...redirects.simpleertube.tor], - simpleertubeTorCustomRedirects: [] + simpleertubeTorCustomRedirects: [], + + simpleertubeI2pCustomRedirects: [], + + simpleertubeLokiCustomRedirects: [] }, () => resolve()); }) }) diff --git a/src/assets/javascripts/quora.js b/src/assets/javascripts/quora.js index aa907368..db2cff85 100644 --- a/src/assets/javascripts/quora.js +++ b/src/assets/javascripts/quora.js @@ -41,7 +41,9 @@ let quetreNormalRedirectsChecks, quetreNormalCustomRedirects, quetreTorRedirectsChecks, - quetreTorCustomRedirects; + quetreTorCustomRedirects, + quetreI2pCustomRedirects, + quetreLokiCustomRedirects; function init() { return new Promise(async resolve => { @@ -55,6 +57,8 @@ function init() { "quetreNormalCustomRedirects", "quetreTorRedirectsChecks", "quetreTorCustomRedirects", + "quetreI2pCustomRedirects", + "quetreLokiCustomRedirects" ], r => { disableQuora = r.disableQuora; @@ -65,6 +69,8 @@ function init() { quetreNormalCustomRedirects = r.quetreNormalCustomRedirects; quetreTorRedirectsChecks = r.quetreTorRedirectsChecks; quetreTorCustomRedirects = r.quetreTorCustomRedirects; + quetreI2pCustomRedirects = r.quetreI2pCustomRedirects; + quetreLokiCustomRedirects = r.quetreLokiCustomRedirects; resolve(); } ) @@ -86,7 +92,9 @@ function redirect(url, type, initiator, disableOverride) { if (!targets.some(rx => rx.test(url.href))) return; let instancesList = []; - if (protocol == 'tor') instancesList = [...quetreTorRedirectsChecks, ...quetreTorCustomRedirects]; + if (protocol == 'loki') instancesList = [...quetreLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...quetreI2pCustomRedirects]; + else if (protocol == 'tor') instancesList = [...quetreTorRedirectsChecks, ...quetreTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { instancesList = [...quetreNormalRedirectsChecks, ...quetreNormalCustomRedirects]; } @@ -104,7 +112,9 @@ function reverse(url) { ...quoraRedirects.quetre.normal, ...quoraRedirects.quetre.tor, ...quetreNormalCustomRedirects, - ...quetreTorCustomRedirects + ...quetreTorCustomRedirects, + ...quetreI2pCustomRedirects, + ...quetreLokiCustomRedirects ]; if (!all.includes(protocolHost)) { resolve(); return; } @@ -123,11 +133,15 @@ function switchInstance(url, disableOverride) { ...quetreNormalCustomRedirects, ...quetreTorCustomRedirects, + ...quetreI2pCustomRedirects, + ...quetreLokiCustomRedirects ]; if (!all.includes(protocolHost)) { resolve(); return; } let instancesList = []; - if (protocol == 'tor') instancesList = [...quetreTorRedirectsChecks, ...quetreTorCustomRedirects]; + if (protocol == 'loki') instancesList = [...quetreLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...quetreI2pCustomRedirects]; + else if (protocol == 'tor') instancesList = [...quetreTorRedirectsChecks, ...quetreTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { instancesList = [...quetreNormalRedirectsChecks, ...quetreNormalCustomRedirects]; } @@ -158,6 +172,10 @@ function initDefaults() { quetreTorRedirectsChecks: [...redirects.quetre.tor], quetreTorCustomRedirects: [], + + quetreI2pCustomRedirects: [], + + quetreLokiCustomRedirects: [] }, () => resolve()); }); }) diff --git a/src/assets/javascripts/reddit.js b/src/assets/javascripts/reddit.js index f43d88dd..510ec469 100644 --- a/src/assets/javascripts/reddit.js +++ b/src/assets/javascripts/reddit.js @@ -43,14 +43,19 @@ let redditFrontend, redditRedirects, protocol, + protocolFallback, libredditNormalRedirectsChecks, libredditNormalCustomRedirects, libredditTorRedirectsChecks, libredditTorCustomRedirects, + libredditI2pCustomRedirects, + libredditLokiCustomRedirects, tedditNormalRedirectsChecks, tedditNormalCustomRedirects, tedditTorRedirectsChecks, - tedditTorCustomRedirects; + tedditTorCustomRedirects, + tedditI2pCustomRedirects, + tedditLokiCustomRedirects; function init() { return new Promise(resolve => { @@ -60,28 +65,38 @@ function init() { "redditFrontend", "redditRedirects", "protocol", + "protocolFallback", "libredditNormalRedirectsChecks", "libredditNormalCustomRedirects", "libredditTorRedirectsChecks", "libredditTorCustomRedirects", + "libredditI2pCustomRedirects", + "libredditLokiCustomRedirects", "tedditNormalRedirectsChecks", "tedditNormalCustomRedirects", "tedditTorRedirectsChecks", "tedditTorCustomRedirects", + "tedditI2pCustomRedirects", + "tedditLokiCustomRedirects" ], r => { disableReddit = r.disableReddit; redditFrontend = r.redditFrontend; redditRedirects = r.redditRedirects; protocol = r.protocol; + protocolFallback = r.protocolFallback; libredditNormalRedirectsChecks = r.libredditNormalRedirectsChecks; libredditNormalCustomRedirects = r.libredditNormalCustomRedirects; libredditTorRedirectsChecks = r.libredditTorRedirectsChecks; libredditTorCustomRedirects = r.libredditTorCustomRedirects; + libredditI2pCustomRedirects = r.libredditI2pCustomRedirects; + libredditLokiCustomRedirects = r.libredditLokiCustomRedirects; tedditNormalRedirectsChecks = r.tedditNormalRedirectsChecks; tedditNormalCustomRedirects = r.tedditNormalCustomRedirects; tedditTorRedirectsChecks = r.tedditTorRedirectsChecks; tedditTorCustomRedirects = r.tedditTorCustomRedirects; + tedditI2pCustomRedirects = r.tedditI2pCustomRedirects; + tedditLokiCustomRedirects = r.tedditLokiCustomRedirects; resolve(); } ) @@ -100,12 +115,18 @@ function initLibredditCookies(test, from) { ...libredditTorRedirectsChecks, ...libredditNormalCustomRedirects, ...libredditTorCustomRedirects, + ...libredditI2pCustomRedirects, + ...libredditLokiCustomRedirects ].includes(protocolHost)) { resolve(); return; } if (!test) { - let checkedInstances; - if (protocol == 'normal') checkedInstances = [...libredditNormalRedirectsChecks, ...libredditNormalCustomRedirects]; + let checkedInstances = []; + if (protocol == 'loki') checkedInstances = [...libredditLokiCustomRedirects]; + else if (protocol == 'i2p') checkedInstances = [...libredditI2pCustomRedirects]; else if (protocol == 'tor') checkedInstances = [...libredditTorRedirectsChecks, ...libredditTorCustomRedirects]; + if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') { + checkedInstances = [...libredditNormalRedirectsChecks, ...libredditNormalCustomRedirects]; + } await utils.copyCookie('libreddit', from, checkedInstances, "theme"); await utils.copyCookie('libreddit', from, checkedInstances, "front_page"); await utils.copyCookie('libreddit', from, checkedInstances, "layout"); @@ -127,9 +148,13 @@ function pasteLibredditCookies() { return new Promise(async resolve => { await init(); if (disableReddit || redditFrontend != 'libreddit' || protocol === undefined) { resolve(); return; } - let checkedInstances; - if (protocol == 'normal') checkedInstances = [...libredditNormalRedirectsChecks, ...libredditNormalCustomRedirects] - else if (protocol == 'tor') checkedInstances = [...libredditTorRedirectsChecks, ...libredditTorCustomRedirects] + let checkedInstances = []; + if (protocol == 'loki') checkedInstances = [...libredditLokiCustomRedirects]; + else if (protocol == 'i2p') checkedInstances = [...libredditI2pCustomRedirects]; + else if (protocol == 'tor') checkedInstances = [...libredditTorRedirectsChecks, ...libredditTorCustomRedirects]; + if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') { + checkedInstances = [...libredditNormalRedirectsChecks, ...libredditNormalCustomRedirects]; + } utils.getCookiesFromStorage('libreddit', checkedInstances, "theme"); utils.getCookiesFromStorage('libreddit', checkedInstances, "front_page"); utils.getCookiesFromStorage('libreddit', checkedInstances, "layout"); @@ -155,12 +180,19 @@ function initTedditCookies(test, from) { ...tedditTorRedirectsChecks, ...tedditNormalCustomRedirects, ...tedditTorCustomRedirects, + ...tedditI2pCustomRedirects, + ...tedditI2pCustomRedirects + ].includes(protocolHost)) resolve(); if (!test) { - let checkedInstances; - if (protocol == 'normal') checkedInstances = [...tedditNormalRedirectsChecks, ...tedditNormalCustomRedirects] - else if (protocol == 'tor') checkedInstances = [...tedditTorRedirectsChecks, ...tedditTorCustomRedirects] + let checkedInstances = []; + if (protocol == 'loki') checkedInstances = [...tedditLokiCustomRedirects]; + else if (protocol == 'i2p') checkedInstances = [...tedditI2pCustomRedirects]; + else if (protocol == 'tor') checkedInstances = [...tedditTorRedirectsChecks, ...tedditTorCustomRedirects]; + if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') { + checkedInstances = [...tedditNormalRedirectsChecks, ...tedditNormalCustomRedirects]; + } await utils.copyCookie('teddit', from, checkedInstances, 'collapse_child_comments') await utils.copyCookie('teddit', from, checkedInstances, 'domain_instagram') await utils.copyCookie('teddit', from, checkedInstances, 'domain_twitter') @@ -182,9 +214,13 @@ function pasteTedditCookies() { return new Promise(async resolve => { await init(); if (disableReddit || redditFrontend != 'teddit' || protocol === undefined) { resolve(); return; } - let checkedInstances; - if (protocol == 'normal') checkedInstances = [...tedditNormalRedirectsChecks, ...tedditNormalCustomRedirects] - else if (protocol == 'tor') checkedInstances = [...tedditTorRedirectsChecks, ...tedditTorCustomRedirects] + let checkedInstances = []; + if (protocol == 'loki') checkedInstances = [...tedditLokiCustomRedirects]; + else if (protocol == 'i2p') checkedInstances = [...tedditI2pCustomRedirects]; + else if (protocol == 'tor') checkedInstances = [...tedditTorRedirectsChecks, ...tedditTorCustomRedirects]; + if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') { + checkedInstances = [...tedditNormalRedirectsChecks, ...tedditNormalCustomRedirects]; + } utils.getCookiesFromStorage('teddit', checkedInstances, 'collapse_child_comments') utils.getCookiesFromStorage('teddit', checkedInstances, 'domain_instagram') utils.getCookiesFromStorage('teddit', checkedInstances, 'domain_twitter') @@ -209,8 +245,12 @@ function all() { ...redditRedirects.teddit.tor, ...libredditNormalCustomRedirects, ...libredditTorCustomRedirects, + ...libredditI2pCustomRedirects, + ...libredditLokiCustomRedirects, ...tedditNormalCustomRedirects, ...tedditTorCustomRedirects, + ...tedditI2pCustomRedirects, + ...tedditLokiCustomRedirects ]; } @@ -235,14 +275,22 @@ function redirect(url, type, initiator, disableOverride) { let libredditInstancesList = []; let tedditInstancesList = []; - if (protocol == 'tor') { - libredditInstancesList = [...libredditTorRedirectsChecks, ...libredditTorCustomRedirects]; - tedditInstancesList = [...tedditTorRedirectsChecks, ...tedditTorCustomRedirects]; - } - if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { - libredditInstancesList = [...libredditNormalRedirectsChecks, ...libredditNormalCustomRedirects]; - tedditInstancesList = [...tedditNormalRedirectsChecks, ...tedditNormalCustomRedirects]; - } + if (protocol == 'loki') { + libredditInstancesList = [...libredditLokiCustomRedirects]; + tedditInstancesList = [...tedditLokiCustomRedirects]; + } + else if (protocol == 'i2p') { + libredditInstancesList = [...libredditI2pCustomRedirects]; + tedditInstancesList = [...tedditI2pCustomRedirects]; + } + else if (protocol == 'tor') { + libredditInstancesList = [...libredditTorRedirectsChecks, ...libredditTorCustomRedirects]; + tedditInstancesList = [...tedditTorRedirectsChecks, ...tedditTorCustomRedirects]; + } + if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { + libredditInstancesList = [...libredditNormalRedirectsChecks, ...libredditNormalCustomRedirects]; + tedditInstancesList = [...tedditNormalRedirectsChecks, ...tedditNormalCustomRedirects]; + } if (url.host === "i.redd.it") { if (redditFrontend == 'teddit') { @@ -299,7 +347,9 @@ function switchInstance(url, disableOverride) { if (!all().includes(protocolHost)) { resolve(); return; } let instancesList = []; if (redditFrontend == 'libreddit') { - if (protocol == 'tor') instancesList = [...libredditTorRedirectsChecks, ...libredditTorCustomRedirects]; + if (protocol == 'loki') instancesList = [...libredditLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...libredditI2pCustomRedirects]; + else if (protocol == 'tor') instancesList = [...libredditTorRedirectsChecks, ...libredditTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { instancesList = [...libredditNormalRedirectsChecks, ...libredditNormalCustomRedirects]; } @@ -309,7 +359,9 @@ function switchInstance(url, disableOverride) { ].includes(protocolHost)) url.pathname = url.pathname.replace("/pics/w:null_", "/img/"); } else if (redditFrontend == 'teddit') { - if (protocol == 'tor') instancesList = [...tedditTorRedirectsChecks, ...tedditTorCustomRedirects]; + if (protocol == 'loki') instancesList = [...tedditLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...tedditI2pCustomRedirects]; + else if (protocol == 'tor') instancesList = [...tedditTorRedirectsChecks, ...tedditTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { instancesList = [...tedditNormalRedirectsChecks, ...tedditNormalCustomRedirects]; } @@ -359,11 +411,19 @@ function initDefaults() { libredditTorRedirectsChecks: [...redirects.libreddit.tor], libredditTorCustomRedirects: [], + libredditI2pCustomRedirects: [], + + libredditLokiCustomRedirects: [], + tedditNormalRedirectsChecks: tedditNormalRedirectsChecks, tedditNormalCustomRedirects: [], tedditTorRedirectsChecks: [...redirects.teddit.tor], tedditTorCustomRedirects: [], + + tedditI2pCustomRedirects: [], + + tedditLokiCustomRedirects: [] }, () => resolve()); }); }); diff --git a/src/assets/javascripts/reuters.js b/src/assets/javascripts/reuters.js index ee4f227c..aaae5d17 100644 --- a/src/assets/javascripts/reuters.js +++ b/src/assets/javascripts/reuters.js @@ -18,6 +18,21 @@ for (let i = 0; i < frontends.length; i++) { } } +function setRedirects(val) { + browser.storage.local.get('cloudflareBlackList', r => { + redirects.neuters = val; + neutersNormalRedirectsChecks = [...redirects.neuters.normal]; + for (const instance of r.cloudflareBlackList) { + const a = neutersNormalRedirectsChecks.indexOf(instance); + if (a > -1) neutersNormalRedirectsChecks.splice(a, 1); + } + browser.storage.local.set({ + neutersRedirects: redirects, + neutersNormalRedirectsChecks + }) + }) +} + let disableReuters, protocol, @@ -26,7 +41,9 @@ let neutersNormalRedirectsChecks, neutersNormalCustomRedirects, neutersTorRedirectsChecks, - neutersTorCustomRedirects; + neutersTorCustomRedirects, + neutersI2pCustomRedirects, + neutersLokiCustomRedirects; function init() { return new Promise(async resolve => { @@ -40,6 +57,8 @@ function init() { "neutersNormalCustomRedirects", "neutersTorRedirectsChecks", "neutersTorCustomRedirects", + "neutersI2pCustomRedirects", + "neutersLokiCustomRedirects" ], r => { disableReuters = r.disableReuters; @@ -50,6 +69,8 @@ function init() { neutersNormalCustomRedirects = r.neutersNormalCustomRedirects; neutersTorRedirectsChecks = r.neutersTorRedirectsChecks; neutersTorCustomRedirects = r.neutersTorCustomRedirects; + neutersI2pCustomRedirects = r.neutersI2pCustomRedirects; + neutersLokiCustomRedirects = r.neutersLokiCustomRedirects; resolve(); } ) @@ -70,7 +91,9 @@ function redirect(url, type, initiator, disableOverride) { if (!targets.some(rx => rx.test(url.href))) return; let instancesList = []; - if (protocol == 'tor') instancesList = [...neutersTorRedirectsChecks, ...neutersTorCustomRedirects]; + if (protocol == 'loki') instancesList = [...neutersLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...neutersI2pCustomRedirects]; + else if (protocol == 'tor') instancesList = [...neutersTorRedirectsChecks, ...neutersTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { instancesList = [...neutersNormalRedirectsChecks, ...neutersNormalCustomRedirects]; } @@ -103,11 +126,16 @@ function initDefaults() { neutersTorRedirectsChecks: [...redirects.neuters.tor], neutersTorCustomRedirects: [], + + neutersI2pCustomRedirects: [], + + neutersLokiCustomRedirects: [] }, () => resolve()); }); } export default { + setRedirects, redirect, initDefaults }; diff --git a/src/assets/javascripts/search.js b/src/assets/javascripts/search.js index 6653d2bd..571df3c1 100644 --- a/src/assets/javascripts/search.js +++ b/src/assets/javascripts/search.js @@ -90,24 +90,28 @@ let whoogleTorCustomRedirects, whoogleI2pRedirectsChecks, whoogleI2pCustomRedirects, + whoogleLokiCustomRedirects, searxNormalRedirectsChecks, searxNormalCustomRedirects, searxTorRedirectsChecks, searxTorCustomRedirects, searxI2pRedirectsChecks, searxI2pCustomRedirects, + searxLokiCustomRedirects, searxngNormalRedirectsChecks, searxngNormalCustomRedirects, searxngTorRedirectsChecks, searxngTorCustomRedirects, searxngI2pRedirectsChecks, searxngI2pCustomRedirects, + searxngLokiCustomRedirects, librexNormalRedirectsChecks, librexNormalCustomRedirects, librexTorRedirectsChecks, librexTorCustomRedirects, librexI2pRedirectsChecks, - librexI2pCustomRedirects; + librexI2pCustomRedirects, + librexLokiCustomRedirects; function init() { return new Promise(async resolve => { @@ -124,24 +128,28 @@ function init() { "whoogleTorCustomRedirects", "whoogleI2pRedirectsChecks", "whoogleI2pCustomRedirects", + "whoogleLokiCustomRedirects", "searxNormalRedirectsChecks", "searxNormalCustomRedirects", "searxTorRedirectsChecks", "searxTorCustomRedirects", "searxI2pRedirectsChecks", "searxI2pCustomRedirects", + "searxLokiCustomRedirects", "searxngNormalRedirectsChecks", "searxngNormalCustomRedirects", "searxngTorRedirectsChecks", "searxngTorCustomRedirects", "searxngI2pRedirectsChecks", "searxngI2pCustomRedirects", + "searxngLokiCustomRedirects", "librexNormalRedirectsChecks", "librexNormalCustomRedirects", "librexTorRedirectsChecks", "librexTorCustomRedirects", "librexI2pRedirectsChecks", - "librexI2pCustomRedirects" + "librexI2pCustomRedirects", + "librexLokiCustomRedirects" ], r => { disableSearch = r.disableSearch; @@ -155,24 +163,28 @@ function init() { whoogleTorCustomRedirects = r.whoogleTorCustomRedirects; whoogleI2pRedirectsChecks = r.whoogleI2pRedirectsChecks; whoogleI2pCustomRedirects = r.whoogleI2pCustomRedirects; + whoogleLokiCustomRedirects = r.whoogleLokiCustomRedirects; searxNormalRedirectsChecks = r.searxNormalRedirectsChecks; searxNormalCustomRedirects = r.searxNormalCustomRedirects; searxTorRedirectsChecks = r.searxTorRedirectsChecks; searxTorCustomRedirects = r.searxTorCustomRedirects; searxI2pRedirectsChecks = r.searxI2pRedirectsChecks; searxI2pCustomRedirects = r.searxI2pCustomRedirects; + searxLokiCustomRedirects = r.searxLokiCustomRedirects; searxngNormalRedirectsChecks = r.searxngNormalRedirectsChecks; searxngNormalCustomRedirects = r.searxngNormalCustomRedirects; searxngTorRedirectsChecks = r.searxngTorRedirectsChecks; searxngTorCustomRedirects = r.searxngTorCustomRedirects; searxngI2pRedirectsChecks = r.searxngI2pRedirectsChecks; searxngI2pCustomRedirects = r.searxngI2pCustomRedirects; + searxngLokiCustomRedirects = r.searxngLokiCustomRedirects; librexNormalRedirectsChecks = r.librexNormalRedirectsChecks; librexNormalCustomRedirects = r.librexNormalCustomRedirects; librexTorRedirectsChecks = r.librexTorRedirectsChecks; librexTorCustomRedirects = r.librexTorCustomRedirects; librexI2pRedirectsChecks = r.librexI2pRedirectsChecks; librexI2pCustomRedirects = r.librexI2pCustomRedirects; + librexLokiCustomRedirects = r.librexLokiCustomRedirects; resolve(); } ) @@ -193,12 +205,14 @@ function initSearxCookies(test, from) { ...searxTorCustomRedirects, ...searxI2pRedirectsChecks, ...searxI2pCustomRedirects, + ...searxLokiCustomRedirects ].includes(protocolHost)) { resolve(); return; } if (!test) { let checkedInstances = []; - if (protocol == 'i2p') checkedInstances = [...searxI2pCustomRedirects, ...searxI2pRedirectsChecks]; - if (protocol == 'tor') checkedInstances = [...searxTorRedirectsChecks, ...searxTorCustomRedirects]; + if (protocol == 'loki') checkedInstances = [...searxLokiCustomRedirects]; + else if (protocol == 'i2p') checkedInstances = [...searxI2pCustomRedirects, ...searxI2pRedirectsChecks]; + else if (protocol == 'tor') checkedInstances = [...searxTorRedirectsChecks, ...searxTorCustomRedirects]; if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') { checkedInstances = [...searxNormalRedirectsChecks, ...searxNormalCustomRedirects]; } @@ -229,8 +243,9 @@ function pasteSearxCookies() { await init(); if (disableSearch || searchFrontend != 'searx') { resolve(); return; } let checkedInstances = []; - if (protocol == 'i2p') checkedInstances = [...searxI2pCustomRedirects, ...searxI2pRedirectsChecks]; - if (protocol == 'tor') checkedInstances = [...searxTorRedirectsChecks, ...searxTorCustomRedirects]; + if (protocol == 'loki') checkedInstances = [...searxLokiCustomRedirects]; + else if (protocol == 'i2p') checkedInstances = [...searxI2pCustomRedirects, ...searxI2pRedirectsChecks]; + else if (protocol == 'tor') checkedInstances = [...searxTorRedirectsChecks, ...searxTorCustomRedirects]; if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') { checkedInstances = [...searxNormalRedirectsChecks, ...searxNormalCustomRedirects]; } @@ -266,12 +281,14 @@ function initSearxngCookies(test, from) { ...searxngTorCustomRedirects, ...searxngI2pRedirectsChecks, ...searxngI2pCustomRedirects, + ...searxngLokiCustomRedirects, ].includes(protocolHost)) { resolve(); return; } if (!test) { let checkedInstances = []; - if (protocol == 'i2p') checkedInstances = [...searxngI2pCustomRedirects, ...searxngI2pRedirectsChecks]; - if (protocol == 'tor') checkedInstances = [...searxngTorRedirectsChecks, ...searxngTorCustomRedirects]; + if (protocol == 'loki') checkedInstances = [...searxngLokiCustomRedirects]; + else if (protocol == 'i2p') checkedInstances = [...searxngI2pCustomRedirects, ...searxngI2pRedirectsChecks]; + else if (protocol == 'tor') checkedInstances = [...searxngTorRedirectsChecks, ...searxngTorCustomRedirects]; if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') { checkedInstances = [...searxngNormalRedirectsChecks, ...searxngNormalCustomRedirects]; } @@ -304,8 +321,9 @@ function pasteSearxngCookies() { await init(); if (disableSearch || searchFrontend != 'searxng', protocol === undefined) { resolve(); return; } let checkedInstances = []; - if (protocol == 'i2p') checkedInstances = [...searxngI2pCustomRedirects, ...searxngI2pRedirectsChecks]; - if (protocol == 'tor') checkedInstances = [...searxngTorRedirectsChecks, ...searxngTorCustomRedirects]; + if (protocol == 'loki') checkedInstances = [...searxngLokiCustomRedirects]; + else if (protocol == 'i2p') checkedInstances = [...searxngI2pCustomRedirects, ...searxngI2pRedirectsChecks]; + else if (protocol == 'tor') checkedInstances = [...searxngTorRedirectsChecks, ...searxngTorCustomRedirects]; if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') { checkedInstances = [...searxngNormalRedirectsChecks, ...searxngNormalCustomRedirects]; } @@ -343,12 +361,14 @@ function initLibrexCookies(test, from) { ...librexTorCustomRedirects, ...librexI2pRedirectsChecks, ...librexI2pCustomRedirects, + ...librexLokiCustomRedirects ].includes(protocolHost)) { resolve(); return; } if(!test) { let checkedInstances = []; - if (protocol == 'i2p') checkedInstances = [...librexI2pCustomRedirects, ...librexI2pRedirectsChecks]; - if (protocol == 'tor') checkedInstances = [...librexTorRedirectsChecks, ...librexTorCustomRedirects]; + if (protocol == 'loki') checkedInstances = [...librexLokiCustomRedirects]; + else if (protocol == 'i2p') checkedInstances = [...librexI2pCustomRedirects, ...librexI2pRedirectsChecks]; + else if (protocol == 'tor') checkedInstances = [...librexTorRedirectsChecks, ...librexTorCustomRedirects]; if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') { checkedInstances = [...librexNormalRedirectsChecks, ...librexNormalCustomRedirects]; } @@ -370,8 +390,9 @@ function pasteLibrexCookies() { await init(); if (disableSearch || searchFrontend != 'librex', protocol === undefined) { resolve(); return; } let checkedInstances = []; - if (protocol == 'i2p') checkedInstances = [...librexI2pCustomRedirects, ...librexI2pRedirectsChecks]; - if (protocol == 'tor') checkedInstances = [...librexTorRedirectsChecks, ...librexTorCustomRedirects]; + if (protocol == 'loki') checkedInstances = [...librexLokiCustomRedirects]; + else if (protocol == 'i2p') checkedInstances = [...librexI2pCustomRedirects, ...librexI2pRedirectsChecks]; + else if (protocol == 'tor') checkedInstances = [...librexTorRedirectsChecks, ...librexTorCustomRedirects]; if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') { checkedInstances = [...librexNormalRedirectsChecks, ...librexNormalCustomRedirects]; } @@ -396,8 +417,9 @@ function redirect(url, disableOverride) { let path; if (searchFrontend == 'searx') { let instancesList = []; - if (protocol == 'i2p') instancesList = [...searxI2pCustomRedirects, ...searxI2pRedirectsChecks]; - if (protocol == 'tor') instancesList = [...searxTorRedirectsChecks, ...searxTorCustomRedirects]; + if (protocol == 'loki') instancesList = [...searxLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...searxI2pCustomRedirects, ...searxI2pRedirectsChecks]; + else if (protocol == 'tor') instancesList = [...searxTorRedirectsChecks, ...searxTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { instancesList = [...searxNormalRedirectsChecks, ...searxNormalCustomRedirects]; } @@ -408,8 +430,9 @@ function redirect(url, disableOverride) { } else if (searchFrontend == 'searxng') { let instancesList = []; - if (protocol == 'i2p') instancesList = [...searxngI2pCustomRedirects, ...searxngI2pRedirectsChecks]; - if (protocol == 'tor') instancesList = [...searxngTorRedirectsChecks, ...searxngTorCustomRedirects]; + if (protocol == 'loki') instancesList = [...searxngLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...searxngI2pCustomRedirects, ...searxngI2pRedirectsChecks]; + else if (protocol == 'tor') instancesList = [...searxngTorRedirectsChecks, ...searxngTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { instancesList = [...searxngNormalRedirectsChecks, ...searxngNormalCustomRedirects]; } @@ -420,8 +443,9 @@ function redirect(url, disableOverride) { } else if (searchFrontend == 'whoogle') { let instancesList = []; - if (protocol == 'i2p') instancesList = [...whoogleI2pCustomRedirects, ...whoogleI2pRedirectsChecks]; - if (protocol == 'tor') instancesList = [...whoogleTorRedirectsChecks, ...whoogleTorCustomRedirects]; + if (protocol == 'loki') instancesList = [...whoogleLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...whoogleI2pCustomRedirects, ...whoogleI2pRedirectsChecks]; + else if (protocol == 'tor') instancesList = [...whoogleTorRedirectsChecks, ...whoogleTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { instancesList = [...whoogleNormalRedirectsChecks, ...whoogleNormalCustomRedirects]; } @@ -432,8 +456,9 @@ function redirect(url, disableOverride) { } else if (searchFrontend == 'librex') { let instancesList = []; - if (protocol == 'i2p') instancesList = [...librexI2pCustomRedirects, ...librexI2pRedirectsChecks]; - if (protocol == 'tor') instancesList = [...librexTorRedirectsChecks, ...librexTorCustomRedirects]; + if (protocol == 'loki') instancesList = [...librexLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...librexI2pCustomRedirects, ...librexI2pRedirectsChecks]; + else if (protocol == 'tor') instancesList = [...librexTorRedirectsChecks, ...librexTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { instancesList = [...librexNormalRedirectsChecks, ...librexNormalCustomRedirects]; } @@ -487,23 +512,33 @@ function switchInstance(url, disableOverride) { ...searxNormalCustomRedirects, ...searxTorCustomRedirects, ...searxI2pCustomRedirects, + ...searxLokiCustomRedirects, ...searxngNormalCustomRedirects, ...searxngTorCustomRedirects, ...searxngI2pCustomRedirects, + ...searxngLokiCustomRedirects, ...whoogleNormalCustomRedirects, ...whoogleTorCustomRedirects, ...whoogleI2pCustomRedirects, + ...whoogleLokiCustomRedirects, ...librexNormalCustomRedirects, ...librexTorCustomRedirects, ...librexI2pCustomRedirects, + ...librexLokiCustomRedirects ].includes(protocolHost)) { resolve(); return; } let instancesList; - if (protocol == 'tor') { + if (protocol == 'loki') { + if (searchFrontend == 'searx') instancesList = [...searxLokiCustomRedirects]; + else if (searchFrontend == 'searxng') instancesList = [...searxngLokiCustomRedirects]; + else if (searchFrontend == 'whoogle') instancesList = [...whoogleLokiCustomRedirects]; + else if (searchFrontend == 'librex') instancesList = [...librexLokiCustomRedirects]; + } + else if (protocol == 'tor') { if (searchFrontend == 'searx') instancesList = [...searxTorRedirectsChecks, ...searxTorCustomRedirects]; else if (searchFrontend == 'searxng') instancesList = [...searxngTorRedirectsChecks, ...searxngTorCustomRedirects]; else if (searchFrontend == 'whoogle') instancesList = [...whoogleTorRedirectsChecks, ...whoogleTorCustomRedirects]; @@ -578,6 +613,8 @@ function initDefaults() { whoogleI2pRedirectsChecks: [...redirects.whoogle.i2p], whoogleI2pCustomRedirects: [], + whoogleLokiCustomRedirects: [], + searxNormalRedirectsChecks: searxNormalRedirectsChecks, searxNormalCustomRedirects: [], @@ -588,6 +625,8 @@ function initDefaults() { searxI2pRedirectsChecks: [...redirects.searx.i2p], searxI2pCustomRedirects: [], + searxLokiCustomRedirects: [], + searxngNormalRedirectsChecks: searxngNormalRedirectsChecks, searxngNormalCustomRedirects: [], @@ -598,6 +637,8 @@ function initDefaults() { searxngI2pRedirectsChecks: [...redirects.searxng.i2p], searxngI2pCustomRedirects: [], + searxngLokiCustomRedirects: [], + librexNormalRedirectsChecks: librexNormalRedirectsChecks, librexNormalCustomRedirects: [], @@ -606,7 +647,9 @@ function initDefaults() { librexTorCustomRedirects: [], librexI2pRedirectsChecks: [...redirects.librex.i2p], - librexI2pCustomRedirects: [] + librexI2pCustomRedirects: [], + + librexLokiCustomRedirects: [] }, () => resolve()) }) }) diff --git a/src/assets/javascripts/sendTargets.js b/src/assets/javascripts/sendTargets.js index cc5b348c..e414298a 100644 --- a/src/assets/javascripts/sendTargets.js +++ b/src/assets/javascripts/sendTargets.js @@ -42,6 +42,8 @@ let sendNormalCustomRedirects, sendTorRedirectsChecks, sendTorCustomRedirects, + sendI2pCustomRedirects, + sendLokiCustomRedirects, protocol, protocolFallback; @@ -57,6 +59,8 @@ function init() { "sendNormalCustomRedirects", "sendTorRedirectsChecks", "sendTorCustomRedirects", + "sendI2pCustomRedirects", + "sendLokiCustomRedirects" ], r => { disableSendTarget = r.disableSendTarget; @@ -65,6 +69,8 @@ function init() { sendNormalCustomRedirects = r.sendNormalCustomRedirects; sendTorRedirectsChecks = r.sendTorRedirectsChecks; sendTorCustomRedirects = r.sendTorCustomRedirects; + sendI2pCustomRedirects = r.sendI2pCustomRedirects; + sendLokiCustomRedirects = r.sendLokiCustomRedirects; protocol = r.protocol; protocolFallback = r.protocolFallback; resolve(); @@ -83,6 +89,8 @@ function all() { ...sendNormalCustomRedirects, ...sendTorRedirectsChecks, ...sendTorCustomRedirects, + ...sendI2pCustomRedirects, + ...sendLokiCustomRedirects ]; } @@ -95,7 +103,9 @@ function switchInstance(url, disableOverride) { if (url.pathname != '/') { resolve(); return; } let instancesList = []; - if (protocol == 'tor') instancesList = [...sendTorRedirectsChecks, ...sendTorCustomRedirects]; + if (protocol == 'loki') instancesList = [...sendLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...sendI2pCustomRedirects]; + else if (protocol == 'tor') instancesList = [...sendTorRedirectsChecks, ...sendTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { instancesList = [...sendNormalRedirectsChecks, ...sendNormalCustomRedirects]; } @@ -116,7 +126,9 @@ function redirect(url, type, initiator, disableOverride) { if (!targets.some(rx => rx.test(url.href))) return; let instancesList = []; - if (protocol == 'tor') instancesList = [...sendTorRedirectsChecks, ...sendTorCustomRedirects]; + if (protocol == 'loki') instancesList = [...sendLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...sendI2pCustomRedirects]; + else if (protocol == 'tor') instancesList = [...sendTorRedirectsChecks, ...sendTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { instancesList = [...sendNormalRedirectsChecks, ...sendNormalCustomRedirects]; } @@ -147,7 +159,11 @@ function initDefaults() { sendNormalCustomRedirects: [], sendTorRedirectsChecks: [...redirects.send.tor], - sendTorCustomRedirects: [] + sendTorCustomRedirects: [], + + sendI2pCustomRedirects: [], + + sendLokiCustomRedirects: [] }, () => resolve()) }) }) diff --git a/src/assets/javascripts/tiktok.js b/src/assets/javascripts/tiktok.js index 0bf6d592..ac35910d 100644 --- a/src/assets/javascripts/tiktok.js +++ b/src/assets/javascripts/tiktok.js @@ -42,13 +42,17 @@ function initProxiTokCookies(test, from) { ...proxiTokNormalCustomRedirects, ...proxiTokTorRedirectsChecks, ...proxiTokTorCustomRedirects, + ...proxiTokI2pCustomRedirects, + ...proxiTokLokiCustomRedirects, ].includes(protocolHost)) resolve(); if (!test) { - let instancesList = []; - if (protocol == 'tor') instancesList = [...proxiTokTorRedirectsChecks, ...proxiTokTorCustomRedirects]; - if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { - instancesList = [...proxiTokNormalRedirectsChecks, ...proxiTokNormalCustomRedirects]; + let checkedInstances = []; + if (protocol == 'loki') checkedInstances = [...proxiTokI2pCustomRedirects]; + else if (protocol == 'i2p') checkedInstances = [...proxiTokLokiCustomRedirects]; + else if (protocol == 'tor') checkedInstances = [...proxiTokTorRedirectsChecks, ...proxiTokTorCustomRedirects]; + if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') { + checkedInstances = [...proxiTokNormalRedirectsChecks, ...proxiTokNormalCustomRedirects]; } await utils.copyCookie('proxitok', from, checkedInstances, 'theme'); await utils.copyCookie('proxitok', from, checkedInstances, 'api-legacy'); @@ -61,10 +65,12 @@ function pasteProxiTokCookies() { return new Promise(async resolve => { await init(); if (disableTiktok || protocol === undefined) { resolve(); return; } - let instancesList = []; - if (protocol == 'tor') instancesList = [...proxiTokTorRedirectsChecks, ...proxiTokTorCustomRedirects]; - if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { - instancesList = [...proxiTokNormalRedirectsChecks, ...proxiTokNormalCustomRedirects]; + let checkedInstances = []; + if (protocol == 'loki') checkedInstances = [...proxiTokI2pCustomRedirects]; + else if (protocol == 'i2p') checkedInstances = [...proxiTokLokiCustomRedirects]; + else if (protocol == 'tor') checkedInstances = [...proxiTokTorRedirectsChecks, ...proxiTokTorCustomRedirects]; + if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') { + checkedInstances = [...proxiTokNormalRedirectsChecks, ...proxiTokNormalCustomRedirects]; } utils.getCookiesFromStorage('proxitok', checkedInstances, 'theme'); utils.getCookiesFromStorage('proxitok', checkedInstances, 'api-legacy'); @@ -80,7 +86,9 @@ let proxiTokNormalRedirectsChecks, proxiTokNormalCustomRedirects, proxiTokTorRedirectsChecks, - proxiTokTorCustomRedirects; + proxiTokTorCustomRedirects, + proxiTokI2pCustomRedirects, + proxiTokLokiCustomRedirects; function init() { return new Promise(async resolve => { @@ -94,6 +102,8 @@ function init() { "proxiTokNormalCustomRedirects", "proxiTokTorRedirectsChecks", "proxiTokTorCustomRedirects", + "proxiTokI2pCustomRedirects", + "proxiTokLokiCustomRedirects" ], r => { disableTiktok = r.disableTiktok; @@ -104,6 +114,8 @@ function init() { proxiTokNormalCustomRedirects = r.proxiTokNormalCustomRedirects; proxiTokTorRedirectsChecks = r.proxiTokTorRedirectsChecks; proxiTokTorCustomRedirects = r.proxiTokTorCustomRedirects; + proxiTokI2pCustomRedirects = r.proxiTokI2pCustomRedirects; + proxiTokLokiCustomRedirects = r.proxiTokLokiCustomRedirects; resolve(); } ) @@ -126,7 +138,9 @@ function redirect(url, type, initiator, disableOverride) { if (!targets.some(rx => rx.test(url.href))) return; let instancesList = []; - if (protocol == 'tor') instancesList = [...proxiTokTorRedirectsChecks, ...proxiTokTorCustomRedirects]; + if (protocol == 'loki') instancesList = [...proxiTokI2pCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...proxiTokLokiCustomRedirects]; + else if (protocol == 'tor') instancesList = [...proxiTokTorRedirectsChecks, ...proxiTokTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { instancesList = [...proxiTokNormalRedirectsChecks, ...proxiTokNormalCustomRedirects]; } @@ -144,7 +158,9 @@ function reverse(url) { ...tiktokRedirects.proxiTok.normal, ...tiktokRedirects.proxiTok.tor, ...proxiTokNormalCustomRedirects, - ...proxiTokTorCustomRedirects + ...proxiTokTorCustomRedirects, + ...proxiTokI2pCustomRedirects, + ...proxiTokLokiCustomRedirects ]; if (!all.includes(protocolHost)) { resolve(); return; } @@ -163,11 +179,15 @@ function switchInstance(url, disableOverride) { ...proxiTokNormalCustomRedirects, ...proxiTokTorCustomRedirects, + ...proxiTokI2pCustomRedirects, + ...proxiTokLokiCustomRedirects ]; if (!all.includes(protocolHost)) { resolve(); return; } let instancesList = []; - if (protocol == 'tor') instancesList = [...proxiTokTorRedirectsChecks, ...proxiTokTorCustomRedirects]; + if (protocol == 'loki') instancesList = [...proxiTokI2pCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...proxiTokLokiCustomRedirects]; + else if (protocol == 'tor') instancesList = [...proxiTokTorRedirectsChecks, ...proxiTokTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { instancesList = [...proxiTokNormalRedirectsChecks, ...proxiTokNormalCustomRedirects]; } @@ -198,6 +218,10 @@ function initDefaults() { proxiTokTorRedirectsChecks: [...redirects.proxiTok.tor], proxiTokTorCustomRedirects: [], + + proxiTokI2pCustomRedirects: [], + + proxiTokLokiCustomRedirects: [] }, () => resolve()); }); }) diff --git a/src/assets/javascripts/translate/translate.js b/src/assets/javascripts/translate/translate.js index ae64f127..0dc0f73b 100644 --- a/src/assets/javascripts/translate/translate.js +++ b/src/assets/javascripts/translate/translate.js @@ -31,11 +31,13 @@ let simplyTranslateI2pRedirectsChecks, simplyTranslateI2pCustomRedirects, simplyTranslateLokiRedirectsChecks, - simplyTranslateLokiCustomReidrects, + simplyTranslateLokiCustomRedirects, lingvaNormalRedirectsChecks, lingvaNormalCustomRedirects, lingvaTorRedirectsChecks, - lingvaTorCustomRedirects; + lingvaTorCustomRedirects, + lingvaI2pCustomRedirects, + lingvaLokiCustomRedirects function init() { return new Promise(resolve => { @@ -53,12 +55,14 @@ function init() { "simplyTranslateI2pRedirectsChecks", "simplyTranslateI2pCustomRedirects", "simplyTranslateLokiRedirectsChecks", - "simplyTranslateLokiCustomReidrects", + "simplyTranslateLokiCustomRedirects", "lingvaNormalRedirectsChecks", "lingvaNormalCustomRedirects", "lingvaTorRedirectsChecks", "lingvaTorCustomRedirects", + "lingvaI2pCustomRedirects", + "lingvaLokiCustomRedirects" ], r => { translateDisable = r.translateDisable; @@ -73,11 +77,13 @@ function init() { simplyTranslateI2pRedirectsChecks = r.simplyTranslateI2pRedirectsChecks; simplyTranslateI2pCustomRedirects = r.simplyTranslateI2pCustomRedirects; simplyTranslateLokiRedirectsChecks = r.simplyTranslateLokiRedirectsChecks; - simplyTranslateLokiCustomReidrects = r.simplyTranslateLokiCustomReidrects; + simplyTranslateLokiCustomRedirects = r.simplyTranslateLokiCustomRedirects; lingvaNormalRedirectsChecks = r.lingvaNormalRedirectsChecks; lingvaNormalCustomRedirects = r.lingvaNormalCustomRedirects; lingvaTorRedirectsChecks = r.lingvaTorRedirectsChecks; lingvaTorCustomRedirects = r.lingvaTorCustomRedirects; + lingvaI2pCustomRedirects = r.lingvaI2pCustomRedirects; + lingvaLokiCustomRedirects = r.lingvaLokiCustomRedirects; resolve(); } ) @@ -117,6 +123,8 @@ function copyPasteLingvaLocalStorage(test, url, tabId) { ...lingvaNormalCustomRedirects, ...lingvaTorRedirectsChecks, ...lingvaTorCustomRedirects, + ...lingvaI2pCustomRedirects, + ...lingvaLokiCustomRedirects ].includes(protocolHost)) { resolve(); return; } if (!test) { @@ -126,7 +134,9 @@ function copyPasteLingvaLocalStorage(test, url, tabId) { ); let checkedInstances = []; - if (protocol == 'tor') checkedInstances = [...lingvaTorRedirectsChecks, ...lingvaTorCustomRedirects]; + if (protocol == 'loki') checkedInstances = [...lingvaLokiCustomRedirects]; //...lingvaLokiRedirectsChecks, + else if (protocol == 'i2p') checkedInstances = [...lingvaI2pCustomRedirects]; //...lingvaI2pRedirectsChecks, + else if (protocol == 'tor') checkedInstances = [...lingvaTorRedirectsChecks, ...lingvaTorCustomRedirects]; if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') { checkedInstances = [...lingvaNormalRedirectsChecks, ...lingvaNormalCustomRedirects]; } @@ -149,7 +159,9 @@ function pasteLingvaLocalStorage() { await init(); if (translateDisable || translateFrontend != 'lingva') { resolve(); return; } let checkedInstances = []; - if (protocol == 'tor') checkedInstances = [...lingvaTorRedirectsChecks, ...lingvaTorCustomRedirects]; + if (protocol == 'loki') checkedInstances = [...lingvaLokiCustomRedirects]; //...lingvaLokiRedirectsChecks, + else if (protocol == 'i2p') checkedInstances = [...lingvaI2pCustomRedirects]; //...lingvaI2pRedirectsChecks, + else if (protocol == 'tor') checkedInstances = [...lingvaTorRedirectsChecks, ...lingvaTorCustomRedirects]; if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') { checkedInstances = [...lingvaNormalRedirectsChecks, ...lingvaNormalCustomRedirects]; } @@ -172,11 +184,11 @@ function copyPasteSimplyTranslateCookies(test, from) { ...simplyTranslateI2pRedirectsChecks, ...simplyTranslateI2pCustomRedirects, ...simplyTranslateLokiRedirectsChecks, - ...simplyTranslateLokiCustomReidrects, + ...simplyTranslateLokiCustomRedirects, ].includes(protocolHost)) { resolve(); return; } if (!test) { let checkedInstances = []; - if (protocol == 'loki') checkedInstances = [...simplyTranslateLokiRedirectsChecks, ...simplyTranslateLokiCustomReidrects] + if (protocol == 'loki') checkedInstances = [...simplyTranslateLokiRedirectsChecks, ...simplyTranslateLokiCustomRedirects] else if (protocol == 'i2p') checkedInstances = [...simplyTranslateI2pCustomRedirects, ...simplyTranslateI2pRedirectsChecks]; else if (protocol == 'tor') checkedInstances = [...simplyTranslateTorRedirectsChecks, ...simplyTranslateTorCustomRedirects]; if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') { @@ -197,7 +209,7 @@ function pasteSimplyTranslateCookies() { await init(); if (translateDisable || translateFrontend != 'simplyTranslate') { resolve(); return; } let checkedInstances = []; - if (protocol == 'loki') checkedInstances = [...simplyTranslateLokiRedirectsChecks, ...simplyTranslateLokiCustomReidrects] + if (protocol == 'loki') checkedInstances = [...simplyTranslateLokiRedirectsChecks, ...simplyTranslateLokiCustomRedirects] else if (protocol == 'i2p') checkedInstances = [...simplyTranslateI2pCustomRedirects, ...simplyTranslateI2pRedirectsChecks]; else if (protocol == 'tor') checkedInstances = [...simplyTranslateTorRedirectsChecks, ...simplyTranslateTorCustomRedirects]; if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') { @@ -218,7 +230,7 @@ function redirect(url, disableOverride) { if (translateFrontend == 'simplyTranslate') { let instancesList = []; - if (protocol == 'loki') instancesList = [...simplyTranslateLokiRedirectsChecks, ...simplyTranslateLokiCustomReidrects]; + if (protocol == 'loki') instancesList = [...simplyTranslateLokiRedirectsChecks, ...simplyTranslateLokiCustomRedirects]; else if (protocol == 'i2p') instancesList = [...simplyTranslateI2pRedirectsChecks, ...simplyTranslateI2pCustomRedirects]; else if (protocol == 'tor') instancesList = [...simplyTranslateTorRedirectsChecks, ...simplyTranslateTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { @@ -238,6 +250,8 @@ function redirect(url, disableOverride) { params[pair[0]] = pair[1]; } let instancesList = []; + if (protocol == 'loki') instancesList = [...lingvaLokiCustomRedirects]; //...lingvaLokiRedirectsChecks, + else if (protocol == 'i2p') instancesList = [...lingvaI2pCustomRedirects]; //...lingvaI2pRedirectsChecks, if (protocol == 'tor') instancesList = [...lingvaTorRedirectsChecks, ...lingvaTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { instancesList = [...lingvaNormalRedirectsChecks, ...lingvaNormalCustomRedirects]; @@ -266,24 +280,26 @@ function switchInstance(url, disableOverride) { ...simplyTranslateNormalCustomRedirects, ...simplyTranslateTorCustomRedirects, ...simplyTranslateI2pCustomRedirects, - ...simplyTranslateLokiCustomReidrects, + ...simplyTranslateLokiCustomRedirects, ...translateRedirects.lingva.normal, ...translateRedirects.lingva.tor, ...lingvaNormalCustomRedirects, ...lingvaTorCustomRedirects, + ...lingvaI2pCustomRedirects, + ...lingvaLokiCustomRedirects ].includes(protocolHost)) { resolve(); return; } let instancesList; if (protocol == 'loki') { - if (translateFrontend == 'simplyTranslate') instancesList = [...simplyTranslateLokiRedirectsChecks, ...simplyTranslateLokiCustomReidrects]; - //else if (translateFrontend == 'lingva') instancesList = [...lingvaLokiRedirectsChecks, ...lingvaLokiCustomRedirects]; + if (translateFrontend == 'simplyTranslate') instancesList = [...simplyTranslateLokiRedirectsChecks, ...simplyTranslateLokiCustomRedirects]; + else if (translateFrontend == 'lingva') instancesList = [...lingvaLokiCustomRedirects]; //...lingvaLokiRedirectsChecks, } else if (protocol == 'i2p') { if (translateFrontend == 'simplyTranslate') instancesList = [...simplyTranslateI2pRedirectsChecks, ...simplyTranslateI2pCustomRedirects]; - //else if (translateFrontend == 'lingva') instancesList = [...lingvaI2PRedirectsChecks, ...lingvaI2PCustomRedirects]; + else if (translateFrontend == 'lingva') instancesList = [...lingvaI2pCustomRedirects]; //...lingvaI2pRedirectsChecks, } else if (protocol == 'tor') { if (translateFrontend == 'simplyTranslate') instancesList = [...simplyTranslateTorRedirectsChecks, ...simplyTranslateTorCustomRedirects]; @@ -329,12 +345,14 @@ function initDefaults() { simplyTranslateI2pRedirectsChecks: [...redirects.simplyTranslate.i2p], simplyTranslateI2pCustomRedirects: [], simplyTranslateLokiRedirectsChecks: [...redirects.simplyTranslate.loki], - simplyTranslateLokiCustomReidrects: [], + simplyTranslateLokiCustomRedirects: [], lingvaNormalRedirectsChecks: lingvaNormalRedirectsChecks, lingvaNormalCustomRedirects: [], lingvaTorRedirectsChecks: [...redirects.lingva.tor], lingvaTorCustomRedirects: [], + lingvaI2pCustomRedirects: [], + lingvaLokiCustomRedirects: [] }, () => resolve()) }) }) diff --git a/src/assets/javascripts/twitter.js b/src/assets/javascripts/twitter.js index e69d9abc..42243a66 100644 --- a/src/assets/javascripts/twitter.js +++ b/src/assets/javascripts/twitter.js @@ -46,7 +46,9 @@ let nitterNormalRedirectsChecks, nitterNormalCustomRedirects, nitterTorRedirectsChecks, - nitterTorCustomRedirects; + nitterTorCustomRedirects, + nitterI2pCustomRedirects, + nitterLokiCustomRedirects; function init() { return new Promise(async resolve => { @@ -61,6 +63,8 @@ function init() { "nitterNormalCustomRedirects", "nitterTorRedirectsChecks", "nitterTorCustomRedirects", + "nitterI2pCustomRedirects", + "nitterLokiCustomRedirects" ], r => { disableTwitter = r.disableTwitter; @@ -72,6 +76,8 @@ function init() { nitterNormalCustomRedirects = r.nitterNormalCustomRedirects; nitterTorRedirectsChecks = r.nitterTorRedirectsChecks; nitterTorCustomRedirects = r.nitterTorCustomRedirects; + nitterI2pCustomRedirects = r.nitterI2pCustomRedirects; + nitterLokiCustomRedirects = r.nitterLokiCustomRedirects; resolve(); } ) @@ -87,6 +93,8 @@ function all() { ...nitterTorRedirectsChecks, ...nitterNormalCustomRedirects, ...nitterTorCustomRedirects, + ...nitterI2pCustomRedirects, + ...nitterLokiCustomRedirects ]; } @@ -99,7 +107,9 @@ function redirect(url, type, initiator, disableOverride) { if (twitterRedirectType == 'main_frame' && type != "main_frame") return; let instancesList = []; - if (protocol == 'tor') instancesList = [...nitterTorRedirectsChecks, ...nitterTorCustomRedirects]; + if (protocol == 'loki') instancesList = [...nitterI2pCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...nitterLokiCustomRedirects]; + else if (protocol == 'tor') instancesList = [...nitterTorRedirectsChecks, ...nitterTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { instancesList = [...nitterNormalRedirectsChecks, ...nitterNormalCustomRedirects]; } @@ -136,7 +146,9 @@ function switchInstance(url, disableOverride) { const protocolHost = utils.protocolHost(url); if (!all().includes(protocolHost)) { resolve(); return; } let instancesList = []; - if (protocol == 'tor') instancesList = [...nitterTorRedirectsChecks, ...nitterTorCustomRedirects]; + if (protocol == 'loki') instancesList = [...nitterI2pCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...nitterLokiCustomRedirects]; + else if (protocol == 'tor') instancesList = [...nitterTorRedirectsChecks, ...nitterTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { instancesList = [...nitterNormalRedirectsChecks, ...nitterNormalCustomRedirects]; } @@ -177,7 +189,9 @@ function initNitterCookies(test, from) { ) { resolve(); return; } if (!test) { let checkedInstances = []; - if (protocol == 'tor') checkedInstances = [...nitterTorRedirectsChecks, ...nitterTorCustomRedirects]; + if (protocol == 'loki') checkedInstances = [...nitterI2pCustomRedirects]; + else if (protocol == 'i2p') checkedInstances = [...nitterLokiCustomRedirects]; + else if (protocol == 'tor') checkedInstances = [...nitterTorRedirectsChecks, ...nitterTorCustomRedirects]; if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') { checkedInstances = [...nitterNormalRedirectsChecks, ...nitterNormalCustomRedirects]; } @@ -210,7 +224,9 @@ function pasteNitterCookies() { await init(); if (disableTwitter || protocol === undefined) { resolve(); return; } let checkedInstances = []; - if (protocol == 'tor') checkedInstances = [...nitterTorRedirectsChecks, ...nitterTorCustomRedirects]; + if (protocol == 'loki') checkedInstances = [...nitterI2pCustomRedirects]; + else if (protocol == 'i2p') checkedInstances = [...nitterLokiCustomRedirects]; + else if (protocol == 'tor') checkedInstances = [...nitterTorRedirectsChecks, ...nitterTorCustomRedirects]; if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') { checkedInstances = [...nitterNormalRedirectsChecks, ...nitterNormalCustomRedirects]; } @@ -261,6 +277,10 @@ function initDefaults() { nitterTorRedirectsChecks: [...redirects.nitter.tor], nitterTorCustomRedirects: [], + + nitterI2pCustomRedirects: [], + + nitterLokiCustomRedirects: [] }, () => resolve()); }) }) diff --git a/src/assets/javascripts/utils.js b/src/assets/javascripts/utils.js index f9d48275..7428a79f 100644 --- a/src/assets/javascripts/utils.js +++ b/src/assets/javascripts/utils.js @@ -14,6 +14,7 @@ import tiktokHelper from "./tiktok.js"; import quoraHelper from "./quora.js" import libremdbHelper from "./imdb.js"; import imgurHelper from "./imgur.js"; +import reutersHelper from './reuters.js'; import localise from './localise.js' function getRandomInstance(instances) { @@ -41,7 +42,7 @@ function updateInstances() { await initcloudflareBlackList(); const instances = JSON.parse(http.responseText); - youtubeHelper.setRedirects({ 'invidious': instances.invidious, 'piped': instances.piped, }) + youtubeHelper.setRedirects({ 'invidious': instances.invidious, 'piped': instances.piped, 'pipedMaterial': instances.pipedMaterial }) twitterHelper.setRedirects(instances.nitter); instagramHelper.setRedirects(instances.bibliogram); redditHelper.setRedirects({ 'libreddit': instances.libreddit, 'teddit': instances.teddit }); @@ -54,6 +55,7 @@ function updateInstances() { sendTargetsHelper.setRedirects(instances.send); tiktokHelper.setRedirects(instances.proxiTok); lbryHelper.setRedirects(instances.librarian); + reutersHelper.setRedirects(instances.neuters); console.info("Successfully updated Instances"); resolve(true); return; diff --git a/src/assets/javascripts/wikipedia.js b/src/assets/javascripts/wikipedia.js index d945e221..2d9384f0 100644 --- a/src/assets/javascripts/wikipedia.js +++ b/src/assets/javascripts/wikipedia.js @@ -41,7 +41,8 @@ let wikilessI2pRedirectsChecks, wikilessNormalCustomRedirects, wikilessTorCustomRedirects, - wikilessI2pCustomRedirects; + wikilessI2pCustomRedirects, + wikilessLokiCustomRedirects; function init() { return new Promise(async resolve => { @@ -57,6 +58,7 @@ function init() { "wikilessNormalCustomRedirects", "wikilessTorCustomRedirects", "wikilessI2pCustomRedirects", + "wikilessLokiCustomRedirects" ], r => { disableWikipedia = r.disableWikipedia; @@ -69,6 +71,7 @@ function init() { wikilessNormalCustomRedirects = r.wikilessNormalCustomRedirects; wikilessTorCustomRedirects = r.wikilessTorCustomRedirects; wikilessI2pCustomRedirects = r.wikilessI2pCustomRedirects; + wikilessLokiCustomRedirects = r.wikilessLokiCustomRedirects; resolve(); } ) @@ -89,13 +92,15 @@ function initWikilessCookies(test, from) { ...wikilessTorCustomRedirects, ...wikilessI2pRedirectsChecks, ...wikilessI2pCustomRedirects, + ...wikilessLokiCustomRedirects ]; if (!all.includes(protocolHost)) { resolve(); return; } if (!test) { let checkedInstances = []; - if (protocol == 'i2p') checkedInstances = [...wikilessI2pCustomRedirects, ...wikilessI2pRedirectsChecks]; - if (protocol == 'tor') checkedInstances = [...wikilessTorRedirectsChecks, ...wikilessTorCustomRedirects]; + if (protocol == 'loki') checkedInstances = [...wikilessLokiCustomRedirects]; + else if (protocol == 'i2p') checkedInstances = [...wikilessI2pCustomRedirects, ...wikilessI2pRedirectsChecks]; + else if (protocol == 'tor') checkedInstances = [...wikilessTorRedirectsChecks, ...wikilessTorCustomRedirects]; if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') { checkedInstances = [...wikilessNormalRedirectsChecks, ...wikilessNormalCustomRedirects]; } @@ -111,7 +116,8 @@ function pasteWikilessCookies() { await init(); if (disableWikipedia || protocol === undefined) { resolve(); return; } let checkedInstances = []; - if (protocol == 'i2p') checkedInstances = [...wikilessI2pCustomRedirects, ...wikilessI2pRedirectsChecks]; + if (protocol == 'loki') checkedInstances = [...wikilessLokiCustomRedirects]; + else if (protocol == 'i2p') checkedInstances = [...wikilessI2pCustomRedirects, ...wikilessI2pRedirectsChecks]; else if (protocol == 'tor') checkedInstances = [...wikilessTorRedirectsChecks, ...wikilessTorCustomRedirects]; if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') { checkedInstances = [...wikilessNormalRedirectsChecks, ...wikilessNormalCustomRedirects]; @@ -136,7 +142,8 @@ function redirect(url, disableOverride) { } } let instancesList = []; - if (protocol == 'i2p') instancesList = [...wikilessI2pCustomRedirects, ...wikilessI2pRedirectsChecks]; + if (protocol == 'loki') instancesList = [...wikilessLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...wikilessI2pCustomRedirects, ...wikilessI2pRedirectsChecks]; else if (protocol == 'tor') instancesList = [...wikilessTorRedirectsChecks, ...wikilessTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { instancesList = [...wikilessNormalRedirectsChecks, ...wikilessNormalCustomRedirects]; @@ -172,12 +179,14 @@ function switchInstance(url, disableOverride) { ...wikilessNormalCustomRedirects, ...wikilessTorCustomRedirects, - ...wikilessI2pCustomRedirects + ...wikilessI2pCustomRedirects, + ...wikilessLokiCustomRedirects ]; if (!wikipediaList.includes(protocolHost)) { resolve(); return; } let instancesList = []; - if (protocol == 'i2p') instancesList = [...wikilessI2pCustomRedirects, ...wikilessI2pRedirectsChecks]; + if (protocol == 'loki') instancesList = [...wikilessLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...wikilessI2pCustomRedirects, ...wikilessI2pRedirectsChecks]; else if (protocol == 'tor') instancesList = [...wikilessTorRedirectsChecks, ...wikilessTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { instancesList = [...wikilessNormalRedirectsChecks, ...wikilessNormalCustomRedirects]; @@ -214,6 +223,7 @@ function initDefaults() { wikilessNormalCustomRedirects: [], wikilessTorCustomRedirects: [], wikilessI2pCustomRedirects: [], + wikilessLokiCustomRedirects: [] }, () => resolve()); }) }) diff --git a/src/assets/javascripts/youtube/youtube.js b/src/assets/javascripts/youtube/youtube.js index feb2fc12..3d7cd892 100644 --- a/src/assets/javascripts/youtube/youtube.js +++ b/src/assets/javascripts/youtube/youtube.js @@ -33,14 +33,19 @@ function setRedirects(val) { browser.storage.local.get('cloudflareBlackList', r => { redirects.invidious = val.invidious; redirects.piped = val.piped; + redirects.pipedMaterial = val.pipedMaterial invidiousNormalRedirectsChecks = [...redirects.invidious.normal]; pipedNormalRedirectsChecks = [...redirects.piped.normal]; + pipedMaterialNormalRedirectsChecks = [...redirects.pipedMaterial.normal] for (const instance of r.cloudflareBlackList) { const a = invidiousNormalRedirectsChecks.indexOf(instance); if (a > -1) invidiousNormalRedirectsChecks.splice(a, 1); const b = pipedNormalRedirectsChecks.indexOf(instance); if (b > -1) pipedNormalRedirectsChecks.splice(b, 1); + + const c = pipedMaterialNormalRedirectsChecks.indexOf(instance); + if (c > -1) pipedMaterialNormalRedirectsChecks.splice(c, 1); } browser.storage.local.set({ youtubeRedirects: redirects, @@ -48,6 +53,8 @@ function setRedirects(val) { invidiousTorRedirectsChecks: redirects.invidious.tor, pipedNormalRedirectsChecks, pipedTorRedirectsChecks: redirects.piped.tor, + pipedMaterialNormalRedirectsChecks, + pipedMaterialTorRedirectsChecks: redirects.pipedMaterial.tor }) }) } @@ -64,14 +71,20 @@ let invidiousNormalCustomRedirects, invidiousTorRedirectsChecks, invidiousTorCustomRedirects, + invidiousI2pCustomRedirects, + invidiousLokiCustomRedirects, pipedNormalRedirectsChecks, pipedNormalCustomRedirects, pipedTorRedirectsChecks, pipedTorCustomRedirects, + pipedI2pCustomRedirects, + pipedLokiCustomRedirects, pipedMaterialNormalRedirectsChecks, pipedMaterialNormalCustomRedirects, pipedMaterialTorRedirectsChecks, - pipedMaterialTorCustomRedirects; + pipedMaterialTorCustomRedirects, + pipedMaterialI2pCustomRedirects, + pipedMaterialLokiCustomRedirects; function init() { return new Promise(resolve => { @@ -88,14 +101,20 @@ function init() { "invidiousNormalCustomRedirects", "invidiousTorRedirectsChecks", "invidiousTorCustomRedirects", + "invidiousI2pCustomRedirects", + "invidiousLokiCustomRedirects", "pipedNormalRedirectsChecks", "pipedNormalCustomRedirects", "pipedTorRedirectsChecks", "pipedTorCustomRedirects", + "pipedI2pCustomRedirects", + "pipedLokiCustomRedirects", "pipedMaterialNormalRedirectsChecks", "pipedMaterialNormalCustomRedirects", "pipedMaterialTorRedirectsChecks", "pipedMaterialTorCustomRedirects", + "pipedMaterialI2pCustomRedirects", + "pipedMaterialLokiCustomRedirects" ], r => { disableYoutube = r.disableYoutube; @@ -109,14 +128,20 @@ function init() { invidiousNormalCustomRedirects = r.invidiousNormalCustomRedirects; invidiousTorRedirectsChecks = r.invidiousTorRedirectsChecks; invidiousTorCustomRedirects = r.invidiousTorCustomRedirects; + invidiousI2pCustomRedirects = r.invidiousI2pCustomRedirects; + invidiousLokiCustomRedirects = r.invidiousLokiCustomRedirects; pipedNormalRedirectsChecks = r.pipedNormalRedirectsChecks; pipedNormalCustomRedirects = r.pipedNormalCustomRedirects; pipedTorRedirectsChecks = r.pipedTorRedirectsChecks; pipedTorCustomRedirects = r.pipedTorCustomRedirects; + pipedI2pCustomRedirects = r.pipedI2pCustomRedirects; + pipedLokiCustomRedirects = r.pipedLokiCustomRedirects; pipedMaterialNormalRedirectsChecks = r.pipedMaterialNormalRedirectsChecks; pipedMaterialNormalCustomRedirects = r.pipedMaterialNormalCustomRedirects; pipedMaterialTorRedirectsChecks = r.pipedMaterialTorRedirectsChecks; pipedMaterialTorCustomRedirects = r.pipedMaterialTorCustomRedirects; + pipedMaterialI2pCustomRedirects - r.pipedMaterialI2pCustomRedirects; + pipedMaterialLokiCustomRedirects = r.pipedMaterialLokiCustomRedirects; resolve(); } ) @@ -139,12 +164,18 @@ function all() { ...invidiousNormalCustomRedirects, ...invidiousTorCustomRedirects, + ...invidiousI2pCustomRedirects, + ...invidiousLokiCustomRedirects, ...pipedNormalCustomRedirects, ...pipedTorCustomRedirects, + ...pipedI2pCustomRedirects, + ...pipedLokiCustomRedirects, ...pipedMaterialNormalCustomRedirects, ...pipedMaterialTorCustomRedirects, + ...pipedMaterialI2pCustomRedirects, + ...pipedMaterialLokiCustomRedirects ]; } @@ -159,7 +190,7 @@ function redirect(url, type, initiator, disableOverride) { const isFreetube = youtubeFrontend == 'freetube'; const isYatte = youtubeFrontend == 'yatte'; - const isFrontendYoutube = youtubeEmbedFrontend == "youtube"; + //const isFrontendYoutube = youtubeEmbedFrontend == "youtube"; const isFrontendInvidious = youtubeEmbedFrontend == 'invidious'; const isFrontendPiped = youtubeEmbedFrontend == 'piped'; const isFrontendPipedMaterial = youtubeEmbedFrontend == 'pipedMaterial'; @@ -171,24 +202,28 @@ function redirect(url, type, initiator, disableOverride) { if (onlyEmbeddedVideo == 'onlyEmbedded' && main_frame) return; if (onlyEmbeddedVideo == 'onlyNotEmbedded' && !main_frame) return; - if ((isFreetube || isYatte) && sub_frame && isFrontendYoutube) return; + //if ((isFreetube || isYatte) && sub_frame && isFrontendYoutube) return; if (isYatte && main_frame) return url.href.replace(/^https?:\/{2}/, 'yattee://'); if (isFreetube && main_frame) return `freetube://https://youtube.com${url.pathname}${url.search}`; if (isInvidious || ((isFreetube || isYatte) && sub_frame && isFrontendInvidious)) { - let instancesList = [] = []; - if (protocol == 'tor') instancesList = [...invidiousTorRedirectsChecks, ...invidiousTorCustomRedirects]; - if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { - instancesList = [...invidiousNormalRedirectsChecks, ...invidiousNormalCustomRedirects]; - } + let instancesList = []; + if (protocol == 'loki') instancesList = [...invidiousLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...invidiousI2pCustomRedirects]; + else if (protocol == 'tor') instancesList = [...invidiousTorRedirectsChecks, ...invidiousTorCustomRedirects]; + if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { + instancesList = [...invidiousNormalRedirectsChecks, ...invidiousNormalCustomRedirects]; + } if (instancesList.length === 0) return; const randomInstance = utils.getRandomInstance(instancesList); return `${randomInstance}${url.pathname}${url.search}`; } if (isPiped || ((isFreetube || isYatte) && sub_frame && isFrontendPiped)) { let instancesList = []; - if (protocol == 'tor') instancesList = [...pipedTorRedirectsChecks, ...pipedTorCustomRedirects]; + if (protocol == 'loki') instancesList = [...pipedLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...pipedI2pCustomRedirects]; + else if (protocol == 'tor') instancesList = [...pipedTorRedirectsChecks, ...pipedTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { instancesList = [...pipedNormalRedirectsChecks, ...pipedNormalCustomRedirects]; } @@ -198,7 +233,9 @@ function redirect(url, type, initiator, disableOverride) { } if (isPipedMaterial || ((isFreetube || isYatte) && sub_frame && isFrontendPipedMaterial)) { let instancesList = []; - if (protocol == 'tor') instancesList = [...pipedMaterialTorRedirectsChecks, ...pipedMaterialTorCustomRedirects]; + if (protocol == 'loki') instancesList = [...pipedMaterialLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...pipedMaterialI2pCustomRedirects]; + else if (protocol == 'tor') instancesList = [...pipedMaterialTorRedirectsChecks, ...pipedMaterialTorCustomRedirects]; if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { instancesList = [...pipedMaterialNormalRedirectsChecks, ...pipedMaterialNormalCustomRedirects]; } @@ -224,9 +261,18 @@ function switchInstance(url, disableOverride) { const protocolHost = utils.protocolHost(url); if (!all().includes(protocolHost)) { resolve(); return; } - let instancesList = [] = []; - - if (protocol == 'tor') { + let instancesList = []; + if (protocol == 'loki') { + if (youtubeFrontend == 'invidious') instancesList = [...invidiousLokiCustomRedirects]; //...invidiousLokiRedirectsChecks, + else if (youtubeFrontend == 'piped') instancesList = [...pipedLokiCustomRedirects]; //...pipedLokiRedirectsChecks, + else if (youtubeFrontend == 'pipedMaterial') instancesList = [...pipedMaterialLokiCustomRedirects]; //...pipedMaterialLokiRedirectsChecks, + } + else if (protocol == 'i2p') { + if (youtubeFrontend == 'invidious') instancesList = [...invidiousI2pCustomRedirects]; //...invidiousI2pRedirectsChecks, + else if (youtubeFrontend == 'piped') instancesList = [...pipedI2pCustomRedirects]; //...pipedI2pRedirectsChecks, + else if (youtubeFrontend == 'pipedMaterial') instancesList = [...pipedMaterialI2pCustomRedirects]; //...pipedMaterialI2pRedirectsChecks, + } + else if (protocol == 'tor') { if (youtubeFrontend == 'invidious') instancesList = [...invidiousTorRedirectsChecks, ...invidiousTorCustomRedirects]; else if (youtubeFrontend == 'piped') instancesList = [...pipedTorRedirectsChecks, ...pipedTorCustomRedirects]; else if (youtubeFrontend == 'pipedMaterial') instancesList = [...pipedMaterialTorRedirectsChecks, ...pipedMaterialTorCustomRedirects]; @@ -285,18 +331,30 @@ function initDefaults() { invidiousTorRedirectsChecks: [...redirects.invidious.tor], invidiousTorCustomRedirects: [], + invidiousI2pCustomRedirects: [], + + invidiousLokiCustomRedirects: [], + pipedNormalRedirectsChecks: pipedNormalRedirectsChecks, pipedNormalCustomRedirects: [], pipedTorRedirectsChecks: [...redirects.piped.tor], pipedTorCustomRedirects: [], + pipedI2pCustomRedirects: [], + + pipedLokiCustomRedirects: [], + pipedMaterialNormalRedirectsChecks: pipedMaterialNormalRedirectsChecks, pipedMaterialNormalCustomRedirects: [], pipedMaterialTorRedirectsChecks: [...redirects.pipedMaterial.tor], pipedMaterialTorCustomRedirects: [], + pipedMaterialI2pCustomRedirects: [], + + pipedMaterialLokiCustomRedirects: [], + youtubeEmbedFrontend: 'invidious' }, () => resolve()) }) @@ -314,11 +372,15 @@ function copyPasteInvidiousCookies(test, from) { ...invidiousTorRedirectsChecks, ...invidiousNormalCustomRedirects, ...invidiousTorCustomRedirects, + ...invidiousI2pCustomRedirects, + ...invidiousLokiCustomRedirects ].includes(protocolHost)) { resolve(); return; } if (!test) { let checkedInstances = []; - if (protocol == 'tor') checkedInstances = [...invidiousTorRedirectsChecks, ...invidiousTorCustomRedirects] + if (protocol == 'loki') checkedInstances = [...invidiousLokiCustomRedirects]; + else if (protocol == 'i2p') checkedInstances = [...invidiousI2pCustomRedirects]; + else if (protocol == 'tor') checkedInstances = [...invidiousTorRedirectsChecks, ...invidiousTorCustomRedirects] if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { checkedInstances = [...invidiousNormalRedirectsChecks, ...invidiousNormalCustomRedirects] } @@ -335,7 +397,9 @@ function pasteInvidiousCookies() { await init(); if (disableYoutube || youtubeFrontend != 'invidious') { resolve(); return; } let checkedInstances = []; - if (protocol == 'tor') checkedInstances = [...invidiousTorRedirectsChecks, ...invidiousTorCustomRedirects] + if (protocol == 'loki') checkedInstances = [...invidiousLokiCustomRedirects]; + else if (protocol == 'i2p') checkedInstances = [...invidiousI2pCustomRedirects]; + else if (protocol == 'tor') checkedInstances = [...invidiousTorRedirectsChecks, ...invidiousTorCustomRedirects] if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { checkedInstances = [...invidiousNormalRedirectsChecks, ...invidiousNormalCustomRedirects] } @@ -354,13 +418,17 @@ function copyPastePipedLocalStorage(test, url, tabId) { ...pipedNormalRedirectsChecks, ...pipedTorRedirectsChecks, ...pipedTorCustomRedirects, + ...pipedI2pCustomRedirects, + ...pipedLokiCustomRedirects ].includes(protocolHost)) { resolve(); return; } if (!test) { browser.tabs.executeScript(tabId, { file: "/assets/javascripts/youtube/get_piped_preferences.js", runAt: "document_start" }); let checkedInstances = []; - if (protocol == 'tor') checkedInstances = [...pipedTorRedirectsChecks, ...pipedTorCustomRedirects] + if (protocol == 'loki') checkedInstances = [...pipedLokiCustomRedirects]; + else if (protocol == 'i2p') checkedInstances = [...pipedI2pCustomRedirects]; + else if (protocol == 'tor') checkedInstances = [...pipedTorRedirectsChecks, ...pipedTorCustomRedirects] if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { checkedInstances = [...pipedNormalCustomRedirects, ...pipedNormalRedirectsChecks] } @@ -379,7 +447,9 @@ function pastePipedLocalStorage() { await init(); if (disableYoutube || youtubeFrontend != 'piped') { resolve(); return; } let checkedInstances = []; - if (protocol == 'tor') checkedInstances = [...pipedTorRedirectsChecks, ...pipedTorCustomRedirects] + if (protocol == 'loki') checkedInstances = [...pipedLokiCustomRedirects]; + else if (protocol == 'i2p') checkedInstances = [...pipedI2pCustomRedirects]; + else if (protocol == 'tor') checkedInstances = [...pipedTorRedirectsChecks, ...pipedTorCustomRedirects] if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { checkedInstances = [...pipedNormalCustomRedirects, ...pipedNormalRedirectsChecks] } @@ -401,13 +471,17 @@ function copyPastePipedMaterialLocalStorage(test, url, tabId,) { ...pipedMaterialNormalCustomRedirects, ...pipedMaterialTorRedirectsChecks, ...pipedMaterialTorCustomRedirects, + ...pipedMaterialI2pCustomRedirects, + ...pipedMaterialLokiCustomRedirects ].includes(protocolHost)) { resolve(); return; } if (!test) { browser.tabs.executeScript(tabId, { file: "/assets/javascripts/youtube/get_pipedMaterial_preferences.js", runAt: "document_start" }); let checkedInstances = []; - if (protocol == 'tor') checkedInstances = [...pipedMaterialTorRedirectsChecks, ...pipedMaterialTorCustomRedirects] + if (protocol == 'loki') checkedInstances = [...pipedMaterialLokiCustomRedirects]; + else if (protocol == 'i2p') checkedInstances = [...pipedMaterialI2pCustomRedirects]; + else if (protocol == 'tor') checkedInstances = [...pipedMaterialTorRedirectsChecks, ...pipedMaterialTorCustomRedirects] if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { checkedInstances = [...pipedMaterialNormalRedirectsChecks, ...pipedMaterialNormalCustomRedirects] } @@ -428,7 +502,9 @@ function pastePipedMaterialLocalStorage() { await init(); if (disableYoutube || youtubeFrontend != 'pipedMaterial') { resolve(); return; } let checkedInstances = []; - if (protocol == 'tor') checkedInstances = [...pipedMaterialTorRedirectsChecks, ...pipedMaterialTorCustomRedirects] + if (protocol == 'loki') checkedInstances = [...pipedMaterialLokiCustomRedirects]; + else if (protocol == 'i2p') checkedInstances = [...pipedMaterialI2pCustomRedirects]; + else if (protocol == 'tor') checkedInstances = [...pipedMaterialTorRedirectsChecks, ...pipedMaterialTorCustomRedirects] if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { checkedInstances = [...pipedMaterialNormalRedirectsChecks, ...pipedMaterialNormalCustomRedirects] } @@ -447,7 +523,17 @@ function removeXFrameOptions(e) { for (const i in e.responseHeaders) { if (e.responseHeaders[i].name == 'content-security-policy') { let instancesList = []; - if (protocol == 'tor') { + if (protocol == 'loki') { + if (youtubeFrontend == 'invidious') instancesList = [...invidiousLokiCustomRedirects]; //...invidiousLokiRedirectsChecks, + if (youtubeFrontend == 'piped') instancesList = [...pipedLokiCustomRedirects]; //...pipedLokiRedirectsChecks, + if (youtubeFrontend == 'pipedMaterial') instancesList = [...pipedMaterialLokiCustomRedirects]; //...pipedMaterialLokiRedirectsChecks, + } + else if (protocol == 'i2p') { + if (youtubeFrontend == 'invidious') instancesList = [...invidiousI2pCustomRedirects]; //...invidiousI2pRedirectsChecks, + if (youtubeFrontend == 'piped') instancesList = [...pipedI2pCustomRedirects]; //...pipedI2pRedirectsChecks, + if (youtubeFrontend == 'pipedMaterial') instancesList = [...pipedMaterialI2pCustomRedirects]; //...pipedMaterialI2pRedirectsChecks, + } + else if (protocol == 'tor') { if (youtubeFrontend == 'invidious') instancesList = [...invidiousTorRedirectsChecks, ...invidiousTorCustomRedirects]; if (youtubeFrontend == 'piped') instancesList = [...pipedTorRedirectsChecks, ...pipedTorCustomRedirects]; if (youtubeFrontend == 'pipedMaterial') instancesList = [...pipedMaterialTorRedirectsChecks, ...pipedMaterialTorCustomRedirects]; diff --git a/src/assets/javascripts/youtubeMusic.js b/src/assets/javascripts/youtubeMusic.js index fff2ebf8..4a63911b 100644 --- a/src/assets/javascripts/youtubeMusic.js +++ b/src/assets/javascripts/youtubeMusic.js @@ -12,26 +12,43 @@ let redirects = { "normal": [ "https://beatbump.ml" ], - "tor": [] + "tor": [], + "i2p": [], + "loki": [] }, }; let disableYoutubeMusic, + protocol, + protocolFallback, beatbumpNormalRedirectsChecks, - beatbumpNormalCustomRedirects; + beatbumpNormalCustomRedirects, + beatbumpTorCustomRedirects, + beatbumpI2pCustomRedirects, + beatbumpLokiCustomRedirects; function init() { browser.storage.local.get( [ "disableYoutubeMusic", + "protocol", + "protocolFallback", "beatbumpNormalRedirectsChecks", "beatbumpNormalCustomRedirects", + "beatbumpTorCustomRedirects", + "beatbumpI2pCustomRedirects", + "beatbumpLokiCustomRedirects" ], r => { disableYoutubeMusic = r.disableYoutubeMusic; + protocol = r.protocol; + protocolFallback = r.protocolFallback; beatbumpNormalRedirectsChecks = r.beatbumpNormalRedirectsChecks; beatbumpNormalCustomRedirects = r.beatbumpNormalCustomRedirects; + beatbumpTorCustomRedirects = r.beatbumpTorCustomRedirects; + beatbumpI2pCustomRedirects = r.beatbumpI2pCustomRedirects; + beatbumpLokiCustomRedirects = r.beatbumpLokiCustomRedirects; } ) } @@ -75,7 +92,13 @@ function redirect(url, disableOverride) { if (disableYoutubeMusic && !disableOverride) return; if (!targets.some(rx => rx.test(url.href))) return; - let instancesList = [...beatbumpNormalRedirectsChecks, ...beatbumpNormalCustomRedirects]; + let instancesList = []; + if (protocol == 'loki') instancesList = [...beatbumpLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...beatbumpI2pCustomRedirects]; + else if (protocol == 'tor') instancesList = [...beatbumpTorCustomRedirects]; + if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { + instancesList = [...beatbumpNormalRedirectsChecks, ...beatbumpNormalCustomRedirects]; + } if (instancesList.length === 0) return; const randomInstance = utils.getRandomInstance(instancesList); return `${randomInstance}${url.pathname}${url.search}` @@ -93,6 +116,12 @@ async function initDefaults() { beatbumpNormalRedirectsChecks: [...redirects.beatbump.normal], beatbumpNormalCustomRedirects: [], + + beatbumpTorCustomRedirects: [], + + beatbumpI2pCustomRedirects: [], + + beatbumpLokiCustomRedirects: [] }, () => resolve()) ) } -- cgit 1.4.1