Completing on supporting tor #32

This commit is contained in:
ManeraKai 2022-02-20 19:00:12 +03:00
parent 7b51851eeb
commit 1a1e0c988c
No known key found for this signature in database
GPG Key ID: 5ABC31FFD562E337
6 changed files with 99 additions and 116 deletions

View File

@ -3,7 +3,7 @@ window.browser = window.browser || window.chrome;
import commonHelper from './common.js' import commonHelper from './common.js'
const targets = [ const targets = [
/https?:\/\/(www\.|maps\.|search\.|)google\.com(\/search\?q=..*|\/$)/, /https?:\/\/(www\.|maps\.|search\.|)google\.com(\/search\?..*|\/$)/,
]; ];
let redirects = { let redirects = {
"searx": { "searx": {
@ -132,7 +132,8 @@ let redirects = {
"https://whooglesearch.net", "https://whooglesearch.net",
"https://www.whooglesearch.ml", "https://www.whooglesearch.ml",
"https://whoogle.dcs0.hu" "https://whoogle.dcs0.hu"
] ],
"tor": []
}, },
}; };
const getRedirects = () => redirects; const getRedirects = () => redirects;

View File

@ -96,7 +96,7 @@ function setRedirects(val) {
redirects.nitter = val; redirects.nitter = val;
browser.storage.sync.set({ twitterRedirects: redirects }) browser.storage.sync.set({ twitterRedirects: redirects })
console.log("twitterRedirects:", val) console.log("twitterRedirects:", val)
for (const item of nitterRedirectsChecks) for (const item of nitterNormalRedirectsChecks)
if (!redirects.nitter.normal.includes(item)) { if (!redirects.nitter.normal.includes(item)) {
var index = nitterRedirectsChecks.indexOf(item); var index = nitterRedirectsChecks.indexOf(item);
if (index !== -1) nitterRedirectsChecks.splice(index, 1); if (index !== -1) nitterRedirectsChecks.splice(index, 1);

View File

@ -18,29 +18,8 @@ const targets = [
]; ];
let redirects = { let redirects = {
"invidious": { "invidious": {
"normal": [ "normal": [],
"https://yewtu.be", "tor": []
"https://invidious.snopyta.org",
"https://vid.puffyan.us",
"https://invidious.kavin.rocks",
"https://invidio.xamh.de",
"https://inv.riverside.rocks",
"https://invidious-us.kavin.rocks",
"https://invidious.osi.kr",
"https://inv.cthd.icu",
"https://yt.artemislena.eu",
"https://youtube.076.ne.jp",
"https://invidious.namazso.eu"
],
"tor": [
"http://c7hqkpkpemu6e7emz5b4vyz7idjgdvgaaa3dyimmeojqbgpea3xqjoid.onion",
"http://w6ijuptxiku4xpnnaetxvnkc5vqcdu7mgns2u77qefoixi63vbvnpnqd.onion",
"http://kbjggqkzv65ivcqj6bumvp337z6264huv5kpkwuv6gu5yjiskvan7fad.onion",
"http://grwp24hodrefzvjjuccrkw3mjq4tzhaaq32amf33dzpmuxe7ilepcmad.onion",
"http://hpniueoejy4opn7bc4ftgazyqjoeqwlvh2uiku2xqku6zpoa4bf5ruid.onion",
"http://osbivz6guyeahrwp2lnwyjk2xos342h4ocsxyqrlaopqjuhwn2djiiyd.onion",
"http://u2cvlit75owumwpy4dj2hsmvkq7nvrclkpht7xgyye2pyoxhpmclkrad.onion"
]
}, },
"piped": { "piped": {
"normal": [ "normal": [
@ -55,7 +34,7 @@ let redirects = {
const getRedirects = () => redirects; const getRedirects = () => redirects;
const getCustomRedirects = function () { function getCustomRedirects() {
return { return {
"invidious": { "invidious": {
"normal": [...invidiousNormalRedirectsChecks, ...invidiousNormalCustomRedirects], "normal": [...invidiousNormalRedirectsChecks, ...invidiousNormalCustomRedirects],
@ -141,9 +120,6 @@ function setPipedTorCustomRedirects(val) {
console.log("pipedTorCustomRedirects: ", val) console.log("pipedTorCustomRedirects: ", val)
} }
function setPipedRedirects(val) { function setPipedRedirects(val) {
redirects.piped = val; redirects.piped = val;
browser.storage.sync.set({ youtubeRedirects: redirects }) browser.storage.sync.set({ youtubeRedirects: redirects })
@ -418,8 +394,9 @@ function addUrlParams(url) {
...redirects.invidious.normal, ...redirects.invidious.normal,
...redirects.invidious.tor, ...redirects.invidious.tor,
...invidiousNormalCustomRedirects, ...invidiousNormalCustomRedirects,
...invidiousTorCustomRedirects, ...invidiousTorCustomRedirects
].includes(protocolHost)) { ].includes(protocolHost)
) {
if (!url.searchParams.has("dark_mode") && theme != "DEFAULT") { if (!url.searchParams.has("dark_mode") && theme != "DEFAULT") {
url.searchParams.append("dark_mode", theme); url.searchParams.append("dark_mode", theme);
isChanged = true; isChanged = true;
@ -461,7 +438,8 @@ function addUrlParams(url) {
...redirects.piped.tor, ...redirects.piped.tor,
...pipedNormalCustomRedirects, ...pipedNormalCustomRedirects,
...pipedTorCustomRedirects, ...pipedTorCustomRedirects,
].includes(protocolHost)) { ].includes(protocolHost)
) {
if (!url.searchParams.has("theme") && theme != "DEFAULT") { if (!url.searchParams.has("theme") && theme != "DEFAULT") {
url.searchParams.append("theme", theme); url.searchParams.append("theme", theme);
@ -493,76 +471,81 @@ function invidiousInitCookies(tabId) {
); );
} }
async function init() { async function init() {
return new Promise((resolve) => { return new Promise((resolve) => {
browser.storage.sync.get( fetch('/instances/data.json').then(response => response.text()).then(data => {
[ let dataJson = JSON.parse(data);
"invidiousAlwaysProxy", browser.storage.sync.get(
"invidiousVideoQuality", [
"youtubeTheme", "invidiousAlwaysProxy",
"persistInvidiousPrefs", "invidiousVideoQuality",
"disableYoutube", "youtubeTheme",
"OnlyEmbeddedVideo", "persistInvidiousPrefs",
"youtubeVolume", "disableYoutube",
"invidiousPlayerStyle", "OnlyEmbeddedVideo",
"invidiousSubtitles", "youtubeVolume",
"youtubeAutoplay", "invidiousPlayerStyle",
"youtubeRedirects", "invidiousSubtitles",
"youtubeFrontend", "youtubeAutoplay",
"youtubeRedirects",
"youtubeFrontend",
"invidiousNormalRedirectsChecks", "invidiousNormalRedirectsChecks",
"invidiousNormalCustomRedirects", "invidiousNormalCustomRedirects",
"invidiousTorRedirectsChecks", "invidiousTorRedirectsChecks",
"invidiousTorCustomRedirects", "invidiousTorCustomRedirects",
"pipedNormalRedirectsChecks", "pipedNormalRedirectsChecks",
"pipedNormalCustomRedirects", "pipedNormalCustomRedirects",
"pipedTorRedirectsChecks", "pipedTorRedirectsChecks",
"pipedTorCustomRedirects", "pipedTorCustomRedirects",
"alwaysusePreferred", "alwaysusePreferred",
"freetubeFrontend", "freetubeFrontend",
"youtubeProtocol", "youtubeProtocol",
], ],
(result) => { (result) => {
if (result.youtubeRedirects) redirects = result.youtubeRedirects; redirects.invidious = dataJson.invidious;
if (result.youtubeRedirects) redirects = result.youtubeRedirects;
disable = result.disableYoutube ?? false;
protocol = result.youtubeProtocol ?? 'normal';
frontend = result.youtubeFrontend ?? 'piped';
freetubeFrontend = result.freetubeFrontend ?? 'invidious';
theme = result.youtubeTheme ?? 'DEFAULT'; disable = result.disableYoutube ?? false;
volume = result.youtubeVolume ?? '--'; protocol = result.youtubeProtocol ?? 'normal';
autoplay = result.youtubeAutoplay ?? 'DEFAULT'; frontend = result.youtubeFrontend ?? 'piped';
freetubeFrontend = result.freetubeFrontend ?? 'invidious';
invidiousAlwaysProxy = result.invidiousAlwaysProxy ?? 'DEFAULT'; theme = result.youtubeTheme ?? 'DEFAULT';
OnlyEmbeddedVideo = result.OnlyEmbeddedVideo ?? 'both'; volume = result.youtubeVolume ?? '--';
invidiousVideoQuality = result.invidiousVideoQuality ?? 'DEFAULT'; autoplay = result.youtubeAutoplay ?? 'DEFAULT';
invidiousPlayerStyle = result.invidiousPlayerStyle ?? 'DEFAULT';
invidiousSubtitles = result.invidiousSubtitles || '';
invidiousNormalRedirectsChecks = result.invidiousNormalRedirectsChecks ?? [...redirects.invidious.normal]; invidiousAlwaysProxy = result.invidiousAlwaysProxy ?? 'DEFAULT';
invidiousNormalCustomRedirects = result.invidiousNormalCustomRedirects ?? []; OnlyEmbeddedVideo = result.OnlyEmbeddedVideo ?? 'both';
invidiousVideoQuality = result.invidiousVideoQuality ?? 'DEFAULT';
invidiousPlayerStyle = result.invidiousPlayerStyle ?? 'DEFAULT';
invidiousSubtitles = result.invidiousSubtitles || '';
invidiousTorRedirectsChecks = result.invidiousTorRedirectsChecks ?? [...redirects.invidious.tor]; invidiousNormalRedirectsChecks = result.invidiousNormalRedirectsChecks ?? [...redirects.invidious.normal];
invidiousTorCustomRedirects = result.invidiousTorCustomRedirects ?? []; invidiousNormalCustomRedirects = result.invidiousNormalCustomRedirects ?? [];
pipedNormalRedirectsChecks = result.pipedNormalRedirectsChecks ?? [...redirects.piped.normal]; invidiousTorRedirectsChecks = result.invidiousTorRedirectsChecks ?? [...redirects.invidious.tor];
pipedNormalCustomRedirects = result.pipedNormalCustomRedirects ?? []; invidiousTorCustomRedirects = result.invidiousTorCustomRedirects ?? [];
pipedTorRedirectsChecks = result.pipedTorRedirectsChecks ?? [...redirects.piped.tor]; pipedNormalRedirectsChecks = result.pipedNormalRedirectsChecks ?? [...redirects.piped.normal];
pipedTorCustomRedirects = result.pipedTorCustomRedirects ?? []; pipedNormalCustomRedirects = result.pipedNormalCustomRedirects ?? [];
persistInvidiousPrefs = result.persistInvidiousPrefs ?? false; pipedTorRedirectsChecks = result.pipedTorRedirectsChecks ?? [...redirects.piped.tor];
pipedTorCustomRedirects = result.pipedTorCustomRedirects ?? [];
alwaysusePreferred = result.alwaysusePreferred ?? true; persistInvidiousPrefs = result.persistInvidiousPrefs ?? false;
resolve(); alwaysusePreferred = result.alwaysusePreferred ?? true;
});
resolve();
});
});
}) })
} }

View File

@ -16,7 +16,7 @@
"https://youtube.076.ne.jp", "https://youtube.076.ne.jp",
"https://invidious.namazso.eu" "https://invidious.namazso.eu"
], ],
"onion": [ "tor": [
"http://c7hqkpkpemu6e7emz5b4vyz7idjgdvgaaa3dyimmeojqbgpea3xqjoid.onion", "http://c7hqkpkpemu6e7emz5b4vyz7idjgdvgaaa3dyimmeojqbgpea3xqjoid.onion",
"http://w6ijuptxiku4xpnnaetxvnkc5vqcdu7mgns2u77qefoixi63vbvnpnqd.onion", "http://w6ijuptxiku4xpnnaetxvnkc5vqcdu7mgns2u77qefoixi63vbvnpnqd.onion",
"http://kbjggqkzv65ivcqj6bumvp337z6264huv5kpkwuv6gu5yjiskvan7fad.onion", "http://kbjggqkzv65ivcqj6bumvp337z6264huv5kpkwuv6gu5yjiskvan7fad.onion",
@ -75,7 +75,7 @@
"https://nitter.winscloud.net", "https://nitter.winscloud.net",
"https://nitter.tiekoetter.com" "https://nitter.tiekoetter.com"
], ],
"onion": [ "tor": [
"http://3nzoldnxplag42gqjs23xvghtzf6t6yzssrtytnntc6ppc7xxuoneoad.onion", "http://3nzoldnxplag42gqjs23xvghtzf6t6yzssrtytnntc6ppc7xxuoneoad.onion",
"http://nitter.l4qlywnpwqsluw65ts7md3khrivpirse744un3x7mlskqauz5pyuzgqd.onion", "http://nitter.l4qlywnpwqsluw65ts7md3khrivpirse744un3x7mlskqauz5pyuzgqd.onion",
"http://nitter7bryz3jv7e3uekphigvmoyoem4al3fynerxkj22dmoxoq553qd.onion", "http://nitter7bryz3jv7e3uekphigvmoyoem4al3fynerxkj22dmoxoq553qd.onion",
@ -128,7 +128,7 @@
"https://teddit.adminforge.de", "https://teddit.adminforge.de",
"https://teddit.bus-hit.me" "https://teddit.bus-hit.me"
], ],
"onion": [ "tor": [
"http://teddit4w6cmzmj5kimhfcavs7yo5s7alszvsi2khqutqtlaanpcftfyd.onion", "http://teddit4w6cmzmj5kimhfcavs7yo5s7alszvsi2khqutqtlaanpcftfyd.onion",
"http://snoo.ioensistjs7wd746zluwixvojbbkxhr37lepdvwtdfeav673o64iflqd.onion", "http://snoo.ioensistjs7wd746zluwixvojbbkxhr37lepdvwtdfeav673o64iflqd.onion",
"http://ibarajztopxnuhabfu7fg6gbudynxofbnmvis3ltj6lfx47b6fhrd5qd.onion", "http://ibarajztopxnuhabfu7fg6gbudynxofbnmvis3ltj6lfx47b6fhrd5qd.onion",
@ -144,7 +144,7 @@
"https://wikiless.sethforprivacy.com", "https://wikiless.sethforprivacy.com",
"https://wiki.604kph.xyz" "https://wiki.604kph.xyz"
], ],
"onion": [ "tor": [
"http://dj2tbh2nqfxyfmvq33cjmhuw7nb6am7thzd3zsjvizeqf374fixbrxyd.onion" "http://dj2tbh2nqfxyfmvq33cjmhuw7nb6am7thzd3zsjvizeqf374fixbrxyd.onion"
] ]
}, },
@ -169,7 +169,7 @@
"https://translate.northboot.xyz", "https://translate.northboot.xyz",
"https://translate.tiekoetter.com" "https://translate.tiekoetter.com"
], ],
"onion": [ "tor": [
"http://fyng2tsmzmvxmojzbbwmfnsn2lrcyftf4cw6rk5j2v2huliazud3fjid.onion", "http://fyng2tsmzmvxmojzbbwmfnsn2lrcyftf4cw6rk5j2v2huliazud3fjid.onion",
"http://xxtbwyb5z5bdvy2f6l2yquu5qilgkjeewno4qfknvb3lkg3nmoklitid.onion" "http://xxtbwyb5z5bdvy2f6l2yquu5qilgkjeewno4qfknvb3lkg3nmoklitid.onion"
] ]
@ -279,7 +279,7 @@
"https://xeek.com", "https://xeek.com",
"https://searx.roflcopter.fr" "https://searx.roflcopter.fr"
], ],
"onion": [ "tor": [
"http://3afisqjw2rxm6z7mmstyt5rx75qfqrgxnkzftknbp2vhipr2nrmrjdyd.onion", "http://3afisqjw2rxm6z7mmstyt5rx75qfqrgxnkzftknbp2vhipr2nrmrjdyd.onion",
"http://searxbgetrkiwxhdwi6svpgh7eotopqyxhbqiokrwzg7dcte44t36kyd.onion", "http://searxbgetrkiwxhdwi6svpgh7eotopqyxhbqiokrwzg7dcte44t36kyd.onion",
"http://suche.xyzco456vwisukfg.onion", "http://suche.xyzco456vwisukfg.onion",
@ -324,7 +324,7 @@
"https://rimgo.totaldarkness.net", "https://rimgo.totaldarkness.net",
"https://rimgo.bus-hit.me" "https://rimgo.bus-hit.me"
], ],
"onion": [ "tor": [
"http://l4d4owboqr6xcmd6lf64gbegel62kbudu3x3jnldz2mx6mhn3bsv3zyd.onion", "http://l4d4owboqr6xcmd6lf64gbegel62kbudu3x3jnldz2mx6mhn3bsv3zyd.onion",
"http://jx3dpcwedpzu2mh54obk5gvl64i2ln7pt5mrzd75s4jnndkqwzaim7ad.onion" "http://jx3dpcwedpzu2mh54obk5gvl64i2ln7pt5mrzd75s4jnndkqwzaim7ad.onion"
] ]

View File

@ -18,12 +18,12 @@ r = requests.get('https://api.invidious.io/instances.json')
rJson = json.loads(r.text) rJson = json.loads(r.text)
invidiousList = {} invidiousList = {}
invidiousList['normal'] = [] invidiousList['normal'] = []
invidiousList['onion'] = [] invidiousList['tor'] = []
for instance in rJson: for instance in rJson:
if instance[1]['type'] == 'https': if instance[1]['type'] == 'https':
invidiousList['normal'].append(instance[1]['uri']) invidiousList['normal'].append(instance[1]['uri'])
elif instance[1]['type'] == 'onion': elif instance[1]['type'] == 'tor':
invidiousList['onion'].append(instance[1]['uri']) invidiousList['tor'].append(instance[1]['uri'])
mightyList['invidious'] = invidiousList mightyList['invidious'] = invidiousList
print('fetched Invidious') print('fetched Invidious')
@ -37,7 +37,7 @@ tables.pop(3)
tables.pop(3) tables.pop(3)
nitterList = {} nitterList = {}
nitterList['normal'] = [] nitterList['normal'] = []
nitterList['onion'] = [] nitterList['tor'] = []
for table in tables: for table in tables:
tbody = table.find('tbody') tbody = table.find('tbody')
trs = tbody.find_all('tr') trs = tbody.find_all('tr')
@ -47,7 +47,7 @@ for table in tables:
url = a.contents[0] url = a.contents[0]
if url.endswith('.onion'): if url.endswith('.onion'):
url = 'http://' + url url = 'http://' + url
nitterList['onion'].append(url) nitterList['tor'].append(url)
else: else:
url = 'https://' + url url = 'https://' + url
nitterList['normal'].append(url) nitterList['normal'].append(url)
@ -71,15 +71,15 @@ r = requests.get(
rJson = json.loads(r.text) rJson = json.loads(r.text)
tedditList = {} tedditList = {}
tedditList['normal'] = [] tedditList['normal'] = []
tedditList['onion'] = [] tedditList['tor'] = []
for item in rJson: for item in rJson:
url = item['url'] url = item['url']
if url != '': if url != '':
tedditList['normal'].append(url) tedditList['normal'].append(url)
if 'onion' in item: if 'tor' in item:
onion = item['onion'] onion = item['tor']
if onion != '': if onion != '':
tedditList['onion'].append(onion) tedditList['tor'].append(onion)
mightyList['teddit'] = tedditList mightyList['teddit'] = tedditList
print('fetched Teddit') print('fetched Teddit')
@ -90,10 +90,10 @@ r = requests.get('https://wikiless.org/instances.json')
rJson = json.loads(r.text) rJson = json.loads(r.text)
wikilessList = {} wikilessList = {}
wikilessList['normal'] = [] wikilessList['normal'] = []
wikilessList['onion'] = [] wikilessList['tor'] = []
for item in rJson: for item in rJson:
if item.endswith('.onion'): if item.endswith('.onion'):
wikilessList['onion'].append('http://' + item) wikilessList['tor'].append('http://' + item)
else: else:
wikilessList['normal'].append('https://' + item) wikilessList['normal'].append('https://' + item)
mightyList['wikiless'] = wikilessList mightyList['wikiless'] = wikilessList
@ -119,9 +119,9 @@ for item in r.text.strip().split('\n'):
simplyTranslateList['normal'].append('https://' + item) simplyTranslateList['normal'].append('https://' + item)
r = requests.get('https://simple-web.org/instances/simplytranslate_onion') r = requests.get('https://simple-web.org/instances/simplytranslate_onion')
simplyTranslateList['onion'] = [] simplyTranslateList['tor'] = []
for item in r.text.strip().split('\n'): for item in r.text.strip().split('\n'):
simplyTranslateList['onion'].append('http://' + item) simplyTranslateList['tor'].append('http://' + item)
mightyList['simplyTranslate'] = simplyTranslateList mightyList['simplyTranslate'] = simplyTranslateList
print('fetched SimplyTranslate') print('fetched SimplyTranslate')
@ -138,18 +138,17 @@ mightyList['lingva'] = lingvaList
print('fetched LinvgaTranslate') print('fetched LinvgaTranslate')
# SearX # SearX
r = requests.get('https://searx.space/data/instances.json') r = requests.get('https://searx.space/data/instances.json')
rJson = json.loads(r.text) rJson = json.loads(r.text)
searxList = {} searxList = {}
searxList['normal'] = [] searxList['normal'] = []
searxList['onion'] = [] searxList['tor'] = []
searxList['i2p'] = [] searxList['i2p'] = []
for item in rJson['instances'].keys(): for item in rJson['instances'].keys():
item = item[:-1] item = item[:-1]
if item.endswith('.onion'): if item.endswith('.onion'):
searxList['onion'].append(item) searxList['tor'].append(item)
elif item.endswith('.i2p'): elif item.endswith('.i2p'):
searxList['i2p'].append(item) searxList['i2p'].append(item)
else: else:
@ -176,11 +175,11 @@ r = requests.get(
rJson = json.loads(r.text) rJson = json.loads(r.text)
rimgoList = {} rimgoList = {}
rimgoList['normal'] = [] rimgoList['normal'] = []
rimgoList['onion'] = [] rimgoList['tor'] = []
for item in rJson: for item in rJson:
if item.endswith('.onion'): if item.endswith('.onion'):
rimgoList['onion'].append('http://' + item) rimgoList['tor'].append('http://' + item)
else: else:
rimgoList['normal'].append('https://' + item) rimgoList['normal'].append('https://' + item)
mightyList['rimgo'] = rimgoList mightyList['rimgo'] = rimgoList
@ -189,7 +188,7 @@ print('fetched Rimgo')
# Writing to file # Writing to file
json_object = json.dumps(mightyList, ensure_ascii=False, indent=2) json_object = json.dumps(mightyList, ensure_ascii=False, indent=2)
with open('instances/data.json', 'w') as outfile: with open('src/instances/data.json', 'w') as outfile:
outfile.write(json_object) outfile.write(json_object)
# print(json_object) # print(json_object)
print('wrote instances/data.json') print('wrote instances/data.json')

View File

@ -15,21 +15,21 @@ import exceptionsHelper from "../../assets/javascripts/helpers/exceptions.js";
window.browser = window.browser || window.chrome; window.browser = window.browser || window.chrome;
function wholeInit() { async function wholeInit() {
youtubeHelper.init()
twitterHelper.init()
instagramHelper.init()
mapsHelper.init() mapsHelper.init()
searchHelper.init() searchHelper.init()
translateHelper.init() translateHelper.init()
instagramHelper.init()
mediumHelper.init() mediumHelper.init()
redditHelper.init() redditHelper.init()
twitterHelper.init()
wikipediaHelper.init() wikipediaHelper.init()
youtubeHelper.init()
imgurHelper.init() imgurHelper.init()
tiktokHelper.init() tiktokHelper.init()
exceptionsHelper.init() exceptionsHelper.init()
}
}
wholeInit(); wholeInit();
browser.storage.onChanged.addListener(wholeInit); browser.storage.onChanged.addListener(wholeInit);