Compare commits

...

6 Commits

Author SHA1 Message Date
ManeraKai 27602cb94a
Re-added Send, Paste Text, and Jitsi https://codeberg.org/LibRedirect/browser_extension/issues/109 2023-10-19 00:08:11 +03:00
ManeraKai 9317c75ea2
Added Invidious for YT Music https://github.com/libredirect/browser_extension/issues/830 2023-10-19 00:00:18 +03:00
ManeraKai 4e379b0623
Added clip support to SafeTwitch https://github.com/libredirect/browser_extension/issues/833 2023-10-18 23:55:11 +03:00
Nimxaa ea53506c72
Translated using Weblate (Finnish)
Currently translated at 100.0% (29 of 29 strings)

Translation: LibRedirect/extension
Translate-URL: https://hosted.weblate.org/projects/libredirect/extension/fi/
2023-10-16 14:01:34 +02:00
Nimxaa ef55dc5297
Added translation using Weblate (Finnish) 2023-10-15 12:49:07 +02:00
maboroshin 3db9e96888
Translated using Weblate (Japanese)
Currently translated at 100.0% (29 of 29 strings)

Translation: LibRedirect/extension
Translate-URL: https://hosted.weblate.org/projects/libredirect/extension/ja/
2023-10-10 17:01:15 +02:00
12 changed files with 351 additions and 23 deletions

View File

@ -0,0 +1,112 @@
{
"excludeFromRedirecting": {
"message": "Poissuljettu uudelleenohjaukselta",
"description": "used in the settings page"
},
"copyRaw": {
"message": "Kopioi alkuperäinen"
},
"both": {
"message": "molemmat",
"description": "used in the settings page"
},
"switchInstance": {
"message": "Vaihda instanssi",
"description": "used in manifest.json as shortcut description"
},
"unsupportedIframesHandling": {
"message": "Tukemattomien iframejen käsittely"
},
"importSettings": {
"message": "Tuo asetukset",
"description": "used in the settings page"
},
"exportSettings": {
"message": "Vie asetukset",
"description": "used in the settings page"
},
"fetchPublicInstances": {
"message": "Hae julkiset instanssit"
},
"addYourFavoriteInstances": {
"message": "Lisää suosikki-instanssisi",
"description": "used in the settings page"
},
"extensionName": {
"message": "LibRedirect",
"description": "name of the extension"
},
"showInPopup": {
"message": "Näytä ponnahdusvalikossa",
"description": "used in the settings page"
},
"theme": {
"message": "Teema",
"description": "used in the settings page"
},
"onlyEmbedded": {
"message": "vain upotteet",
"description": "used in the settings page"
},
"light": {
"message": "Vaalea",
"description": "used in the settings page"
},
"frontend": {
"message": "Käyttöliittymä",
"description": "used in the settings page"
},
"extensionDescription": {
"message": "Selainlaajennus joka uudelleenohjaa suositut sivustot vaihtoehtoisiin yksityisyysystävällisiin käyttöliittymiin",
"description": "description of the extension"
},
"copied": {
"message": "Kopioitu"
},
"onlyNotEmbedded": {
"message": "vain muut kuin upotteet",
"description": "used in the settings page"
},
"about": {
"message": "Tietoja"
},
"redirectLink": {
"message": "Yritä uudelleenohjata",
"description": "Used in context menus when right clicking on a hyperlink"
},
"redirectType": {
"message": "Uudelleenohjauksen tyyppi",
"description": "used in the settings page"
},
"dark": {
"message": "Tumma",
"description": "used in the settings page"
},
"general": {
"message": "Yleiset",
"description": "used in the settings page"
},
"enable": {
"message": "Ota käyttöön",
"description": "used in the settings page"
},
"disable": {
"message": "Poista käytöstä"
},
"redirectToOriginal": {
"message": "Uudelleenohjaa alkuperäiseen",
"description": "Used in context menus when right clicking on a page/tab"
},
"auto": {
"message": "Automaattinen",
"description": "used in the settings page"
},
"settings": {
"message": "Asetukset",
"description": "used in the popup"
},
"resetSettings": {
"message": "Nollaa asetukset",
"description": "used in the settings page"
}
}

View File

@ -99,5 +99,14 @@
},
"about": {
"message": "公式サイト"
},
"unsupportedIframesHandling": {
"message": "未対応の iframes の処理"
},
"fetchPublicInstances": {
"message": "公式インスタンスを取得"
},
"disable": {
"message": "無効"
}
}

