Optimized Unify more #291

This commit is contained in:
ManeraKai 2022-06-02 00:13:08 +03:00
parent c5bf012761
commit 0c7540d7e0
No known key found for this signature in database
GPG Key ID: 5ABC31FFD562E337
15 changed files with 120 additions and 147 deletions

View File

@ -27,10 +27,6 @@
"message": "توحيد الإعدادات",
"description": "used in the popup"
},
"unified": {
"message": "تم التوحيد",
"description": "used in the popup"
},
"general": {
"message": "العامة",
"description": "used in the settings page"

View File

@ -203,10 +203,6 @@
"message": "",
"description": ""
},
"unified": {
"message": "",
"description": ""
},
"lbry": {
"message": "",
"description": ""

View File

@ -207,10 +207,6 @@
"message": "Unify Settings",
"description": ""
},
"unified": {
"message": "Unified",
"description": ""
},
"lbry": {
"message": "LBRY",
"description": ""

View File

@ -207,10 +207,6 @@
"message": "設定の統一",
"description": ""
},
"unified": {
"message": "統一されました",
"description": ""
},
"lbry": {
"message": "LBRY",
"description": ""

View File

@ -92,7 +92,7 @@ browser.storage.onChanged.addListener(init)
function initLibredditCookies(test, from) {
return new Promise(async resolve => {
await init();
let protocolHost = utils.protocolHost(from);
const protocolHost = utils.protocolHost(from);
if (![
...libredditNormalRedirectsChecks,
...libredditTorRedirectsChecks,
@ -104,18 +104,16 @@ function initLibredditCookies(test, from) {
let checkedInstances;
if (redditProtocol == 'normal') checkedInstances = [...libredditNormalRedirectsChecks, ...libredditNormalCustomRedirects];
else if (redditProtocol == 'tor') checkedInstances = [...libredditTorRedirectsChecks, ...libredditTorCustomRedirects];
for (const to of checkedInstances) {
utils.copyCookie('libreddit', from, to, "theme");
utils.copyCookie('libreddit', from, to, "front_page");
utils.copyCookie('libreddit', from, to, "layout");
utils.copyCookie('libreddit', from, to, "wide");
utils.copyCookie('libreddit', from, to, "post_sort");
utils.copyCookie('libreddit', from, to, "comment_sort");
utils.copyCookie('libreddit', from, to, "show_nsfw");
utils.copyCookie('libreddit', from, to, "autoplay_videos");
utils.copyCookie('libreddit', from, to, "use_hls");
utils.copyCookie('libreddit', from, to, "hide_hls_notification");
}
await utils.copyCookie('libreddit', from, checkedInstances, "theme");
await utils.copyCookie('libreddit', from, checkedInstances, "front_page");
await utils.copyCookie('libreddit', from, checkedInstances, "layout");
await utils.copyCookie('libreddit', from, checkedInstances, "wide");
await utils.copyCookie('libreddit', from, checkedInstances, "post_sort");
await utils.copyCookie('libreddit', from, checkedInstances, "comment_sort");
await utils.copyCookie('libreddit', from, checkedInstances, "show_nsfw");
await utils.copyCookie('libreddit', from, checkedInstances, "autoplay_videos");
await utils.copyCookie('libreddit', from, checkedInstances, "use_hls");
await utils.copyCookie('libreddit', from, checkedInstances, "hide_hls_notification");
}
resolve(true);
})
@ -159,20 +157,18 @@ function initTedditCookies(test, from) {
let checkedInstances;
if (redditProtocol == 'normal') checkedInstances = [...tedditNormalRedirectsChecks, ...tedditNormalCustomRedirects]
else if (redditProtocol == 'tor') checkedInstances = [...tedditTorRedirectsChecks, ...tedditTorCustomRedirects]
for (const to of checkedInstances) {
utils.copyCookie('teddit', from, to, 'collapse_child_comments')
utils.copyCookie('teddit', from, to, 'domain_instagram')
utils.copyCookie('teddit', from, to, 'domain_twitter')
utils.copyCookie('teddit', from, to, 'domain_youtube')
utils.copyCookie('teddit', from, to, 'flairs')
utils.copyCookie('teddit', from, to, 'highlight_controversial')
utils.copyCookie('teddit', from, to, 'nsfw_enabled')
utils.copyCookie('teddit', from, to, 'post_media_max_height')
utils.copyCookie('teddit', from, to, 'show_upvoted_percentage')
utils.copyCookie('teddit', from, to, 'show_upvotes')
utils.copyCookie('teddit', from, to, 'theme')
utils.copyCookie('teddit', from, to, 'videos_muted')
}
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')
await utils.copyCookie('teddit', from, checkedInstances, 'domain_youtube')
await utils.copyCookie('teddit', from, checkedInstances, 'flairs')
await utils.copyCookie('teddit', from, checkedInstances, 'highlight_controversial')
await utils.copyCookie('teddit', from, checkedInstances, 'nsfw_enabled')
await utils.copyCookie('teddit', from, checkedInstances, 'post_media_max_height')
await utils.copyCookie('teddit', from, checkedInstances, 'show_upvoted_percentage')
await utils.copyCookie('teddit', from, checkedInstances, 'show_upvotes')
await utils.copyCookie('teddit', from, checkedInstances, 'theme')
await utils.copyCookie('teddit', from, checkedInstances, 'videos_muted')
}
resolve(true);
})

View File

@ -153,25 +153,23 @@ function initSearxCookies(test, from) {
if (searchProtocol == 'normal') checkedInstances = [...searxNormalRedirectsChecks, ...searxNormalCustomRedirects];
else if (searchProtocol == 'tor') checkedInstances = [...searxTorRedirectsChecks, ...searxTorCustomRedirects];
else if (searchProtocol == 'i2p') checkedInstances = [...searxI2pRedirectsChecks, ...searxI2pCustomRedirects];
for (const to of checkedInstances) {
utils.copyCookie('searx', from, to, 'advanced_search');
utils.copyCookie('searx', from, to, 'autocomplete');
utils.copyCookie('searx', from, to, 'categories');
utils.copyCookie('searx', from, to, 'disabled_engines');
utils.copyCookie('searx', from, to, 'disabled_plugins');
utils.copyCookie('searx', from, to, 'doi_resolver');
utils.copyCookie('searx', from, to, 'enabled_engines');
utils.copyCookie('searx', from, to, 'enabled_plugins');
utils.copyCookie('searx', from, to, 'image_proxy');
utils.copyCookie('searx', from, to, 'language');
utils.copyCookie('searx', from, to, 'locale');
utils.copyCookie('searx', from, to, 'method');
utils.copyCookie('searx', from, to, 'oscar-style');
utils.copyCookie('searx', from, to, 'results_on_new_tab');
utils.copyCookie('searx', from, to, 'safesearch');
utils.copyCookie('searx', from, to, 'theme');
utils.copyCookie('searx', from, to, 'tokens');
}
await utils.copyCookie('searx', from, checkedInstances, 'advanced_search');
await utils.copyCookie('searx', from, checkedInstances, 'autocomplete');
await utils.copyCookie('searx', from, checkedInstances, 'categories');
await utils.copyCookie('searx', from, checkedInstances, 'disabled_engines');
await utils.copyCookie('searx', from, checkedInstances, 'disabled_plugins');
await utils.copyCookie('searx', from, checkedInstances, 'doi_resolver');
await utils.copyCookie('searx', from, checkedInstances, 'enabled_engines');
await utils.copyCookie('searx', from, checkedInstances, 'enabled_plugins');
await utils.copyCookie('searx', from, checkedInstances, 'image_proxy');
await utils.copyCookie('searx', from, checkedInstances, 'language');
await utils.copyCookie('searx', from, checkedInstances, 'locale');
await utils.copyCookie('searx', from, checkedInstances, 'method');
await utils.copyCookie('searx', from, checkedInstances, 'oscar-style');
await utils.copyCookie('searx', from, checkedInstances, 'results_on_new_tab');
await utils.copyCookie('searx', from, checkedInstances, 'safesearch');
await utils.copyCookie('searx', from, checkedInstances, 'theme');
await utils.copyCookie('searx', from, checkedInstances, 'tokens');
}
resolve(true);
})
@ -225,27 +223,25 @@ function initSearxngCookies(test, from) {
if (searchProtocol == 'normal') checkedInstances = [...searxngNormalRedirectsChecks, ...searxngNormalCustomRedirects];
else if (searchProtocol == 'tor') checkedInstances = [...searxngTorRedirectsChecks, ...searxngTorCustomRedirects];
else if (searchProtocol == 'i2p') checkedInstances = [...searxngI2pRedirectsChecks, ...searxngI2pCustomRedirects];
for (const to of checkedInstances) {
utils.copyCookie('searxng', from, to, 'autocomplete');
utils.copyCookie('searxng', from, to, 'categories');
utils.copyCookie('searxng', from, to, 'disabled_engines');
utils.copyCookie('searxng', from, to, 'disabled_plugins');
utils.copyCookie('searxng', from, to, 'doi_resolver');
utils.copyCookie('searxng', from, to, 'enabled_plugins');
utils.copyCookie('searxng', from, to, 'enabled_engines');
utils.copyCookie('searxng', from, to, 'image_proxy');
utils.copyCookie('searxng', from, to, 'infinite_scroll');
utils.copyCookie('searxng', from, to, 'language');
utils.copyCookie('searxng', from, to, 'locale');
utils.copyCookie('searxng', from, to, 'maintab');
utils.copyCookie('searxng', from, to, 'method');
utils.copyCookie('searxng', from, to, 'query_in_title');
utils.copyCookie('searxng', from, to, 'results_on_new_tab');
utils.copyCookie('searxng', from, to, 'safesearch');
utils.copyCookie('searxng', from, to, 'simple_style');
utils.copyCookie('searxng', from, to, 'theme');
utils.copyCookie('searxng', from, to, 'tokens');
}
await utils.copyCookie('searxng', from, checkedInstances, 'autocomplete');
await utils.copyCookie('searxng', from, checkedInstances, 'categories');
await utils.copyCookie('searxng', from, checkedInstances, 'disabled_engines');
await utils.copyCookie('searxng', from, checkedInstances, 'disabled_plugins');
await utils.copyCookie('searxng', from, checkedInstances, 'doi_resolver');
await utils.copyCookie('searxng', from, checkedInstances, 'enabled_plugins');
await utils.copyCookie('searxng', from, checkedInstances, 'enabled_engines');
await utils.copyCookie('searxng', from, checkedInstances, 'image_proxy');
await utils.copyCookie('searxng', from, checkedInstances, 'infinite_scroll');
await utils.copyCookie('searxng', from, checkedInstances, 'language');
await utils.copyCookie('searxng', from, checkedInstances, 'locale');
await utils.copyCookie('searxng', from, checkedInstances, 'maintab');
await utils.copyCookie('searxng', from, checkedInstances, 'method');
await utils.copyCookie('searxng', from, checkedInstances, 'query_in_title');
await utils.copyCookie('searxng', from, checkedInstances, 'results_on_new_tab');
await utils.copyCookie('searxng', from, checkedInstances, 'safesearch');
await utils.copyCookie('searxng', from, checkedInstances, 'simple_style');
await utils.copyCookie('searxng', from, checkedInstances, 'theme');
await utils.copyCookie('searxng', from, checkedInstances, 'tokens');
}
resolve(true);
})

