Supported all frontend preferences #234

This commit is contained in:
ManeraKai 2022-05-19 19:21:39 +03:00
parent 5aa8f7a56a
commit 4498e790f6
No known key found for this signature in database
GPG Key ID: 5ABC31FFD562E337
26 changed files with 697 additions and 389 deletions

View File

@ -129,11 +129,6 @@
"description": "used in general.html"
},
"applyTheme": {
"message": "Apply theme to sites",
"description": "used in general.html"
},
"alwaysPref": {
"message": "Always use Preferred Instances",
"description": "used in general.html"

View File

@ -331,7 +331,7 @@ function getCookiesFromStorage(frontend, to, name) {
browser.storage.local.get(
key,
r => {
if (r) browser.cookies.set({ url: to, name: name, value: r[key] })
if (r[key] !== undefined) browser.cookies.set({ url: to, name: name, value: r[key] })
}
)
}

View File

@ -29,24 +29,6 @@ let bibliogramTorRedirectsChecks;
let bibliogramNormalCustomRedirects = [];
let bibliogramTorCustomRedirects = [];
const reservedPaths = [
"u",
"p",
"privacy",
];
const bypassPaths = [
/about/,
/explore/,
/support/,
/press/,
/api/,
/privacy/,
/safety/,
/admin/,
/\/(accounts\/|embeds?.js)/
];
let disable; //disableInstagram
let protocol; //instagramProtocol
@ -68,6 +50,18 @@ function redirect(url, type, initiator) {
"media",
].includes(type)) return null;
const bypassPaths = [
/about/,
/explore/,
/support/,
/press/,
/api/,
/privacy/,
/safety/,
/admin/,
/\/(accounts\/|embeds?.js)/
];
if (bypassPaths.some(rx => rx.test(url.pathname))) return;
let instancesList;
@ -76,6 +70,12 @@ function redirect(url, type, initiator) {
if (instancesList.length === 0) return null;
let randomInstance = commonHelper.getRandomInstance(instancesList)
const reservedPaths = [
"u",
"p",
"privacy",
];
if (url.pathname === "/" || reservedPaths.includes(url.pathname.split("/")[1]))
return `${randomInstance}${url.pathname}${url.search}`;
if (url.pathname.startsWith("/reel") || url.pathname.startsWith("/tv"))
@ -139,44 +139,6 @@ function switchInstance(url) {
return `${randomInstance}${url.pathname}${url.search}`;
}
function isBibliogram(url) {
let protocolHost = commonHelper.protocolHost(url);
return [
...redirects.bibliogram.normal,
...redirects.bibliogram.tor,
...bibliogramNormalCustomRedirects,
...bibliogramTorCustomRedirects,
].includes(protocolHost);
}
let instancesCookies;
let theme;
function initBibliogramCookies(url) {
let protocolHost = commonHelper.protocolHost(url);
browser.cookies.get(
{ url: protocolHost, name: "settings" },
cookie => {
if (!cookie || !instancesCookies.includes(protocolHost)) {
console.log(`initing cookie for ${protocolHost}`);
let request = new XMLHttpRequest();
request.open("POST", `${protocolHost}/settings/return?referrer=%2F`);
let themeValue;
if (theme == 'light') themeValue = "classic";
if (theme == 'dark') themeValue = "pussthecat.org-v2"
if (themeValue) {
let data = `csrf=x&theme=${themeValue}`;
request.send(data);
if (!instancesCookies.includes(protocolHost)) instancesCookies.push(protocolHost);
browser.storage.local.set({ instancesCookies })
}
}
})
}
function initDefaults() {
return new Promise(resolve => {
fetch('/instances/data.json').then(response => response.text()).then(data => {
@ -192,10 +154,6 @@ function initDefaults() {
disableInstagram: false,
instagramRedirects: redirects,
theme: 'DEFAULT',
instancesCookies: [],
bibliogramNormalRedirectsChecks: bibliogramNormalRedirectsChecks,
bibliogramTorRedirectsChecks: [],
@ -217,10 +175,6 @@ async function init() {
"disableInstagram",
"instagramRedirects",
"theme",
"instancesCookies",
"bibliogramNormalRedirectsChecks",
"bibliogramTorRedirectsChecks",
@ -232,10 +186,6 @@ async function init() {
disable = r.disableInstagram;
if (r.instagramRedirects) redirects = r.instagramRedirects
theme = r.theme;
instancesCookies = r.instancesCookies;
bibliogramNormalRedirectsChecks = r.bibliogramNormalRedirectsChecks;
bibliogramNormalCustomRedirects = r.bibliogramNormalCustomRedirects;
@ -256,9 +206,6 @@ export default {
reverse,
isBibliogram,
initBibliogramCookies,
redirect,
init,
initDefaults,

View File

@ -114,6 +114,38 @@ function initLibredditCookies(from) {
}
function setLibredditCookies() {
browser.storage.local.get(
[
"redditProtocol",
"disableReddit",
"redditFrontend",
"libredditNormalRedirectsChecks",
"libredditNormalCustomRedirects",
"libredditTorRedirectsChecks",
"libredditTorCustomRedirects",
],
r => {
if (r.disableReddit || r.redditFrontend != 'libreddit' || r.redditProtocol === undefined) return;
let checkedInstances;
if (r.redditProtocol == 'normal') checkedInstances = [...r.libredditNormalRedirectsChecks, ...r.libredditNormalCustomRedirects]
else if (r.redditProtocol == 'tor') checkedInstances = [...r.libredditTorRedirectsChecks, ...r.libredditTorCustomRedirects]
for (const to of checkedInstances) {
commonHelper.getCookiesFromStorage('libreddit', to, "theme");
commonHelper.getCookiesFromStorage('libreddit', to, "front_page");
commonHelper.getCookiesFromStorage('libreddit', to, "layout");
commonHelper.getCookiesFromStorage('libreddit', to, "wide");
commonHelper.getCookiesFromStorage('libreddit', to, "post_sort");
commonHelper.getCookiesFromStorage('libreddit', to, "comment_sort");
commonHelper.getCookiesFromStorage('libreddit', to, "show_nsfw");
commonHelper.getCookiesFromStorage('libreddit', to, "autoplay_videos");
commonHelper.getCookiesFromStorage('libreddit', to, "use_hls");
commonHelper.getCookiesFromStorage('libreddit', to, "hide_hls_notification");
}
}
)
}
function initTedditCookies(from) {
return new Promise(resolve => {
browser.storage.local.get(
@ -156,6 +188,40 @@ function initTedditCookies(from) {
})
}
function setTedditCookies() {
browser.storage.local.get(
[
"redditProtocol",
"disableReddit",
"redditFrontend",
"tedditNormalRedirectsChecks",
"tedditNormalCustomRedirects",
"tedditTorRedirectsChecks",
"tedditTorCustomRedirects",
],
r => {
if (r.disableReddit || r.redditFrontend != 'teddit' || r.redditProtocol === undefined) return;
let checkedInstances;
if (r.redditProtocol == 'normal') checkedInstances = [...r.tedditNormalRedirectsChecks, ...r.tedditNormalCustomRedirects]
else if (r.redditProtocol == 'tor') checkedInstances = [...r.tedditTorRedirectsChecks, ...r.tedditTorCustomRedirects]
for (const to of checkedInstances) {
commonHelper.getCookiesFromStorage('teddit', to, 'collapse_child_comments')
commonHelper.getCookiesFromStorage('teddit', to, 'domain_instagram')
commonHelper.getCookiesFromStorage('teddit', to, 'domain_twitter')
commonHelper.getCookiesFromStorage('teddit', to, 'domain_youtube')
commonHelper.getCookiesFromStorage('teddit', to, 'flairs')
commonHelper.getCookiesFromStorage('teddit', to, 'highlight_controversial')
commonHelper.getCookiesFromStorage('teddit', to, 'nsfw_enabled')
commonHelper.getCookiesFromStorage('teddit', to, 'post_media_max_height')
commonHelper.getCookiesFromStorage('teddit', to, 'show_upvoted_percentage')
commonHelper.getCookiesFromStorage('teddit', to, 'show_upvotes')
commonHelper.getCookiesFromStorage('teddit', to, 'theme')
commonHelper.getCookiesFromStorage('teddit', to, 'videos_muted')
}
}
)
}
function redirect(url, type, initiator) {
// https://libreddit.exonip.de/vid/1mq8d0ma3yk81/720.mp4
// https://libreddit.exonip.de/img/4v3t1vgvrzk81.png
@ -200,12 +266,12 @@ function redirect(url, type, initiator) {
if (frontend == 'teddit') {
if (tedditInstancesList.length === 0) return null;
let tedditRandomInstance = commonHelper.getRandomInstance(tedditInstancesList);
return `${tedditRandomInstance}/pics/w:null_${url.pathname.substring(1)}${url.search}`;
return `${tedditRandomInstance}/pics/w:null_${url.pathname.substring(1)}${url.reddit}`;
}
if (frontend == 'libreddit') {
if (libredditInstancesList.length === 0) return null;
let libredditRandomInstance = commonHelper.getRandomInstance(libredditInstancesList);
return `${libredditRandomInstance}/img${url.pathname}${url.search}`;
return `${libredditRandomInstance}/img${url.pathname}${url.reddit}`;
}
}
else if (url.host === "redd.it") {
@ -213,13 +279,13 @@ function redirect(url, type, initiator) {
if (libredditInstancesList.length === 0) return null;
let libredditRandomInstance = commonHelper.getRandomInstance(libredditInstancesList);
// https://redd.it/foo => https://libredd.it/comments/foo
return `${libredditRandomInstance}/comments${url.pathname}${url.search}`;
return `${libredditRandomInstance}/comments${url.pathname}${url.reddit}`;
}
if (frontend == 'teddit' && !url.pathname.match(/^\/+[^\/]+\/+[^\/]/)) {
if (tedditInstancesList.length === 0) return null;
let tedditRandomInstance = commonHelper.getRandomInstance(tedditInstancesList);
// https://redd.it/foo => https://teddit.net/comments/foo
return `${tedditRandomInstance}/comments${url.pathname}${url.search}`;
return `${tedditRandomInstance}/comments${url.pathname}${url.reddit}`;
}
}
else if (url.host === 'preview.redd.it') {
@ -229,19 +295,19 @@ function redirect(url, type, initiator) {
if (frontend == 'libreddit') {
if (libredditInstancesList.length === 0) return null;
let libredditRandomInstance = commonHelper.getRandomInstance(libredditInstancesList);
return `${libredditRandomInstance}/preview/pre${url.pathname}${url.search}`;
return `${libredditRandomInstance}/preview/pre${url.pathname}${url.reddit}`;
}
}
if (frontend == 'libreddit') {
if (libredditInstancesList.length === 0) return null;
let libredditRandomInstance = commonHelper.getRandomInstance(libredditInstancesList);
return `${libredditRandomInstance}${url.pathname}${url.search}`;
return `${libredditRandomInstance}${url.pathname}${url.reddit}`;
}
if (frontend == 'teddit') {
if (tedditInstancesList.length === 0) return null;
let tedditRandomInstance = commonHelper.getRandomInstance(tedditInstancesList);
return `${tedditRandomInstance}${url.pathname}${url.search}`;
return `${tedditRandomInstance}${url.pathname}${url.reddit}`;
}
}
@ -254,7 +320,7 @@ function reverse(url) {
...nitterTorCustomRedirects].includes(protocolHost)
) return;
if (url.pathname.includes('/pics/w:null_'))
return `https://reddit.com${url.pathname}${url.search}`;
return `https://reddit.com${url.pathname}${url.reddit}`;
}
async function switchInstance(url) {
@ -319,7 +385,7 @@ async function switchInstance(url) {
let randomInstance = commonHelper.getRandomInstance(instancesList);
resolve(`${randomInstance}${url.pathname}${url.search}`)
resolve(`${randomInstance}${url.pathname}${url.reddit}`)
}
)
})
@ -412,9 +478,9 @@ export default {
setLibredditRedirects,
initLibredditCookies,
setLibredditCookies,
initTedditCookies,
initLibredditCookies,
setTedditCookies,
redirect,
init,

View File

@ -147,7 +147,8 @@ function initSearxCookies(from) {
...r.searxTorCustomRedirects,
...r.searxI2pRedirectsChecks,
...r.searxI2pCustomRedirects,
].includes(protocolHost)) resolve();
].includes(protocolHost)) return;
let checkedInstances;
if (protocol == 'normal') checkedInstances = [...r.searxNormalRedirectsChecks, ...r.searxNormalCustomRedirects];
@ -178,6 +179,45 @@ function initSearxCookies(from) {
})
}
function setSearxCookies() {
browser.storage.local.get(
[
"disableSearch",
"searchProtocol",
"searchFrontend",
"searxNormalRedirectsChecks",
"searxNormalCustomRedirects",
"searxTorRedirectsChecks",
"searxTorCustomRedirects",
],
r => {
if (r.disableSearch || r.searchFrontend != 'searx', r.searchProtocol === undefined) return;
let checkedInstances;
if (r.searchProtocol == 'normal') checkedInstances = [...r.searxNormalRedirectsChecks, ...r.searxNormalCustomRedirects]
else if (r.searchProtocol == 'tor') checkedInstances = [...r.searxTorRedirectsChecks, ...r.searxTorCustomRedirects]
for (const to of checkedInstances) {
commonHelper.getCookiesFromStorage('searx', to, 'advanced_search');
commonHelper.getCookiesFromStorage('searx', to, 'autocomplete');
commonHelper.getCookiesFromStorage('searx', to, 'categories');
commonHelper.getCookiesFromStorage('searx', to, 'disabled_engines');
commonHelper.getCookiesFromStorage('searx', to, 'disabled_plugins');
commonHelper.getCookiesFromStorage('searx', to, 'doi_resolver');
commonHelper.getCookiesFromStorage('searx', to, 'enabled_engines');
commonHelper.getCookiesFromStorage('searx', to, 'enabled_plugins');
commonHelper.getCookiesFromStorage('searx', to, 'image_proxy');
commonHelper.getCookiesFromStorage('searx', to, 'language');
commonHelper.getCookiesFromStorage('searx', to, 'locale');
commonHelper.getCookiesFromStorage('searx', to, 'method');
commonHelper.getCookiesFromStorage('searx', to, 'oscar-style');
commonHelper.getCookiesFromStorage('searx', to, 'results_on_new_tab');
commonHelper.getCookiesFromStorage('searx', to, 'safesearch');
commonHelper.getCookiesFromStorage('searx', to, 'theme');
commonHelper.getCookiesFromStorage('searx', to, 'tokens');
}
}
)
}
function initSearxngCookies(from) {
return new Promise(resolve => {
browser.storage.local.get(
@ -199,7 +239,7 @@ function initSearxngCookies(from) {
...r.searxngTorCustomRedirects,
...r.searxngI2pRedirectsChecks,
...r.searxngI2pCustomRedirects,
].includes(protocolHost)) resolve();
].includes(protocolHost)) return;
let checkedInstances;
if (r.searchProtocol == 'normal') checkedInstances = [...r.searxngNormalRedirectsChecks, ...r.searxngNormalCustomRedirects];
@ -232,6 +272,47 @@ function initSearxngCookies(from) {
})
}
function setSearxngCookies() {
browser.storage.local.get(
[
"searchProtocol",
"disableSearch",
"searchFrontend",
"searxngNormalRedirectsChecks",
"searxngNormalCustomRedirects",
"searxngTorRedirectsChecks",
"searxngTorCustomRedirects",
],
r => {
if (r.disableSearch || r.searchFrontend != 'searxng', r.searchProtocol === undefined) return;
let checkedInstances;
if (r.searchProtocol == 'normal') checkedInstances = [...r.searxngNormalRedirectsChecks, ...r.searxngNormalCustomRedirects]
else if (r.searchProtocol == 'tor') checkedInstances = [...r.searxngTorRedirectsChecks, ...r.searxngTorCustomRedirects]
for (const to of checkedInstances) {
commonHelper.getCookiesFromStorage('searxng', to, 'autocomplete');
commonHelper.getCookiesFromStorage('searxng', to, 'categories');
commonHelper.getCookiesFromStorage('searxng', to, 'disabled_engines');
commonHelper.getCookiesFromStorage('searxng', to, 'disabled_plugins');
commonHelper.getCookiesFromStorage('searxng', to, 'doi_resolver');
commonHelper.getCookiesFromStorage('searxng', to, 'enabled_plugins');
commonHelper.getCookiesFromStorage('searxng', to, 'enabled_engines');
commonHelper.getCookiesFromStorage('searxng', to, 'image_proxy');
commonHelper.getCookiesFromStorage('searxng', to, 'infinite_scroll');
commonHelper.getCookiesFromStorage('searxng', to, 'language');
commonHelper.getCookiesFromStorage('searxng', to, 'locale');
commonHelper.getCookiesFromStorage('searxng', to, 'maintab');
commonHelper.getCookiesFromStorage('searxng', to, 'method');
commonHelper.getCookiesFromStorage('searxng', to, 'query_in_title');
commonHelper.getCookiesFromStorage('searxng', to, 'results_on_new_tab');
commonHelper.getCookiesFromStorage('searxng', to, 'safesearch');
commonHelper.getCookiesFromStorage('searxng', to, 'simple_style');
commonHelper.getCookiesFromStorage('searxng', to, 'theme');
commonHelper.getCookiesFromStorage('searxng', to, 'tokens');
}
}
)
}
function redirect(url) {
if (disable) return;
if (!targets.some(rx => rx.test(url.href))) return;
@ -482,7 +563,10 @@ export default {
setWhoogleRedirects,
initSearxCookies,
setSearxCookies,
initSearxngCookies,
setSearxngCookies,
redirect,
initDefaults,

View File

@ -73,6 +73,29 @@ function initProxiTokCookies(from) {
})
}
function setProxiTokCookies() {
browser.storage.local.get(
[
"tiktokProtocol",
"disableTiktok",
"proxiTokNormalRedirectsChecks",
"proxiTokNormalCustomRedirects",
"proxiTokTorRedirectsChecks",
"proxiTokTorCustomRedirects",
],
r => {
if (r.disableTiktok || r.tiktokProtocol === undefined) return;
let checkedInstances;
if (r.youtubeProtocol == 'normal') checkedInstances = [...r.proxiTokNormalRedirectsChecks, ...r.proxiTokNormalCustomRedirects]
else if (r.youtubeProtocol == 'tor') checkedInstances = [...r.proxiTokTorRedirectsChecks, ...r.proxiTokTorCustomRedirects]
for (const to of checkedInstances) {
commonHelper.getCookiesFromStorage('proxitok', from, to, 'theme');
commonHelper.getCookiesFromStorage('proxitok', from, to, 'api-legacy');
}
}
)
}
function redirect(url, type, initiator) {
if (disable) return;
if (type != "main_frame") return null;
@ -174,6 +197,7 @@ export default {
reverse,
initProxiTokCookies,
setProxiTokCookies,
initDefaults,
init,

View File

@ -0,0 +1,10 @@
window.browser = window.browser || window.chrome;
browser.storage.local.set(
{
['lingva_lingva_chakra-ui-color-mode']: localStorage.getItem('chakra-ui-color-mode'),
lingva_lingva_isauto: localStorage.getItem('isauto'),
lingva_lingva_source: localStorage.getItem('source'),
lingva_lingva_target: localStorage.getItem('target'),
}
)

View File

@ -1,12 +0,0 @@
window.browser = window.browser || window.chrome;
browser.storage.local.get(
[
"theme",
],
r => {
let theme = r.theme;
if (theme != "DEFAULT") localStorage.setItem("chakra-ui-color-mode", r.theme);
}
)

View File

@ -0,0 +1,16 @@
window.browser = window.browser || window.chrome;
browser.storage.local.get(
[
"lingva_chakra-ui-color-mode",
"lingva_isauto",
"lingva_source",
"lingva_target",
],
r => {
if (r['lingva_chakra-ui-color-mode'] !== undefined) localStorage.setItem('chakra-ui-color-mode', r['lingva_chakra-ui-color-mode']);
if (r.lingva_isauto !== undefined) localStorage.setItem('isauto', r.lingva_isauto);
if (r.lingva_source !== undefined) localStorage.setItem('source', r.lingva_source);
if (r.lingva_target !== undefined) localStorage.setItem('target', r.lingva_target);
}
)

View File

@ -67,7 +67,6 @@ let
lingvaNormalCustomRedirects,
lingvaTorCustomRedirects;
let
disable, // translateDisable
frontend, // translateFrontend
@ -107,14 +106,129 @@ function isTranslateRedirects(url, type, frontend) {
].includes(protocolHost);
}
function initLingvaLocalStorage(tabId) {
browser.tabs.executeScript(
tabId,
{
file: "/assets/javascripts/helpers/translate/lingva-preferences.js",
runAt: "document_start"
function initLingvaLocalStorage(url, tabId) {
return new Promise(resolve => {
browser.storage.local.get(
[
"lingvaNormalRedirectsChecks",
"lingvaNormalCustomRedirects",
"lingvaTorRedirectsChecks",
"lingvaTorCustomRedirects",
],
r => {
let protocolHost = commonHelper.protocolHost(url);
if (![
...r.lingvaNormalRedirectsChecks,
...r.lingvaTorRedirectsChecks,
...r.lingvaNormalCustomRedirects,
...r.lingvaTorCustomRedirects,
].includes(protocolHost)) return;
browser.tabs.executeScript(
tabId,
{
file: "/assets/javascripts/helpers/translate/get_lingva_preferences.js",
runAt: "document_start"
}
);
resolve(true);
}
)
})
}
async function setLingvaLocalStorage(url, tabId) {
browser.storage.local.get(
[
"disableYoutube",
"youtubeFrontend",
"lingvaNormalRedirectsChecks",
"lingvaNormalCustomRedirects",
"lingvaTorRedirectsChecks",
"lingvaTorCustomRedirects",
],
r => {
if (r.disableYoutube || r.youtubeFrontend != 'lingva') return;
let protocolHost = commonHelper.protocolHost(url);
if (![
...r.lingvaNormalRedirectsChecks,
...r.lingvaTorRedirectsChecks,
...r.lingvaNormalCustomRedirects,
...r.lingvaTorCustomRedirects,
].includes(protocolHost)) return;
browser.tabs.executeScript(
tabId,
{
file: "/assets/javascripts/helpers/youtube/set_lingva_preferences.js",
runAt: "document_start"
}
);
return true;
})
}
function initSimplyTranslateCookies(from) {
return new Promise(resolve => {
browser.storage.local.get(
[
"translateProtocol",
"simplyTranslateNormalRedirectsChecks",
"simplyTranslateNormalCustomRedirects",
"simplyTranslateTorRedirectsChecks",
"simplyTranslateTorCustomRedirects",
"simplyTranslateI2pRedirectsChecks",
"simplyTranslateI2pCustomRedirects",
],
r => {
let protocolHost = commonHelper.protocolHost(from);
if (![
...r.simplyTranslateNormalRedirectsChecks,
...r.simplyTranslateNormalCustomRedirects,
...r.simplyTranslateTorRedirectsChecks,
...r.simplyTranslateTorCustomRedirects,
...r.simplyTranslateI2pRedirectsChecks,
...r.simplyTranslateI2pCustomRedirects,
].includes(protocolHost)) resolve();
let checkedInstances;
if (r.translateProtocol == 'normal') checkedInstances = [...r.simplyTranslateNormalRedirectsChecks, ...r.simplyTranslateNormalCustomRedirects]
else if (r.translateProtocol == 'tor') checkedInstances = [...r.simplyTranslateTorRedirectsChecks, ...r.simplyTranslateTorCustomRedirects]
else if (r.translateProtocol == 'i2p') checkedInstances = [...r.simplyTranslateI2pRedirectsChecks, ...r.simplyTranslateI2pCustomRedirects]
for (const to of checkedInstances) {
commonHelper.copyCookie('simplyTranslate', from, to, 'from_lang');
commonHelper.copyCookie('simplyTranslate', from, to, 'to_lang');
commonHelper.copyCookie('simplyTranslate', from, to, 'tts_enabled');
commonHelper.copyCookie('simplyTranslate', from, to, 'use_text_fields');
}
resolve(true);
}
)
})
}
function setSimplyTranslateCookies() {
browser.storage.local.get(
[
"translateProtocol",
"translateDisable",
"translateFrontend",
"simplyTranslateNormalRedirectsChecks",
"simplyTranslateNormalCustomRedirects",
"simplyTranslateTorRedirectsChecks",
"simplyTranslateTorCustomRedirects",
],
r => {
if (r.translateDisable || r.translateFrontend != 'simplyTranslate' || r.translateProtocol === undefined) return;
let checkedInstances;
if (r.translateProtocol == 'normal') checkedInstances = [...r.simplyTranslateNormalRedirectsChecks, ...r.simplyTranslateNormalCustomRedirects]
else if (r.translateProtocol == 'tor') checkedInstances = [...r.simplyTranslateTorRedirectsChecks, ...r.simplyTranslateTorCustomRedirects]
for (const to of checkedInstances) {
commonHelper.getCookiesFromStorage('simplyTranslate', to, 'from_lang');
commonHelper.getCookiesFromStorage('simplyTranslate', to, 'to_lang');
commonHelper.getCookiesFromStorage('simplyTranslate', to, 'tts_enabled');
commonHelper.getCookiesFromStorage('simplyTranslate', to, 'use_text_fields');
}
}
);
)
}
function redirect(url) {
@ -267,7 +381,10 @@ export default {
getRedirects,
isTranslateRedirects,
initSimplyTranslateCookies,
setSimplyTranslateCookies,
initLingvaLocalStorage,
setLingvaLocalStorage,
setSimplyTranslateRedirects,
setLingvaRedirects,

View File

@ -134,18 +134,6 @@ function removeXFrameOptions(e) {
if (isChanged) return { responseHeaders: e.responseHeaders };
}
function isNitter(url, type) {
if (type !== "main_frame" && type !== "sub_frame") return false;
let protocolHost = commonHelper.protocolHost(url);
return [
...redirects.nitter.normal,
...redirects.nitter.tor,
...nitterNormalCustomRedirects,
...nitterTorCustomRedirects,
].includes(protocolHost);
}
async function initNitterCookies(from) {
return new Promise(resolve => {
browser.storage.local.get(
@ -190,6 +178,42 @@ async function initNitterCookies(from) {
})
}
function setNitterCookies() {
browser.storage.local.get(
[
"twitterProtocol",
"disableTwitter",
"youtubeFrontend",
"nitterNormalRedirectsChecks",
"nitterNormalCustomRedirects",
"nitterTorRedirectsChecks",
"nitterTorCustomRedirects",
],
r => {
if (r.disableYoutube || r.youtubeFrontend != 'nitter' || r.twitterProtocol === undefined) return;
let checkedInstances;
if (r.youtubeProtocol == 'normal') checkedInstances = [...r.nitterNormalRedirectsChecks, ...r.nitterNormalCustomRedirects]
else if (r.youtubeProtocol == 'tor') checkedInstances = [...r.nitterTorRedirectsChecks, ...r.nitterTorCustomRedirects]
for (const to of checkedInstances) {
commonHelper.getCookiesFromStorage('nitter', to, 'theme');
commonHelper.getCookiesFromStorage('nitter', to, 'infiniteScroll');
commonHelper.getCookiesFromStorage('nitter', to, 'stickyProfile');
commonHelper.getCookiesFromStorage('nitter', to, 'bidiSupport');
commonHelper.getCookiesFromStorage('nitter', to, 'hideTweetStats');
commonHelper.getCookiesFromStorage('nitter', to, 'hideBanner');
commonHelper.getCookiesFromStorage('nitter', to, 'hidePins');
commonHelper.getCookiesFromStorage('nitter', to, 'hideReplies');
commonHelper.getCookiesFromStorage('nitter', to, 'squareAvatars');
commonHelper.getCookiesFromStorage('nitter', to, 'mp4Playback');
commonHelper.getCookiesFromStorage('nitter', to, 'hlsPlayback');
commonHelper.getCookiesFromStorage('nitter', to, 'proxyVideos');
commonHelper.getCookiesFromStorage('nitter', to, 'muteVideos');
commonHelper.getCookiesFromStorage('nitter', to, 'autoplayGifs');
}
}
)
}
function initDefaults() {
fetch('/instances/data.json').then(response => response.text()).then(data => {
let dataJson = JSON.parse(data);
@ -248,8 +272,8 @@ export default {
reverse,
removeXFrameOptions,
isNitter,
initNitterCookies,
setNitterCookies,
redirect,
initDefaults,

View File

@ -50,7 +50,7 @@ let
wikilessTorCustomRedirects,
wikilessI2pCustomRedirects;
function initWikilessCookies() {
function initWikilessCookies(from) {
return new Promise(resolve => {
browser.storage.local.get(
[
@ -78,14 +78,39 @@ function initWikilessCookies() {
else if (r.wikipediaProtocol == 'tor') checkedInstances = [...r.wikilessTorRedirectsChecks, ...r.wikilessTorCustomRedirects]
else if (r.wikipediaProtocol == 'i2p') checkedInstances = [...r.wikilessI2pRedirectsChecks, ...r.wikilessI2pCustomRedirects]
for (const to of checkedInstances)
for (const to of checkedInstances) {
commonHelper.copyCookie('wikiless', from, to, 'theme');
commonHelper.copyCookie('wikiless', from, to, 'default_lang');
}
resolve(true);
}
)
})
}
function setWikilessCookies() {
browser.storage.local.get(
[
"disableWikipedia",
"wikipediaProtocol",
"wikilessNormalRedirectsChecks",
"wikilessNormalCustomRedirects",
"wikilessTorRedirectsChecks",
"wikilessTorCustomRedirects",
],
r => {
if (r.disableWikipedia || r.wikipediaProtocol === undefined) return;
let checkedInstances;
if (r.wikipediaProtocol == 'normal') checkedInstances = [...r.wikilessNormalRedirectsChecks, ...r.wikilessNormalCustomRedirects]
else if (r.wikipediaProtocol == 'tor') checkedInstances = [...r.wikilessTorRedirectsChecks, ...r.wikilessTorCustomRedirects]
for (const to of checkedInstances) {
commonHelper.getCookiesFromStorage('wikiless', to, 'theme');
commonHelper.getCookiesFromStorage('wikiless', to, 'default_lang');
}
}
)
}
function redirect(url) {
if (disable) return;
if (!targets.test(url.href)) return;
@ -212,6 +237,7 @@ export default {
setRedirects,
initWikilessCookies,
setWikilessCookies,
redirect,
initDefaults,

View File

@ -0,0 +1,7 @@
window.browser = window.browser || window.chrome;
browser.storage.local.set(
{
'pipedMaterial_PREFERENCES': localStorage.getItem("PREFERENCES")
}
)

View File

@ -1,40 +0,0 @@
window.browser = window.browser || window.chrome;
browser.storage.local.get(
[
"piped_bufferGoal",
"piped_comments",
"piped_disableLBRY",
"piped_enabledCodecs",
"piped_homepage",
"piped_listen",
"piped_minimizeDescription",
"piped_playerAutoPlay",
"piped_proxyLBRY",
"piped_quality",
"piped_region",
"piped_selectedSkip",
"piped_sponsorblock",
"piped_theme",
"piped_volume",
"piped_watchHistory",
],
r => {
localStorage.setItem("bufferGoal", r.piped_bufferGoal);
localStorage.setItem("comments", r.piped_comments);
localStorage.setItem("disableLBRY", r.piped_disableLBRY);
localStorage.setItem("enabledCodecs", r.piped_enabledCodecs);
localStorage.setItem("homepage", r.piped_homepage);
localStorage.setItem("listen", r.piped_listen);
localStorage.setItem("minimizeDescription", r.piped_minimizeDescription);
localStorage.setItem("playerAutoPlay", r.piped_playerAutoPlay);
localStorage.setItem("proxyLBRY", r.piped_proxyLBRY);
localStorage.setItem("quality", r.piped_quality);
localStorage.setItem("region", r.piped_region);
localStorage.setItem("selectedSkip", r.piped_selectedSkip);
localStorage.setItem("sponsorblock", r.piped_sponsorblock);
localStorage.setItem("theme", r.piped_theme);
localStorage.setItem("volume", r.piped_volume);
localStorage.setItem("watchHistory", r.piped_watchHistory);
}
)

View File

@ -1,89 +0,0 @@
"use strict";
window.browser = window.browser || window.chrome;
import commonHelper from '../common.js'
async function initDefaults() {
await browser.storage.local.set({
youtubeVolume: 100,
youtubeAutoplay: false,
youtubeListen: false,
pipedBufferGoal: 300,
pipedComments: true,
pipedDisableLBRY: false,
pipedEnabledCodecs: ["av1", "vp9", "avc"],
pipedHomepage: "trending",
pipedMinimizeDescription: false,
pipedProxyLBRY: false,
pipedQuality: 0,
pipedRegion: "US",
pipedSelectedSkip: ["sponsor", "interaction", "selfpromo", "music_offtopic"],
pipedSponsorblock: true,
pipedDdlTheme: 'auto',
pipedWatchHistory: false,
})
}
async function copyPipedLocalStorage(url, tabId) {
return new Promise(resolve => {
browser.storage.local.get(
[
"pipedNormalRedirectsChecks",
"pipedNormalCustomRedirects",
"pipedTorRedirectsChecks",
"pipedTorCustomRedirects",
],
r => {
let protocolHost = commonHelper.protocolHost(url);
if (![
...r.pipedNormalCustomRedirects,
...r.pipedNormalRedirectsChecks,
...r.pipedTorRedirectsChecks,
...r.pipedTorCustomRedirects,
].includes(protocolHost)) resolve();
browser.tabs.executeScript(
tabId,
{
file: "/assets/javascripts/helpers/youtube/get_piped_settings.js",
runAt: "document_start"
}
);
resolve(true);
})
})
}
async function initPipedLocalStorage(url, tabId) {
browser.storage.local.get(
[
"youtubeProtocol",
"pipedNormalRedirectsChecks",
"pipedNormalCustomRedirects",
"pipedTorRedirectsChecks",
"pipedTorCustomRedirects",
],
r => {
let protocolHost = commonHelper.protocolHost(url);
if (![
...r.pipedNormalRedirectsChecks,
...r.pipedTorRedirectsChecks,
...r.pipedNormalCustomRedirects,
...r.pipedTorCustomRedirects,
].includes(protocolHost)) return;
browser.tabs.executeScript(
tabId,
{
file: "/assets/javascripts/helpers/youtube/piped-preferences.js",
runAt: "document_start"
}
);
return true;
})
}
export default {
initDefaults,
initPipedLocalStorage,
copyPipedLocalStorage,
}

View File

@ -1,37 +0,0 @@
window.browser = window.browser || window.chrome;
browser.storage.local.get(
[
"theme",
"youtubeAutoplay",
"youtubeVolume",
"youtubeListen",
"pipedDisableLBRY",
"pipedProxyLBRY",
"pipedSelectedSkip",
"pipedSponsorblock",
"pipedMaterialSkipToLastPoint",
],
r => {
let prefs = {};
if (localStorage.getItem("PREFERENCES"))
prefs = JSON.parse(localStorage.getItem("PREFERENCES"));
if (r.theme == 'dark') prefs.darkMode = true;
if (r.theme == 'light') prefs.darkMode = false;
prefs.volume = r.youtubeVolume / 100;
prefs.playerAutoplay = r.youtubeAutoplay;
prefs.listen = r.youtubeListen;
prefs.disableLBRY = r.pipedDisableLBRY;
prefs.proxyLBRY = r.pipedProxyLBRY;
prefs.sponsorblock = r.pipedSponsorblock;
prefs.skipToLastPoint = r.pipedMaterialSkipToLastPoint;
prefs.selectedSkip = r.pipedSelectedSkip;
localStorage.setItem("PREFERENCES", JSON.stringify(prefs));
}
)

View File

@ -1,31 +0,0 @@
async function initDefaults() {
await browser.storage.local.set({
theme: "dark",
youtubeAutoplay: false,
youtubeVolume: 100,
youtubeListen: false,
pipedDisableLBRY: false,
pipedProxyLBRY: false,
pipedSelectedSkip: [],
pipedSponsorblock: true,
pipedMaterialSkipToLastPoint: true,
})
}
function initPipedMaterialLocalStorage(tabId) {
if (!disable && frontend == 'pipedMaterial' && enableCustomSettings)
browser.tabs.executeScript(
tabId,
{
file: "/assets/javascripts/helpers/youtube/pipedMaterial-preferences.js",
runAt: "document_start"
}
);
}
export default {
initDefaults,
initPipedMaterialLocalStorage,
}

View File

@ -0,0 +1,8 @@
window.browser = window.browser || window.chrome;
browser.storage.local.get(
"pipedMaterial_PREFERENCES",
r => {
if (r.pipedMaterial_PREFERENCES !== undefined) localStorage.setItem("PREFERENCES", r.pipedMaterial_PREFERENCES)
}
)

View File

@ -0,0 +1,40 @@
window.browser = window.browser || window.chrome;
browser.storage.local.get(
[
"piped_bufferGoal",
"piped_comments",
"piped_disableLBRY",
"piped_enabledCodecs",
"piped_homepage",
"piped_listen",
"piped_minimizeDescription",
"piped_playerAutoPlay",
"piped_proxyLBRY",
"piped_quality",
"piped_region",
"piped_selectedSkip",
"piped_sponsorblock",
"piped_theme",
"piped_volume",
"piped_watchHistory",
],
r => {
if (r.piped_bufferGoal !== undefined) localStorage.setItem("bufferGoal", r.piped_bufferGoal);
if (r.piped_comments !== undefined) localStorage.setItem("comments", r.piped_comments);
if (r.piped_disableLBRY !== undefined) localStorage.setItem("disableLBRY", r.piped_disableLBRY);
if (r.piped_enabledCodecs !== undefined) localStorage.setItem("enabledCodecs", r.piped_enabledCodecs);
if (r.piped_homepage !== undefined) localStorage.setItem("homepage", r.piped_homepage);
if (r.piped_listen !== undefined) localStorage.setItem("listen", r.piped_listen);
if (r.piped_minimizeDescription !== undefined) localStorage.setItem("minimizeDescription", r.piped_minimizeDescription);
if (r.piped_playerAutoPlay !== undefined) localStorage.setItem("playerAutoPlay", r.piped_playerAutoPlay);
if (r.piped_proxyLBRY !== undefined) localStorage.setItem("proxyLBRY", r.piped_proxyLBRY);
if (r.piped_quality !== undefined) localStorage.setItem("quality", r.piped_quality);
if (r.piped_region !== undefined) localStorage.setItem("region", r.piped_region);
if (r.piped_selectedSkip !== undefined) localStorage.setItem("selectedSkip", r.piped_selectedSkip);
if (r.piped_sponsorblock !== undefined) localStorage.setItem("sponsorblock", r.piped_sponsorblock);
if (r.piped_theme !== undefined) localStorage.setItem("theme", r.piped_theme);
if (r.piped_volume !== undefined) localStorage.setItem("volume", r.piped_volume);
if (r.piped_watchHistory !== undefined) localStorage.setItem("watchHistory", r.piped_watchHistory);
}
)

View File

@ -3,8 +3,6 @@
window.browser = window.browser || window.chrome;
import commonHelper from '../common.js'
import piped from './piped.js';
import pipedMaterial from './pipedMaterial.js';
const targets = [
/^https?:\/{2}(www\.|music\.|m\.|)youtube\.com(\/.*|$)/,
@ -330,9 +328,6 @@ async function initDefaults() {
youtubeEmbedFrontend: 'invidious',
youtubeProtocol: 'normal',
})
await piped.initDefaults();
await pipedMaterial.initDefaults();
resolve();
})
})
@ -420,7 +415,7 @@ async function initInvidiousCookies(from) {
...r.invidiousTorRedirectsChecks,
...r.invidiousNormalCustomRedirects,
...r.invidiousTorCustomRedirects,
].includes(protocolHost)) resolve();
].includes(protocolHost)) return;
let checkedInstances;
if (r.youtubeProtocol == 'normal') checkedInstances = [...r.invidiousNormalRedirectsChecks, ...r.invidiousNormalCustomRedirects]
else if (r.youtubeProtocol == 'tor') checkedInstances = [...r.invidiousTorRedirectsChecks, ...r.invidiousTorCustomRedirects]
@ -429,7 +424,150 @@ async function initInvidiousCookies(from) {
resolve(true);
}
)
}
})
}
function setInvidiousCookies() {
browser.storage.local.get(
[
"disableYoutube",
"youtubeProtocol",
"youtubeFrontend",
"invidiousNormalRedirectsChecks",
"invidiousNormalCustomRedirects",
"invidiousTorRedirectsChecks",
"invidiousTorCustomRedirects",
],
r => {
if (r.disableYoutube || r.youtubeFrontend != 'invidious' || r.youtubeProtocol === undefined) return;
let checkedInstances;
if (r.youtubeProtocol == 'normal') checkedInstances = [...r.invidiousNormalRedirectsChecks, ...r.invidiousNormalCustomRedirects]
else if (r.youtubeProtocol == 'tor') checkedInstances = [...r.invidiousTorRedirectsChecks, ...r.invidiousTorCustomRedirects]
for (const to of checkedInstances)
commonHelper.getCookiesFromStorage('invidious', to, 'PREFS');
}
)
}
async function initPipedLocalStorage(url, tabId) {
return new Promise(resolve => {
browser.storage.local.get(
[
"pipedNormalRedirectsChecks",
"pipedNormalCustomRedirects",
"pipedTorRedirectsChecks",
"pipedTorCustomRedirects",
],
r => {
let protocolHost = commonHelper.protocolHost(url);
if (![
...r.pipedNormalCustomRedirects,
...r.pipedNormalRedirectsChecks,
...r.pipedTorRedirectsChecks,
...r.pipedTorCustomRedirects,
].includes(protocolHost)) resolve();
browser.tabs.executeScript(
tabId,
{
file: "/assets/javascripts/helpers/youtube/get_piped_settings.js",
runAt: "document_start"
}
);
resolve(true);
}
)
})
}
async function setPipedLocalStorage(url, tabId) {
browser.storage.local.get(
[
"disableYoutube",
"youtubeFrontend",
"pipedNormalRedirectsChecks",
"pipedNormalCustomRedirects",
"pipedTorRedirectsChecks",
"pipedTorCustomRedirects",
],
r => {
if (!r.disableYoutube && r.youtubeFrontend == 'pipedMaterial') return;
let protocolHost = commonHelper.protocolHost(url);
if (![
...r.pipedNormalRedirectsChecks,
...r.pipedTorRedirectsChecks,
...r.pipedNormalCustomRedirects,
...r.pipedTorCustomRedirects,
].includes(protocolHost)) return;
browser.tabs.executeScript(
tabId,
{
file: "/assets/javascripts/helpers/youtube/set_piped_preferences.js",
runAt: "document_start"
}
);
return true;
}
)
}
async function initPipedMaterialLocalStorage(tabId) {
return new Promise(resolve => {
browser.storage.local.get(
[
"pipedMaterialNormalRedirectsChecks",
"pipedMaterialNormalCustomRedirects",
"pipedMaterialTorRedirectsChecks",
"pipedMaterialTorCustomRedirects",
],
r => {
const protocolHost = commonHelper.protocolHost(url);
if (![
...r.pipedMaterialNormalCustomRedirects,
...r.pipedMaterialNormalRedirectsChecks,
...r.pipedMaterialTorRedirectsChecks,
...r.pipedMaterialTorCustomRedirects,
].includes(protocolHost)) return;
browser.tabs.executeScript(
tabId,
{
file: "/assets/javascripts/helpers/youtube/get_pipedMaterial_preferences.js",
runAt: "document_start"
}
);
resolve(true);
}
)
})
}
async function setPipedMaterialLocalStorage(url, tabId) {
browser.storage.local.get(
[
"disableYoutube",
"youtubeFrontend",
"pipedMaterialNormalRedirectsChecks",
"pipedMaterialTorRedirectsChecks",
"pipedMaterialNormalCustomRedirects",
"pipedMaterialTorCustomRedirects",
],
r => {
if (r.disableYoutube || r.youtubeFrontend != 'pipedMaterial') return;
const protocolHost = commonHelper.protocolHost(url);
if (![
...r.pipedMaterialNormalRedirectsChecks,
...r.pipedMaterialTorRedirectsChecks,
...r.pipedMaterialNormalCustomRedirects,
...r.pipedMaterialTorCustomRedirects,
].includes(protocolHost)) return;
browser.tabs.executeScript(
tabId,
{
file: "/assets/javascripts/helpers/youtube/set_pipedMaterial_preferences.js",
runAt: "document_start"
}
);
return true;
}
)
}
@ -456,15 +594,12 @@ function removeXFrameOptions(e) {
if (isChanged) return { responseHeaders: e.responseHeaders };
}
let
initPipedLocalStorage = piped.initPipedLocalStorage,
initPipedMaterialLocalStorage = pipedMaterial.initPipedMaterialLocalStorage,
copyPipedLocalStorage = piped.copyPipedLocalStorage;
export default {
initPipedLocalStorage,
initPipedMaterialLocalStorage,
setPipedLocalStorage,
setPipedMaterialLocalStorage,
initInvidiousCookies,
setInvidiousCookies,
getRedirects,
redirect,
@ -474,7 +609,7 @@ export default {
isPipedorInvidious,
copyPipedLocalStorage,
initPipedLocalStorage,
initDefaults,
init,

View File

@ -1,6 +1,8 @@
"use strict";
import generalHelper from "../../assets/javascripts/helpers/general.js";
import youtubeHelper from "../../assets/javascripts/helpers/youtube/youtube.js";
import youtubeMusicHelper from "../../assets/javascripts/helpers/youtubeMusic.js";
import twitterHelper from "../../assets/javascripts/helpers/twitter.js";
import instagramHelper from "../../assets/javascripts/helpers/instagram.js";
import redditHelper from "../../assets/javascripts/helpers/reddit.js";
@ -15,33 +17,42 @@ import sendTargetsHelper from "../../assets/javascripts/helpers/sendTargets.js";
import peertubeHelper from "../../assets/javascripts/helpers/peertube.js";
import lbryHelper from "../../assets/javascripts/helpers/lbry.js";
import generalHelper from "../../assets/javascripts/helpers/general.js";
import youtubeMusicHelper from "../../assets/javascripts/helpers/youtubeMusic.js";
window.browser = window.browser || window.chrome;
browser.runtime.onInstalled.addListener(async details => {
if (details.reason == 'install') {
fetch('/instances/blocklist.json').then(response => response.text()).then(async data => {
await browser.storage.local.set({ cloudflareList: JSON.parse(data) })
youtubeHelper.initDefaults();
youtubeMusicHelper.initDefaults();
twitterHelper.initDefaults();
instagramHelper.initDefaults();
mapsHelper.initDefaults();
searchHelper.initDefaults();
translateHelper.initDefaults();
mediumHelper.initDefaults();
redditHelper.initDefaults();
wikipediaHelper.initDefaults();
imgurHelper.initDefaults();
tiktokHelper.initDefaults();
sendTargetsHelper.initDefaults();
peertubeHelper.initDefaults();
lbryHelper.initDefaults();
})
youtubeHelper.setInvidiousCookies();
translateHelper.setSimplyTranslateCookies();
twitterHelper.setNitterCookies();
wikipediaHelper.setWikilessCookies();
searchHelper.setSearxCookies();
searchHelper.setSearxngCookies();
redditHelper.setLibredditCookies();
redditHelper.setTedditCookies();
tiktokHelper.setProxiTokCookies();
browser.runtime.onInstalled.addListener(
async details => {
if (details.reason == 'install') {
fetch('/instances/blocklist.json').then(response => response.text()).then(async data => {
await browser.storage.local.set({ cloudflareList: JSON.parse(data) })
youtubeHelper.initDefaults();
youtubeMusicHelper.initDefaults();
twitterHelper.initDefaults();
instagramHelper.initDefaults();
mapsHelper.initDefaults();
searchHelper.initDefaults();
translateHelper.initDefaults();
mediumHelper.initDefaults();
redditHelper.initDefaults();
wikipediaHelper.initDefaults();
imgurHelper.initDefaults();
tiktokHelper.initDefaults();
sendTargetsHelper.initDefaults();
peertubeHelper.initDefaults();
lbryHelper.initDefaults();
})
}
}
})
)
async function wholeInit() {
await youtubeHelper.init();
@ -71,11 +82,10 @@ browser.tabs.onCreated.addListener(
});
incognitoInit = true;
}
});
}
);
let BYPASSTABs = [];
browser.webRequest.onBeforeRequest.addListener(
async details => {
const url = new URL(details.url);
@ -213,11 +223,9 @@ browser.tabs.onUpdated.addListener(
let url;
try { url = new URL(changeInfo.url); }
catch (_) { return }
let result = await youtubeHelper.initPipedLocalStorage(url, tabId);
// if (youtubeHelper.isPipedorInvidious(url, 'main_frame', 'pipedMaterial')) youtubeHelper.initPipedMaterialLocalStorage(tabId);
// if (translateHelper.isTranslateRedirects(url, 'main_frame', 'lingva')) translateHelper.initLingvaLocalStorage(tabId);
// if (instagramHelper.isBibliogram(url)) instagramHelper.initBibliogramCookies(url);
// if (changeInfo.url && youtubeHelper.isPipedorInvidious(url, 'main_frame', 'pipedMaterial')) youtubeHelper.initPipedMaterialLocalStorage(tabId);
let result = await youtubeHelper.setPipedLocalStorage(url, tabId);
if (!result) result = await youtubeHelper.setPipedMaterialLocalStorage(url, tabId);
if (!result) result = await translateHelper.initLingvaLocalStorage(url, tabId);
}
);
@ -265,14 +273,16 @@ browser.contextMenus.create({
contexts: ["browser_action"]
});
browser.contextMenus.onClicked.addListener((info, tab) => {
if (info.menuItemId == 'switchInstance') {
let url;
try { url = new URL(tab.url); }
catch (_) { return }
let newUrl = changeWholeInstance(url);
if (newUrl) browser.tabs.update({ url: newUrl });
browser.contextMenus.onClicked.addListener(
(info, tab) => {
if (info.menuItemId == 'switchInstance') {
let url;
try { url = new URL(tab.url); }
catch (_) { return }
let newUrl = changeWholeInstance(url);
if (newUrl) browser.tabs.update({ url: newUrl });
}
else if (info.menuItemId == 'settings')
browser.runtime.openOptionsPage()
}
else if (info.menuItemId == 'settings')
browser.runtime.openOptionsPage()
});
);

View File

@ -146,7 +146,7 @@ invidiousForm.addEventListener('submit', async event => {
// pipedForm.addEventListener('submit', async event => {
// event.preventDefault();
// const url = new URL(pipedCookies.value);
// youtubeHelper.initPipedLocalStorage(url);
// youtubeHelper.applyPipedLocalStorage(url);
// });
commonHelper.processDefaultCustomInstances('youtube', 'invidious', 'normal', document);

View File

@ -56,14 +56,14 @@
<h4>LBRY</h4></a>
<input id="disable-lbry" type="checkbox">
</div>
<div class="some-block" id="search"><a class="title" href="https://search.com">
<div class="some-block" id="search"><a class="title" href="https://libredirect.invalid">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
<path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path>
</svg>
<h4>Search</h4></a>
<input id="disable-search" type="checkbox">
</div>
<div class="some-block" id="translate"><a class="title" href="https://translate.com">
<div class="some-block" id="translate"><a class="title" href="https://translate.google.com">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path>
</svg>
@ -107,6 +107,5 @@
<h4>Unify Settings</h4></a></div>
<script type="module" src="../options/init.js"></script>
<script type="module" src="./popup.js"></script>
<script src="../../assets/javascripts/localise.js"></script>
</body>
</html>

View File

@ -110,14 +110,23 @@ function unify() {
let url = new URL(currTab.url);
let result = await youtubeHelper.initInvidiousCookies(url);
if (!result) result = await youtubeHelper.copyPipedLocalStorage(url, currTab.id);
if (!result) result = await youtubeHelper.initPipedLocalStorage(url, currTab.id);
if (!result) result = await youtubeHelper.initPipedMaterialLocalStorage(url, currTab.id);
if (!result) result = await twitterHelper.initNitterCookies(url);
if (!result) result = await redditHelper.initLibredditCookies(url);
if (!result) result = await redditHelper.initTedditCookies(url);
if (!result) result = await redditHelper.initSearxCookies(url);
if (!result) result = await redditHelper.initSearxngCookies(url);
if (!result) result = await searchHelper.initSearxCookies(url);
if (!result) result = await searchHelper.initSearxngCookies(url);
if (!result) result = await tiktokHelper.initProxiTokCookies(url);
if (!result) result = await tiktokHelper.initWikilessCookies(url);
if (!result) result = await wikipediaHelper.initWikilessCookies(url);
if (!result) result = await translateHelper.initSimplyTranslateCookies(url);
if (!result) result = await translateHelper.initLingvaLocalStorage(url);
if (result) {
const textElement = unifyElement.getElementsByTagName('h4')[0]

View File

@ -75,13 +75,13 @@ html(lang="en")
input#disable-lbry(type="checkbox")
#search.some-block
a.title(href="https://search.com")
a.title(href="https://libredirect.invalid")
+search
h4 Search
input#disable-search(type="checkbox")
#translate.some-block
a.title(href="https://translate.com")
a.title(href="https://translate.google.com")
+translate
h4 Translate
input#disable-simplyTranslate(type="checkbox")
@ -120,4 +120,4 @@ html(lang="en")
script(type="module" src="../options/init.js")
script(type="module" src="./popup.js")
script(src="../../assets/javascripts/localise.js")
//- script(src="../../assets/javascripts/localise.js")