View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
height="24"
viewBox="0 96 960 960"
width="24"
version="1.1"
id="svg4"
sodipodi:docname="meet-icon-light.svg"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs8" />
<sodipodi:namedview
id="namedview6"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="32.416667"
inkscape:cx="17.861183"
inkscape:cy="12"
inkscape:window-width="1888"
inkscape:window-height="1060"
inkscape:window-x="32"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg4" />
<path
d="M0 816v-63q0-43 44-70t116-27q13 0 25 .5t23 2.5q-14 21-21 44t-7 48v65H0Zm240 0v-65q0-32 17.5-58.5T307 646q32-20 76.5-30t96.5-10q53 0 97.5 10t76.5 30q32 20 49 46.5t17 58.5v65H240Zm540 0v-65q0-26-6.5-49T754 659q11-2 22.5-2.5t23.5-.5q72 0 116 26.5t44 70.5v63H780Zm-455-80h311q-10-20-55.5-35T480 686q-55 0-100.5 15T325 736ZM160 616q-33 0-56.5-23.5T80 536q0-34 23.5-57t56.5-23q34 0 57 23t23 57q0 33-23 56.5T160 616Zm640 0q-33 0-56.5-23.5T720 536q0-34 23.5-57t56.5-23q34 0 57 23t23 57q0 33-23 56.5T800 616Zm-320-40q-50 0-85-35t-35-85q0-51 35-85.5t85-34.5q51 0 85.5 34.5T600 456q0 50-34.5 85T480 576Zm0-80q17 0 28.5-11.5T520 456q0-17-11.5-28.5T480 416q-17 0-28.5 11.5T440 456q0 17 11.5 28.5T480 496Zm1 240Zm-1-280Z"
id="path2"
style="fill:#ffffff" />
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 96 960 960" width="24"><path d="M0 816v-63q0-43 44-70t116-27q13 0 25 .5t23 2.5q-14 21-21 44t-7 48v65H0Zm240 0v-65q0-32 17.5-58.5T307 646q32-20 76.5-30t96.5-10q53 0 97.5 10t76.5 30q32 20 49 46.5t17 58.5v65H240Zm540 0v-65q0-26-6.5-49T754 659q11-2 22.5-2.5t23.5-.5q72 0 116 26.5t44 70.5v63H780Zm-455-80h311q-10-20-55.5-35T480 686q-55 0-100.5 15T325 736ZM160 616q-33 0-56.5-23.5T80 536q0-34 23.5-57t56.5-23q34 0 57 23t23 57q0 33-23 56.5T160 616Zm640 0q-33 0-56.5-23.5T720 536q0-34 23.5-57t56.5-23q34 0 57 23t23 57q0 33-23 56.5T800 616Zm-320-40q-50 0-85-35t-35-85q0-51 35-85.5t85-34.5q51 0 85.5 34.5T600 456q0 50-34.5 85T480 576Zm0-80q17 0 28.5-11.5T520 456q0-17-11.5-28.5T480 416q-17 0-28.5 11.5T440 456q0 17 11.5 28.5T480 496Zm1 240Zm-1-280Z"/></svg>

After

Width:  |  Height:  |  Size: 810 B

View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
height="24px"
viewBox="0 0 24 24"
width="24px"
fill="currentColor"
version="1.1"
id="svg546"
sodipodi:docname="sendFiles-icon-white.svg"
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs550" />
<sodipodi:namedview
id="namedview548"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="32.416667"
inkscape:cx="9.0077121"
inkscape:cy="12"
inkscape:window-width="1888"
inkscape:window-height="1060"
inkscape:window-x="32"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg546" />
<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"
id="path544"
style="fill:#ffffff" />
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,3 @@
<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>

After

Width:  |  Height:  |  Size: 316 B

View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
height="24px"
viewBox="0 0 24 24"
width="24px"
fill="currentColor"
version="1.1"
id="svg1191"
sodipodi:docname="textStorage-icon-white.svg"
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1195" />
<sodipodi:namedview
id="namedview1193"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="32.416667"
inkscape:cx="9.0077121"
inkscape:cy="12"
inkscape:window-width="1888"
inkscape:window-height="1060"
inkscape:window-x="32"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg1191" />
<path
d="M19 2h-4.18C14.4.84 13.3 0 12 0c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm7 18H5V4h2v3h10V4h2v16z"
id="path1189"
style="fill:#ffffff" />
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19 2h-4.18C14.4.84 13.3 0 12 0c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm7 18H5V4h2v3h10V4h2v16z"></path>
</svg>

After

Width:  |  Height:  |  Size: 336 B

View File