View File

@ -42,17 +42,16 @@ function initProxiTokCookies(test, from) {
let checkedInstances;
if (tiktokProtocol == 'normal') checkedInstances = [...proxiTokNormalRedirectsChecks, ...proxiTokNormalCustomRedirects]
else if (tiktokProtocol == 'tor') checkedInstances = [...proxiTokTorRedirectsChecks, ...proxiTokTorCustomRedirects]
for (const to of checkedInstances) {
utils.copyCookie('proxitok', from, to, 'theme');
utils.copyCookie('proxitok', from, to, 'api-legacy');
}
await utils.copyCookie('proxitok', from, checkedInstances, 'theme');
await utils.copyCookie('proxitok', from, checkedInstances, 'api-legacy');
}
resolve(true);
})
}
function setProxiTokCookies() {
return new Promise(resolve => {
return new Promise(async resolve => {
await init();
if (disableTiktok || tiktokProtocol === undefined) { resolve(); return; }
let checkedInstances;
if (tiktokProtocol == 'normal') checkedInstances = [...proxiTokNormalRedirectsChecks, ...proxiTokNormalCustomRedirects]

View File

@ -143,12 +143,10 @@ function initSimplyTranslateCookies(test, from) {
let checkedInstances;
if (translateProtocol == 'normal') checkedInstances = [...simplyTranslateNormalRedirectsChecks, ...simplyTranslateNormalCustomRedirects]
else if (translateProtocol == 'tor') checkedInstances = [...simplyTranslateTorRedirectsChecks, ...simplyTranslateTorCustomRedirects]
for (const to of checkedInstances) {
utils.copyCookie('simplyTranslate', from, to, 'from_lang');
utils.copyCookie('simplyTranslate', from, to, 'to_lang');
utils.copyCookie('simplyTranslate', from, to, 'tts_enabled');
utils.copyCookie('simplyTranslate', from, to, 'use_text_fields');
}
await utils.copyCookie('simplyTranslate', from, checkedInstances, 'from_lang');
await utils.copyCookie('simplyTranslate', from, checkedInstances, 'to_lang');
await utils.copyCookie('simplyTranslate', from, checkedInstances, 'tts_enabled');
await utils.copyCookie('simplyTranslate', from, checkedInstances, 'use_text_fields');
}
resolve(true);
}

View File

@ -147,27 +147,24 @@ function initNitterCookies(test, from) {
const protocolHost = utils.protocolHost(from);
if (!all().includes(protocolHost)
) { resolve(); return; }
if (!test) {
let checkedInstances;
if (twitterProtocol == 'normal') checkedInstances = [...nitterNormalRedirectsChecks, ...nitterNormalCustomRedirects]
else if (twitterProtocol == 'tor') checkedInstances = [...nitterTorRedirectsChecks, ...nitterTorCustomRedirects]
for (const to of checkedInstances) {
utils.copyCookie('nitter', from, to, 'theme');
utils.copyCookie('nitter', from, to, 'infiniteScroll');
utils.copyCookie('nitter', from, to, 'stickyProfile');
utils.copyCookie('nitter', from, to, 'bidiSupport');
utils.copyCookie('nitter', from, to, 'hideTweetStats');
utils.copyCookie('nitter', from, to, 'hideBanner');
utils.copyCookie('nitter', from, to, 'hidePins');
utils.copyCookie('nitter', from, to, 'hideReplies');
utils.copyCookie('nitter', from, to, 'squareAvatars');
utils.copyCookie('nitter', from, to, 'mp4Playback');
utils.copyCookie('nitter', from, to, 'hlsPlayback');
utils.copyCookie('nitter', from, to, 'proxyVideos');
utils.copyCookie('nitter', from, to, 'muteVideos');
utils.copyCookie('nitter', from, to, 'autoplayGifs');
}
await utils.copyCookie('nitter', from, checkedInstances, 'theme');
await utils.copyCookie('nitter', from, checkedInstances, 'infiniteScroll');
await utils.copyCookie('nitter', from, checkedInstances, 'stickyProfile');
await utils.copyCookie('nitter', from, checkedInstances, 'bidiSupport');
await utils.copyCookie('nitter', from, checkedInstances, 'hideTweetStats');
await utils.copyCookie('nitter', from, checkedInstances, 'hideBanner');
await utils.copyCookie('nitter', from, checkedInstances, 'hidePins');
await utils.copyCookie('nitter', from, checkedInstances, 'hideReplies');
await utils.copyCookie('nitter', from, checkedInstances, 'squareAvatars');
await utils.copyCookie('nitter', from, checkedInstances, 'mp4Playback');
await utils.copyCookie('nitter', from, checkedInstances, 'hlsPlayback');
await utils.copyCookie('nitter', from, checkedInstances, 'proxyVideos');
await utils.copyCookie('nitter', from, checkedInstances, 'muteVideos');
await utils.copyCookie('nitter', from, checkedInstances, 'autoplayGifs');
}
resolve(true);
})

View File

@ -280,16 +280,22 @@ async function testLatency(element, instances) {
})
}
function copyCookie(frontend, targetUrl, url, name) {
browser.cookies.get(
{ url: protocolHost(targetUrl), name: name },
r => {
if (r) {
browser.cookies.set({ url: url, name: name, value: r.value })
browser.storage.local.set({ [`${frontend}_${name}`]: r.value })
function copyCookie(frontend, targetUrl, urls, name) {
return new Promise(resolve => {
browser.cookies.get(
{ url: protocolHost(targetUrl), name: name },
async r => {
function setCookies(url, name, value) {
return new Promise(resolve => browser.cookies.set({ url: url, name: name, value: value }, () => resolve()))
}
if (r) {
console.log(name, r.value);
for (const url of urls) await setCookies(url, name, r.value)
browser.storage.local.set({ [`${frontend}_${name}`]: r.value }, () => resolve())
} else resolve();
}
}
)
)
})
}
function getCookiesFromStorage(frontend, to, name) {

View File

@ -90,11 +90,8 @@ function initWikilessCookies(test, from) {
if (wikipediaProtocol == 'normal') checkedInstances = [...wikilessNormalRedirectsChecks, ...wikilessNormalCustomRedirects]
else if (wikipediaProtocol == 'tor') checkedInstances = [...wikilessTorRedirectsChecks, ...wikilessTorCustomRedirects]
else if (wikipediaProtocol == 'i2p') checkedInstances = [...wikilessI2pRedirectsChecks, ...wikilessI2pCustomRedirects]
for (const to of checkedInstances) {
utils.copyCookie('wikiless', from, to, 'theme');
utils.copyCookie('wikiless', from, to, 'default_lang');
}
await utils.copyCookie('wikiless', from, checkedInstances, 'theme');
await utils.copyCookie('wikiless', from, checkedInstances, 'default_lang');
}
resolve(true);
})

View File

@ -315,8 +315,7 @@ function initInvidiousCookies(test, from) {
else if (youtubeProtocol == 'tor') checkedInstances = [...invidiousTorRedirectsChecks, ...invidiousTorCustomRedirects]
const i = checkedInstances.indexOf(protocolHost);
if (i !== -1) checkedInstances.splice(i, 1);
for (const to of checkedInstances)
utils.copyCookie('invidious', from, to, 'PREFS');
await utils.copyCookie('invidious', from, checkedInstances, 'PREFS');
}
resolve(true);
})

