aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBobIsMyManager <bimmgitsignature.nly8m@simplelogin.co>2022-07-14 16:39:04 +0100
committerBobIsMyManager <bimmgitsignature.nly8m@simplelogin.co>2022-07-14 16:39:04 +0100
commitc531943e484347e2cdaa823bf69dfcc483e01541 (patch)
treefd10d4d8f70f19d13deec87b4dcd77abbdc23082
parentforgot to add get_instances.py (diff)
downloadlibredirect-c531943e484347e2cdaa823bf69dfcc483e01541.zip
Add support for unifying settings
-rw-r--r--README.md2
-rw-r--r--src/assets/javascripts/search.js68
-rw-r--r--src/assets/javascripts/utils.js3
-rw-r--r--src/instances/get_instances.py2
-rw-r--r--src/pages/background/background.js3
-rw-r--r--src/pages/background/incognito.js3
-rw-r--r--src/pages/options/widgets/general.js1
7 files changed, 70 insertions, 12 deletions
diff --git a/README.md b/README.md
index 2c80a614..bf3be985 100644
--- a/README.md
+++ b/README.md
@@ -32,7 +32,7 @@ Quora => [Quetre](https://github.com/zyachel/quetre)\
IMDb => [Libremdb](https://github.com/zyachel/libremdb)\
PeerTube => [SimpleerTube](https://git.sr.ht/~metalune/simpleweb_peertube)\
LBRY/Odysee => [Librarian](https://codeberg.org/librarian/librarian)\
-Search => [SearXNG](https://github.com/searxng/searxng), [SearX](https://searx.github.io/searx/), [Whoogle](https://benbusby.com/projects/whoogle-search/)\
+Search => [SearXNG](https://github.com/searxng/searxng), [SearX](https://searx.github.io/searx/), [Whoogle](https://benbusby.com/projects/whoogle-search/), [Librex](https://github.com/hnhx/librex/)\
Translate => [SimplyTranslate](https://git.sr.ht/~metalune/simplytranslate_web), [LingvaTranslate](https://github.com/TheDavidDelta/lingva-translate)\
Maps => [OpenStreetMap](https://www.openstreetmap.org/), [FacilMap](https://github.com/FacilMap/facilmap)\
Send Files => [Send](https://gitlab.com/timvisee/send)
diff --git a/src/assets/javascripts/search.js b/src/assets/javascripts/search.js
index 93bb10ae..c19f4d4a 100644
--- a/src/assets/javascripts/search.js
+++ b/src/assets/javascripts/search.js
@@ -66,7 +66,7 @@ function setRedirects(val) {
if (c > -1) whoogleNormalRedirectsChecks.splice(c, 1);
const d = librexNormalRedirectsChecks.indexOf(instance);
- if (c > -1) librexNormalRedirectsChecks.splice(d, 1);
+ if (d > -1) librexNormalRedirectsChecks.splice(d, 1);
}
browser.storage.local.set({
searchRedirects: redirects,
@@ -224,8 +224,9 @@ function pasteSearxCookies() {
await init();
if (disableSearch || searchFrontend != 'searx') { resolve(); return; }
let checkedInstances;
- if (searchProtocol == 'normal') checkedInstances = [...searxNormalRedirectsChecks, ...searxNormalCustomRedirects]
- else if (searchProtocol == 'tor') checkedInstances = [...searxTorRedirectsChecks, ...searxTorCustomRedirects]
+ if (searchProtocol == 'normal') checkedInstances = [...searxNormalRedirectsChecks, ...searxNormalCustomRedirects];
+ else if (searchProtocol == 'tor') checkedInstances = [...searxTorRedirectsChecks, ...searxTorCustomRedirects];
+ else if (searchProtocol == 'i2p') checkedInstances = [...searxI2pRedirectsChecks, ...searxI2pCustomRedirects];
utils.getCookiesFromStorage('searx', checkedInstances, 'advanced_search');
utils.getCookiesFromStorage('searx', checkedInstances, 'autocomplete');
utils.getCookiesFromStorage('searx', checkedInstances, 'categories');
@@ -294,8 +295,9 @@ function pasteSearxngCookies() {
await init();
if (disableSearch || searchFrontend != 'searxng', searchProtocol === undefined) { resolve(); return; }
let checkedInstances;
- if (searchProtocol == 'normal') checkedInstances = [...searxngNormalRedirectsChecks, ...searxngNormalCustomRedirects]
- else if (searchProtocol == 'tor') checkedInstances = [...searxngTorRedirectsChecks, ...searxngTorCustomRedirects]
+ if (searchProtocol == 'normal') checkedInstances = [...searxngNormalRedirectsChecks, ...searxngNormalCustomRedirects];
+ else if (searchProtocol == 'tor') checkedInstances = [...searxngTorRedirectsChecks, ...searxngTorCustomRedirects];
+ else if (searchProtocol == 'i2p') checkedInstances = [...searxngI2pRedirectsChecks, ...searxngI2pCustomRedirects];
utils.getCookiesFromStorage('searxng', checkedInstances, 'autocomplete');
utils.getCookiesFromStorage('searxng', checkedInstances, 'categories');
utils.getCookiesFromStorage('searxng', checkedInstances, 'disabled_engines');
@@ -319,6 +321,56 @@ function pasteSearxngCookies() {
})
}
+function initLibrexCookies(test, from) {
+ return new Promise(async resolve => {
+ await init();
+ let protocolHost = utils.protocolHost(from);
+ if (![
+ ...librexNormalRedirectsChecks,
+ ...librexNormalCustomRedirects,
+ ...librexTorRedirectsChecks,
+ ...librexTorCustomRedirects,
+ ...librexI2pRedirectsChecks,
+ ...librexI2pCustomRedirects,
+ ].includes(protocolHost)) { resolve(); return; }
+
+ if(!test) {
+ let checkedInstances;
+ if (searchProtocol == 'normal') checkedInstances = [...librexNormalRedirectsChecks, ...librexNormalCustomRedirects];
+ else if (searchProtocol == 'tor') checkedInstances = [...librexTorRedirectsChecks, ...librexTorCustomRedirects];
+ else if (searchProtocol == 'i2p') checkedInstances = [...librexI2pRedirectsChecks, ...librexI2pCustomRedirects];
+ await utils.copyCookie('librex', from, checkedInstances, 'bibliogram');
+ await utils.copyCookie('librex', from, checkedInstances, 'disable_special');
+ await utils.copyCookie('librex', from, checkedInstances, 'invidious');
+ await utils.copyCookie('librex', from, checkedInstances, 'libreddit');
+ await utils.copyCookie('librex', from, checkedInstances, 'nitter');
+ await utils.copyCookie('librex', from, checkedInstances, 'proxitok');
+ await utils.copyCookie('librex', from, checkedInstances, 'theme');
+ await utils.copyCookie('librex', from, checkedInstances, 'wikiless');
+ }
+ resolve(true);
+ })
+}
+
+function pasteLibrexCookies() {
+ return new Promise(async resolve => {
+ await init();
+ if (disableSearch || searchFrontend != 'librex', searchProtocol === undefined) { resolve(); return; }
+ let checkedInstances;
+ if (searchProtocol == 'normal') checkedInstances = [...librexNormalRedirectsChecks, ...librexNormalCustomRedirects];
+ else if (searchProtocol == 'tor') checkedInstances = [...librexTorRedirectsChecks, ...librexTorCustomRedirects];
+ else if (searchProtocol == 'i2p') checkedInstances = [...librexI2pRedirectsChecks, ...librexI2pCustomRedirects];
+ utils.getCookiesFromStorage('librex', checkedInstances, 'bibliogram');
+ utils.getCookiesFromStorage('librex', checkedInstances, 'disable_special');
+ utils.getCookiesFromStorage('librex', checkedInstances, 'invidious');
+ utils.getCookiesFromStorage('librex', checkedInstances, 'libreddit');
+ utils.getCookiesFromStorage('librex', checkedInstances, 'nitter');
+ utils.getCookiesFromStorage('librex', checkedInstances, 'proxitok');
+ utils.getCookiesFromStorage('librex', checkedInstances, 'theme');
+ utils.getCookiesFromStorage('librex', checkedInstances, 'wikiless');
+ resolve();
+ })
+}
function redirect(url, disableOverride) {
if (disableSearch && !disableOverride) return;
@@ -523,10 +575,10 @@ function initDefaults() {
librexNormalRedirectsChecks: librexNormalRedirectsChecks,
librexNormalCustomRedirects: [],
- librexTorRedirectsChecks: librexTorRedirectsChecks,
+ librexTorRedirectsChecks: [...redirects.librex.tor],
librexTorCustomRedirects: [],
- librexI2pRedirectsChecks: librexI2pRedirectsChecks,
+ librexI2pRedirectsChecks: [...redirects.librex.i2p],
librexI2pCustomRedirects: []
}, () => resolve())
})
@@ -540,6 +592,8 @@ export default {
pasteSearxCookies,
initSearxngCookies,
pasteSearxngCookies,
+ initLibrexCookies,
+ pasteLibrexCookies,
redirect,
initDefaults,
switchInstance,
diff --git a/src/assets/javascripts/utils.js b/src/assets/javascripts/utils.js
index c03ca31c..a5300364 100644
--- a/src/assets/javascripts/utils.js
+++ b/src/assets/javascripts/utils.js
@@ -46,7 +46,7 @@ function updateInstances() {
instagramHelper.setRedirects(instances.bibliogram);
redditHelper.setRedirects({ 'libreddit': instances.libreddit, 'teddit': instances.teddit });
translateHelper.setRedirects({ "simplyTranslate": instances.simplyTranslate, "lingva": instances.lingva });
- searchHelper.setRedirects({ 'searx': instances.searx, 'searxng': instances.searxng, 'whoogle': instances.whoogle });
+ searchHelper.setRedirects({ 'searx': instances.searx, 'searxng': instances.searxng, 'whoogle': instances.whoogle, 'librex': instances.librex });
wikipediaHelper.setRedirects(instances.wikiless);
mediumHelper.setRedirects(instances.scribe);
quoraHelper.setRedirects(instances.quetre);
@@ -384,6 +384,7 @@ function unify(test) {
if (!result) result = await searchHelper.initSearxCookies(test, url);
if (!result) result = await searchHelper.initSearxngCookies(test, url);
+ if (!result) result = await searchHelper.initLibrexCookies(test, url);
if (!result) result = await tiktokHelper.initProxiTokCookies(test, url);
diff --git a/src/instances/get_instances.py b/src/instances/get_instances.py
index f8789248..35144070 100644
--- a/src/instances/get_instances.py
+++ b/src/instances/get_instances.py
@@ -385,7 +385,7 @@ def librex():
_list['i2p'] = []
tmp = re.findall(
- r"\| \[(?:(?:[a-zA-Z0-9]+\.)+[a-zA-Z]{2,}|✅)\]\((https?:\/{2}(?:[a-zA-Z0-9]+\.)+[a-zA-Z0-9]{2,})", r.text)
+ r"\| {1,2}\[(?:(?:[a-zA-Z0-9]+\.)+[a-zA-Z]{2,}|✅)\]\((https?:\/{2}(?:[a-zA-Z0-9]+\.)+[a-zA-Z0-9]{2,})", r.text)
tmp = filterLastSlash(tmp)
for item in tmp:
diff --git a/src/pages/background/background.js b/src/pages/background/background.js
index 832d6533..fd7b5dcf 100644
--- a/src/pages/background/background.js
+++ b/src/pages/background/background.js
@@ -81,6 +81,7 @@ twitterHelper.pasteNitterCookies();
wikipediaHelper.pasteWikilessCookies();
searchHelper.pasteSearxCookies();
searchHelper.pasteSearxngCookies();
+searchHelper.pasteLibrexCookies();
redditHelper.pasteLibredditCookies();
redditHelper.pasteTedditCookies();
tiktokHelper.pasteProxiTokCookies();
@@ -257,4 +258,4 @@ browser.contextMenus.onClicked.addListener(
browser.runtime.onMessage.addListener((message, sender, sendResponse) => {
if (message.function === 'unify') utils.unify(false).then(r => sendResponse({ response: r }))
return true;
-}); \ No newline at end of file
+});
diff --git a/src/pages/background/incognito.js b/src/pages/background/incognito.js
index 872a83c8..f42eadcf 100644
--- a/src/pages/background/incognito.js
+++ b/src/pages/background/incognito.js
@@ -14,8 +14,9 @@ await twitterHelper.pasteNitterCookies();
await wikipediaHelper.pasteWikilessCookies();
await searchHelper.pasteSearxCookies();
await searchHelper.pasteSearxngCookies();
+await searchHelper.pasteLibrexCookies();
await redditHelper.pasteLibredditCookies();
await redditHelper.pasteTedditCookies();
await tiktokHelper.pasteProxiTokCookies();
-window.close() \ No newline at end of file
+window.close()
diff --git a/src/pages/options/widgets/general.js b/src/pages/options/widgets/general.js
index 721ad2b0..c0faf410 100644
--- a/src/pages/options/widgets/general.js
+++ b/src/pages/options/widgets/general.js
@@ -83,6 +83,7 @@ importSettingsElement.addEventListener("change",
await searchHelper.pasteSearxCookies();
await searchHelper.pasteSearxngCookies();
+ await searchHelper.pasteLibrexCookies();
await redditHelper.pasteLibredditCookies();
await redditHelper.pasteTedditCookies();