Removed Soju #240. Updated README #252

This commit is contained in:
ManeraKai 2022-05-08 13:34:13 +03:00
parent f64867a2ff
commit be653ac417
No known key found for this signature in database
GPG Key ID: 5ABC31FFD562E337
35 changed files with 378 additions and 358 deletions

View File

@ -20,7 +20,6 @@ Instagram => [Bibliogram](https://sr.ht/~cadence/bibliogram/)\
TikTok => [ProxiTok](https://github.com/pablouser1/ProxiTok)\
Reddit => [Libreddit](https://github.com/spikecodes/libreddit#instances), [Teddit](https://codeberg.org/teddit/teddit#instances), [Old Reddit](https://old.reddit.com)\
Imgur => [Rimgo](https://codeberg.org/video-prize-ranch/rimgo)\
Spotify => [Soju](https://github.com/coffeebank/soju)\
Wikipedia => [Wikiless](https://codeberg.org/orenom/wikiless)\
Medium => [Scribe](https://sr.ht/~edwardloveall/scribe/)\
Peertube => [SimpleerTube](https://git.sr.ht/~metalune/simpleweb_peertube)\
@ -37,6 +36,12 @@ Send Files => [Send](https://github.com/timvisee/send)
[![Patreon](./img/patreon.svg)](https://patreon.com/LibRedirect)\
BTC: **bc1qrhue0frps6p2vkg978u9ayethnwprtmfug827q**
[FAQ](https://libredirect.github.io/faq.html)
## Mirror Repos
[![GitHub](https://raw.githubusercontent.com/ManeraKai/manerakai/main/icons/github.svg)](https://github.com/libredirect/libredirect/)  
[![Codeberg](https://raw.githubusercontent.com/ManeraKai/manerakai/main/icons/codeberg.svg)](https://codeberg.org/LibRedirect/libredirect)  
## Development
[![Matrix Badge](https://badges.alefvanoon.xyz/matrix/libredirect:matrix.org?label=matrix)](https://matrix.to/#/#libredirect:tokhmi.xyz)
### Install Dependencies
@ -79,11 +84,5 @@ npm run start
- select `load unpacked extension`
- select `src` folder
## Mirror Repos
[![GitHub](https://raw.githubusercontent.com/ManeraKai/manerakai/main/icons/github.svg)](https://github.com/libredirect/libredirect/)  
[![Codeberg](https://raw.githubusercontent.com/ManeraKai/manerakai/main/icons/codeberg.svg)](https://codeberg.org/LibRedirect/libredirect)  
[FAQ](https://github.com/libredirect/libredirect/wiki/FAQ)\
[Privacy Policy](Privacy-Policy.md)\
Credits: [Privacy Redirect](https://github.com/SimonBrazell/privacy-redirect)
Credits: [Privacy Redirect](https://github.com/SimonBrazell/privacy-redirect)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -120,12 +120,6 @@ body.option(dir="auto")
|Reddit
input#reddit(type="checkbox")
div
div
img(src="../../../assets/images/spotify-icon.png")
|Spotify
input#spotify(type="checkbox")
div
div
svg(xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor")

View File

@ -1,24 +0,0 @@
doctype html
html(lang="en")
include ../../widgets/head.pug
title General
script(type="module" src="../../../assets/javascripts/localise.js")
body.option(dir="auto")
include ../../widgets/links.pug
+links('spotify')
section.option-block
.some-block.option-block
h4(data-localise="__MSG_enable__") Enable
input#disable-spotify(type="checkbox")
#soju
hr
.normal
include ../../widgets/instances.pug
+instances('https://soju.com')
include ../../widgets/latency.pug
+latency()
script(type="module" src="../init.js")
script(type="module" src="./spotify.js")

View File

@ -36,10 +36,6 @@ mixin links(service)
img(src="../../../assets/images/imgur-icon.png")
a(href="../imgur/imgur.html" data-localise="__MSG_imgur__" class=service == "imgur" ? "selected" : "") Imgur
.title
img(src="../../../assets/images/spotify-icon.png")
a(href="../spotify/spotify.html" data-localise="__MSG_spotify__" class=service == "spotify" ? "selected" : "") Spotify
.title
img(src="../../../assets/images/wikipedia-icon.svg")
a(href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__" class=service == "wikipedia" ? "selected" : "") Wikipedia

View File

@ -99,11 +99,6 @@
"description": "used in general.html"
},
"spotify": {
"message": "سبوتيفاي",
"description": "used in general.html"
},
"medium": {
"message": "ميديام",
"description": "used in general.html"

View File

@ -99,11 +99,6 @@
"description": "used in general.html"
},
"spotify": {
"message": "Spotify",
"description": "used in general.html"
},
"medium": {
"message": "Medium",
"description": "used in general.html"

View File

@ -99,11 +99,6 @@
"description": "used in general.html"
},
"spotify": {
"message": "Spotify",
"description": "used in general.html"
},
"medium": {
"message": "Medium",
"description": "used in general.html"

View File

@ -110,7 +110,6 @@ let allPopupFrontends = [
"tikTok",
"imgur",
"reddit",
"spotify",
"search",
"translate",
"maps",

View File

@ -1,107 +0,0 @@
window.browser = window.browser || window.chrome;
import commonHelper from './common.js'
let targets = [
/^https?:\/{2}(open\.|)spotify\.com/,
];
let redirects = {
"soju": {
"normal": [
"https://playsoju.netlify.app",
]
}
}
function setRedirects(val) {
redirects.soju = val;
browser.storage.local.set({ spotifyTargetsRedirects: redirects })
console.log("spotifyTargetsRedirects: ", val)
for (const item of sojuNormalRedirectsChecks)
if (!redirects.soju.normal.includes(item)) {
var index = sojuNormalRedirectsChecks.indexOf(item);
if (index !== -1) sojuNormalRedirectsChecks.splice(index, 1);
}
browser.storage.local.set({ sojuNormalRedirectsChecks })
}
let sojuNormalRedirectsChecks;
let sojuNormalCustomRedirects;
let disable; // disableSpotifyTargets
function switchInstance(url) {
let protocolHost = commonHelper.protocolHost(url);
let sojuList = [
...redirects.soju.normal,
...sojuNormalCustomRedirects
];
if (!sojuList.includes(protocolHost)) return;
let instancesList = [...sojuNormalRedirectsChecks, ...sojuNormalCustomRedirects];
console.log("instancesList", instancesList);
let index = instancesList.indexOf(protocolHost);
if (index > -1) instancesList.splice(index, 1);
if (instancesList.length === 0) return null;
let randomInstance = commonHelper.getRandomInstance(instancesList);
return `${randomInstance}${url.pathname}${url.search}`;
}
function redirect(url, type, initiator) {
if (disable) return null;
if (type != "main_frame") return null;
if (initiator && ([...redirects.soju.normal, ...sojuNormalCustomRedirects].includes(initiator.origin) || targets.includes(initiator.host))) return null;
if (!targets.some(rx => rx.test(url.href))) return null;
let instancesList = [...sojuNormalRedirectsChecks, ...sojuNormalCustomRedirects];
if (instancesList.length === 0) return null;
let randomInstance = commonHelper.getRandomInstance(instancesList);
let query = '';
if (url.pathname != '/') query = `/?s=${url.href}`;
return `${randomInstance}${query}`;
}
async function initDefaults() {
await browser.storage.local.set({
disableSpotifyTargets: true,
spotifyRedirects: redirects,
sojuNormalRedirectsChecks: [...redirects.soju.normal],
sojuNormalCustomRedirects: [],
})
}
async function init() {
browser.storage.local.get(
[
"disableSpotifyTargets",
"sojuNormalRedirectsChecks",
"sojuNormalCustomRedirects",
],
r => {
disable = r.disableSpotifyTargets;
sojuNormalRedirectsChecks = r.sojuNormalRedirectsChecks;
sojuNormalCustomRedirects = r.sojuNormalCustomRedirects;
}
)
}
export default {
setRedirects,
switchInstance,
redirect,
initDefaults,
init,
};

View File

@ -14,7 +14,7 @@ import tiktokHelper from "../../assets/javascripts/helpers/tiktok.js";
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 spotifyHelper from "../../assets/javascripts/helpers/spotify.js";
import generalHelper from "../../assets/javascripts/helpers/general.js";
import youtubeMusicHelper from "../../assets/javascripts/helpers/youtubeMusic.js";
@ -39,7 +39,6 @@ browser.runtime.onInstalled.addListener(async details => {
sendTargetsHelper.initDefaults();
peertubeHelper.initDefaults();
lbryHelper.initDefaults();
spotifyHelper.initDefaults();
})
}
})
@ -60,7 +59,6 @@ async function wholeInit() {
await sendTargetsHelper.init();
await peertubeHelper.init();
await lbryHelper.init();
await spotifyHelper.init();
await generalHelper.init();
}
@ -114,8 +112,6 @@ browser.webRequest.onBeforeRequest.addListener(
if (!newUrl) newUrl = lbryHelper.redirect(url, details.type, initiator);
if (!newUrl) newUrl = spotifyHelper.redirect(url, details.type, initiator);
if (!newUrl) newUrl = translateHelper.redirect(url);
if (!newUrl) newUrl = searchHelper.redirect(url)
@ -196,8 +192,6 @@ async function redirectOfflineInstance(url, tabId) {
if (!newUrl) newUrl = lbryHelper.switchInstance(url);
if (!newUrl) newUrl = spotifyHelper.switchInstance(url);
if (newUrl) {
if (counter >= 5) {
browser.tabs.update(tabId, { url: `/pages/errors/instance_offline.html?url=${encodeURIComponent(newUrl)}` });

View File

@ -14,7 +14,6 @@ import tiktokHelper from "../../assets/javascripts/helpers/tiktok.js";
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 spotifyHelper from "../../assets/javascripts/helpers/spotify.js";
import generalHelper from "../../assets/javascripts/helpers/general.js";
import youtubeMusicHelper from "../../assets/javascripts/helpers/youtubeMusic.js";
@ -36,7 +35,6 @@ async function wholeInit() {
await sendTargetsHelper.init();
await peertubeHelper.init();
await lbryHelper.init();
await spotifyHelper.init();
await generalHelper.init();
}
await wholeInit();

View File

@ -22,7 +22,6 @@
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">
@ -150,10 +149,6 @@
<div> <img src="../../../assets/images/reddit-icon.png">Reddit</div>
<input id="reddit" type="checkbox">
</div>
<div>
<div> <img src="../../../assets/images/spotify-icon.png">Spotify</div>
<input id="spotify" type="checkbox">
</div>
<div>
<div>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">

View File

@ -23,7 +23,6 @@
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a class="selected" href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">

View File

@ -23,7 +23,6 @@
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">

View File

@ -23,7 +23,6 @@
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">

View File

@ -23,7 +23,6 @@
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">

View File

@ -23,7 +23,6 @@
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">

View File

@ -23,7 +23,6 @@
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">

View File

@ -23,7 +23,6 @@
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a class="selected" href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">

View File

@ -23,7 +23,6 @@
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">
@ -156,6 +155,356 @@
</div>
<div id="searxng">
<hr>
<div class="custom-settings">
<div class="some-block option-block">
<h2>General</h2>
</div>
<div class="some-block option-block">
<h4 data-localise="">Default categories</h4>
</div>
<div class="checklist-popup">
<div>
<div>
<svg viewBox="0 0 512 512" aria-hidden="true">
<path d="M221.09 64a157.09 157.09 0 10157.09 157.09A157.1 157.1 0 00221.09 64z" fill="none" stroke="currentColor" stroke-miterlimit="10" stroke-width="32"></path>
<path fill="none" stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="32" d="M338.29 338.29L448 448"></path>
</svg>General
</div>
<input class="category_general" type="checkbox">
</div>
<div>
<div>
<svg viewBox="0 0 512 512" aria-hidden="true">
<rect x="48" y="80" width="416" height="352" rx="48" ry="48" fill="none" stroke="currentColor" stroke-linejoin="round" stroke-width="32"></rect>
<circle cx="336" cy="176" r="32" fill="none" stroke="currentColor" stroke-miterlimit="10" stroke-width="32"></circle>
<path d="M304 335.79l-90.66-90.49a32 32 0 00-43.87-1.3L48 352M224 432l123.34-123.34a32 32 0 0143.11-2L464 368" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="32"></path>
</svg>Images
</div>
<input class="category_images" type="checkbox">
</div>
<div>
<div>
<svg viewBox="0 0 512 512" aria-hidden="true">
<path d="M112 111v290c0 17.44 17 28.52 31 20.16l247.9-148.37c12.12-7.25 12.12-26.33 0-33.58L143 90.84c-14-8.36-31 2.72-31 20.16z" fill="none" stroke="currentColor" stroke-miterlimit="10" stroke-width="32"></path>
</svg>Videos
</div>
<input class="category_videos" type="checkbox">
</div>
<div>
<div>
<svg viewBox="0 0 512 512" aria-hidden="true">
<path d="M368 415.86V72a24.07 24.07 0 00-24-24H72a24.07 24.07 0 00-24 24v352a40.12 40.12 0 0040 40h328" fill="none" stroke="currentColor" stroke-linejoin="round" stroke-width="32"></path>
<path d="M416 464h0a48 48 0 01-48-48V128h72a24 24 0 0124 24v264a48 48 0 01-48 48z" fill="none" stroke="currentColor" stroke-linejoin="round" stroke-width="32"></path>
<path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="32" d="M240 128h64M240 192h64M112 256h192M112 320h192M112 384h192"></path>
<path d="M176 208h-64a16 16 0 01-16-16v-64a16 16 0 0116-16h64a16 16 0 0116 16v64a16 16 0 01-16 16z"></path>
</svg>News
</div>
<input class="category_news" type="checkbox">
</div>
<div>
<div>
<svg viewBox="0 0 512 512" aria-hidden="true">
<path d="M256 48c-79.5 0-144 61.39-144 137 0 87 96 224.87 131.25 272.49a15.77 15.77 0 0025.5 0C304 409.89 400 272.07 400 185c0-75.61-64.5-137-144-137z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="32"></path>
<circle cx="256" cy="192" r="48" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="32"></circle>
</svg>Maps
</div>
<input class="category_map" type="checkbox">
</div>
<div>
<div>
<svg viewBox="0 0 512 512" aria-hidden="true">
<path d="M192 218v-6c0-14.84 10-27 24.24-30.59l174.59-46.68A20 20 0 01416 154v22" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="32"></path>
<path d="M416 295.94v80c0 13.91-8.93 25.59-22 30l-22 8c-25.9 8.72-52-10.42-52-38h0a33.37 33.37 0 0123-32l51-18.15c13.07-4.4 22-15.94 22-29.85V58a10 10 0 00-12.6-9.61L204 102a16.48 16.48 0 00-12 16v226c0 13.91-8.93 25.6-22 30l-52 18c-13.88 4.68-22 17.22-22 32h0c0 27.58 26.52 46.55 52 38l22-8c13.07-4.4 22-16.08 22-30v-80" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="32"></path>
</svg>Music
</div>
<input class="category_music" type="checkbox">
</div>
<div>
<div>
<svg class="ion-icon-big" viewBox="0 0 512 512" aria-hidden="true">
<path d="M434.8 137.65l-149.36-68.1c-16.19-7.4-42.69-7.4-58.88 0L77.3 137.65c-17.6 8-17.6 21.09 0 29.09l148 67.5c16.89 7.7 44.69 7.7 61.58 0l148-67.5c17.52-8 17.52-21.1-.08-29.09zM160 308.52l-82.7 37.11c-17.6 8-17.6 21.1 0 29.1l148 67.5c16.89 7.69 44.69 7.69 61.58 0l148-67.5c17.6-8 17.6-21.1 0-29.1l-79.94-38.47" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="32"></path>
<path d="M160 204.48l-82.8 37.16c-17.6 8-17.6 21.1 0 29.1l148 67.49c16.89 7.7 44.69 7.7 61.58 0l148-67.49c17.7-8 17.7-21.1.1-29.1L352 204.48" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="32"></path>
</svg>It
</div>
<input class="category_it" type="checkbox">
</div>
<div>
<div>
<svg class="ion-icon-big" viewBox="0 0 512 512" aria-hidden="true">
<path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="32" d="M32 192L256 64l224 128-224 128L32 192z"></path>
<path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="32" d="M112 240v128l144 80 144-80V240M480 368V192M256 320v128"></path>
</svg>Science
</div>
<input class="category_science" type="checkbox">
</div>
<div>
<div>
<svg viewBox="0 0 512 512" aria-hidden="true">
<path d="M384 80H128c-26 0-43 14-48 40L48 272v112a48.14 48.14 0 0048 48h320a48.14 48.14 0 0048-48V272l-32-152c-5-27-23-40-48-40z" fill="none" stroke="currentColor" stroke-linejoin="round" stroke-width="32"></path>
<path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="32" d="M48 272h144M320 272h144M192 272a64 64 0 00128 0M144 144h224M128 208h256"></path>
</svg>Files
</div>
<input class="category_files" type="checkbox">
</div>
<div>
<div>
<svg viewBox="0 0 512 512" aria-hidden="true">
<path d="M402 168c-2.93 40.67-33.1 72-66 72s-63.12-31.32-66-72c-3-42.31 26.37-72 66-72s69 30.46 66 72z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="32"></path>
<path d="M336 304c-65.17 0-127.84 32.37-143.54 95.41-2.08 8.34 3.15 16.59 11.72 16.59h263.65c8.57 0 13.77-8.25 11.72-16.59C463.85 335.36 401.18 304 336 304z" fill="none" stroke="currentColor" stroke-miterlimit="10" stroke-width="32"></path>
<path d="M200 185.94c-2.34 32.48-26.72 58.06-53 58.06s-50.7-25.57-53-58.06C91.61 152.15 115.34 128 147 128s55.39 24.77 53 57.94z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="32"></path>
<path d="M206 306c-18.05-8.27-37.93-11.45-59-11.45-52 0-102.1 25.85-114.65 76.2-1.65 6.66 2.53 13.25 9.37 13.25H154" fill="none" stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="32"></path>
</svg>Social Media
</div>
<input class="category_social_media" type="checkbox">
</div>
</div>
<div class="some-block option-block">
<h4 data-localise="">Search language</h4>
<select class="language">
<option value="all">Default language</option>
<option value="af-ZA">🇿🇦 Afrikaans (Suid-Afrika) </option>
<option value="ca-ES">🇪🇸 Català (Espanya) </option>
<option value="da-DK">🇩🇰 Dansk (Danmark) </option>
<option value="de">🌐 Deutsch </option>
<option value="de-AT">🇦🇹 Deutsch (Österreich) </option>
<option value="de-CH">🇨🇭 Deutsch (Schweiz) </option>
<option value="de-DE">🇩🇪 Deutsch (Deutschland) </option>
<option value="et-EE">🇪🇪 Eesti (Eesti) </option>
<option value="en">🌐 English </option>
<option value="en-AU">🇦🇺 English (Australia) </option>
<option value="en-CA">🇨🇦 English (Canada) </option>
<option value="en-GB">🇬🇧 English (United Kingdom) </option>
<option value="en-IE">🇮🇪 English (Ireland) </option>
<option value="en-MY">🇲🇾 English (Malaysia) </option>
<option value="en-NZ">🇳🇿 English (New Zealand) </option>
<option value="en-US">🇺🇸 English (United States) </option>
<option value="es">🌐 Español </option>
<option value="es-AR">🇦🇷 Español (Argentina) </option>
<option value="es-CL">🇨🇱 Español (Chile) </option>
<option value="es-ES">🇪🇸 Español (España) </option>
<option value="es-MX">🇲🇽 Español (México) </option>
<option value="fil-PH">🇵🇭 Filipino (Pilipinas) </option>
<option value="fr">🌐 Français </option>
<option value="fr-BE">🇧🇪 Français (Belgique) </option>
<option value="fr-CA">🇨🇦 Français (Canada) </option>
<option value="fr-CH">🇨🇭 Français (Suisse) </option>
<option value="fr-FR">🇫🇷 Français (France) </option>
<option value="hr-HR">🇭🇷 Hrvatski (Hrvatska) </option>
<option value="id-ID">🇮🇩 Indonesia (Indonesia) </option>
<option value="it-IT">🇮🇹 Italiano (Italia) </option>
<option value="sw-TZ">🇹🇿 Kiswahili (Tanzania) </option>
<option value="lv-LV">🇱🇻 Latviešu (Latvija) </option>
<option value="lt-LT">🇱🇹 Lietuvių (Lietuva) </option>
<option value="hu-HU">🇭🇺 Magyar (Magyarország) </option>
<option value="nl">🌐 Nederlands </option>
<option value="nl-BE">🇧🇪 Nederlands (België) </option>
<option value="nl-NL">🇳🇱 Nederlands (Nederland) </option>
<option value="no-NO">🇳🇴 Norsk </option>
<option value="pl-PL">🇵🇱 Polski (Polska) </option>
<option value="pt">🌐 Português </option>
<option value="pt-BR">🇧🇷 Português (Brasil) </option>
<option value="pt-PT">🇵🇹 Português (Portugal) </option>
<option value="ro-RO">🇷🇴 Română (România) </option>
<option value="sk-SK">🇸🇰 Slovenčina (Slovensko) </option>
<option value="sl-SI">🇸🇮 Slovenščina (Slovenija) </option>
<option value="fi-FI">🇫🇮 Suomi (Suomi) </option>
<option value="sv-SE">🇸🇪 Svenska (Sverige) </option>
<option value="vi-VN">🇻🇳 Tiếng Việt (Việt Nam) </option>
<option value="tr-TR">🇹🇷 Türkçe (Türkiye) </option>
<option value="is-IS">🇮🇸 Íslenska (Ísland) </option>
<option value="cs-CZ">🇨🇿 Čeština (Česko) </option>
<option value="el-GR">🇬🇷 Ελληνικά (Ελλάδα) </option>
<option value="be-BY">🇧🇾 Беларуская (Беларусь) </option>
<option value="bg-BG">🇧🇬 Български (България) </option>
<option value="ru-RU">🇷🇺 Русский (Россия) </option>
<option value="sr-RS">🇷🇸 Српски (Србија) </option>
<option value="uk-UA">🇺🇦 Українська (Україна) </option>
<option value="he-IL">🇮🇱 עברית (ישראל) </option>
<option value="ar-EG">🇪🇬 العربية (مصر) </option>
<option value="fa-IR">🇮🇷 فارسی (ایران) </option>
<option value="hi-IN">🇮🇳 हिन्दी (भारत) </option>
<option value="th-TH">🇹🇭 ไทย (ไทย) </option>
<option value="zh">🌐 中文 </option>
<option value="zh-CN">🇨🇳 中文 (中国) </option>
<option value="zh-HK">🇭🇰 中文 (中國香港) </option>
<option value="zh-TW">🇹🇼 中文 (台灣) </option>
<option value="ja-JP">🇯🇵 日本語 (日本) </option>
<option value="ko-KR">🇰🇷 한국어 (대한민국) </option>
</select>
</div>
<div class="some-block option-block">
<h4 data-localise="">Autocomplete</h4>
<select class="autocomplete">
<option value=""> - </option>
<option value="dbpedia">dbpedia</option>
<option value="duckduckgo">duckduckgo</option>
<option value="google">google</option>
<option value="seznam">seznam</option>
<option value="startpage">startpage</option>
<option value="swisscows">swisscows</option>
<option value="qwant">qwant</option>
<option value="wikipedia">wikipedia</option>
<option value="brave">brave</option>
</select>
</div>
<div class="some-block option-block">
<h4 data-localise="">SafeSearch</h4>
<select class="safesearch">
<option value="2">Strict</option>
<option value="1">Moderate</option>
<option value="0">None</option>
</select>
</div>
<div class="some-block option-block">
<h4 data-localise="">Hostname replace</h4>
<input class="hostname_replace" type="checkbox">
</div>
<div class="some-block option-block">
<h4 data-localise="">Open Access DOI rewrite</h4>
<input class="oa_doi_rewrite" type="checkbox">
</div>
<div class="some-block option-block">
<h4 data-localise="">Open Access DOI resolver</h4>
<select class="doi_resolver">
<option value="oadoi.org">oadoi.org - https://oadoi.org/</option>
<option value="doi.org">doi.org - https://doi.org/</option>
<option value="doai.io">doai.io - https://dissem.in/</option>
<option value="sci-hub.se">sci-hub.se - https://sci-hub.se/</option>
<option value="sci-hub.do">sci-hub.do - https://sci-hub.do/</option>
<option value="scihubtw.tw">scihubtw.tw - https://scihubtw.tw/</option>
<option value="sci-hub.st">sci-hub.st - https://sci-hub.st/</option>
<option value="sci-hub.bar">sci-hub.bar - https://sci-hub.bar/</option>
<option value="sci-hub.it.nf">sci-hub.it.nf - https://sci-hub.it.nf/</option>
</select>
</div>
<div class="some-block option-block">
<h4 data-localise="">Engine tokens</h4>
<input class="tokens" type="text">
</div>
<hr>
<div class="some-block option-block">
<h2>User Interface</h2>
</div>
<div class="some-block option-block">
<h4 data-localise="">Interface language</h4>
<select class="locale">
<option value="ar">العربية (Arabic)</option>
<option value="bg">Български (Bulgarian)</option>
<option value="bo">བོད་སྐད་ (Tibetan)</option>
<option value="ca">Català (Catalan)</option>
<option value="cs">Čeština (Czech)</option>
<option value="cy">Cymraeg (Welsh)</option>
<option value="da">Dansk (Danish)</option>
<option value="de">Deutsch (German)</option>
<option value="el-GR">Ελληνικά, Ελλάδα (Greek, Greece)</option>
<option value="en" selected="selected">English</option>
<option value="eo">Esperanto</option>
<option value="es">Español (Spanish)</option>
<option value="et">Eesti (Estonian)</option>
<option value="eu">Euskara (Basque)</option>
<option value="fa-IR">فارسی, ایران (Persian, Iran)</option>
<option value="fi">Suomi (Finnish)</option>
<option value="fil">Filipino</option>
<option value="fr">Français (French)</option>
<option value="gl">Galego (Galician)</option>
<option value="he">עברית (Hebrew)</option>
<option value="hr">Hrvatski (Croatian)</option>
<option value="hu">Magyar (Hungarian)</option>
<option value="ia">Interlingua</option>
<option value="id">Indonesia (Indonesian)</option>
<option value="it">Italiano (Italian)</option>
<option value="ja">日本語 (Japanese)</option>
<option value="ko">한국어 (Korean)</option>
<option value="lt">Lietuvių (Lithuanian)</option>
<option value="nb-NO">Norsk bokmål, Norge (Norwegian bokmål, Norway)</option>
<option value="nl">Nederlands (Dutch)</option>
<option value="nl-BE">Vlaams (Dutch, Belgium)</option>
<option value="oc">Occitan</option>
<option value="pl">Polski (Polish)</option>
<option value="pt">Português (Portuguese)</option>
<option value="pt-BR">Português, Brasil (Portuguese, Brazil)</option>
<option value="ro">Română (Romanian)</option>
<option value="ru">Русский (Russian)</option>
<option value="sk">Slovenčina (Slovak)</option>
<option value="sl">Slovenščina (Slovenian)</option>
<option value="sr">Српски (Serbian)</option>
<option value="sv">Svenska (Swedish)</option>
<option value="ta">தமிழ் (Tamil)</option>
<option value="te">తెలుగు (Telugu)</option>
<option value="tr">Türkçe (Turkish)</option>
<option value="uk">Українська (Ukrainian)</option>
<option value="vi">Tiếng việt (Vietnamese)</option>
<option value="zh-Hans-CN">中文, 中国 (Chinese, China)</option>
<option value="zh-Hant-TW">中文, 台灣 (Chinese, Taiwan)</option>
</select>
</div>
<div class="some-block option-block">
<h4 data-localise="">Theme</h4>
<select class="theme">
<option value="simple">simple</option>
</select>
</div>
<div class="some-block option-block">
<h4 data-localise="">Theme style</h4>
<select class="simple_style">
<option value="auto">auto</option>
<option value="light">light</option>
<option value="dark">dark</option>
</select>
</div>
<div class="some-block option-block">
<h4 data-localise="">Results on new tabs</h4>
<select class="results_on_new_tab">
<option value="1">On</option>
<option value="0">Off</option>
</select>
</div>
<div class="some-block option-block">
<h4 data-localise="">Infinite scroll</h4>
<select class="infinite_scroll">
<option value="1">On</option>
<option value="0">Off</option>
</select>
</div>
<div class="some-block option-block">
<h4 data-localise="">Search on category select</h4>
<input class="search_on_category_select" type="checkbox">
</div>
<div class="some-block option-block">
<h4 data-localise="">Vim-like hotkeys</h4>
<input class="vim_hotkeys" type="checkbox">
</div>
<hr>
<div class="some-block option-block">
<h2>Privacy </h2>
</div>
<div class="some-block option-block">
<h4 data-localise="">HTTP Method</h4>
<select class="method">
<option value="POST">POST</option>
<option value="GET">GET</option>
</select>
</div>
<div class="some-block option-block">
<h4 data-localise="">Image proxy</h4>
<select class="image_proxy">
<option value="1">Enabled</option>
<option value="">Disabled</option>
</select>
</div>
<div class="some-block option-block">
<h4 data-localise="">Query in the page's title</h4>
<select class="query_in_title">
<option value="1">Enabled</option>
<option value="" selected="selected">Disabled</option>
</select>
</div>
<div class="some-block option-block">
<h4 data-localise="">Tracker URL remover</h4>
<input class="tracker_url_remover" type="checkbox">
</div>
<hr>
</div>
<div class="normal">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>

View File

@ -23,7 +23,6 @@
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">

View File

@ -1,97 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="../../../assets/images/libredirect.svg">
<link href="../../stylesheets/styles.css" rel="stylesheet">
<title>General</title>
</head>
</html>
<script type="module" src="../../../assets/javascripts/localise.js"></script>
<body class="option" dir="auto">
<section class="links">
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="26px" viewBox="0 0 24 24" width="26px" fill="currentColor">
<path d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z"></path>
</svg><a href="../general/general.html" data-localise="__MSG_general__">General</a>
</div>
<div class="title"> <img src="../../../assets/images/youtube-icon.png"><a href="../youtube/youtube.html" data-localise="__MSG_youtube__">YouTube </a></div>
<div class="title"> <img src="../../../assets/images/youtube-music-icon.png"><a href="../youtubeMusic/youtubeMusic.html" data-localise="__MSG_ytmusic__">YT Music</a></div>
<div class="title"> <img src="../../../assets/images/twitter-icon.png"><a href="../twitter/twitter.html" data-localise="__MSG_twitter__">Twitter</a></div>
<div class="title"> <img src="../../../assets/images/instagram-icon.png"><a href="../instagram/instagram.html" data-localise="__MSG_instagram__">Instagram</a></div>
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a class="selected" href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">
<circle cx="500" cy="500" r="500"></circle>
<ellipse ry="475" rx="250" cy="501" cx="1296"></ellipse>
<ellipse cx="1682" cy="502" rx="88" ry="424"></ellipse>
</svg><a href="../medium/medium.html" data-localise="__MSG_medium__">Medium</a>
</div>
<div class="title"> <img src="../../../assets/images/peertube-icon.svg"><a href="../peertube/peertube.html" data-localise="__MSG_peertube__">Peertube</a></div>
<div class="title"> <img src="../../../assets/images/lbry-icon.png"><a href="../lbry/lbry.html" data-localise="__MSG_lbry__">LBRY/Odysee</a></div>
<div class="title">
<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><a href="../search/search.html" data-localise="__MSG_search__">Search</a>
</div>
<div class="title">
<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><a href="../translate/translate.html" data-localise="__MSG_translate__">Translate</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"></path>
</svg><a href="../maps/maps.html" data-localise="__MSG_maps__">Maps</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path>
</svg><a href="../sendTargets/sendTargets.html" data-localise="__MSG_sendFiles__">Send Files</a>
</div>
</section>
<section class="option-block">
<div class="some-block option-block">
<h4 data-localise="__MSG_enable__">Enable</h4>
<input id="disable-spotify" type="checkbox">
</div>
<div id="soju">
<hr>
<div class="normal">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://soju.com" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
<label class="button button-inline" id="latency-label" for="latency">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path>
</svg>&nbsp;
<x data-localise="__MSG_testInstancesLatency__">Test Instances Latency</x>
</label>
<input class="button button-inline" id="latency" style="display:none;">
</div>
<script type="module" src="../init.js"></script>
<script type="module" src="./spotify.js"></script>
</div>
</section>
</body>

View File

@ -1,34 +0,0 @@
import spotifyHelper from "../../../assets/javascripts/helpers/spotify.js";
import commonHelper from "../../../assets/javascripts/helpers/common.js";
let disableSpotifyElement = document.getElementById("disable-spotify");
browser.storage.local.get(
[
"disableSpotifyTargets",
],
r => {
disableSpotifyElement.checked = !r.disableSpotifyTargets;
}
)
commonHelper.processDefaultCustomInstances('spotify', 'soju', 'normal', document);
let latencyElement = document.getElementById("latency");
let latencyLabel = document.getElementById("latency-label");
latencyElement.addEventListener("click",
async () => {
let reloadWindow = () => location.reload();
latencyElement.addEventListener("click", reloadWindow);
await spotifyHelper.init();
let redirects = spotifyHelper.getRedirects();
const oldHtml = latencyLabel.innerHTML;
latencyLabel.innerHTML = '...';
commonHelper.testLatency(latencyLabel, redirects.soju.normal).then(r => {
browser.storage.local.set({ sojuLatency: r });
latencyLabel.innerHTML = oldHtml;
commonHelper.processDefaultCustomInstances('spotify', 'soju', 'normal', document);
latencyElement.removeEventListener("click", reloadWindow)
});
}
);

View File

@ -23,7 +23,6 @@
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a class="selected" href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">

View File

@ -23,7 +23,6 @@
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">

View File

@ -23,7 +23,6 @@
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">

View File

@ -23,7 +23,6 @@
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a class="selected" href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">

View File

@ -23,7 +23,6 @@
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">
@ -185,7 +184,10 @@
<option value="" data-localise="__MSG_none__">none</option>
<option value="youtube">YouTube</option>
<option value="reddit">Reddit</option>
</select>&nbsp;
</select>
</div>
<div class="some-block option-block">
<h4> </h4>
<select class="comments[1]">
<option value="" data-localise="__MSG_none__">none</option>
<option value="youtube">YouTube</option>
@ -325,7 +327,10 @@
<option value="Yiddish">Yiddish</option>
<option value="Yoruba">Yoruba</option>
<option value="Zulu">Zulu</option>
</select>&nbsp;
</select>
</div>
<div class="some-block option-block">
<h4></h4>
<select class="captions[1]">
<option value="" data-localise="__MSG_none__">none</option>
<option value="English">English</option>
@ -457,7 +462,10 @@
<option value="Yiddish">Yiddish</option>
<option value="Yoruba">Yoruba</option>
<option value="Zulu">Zulu</option>
</select>&nbsp;
</select>
</div>
<div class="some-block option-block">
<h4></h4>
<select class="captions[2]">
<option value="" data-localise="__MSG_none__">none</option>
<option value="English">English</option>

View File

@ -23,7 +23,6 @@
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">

View File

@ -68,14 +68,6 @@
<input id="disable-reddit" type="checkbox" checked />
</div>
<div id="spotify" class="some-block">
<a class="title" href="https://spotify.com">
<img src="../../../assets/images/spotify-icon.png" />
<h4 data-localise="__MSG_spotify__">Spotify</h4>
</a>
<input id="disable-spotify" type="checkbox" checked />
</div>
<div id="wikipedia" class="some-block">
<a class="title" href="https://wikipedia.org">
<img src="../../../assets/images/wikipedia-icon.svg" />

View File

@ -14,7 +14,6 @@ import wikipediaHelper from "../../assets/javascripts/helpers/wikipedia.js";
import mediumHelper from "../../assets/javascripts/helpers/medium.js";
import imgurHelper from "../../assets/javascripts/helpers/imgur.js";
import tiktokHelper from "../../assets/javascripts/helpers/tiktok.js";
import spotifyHelper from "../../assets/javascripts/helpers/spotify.js";
import sendTargetsHelper from "../../assets/javascripts/helpers/sendTargets.js";
import peertubeHelper from "../../assets/javascripts/helpers/peertube.js";
import lbryHelper from "../../assets/javascripts/helpers/lbry.js";
@ -35,7 +34,6 @@ let disableLbryElement = document.getElementById("disable-lbry");
let disableSendTargetsElement = document.getElementById("disable-sendTargets");
let disableImgurElement = document.getElementById("disable-imgur");
let disableTiktokElement = document.getElementById("disable-tiktok");
let disableSpotifyElement = document.getElementById("disable-spotify");
let copyRawElement = document.getElementById('copy_raw');
browser.storage.local.get(
@ -51,7 +49,6 @@ browser.storage.local.get(
"disableWikipedia",
"disableImgur",
"disableTiktok",
"disableSpotifyTargets",
"disableMedium",
"disablePeertubeTargets",
"disableLbryTargets",
@ -69,7 +66,6 @@ browser.storage.local.get(
disableWikipediaElement.checked = !r.disableWikipedia;
disableImgurElement.checked = !r.disableImgur;
disableTiktokElement.checked = !r.disableTiktok;
disableSpotifyElement.checked = !r.disableSpotifyTargets;
disableMediumElement.checked = !r.disableMedium;
disablePeertubeElement.checked = !r.disablePeertubeTargets;
disableLbryElement.checked = !r.disableLbryTargets;
@ -90,7 +86,6 @@ document.addEventListener("change", () => {
disableWikipedia: !disableWikipediaElement.checked,
disableImgur: !disableImgurElement.checked,
disableTiktok: !disableTiktokElement.checked,
disableSpotifyTargets: !disableSpotifyElement.checked,
disableMedium: !disableMediumElement.checked,
disablePeertubeTargets: !disablePeertubeElement.checked,
disableLbryTargets: !disableLbryElement.checked,

View File

@ -24,20 +24,6 @@ body {
font-style: normal;
}
/* @font-face {
font-family: 'NotoSansArabic';
src: url('NotoSansArabic-VariableFont_wdth,wght.ttf');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'NotoNaskhArabic';
src: url('NotoNaskhArabic-VariableFont_wght.ttf');
font-weight: normal;
font-style: normal;
} */
body {
margin: auto;
padding: 0;
@ -90,7 +76,7 @@ select {
background-color: var(--bg-secondary);
border: none;
margin: 0;
width: 180px;
max-width: 500px;
border-radius: 3px;
}
@ -110,7 +96,7 @@ input:invalid {
}
section.option-block {
width: 700px;
width: 750px;
margin: 0 50px;
}
@ -122,6 +108,7 @@ body.option {
display: flex;
align-items: flex-start;
padding: 40px;
width: 1200px;
}
section.links div {
@ -200,7 +187,6 @@ div.some-block {
align-items: center;
margin-top: 10px;
margin-bottom: 10px;
}
div.option-block {
@ -219,6 +205,7 @@ div.some-block h4 {
div.option-block h4 {
margin-right: 5px;
width: 80%;
min-width: 150px;
font-size: 18px;
}
@ -228,6 +215,10 @@ div.option-block h1 {
color: var(--active);
}
div.option-block div {
text-align: center;
}
div.some-block input[type="checkbox"] {
width: 46px;
height: 23px;