View File

@ -60,15 +60,7 @@ redditHelper.setLibredditCookies();
redditHelper.setTedditCookies();
tiktokHelper.setProxiTokCookies();
let incognitoInit = false;
browser.tabs.onCreated.addListener(
tab => {
if (!incognitoInit && tab.incognito) {
browser.tabs.create({ url: browser.runtime.getURL("/pages/background/incognito.html") });
incognitoInit = true;
}
}
);
let BYPASSTABs = [];
browser.webRequest.onBeforeRequest.addListener(
@ -82,7 +74,6 @@ browser.webRequest.onBeforeRequest.addListener(
}
catch { return null; }
let newUrl = youtubeMusicHelper.redirect(url, details.type)
if (!newUrl) newUrl = youtubeHelper.redirect(url, details, initiator)
if (!newUrl) newUrl = twitterHelper.redirect(url, initiator);
@ -126,8 +117,21 @@ browser.webRequest.onBeforeRequest.addListener(
["blocking"]
);
let incognitoList = [];
browser.tabs.onCreated.addListener(
tab => {
if (tab.incognito) {
incognitoList.push(tab.id);
if (incognitoList.length == 1) browser.tabs.create({ url: browser.runtime.getURL("/pages/background/incognito.html") });
}
}
);
browser.tabs.onRemoved.addListener(
tabId => {
incognitoList.pop(tabId)
const i = BYPASSTABs.indexOf(tabId);
if (i > -1) {
BYPASSTABs.splice(i, 1);

View File

@ -29,7 +29,7 @@
<body>
<div>
<p>Initializing Cookies</p>
<p>Initializing Cookies...</p>
</div>
<script type="module" src="incognito.js"></script>
</body>

View File

@ -8,16 +8,13 @@ utils.unify(true).then(r => {
if (!r) document.getElementById('unify_div').style.display = 'none';
else {
const unify = document.getElementById('unify');
unify.addEventListener("click", () =>
const textElement = document.getElementById('unify').getElementsByTagName('h4')[0]
unify.addEventListener("click", () => {
const oldHtml = textElement.innerHTML;
textElement.innerHTML = '...';
browser.runtime.sendMessage({ function: 'unify' },
response => {
if (response && response.response) {
const textElement = document.getElementById('unify').getElementsByTagName('h4')[0]
const oldHtml = textElement.innerHTML;
textElement.innerHTML = browser.i18n.getMessage('unified');
setTimeout(() => textElement.innerHTML = oldHtml, 1000);
}
})
response => { if (response && response.response) textElement.innerHTML = oldHtml })
}
);
}
})