@ -496,6 +496,13 @@ function redirect(url, type, initiator, forceRedirection) {
}
return `${randomInstance}${url.pathname}${url.search}`
}
case "invidiousMusic": {
if (url.hostname == "youtu.be" || url.hostname.endsWith("youtube.com") && url.pathname.startsWith("/live")) {
const watch = url.pathname.substring(url.pathname.lastIndexOf('/') + 1)
return `${randomInstance}/watch?v=${watch}`
}
return `${randomInstance}${url.pathname}${url.search}`
}
case "libremdb": {
if (url.pathname.startsWith("/Name")) {
for (const [key, value] of url.searchParams.entries()) {
@ -522,6 +529,12 @@ function redirect(url, type, initiator, forceRedirection) {
}
return `${randomInstance}`
}
case "safetwitch": {
if (url.hostname.startsWith("clips.")) {
return `${randomInstance}/clip${url.pathname}${url.search}`
}
return `${randomInstance}${url.pathname}${url.search}`
}
default: {
return `${randomInstance}${url.pathname}${url.search}`
}

View File

@ -18,26 +18,6 @@
}
},
"services": {
"youtubeMusic": {
"frontends": {
"hyperpipe": {
"name": "Hyperpipe",
"instanceList": true,
"url": "https://codeberg.org/Hyperpipe/Hyperpipe"
}
},
"targets": [
"^https?:\\/{2}music\\.youtube\\.com\\/"
],
"name": "YT Music",
"options": {
"enabled": false,
"frontend": "hyperpipe",
"unsupportedUrls": "bypass"
},
"imageType": "png",
"url": "https://music.youtube.com"
},
"youtube": {
"frontends": {
"invidious": {
@ -141,6 +121,32 @@
"embeddable": true,
"url": "https://youtube.com"
},
"youtubeMusic": {
"frontends": {
"hyperpipe": {
"name": "Hyperpipe",
"instanceList": true,
"url": "https://codeberg.org/Hyperpipe/Hyperpipe"
},
"invidiousMusic": {
"name": "Invidious",
"embeddable": true,
"instanceList": true,
"url": "https://invidious.io/"
}
},
"targets": [
"^https?:\\/{2}music\\.youtube\\.com\\/"
],
"name": "YT Music",
"options": {
"enabled": false,
"frontend": "hyperpipe",
"unsupportedUrls": "bypass"
},
"imageType": "png",
"url": "https://music.youtube.com"
},
"twitter": {
"frontends": {
"nitter": {
@ -182,7 +188,7 @@
}
},
"targets": [
"^https?:\\/{2}(www\\.)?twitch\\.(tv|com)\\/"
"^https?:\\/{2}(www\\.|clips\\.)?twitch\\.(tv|com)\\/"
],
"name": "Twitch",
"options": {
@ -562,6 +568,48 @@
"imageType": "svgMono",
"url": "https://maps.libredirect.invalid"
},
"sendFiles": {
"frontends": {
"send": {
"name": "Send",
"instanceList": true,
"url": "https://gitlab.com/timvisee/send"
}
},
"targets": [
"^https?:\\/{2}send\\.libredirect\\.invalid",
"^https?:\\/{2}send\\.firefox\\.com\\/?$",
"^https?:\\/{2}sendfiles\\.online\\/?$"
],
"name": "Send Files",
"options": {
"enabled": false,
"unsupportedUrls": "bypass",
"frontend": "send"
},
"imageType": "svgMono",
"url": "https://send.libredirect.invalid"
},
"textStorage": {
"frontends": {
"privateBin": {
"name": "PrivateBin",
"instanceList": true,
"url": "https://privatebin.info"
}
},
"targets": [
"^https?:\\/{2}paste\\.libredirect\\.invalid"
],
"name": "Paste Text",
"options": {
"enabled": false,
"unsupportedUrls": "bypass",
"frontend": "privateBin"
},
"imageType": "svgMono",
"url": "https://paste.libredirect.invalid"
},
"reuters": {
"frontends": {
"neuters": {
@ -845,6 +893,26 @@
"imageType": "svg",
"url": "https://www.instructables.com"
},
"meet": {
"name": "Meet",
"frontends": {
"jitsi": {
"name": "Jitsi",
"instanceList": true,
"url": "https://jitsi.org"
}
},
"targets": [
"^https?:\\/{2}meet\\.libredirect\\.invalid\\/"
],
"options": {
"enabled": false,
"unsupportedUrls": "bypass",
"frontend": "jitsi"
},
"imageType": "svgMono",
"url": "https://meet.libredirect.invalid"
},
"wolframAlpha": {
"frontends": {
"wolfreeAlpha": {

View File

@ -1,7 +1,7 @@
{
"name": "__MSG_extensionName__",
"description": "__MSG_extensionDescription__",
"version": "2.8.0",
"version": "2.8.1",
"manifest_version": 2,
"browser_specific_settings": {
"gecko": {

View File

@ -131,7 +131,7 @@ section.links {
flex-wrap: wrap;
flex-direction: column;
width: 350px;
max-height: 800px;
max-height: 890px;
}
section.links div {