Compare commits
110 Commits
Author | SHA1 | Date |
---|---|---|
Simon Brazell | cd35a73b4d | |
Simon Brazell | a0535ed12a | |
Simon Brazell | dc57781e55 | |
Simon Brazell | 6503cb3b0c | |
Simon Brazell | 8d24d0fe6d | |
ry | 449c6e5290 | |
Siddharth Singh | 9faa9c7a5a | |
Alyssa Ross | ef09d87fb0 | |
xanoni | 02d90bda57 | |
MonsieurBibo | 97d186e272 | |
Simon Brazell | 4c1290acb2 | |
Elaborendum | 11819843f4 | |
SimonBrazell | b31c5bf75a | |
Simon Brazell | 6b26f27f9a | |
Simon Brazell | 20aafaaa17 | |
git-bruh | fe98d5a798 | |
Simon Brazell | a2405b44b4 | |
Simon Brazell | a42fe58b1d | |
Simon Brazell | 049f71fd71 | |
Emilien Devos | ee6a96ec0a | |
Kotuklion | 033dad74bc | |
Kotuklion | 9d92671692 | |
Kotuklion | 010d19aff9 | |
Kotuklion | 058ca7b6e0 | |
Kotuklion | cf7575f33b | |
Kotuklion | 60be141050 | |
unbranched | 1ef8f02372 | |
Tim Hårek Andreassen | 2f903e056b | |
SimonBrazell | 8a21b62478 | |
SimonBrazell | 20a6692e4c | |
Simon Brazell | c1b446ced1 | |
SimonBrazell | 1e1fb22302 | |
SimonBrazell | 0bd8507fb8 | |
Simon Brazell | c78ee93ae6 | |
Simon Brazell | 4f9c130396 | |
Simon Brazell | ebd09086b6 | |
Simon Brazell | 278714033d | |
Simon Brazell | 2c9be901ee | |
Simon Brazell | 292c4bc2ff | |
Simon Brazell | cda8e74567 | |
SimonBrazell | 061dfc0904 | |
Gaurang Tandon | 1cbaa3b4a5 | |
FantasyCookie17 | b8a6ec89c9 | |
bopol | 8e88786dc2 | |
unbranched | 6875ad6dbb | |
unbranched | 7d9ad32ac6 | |
Austin Huang | 8a8fe35b6b | |
Austin Huang | a9e6411ca2 | |
Austin Huang | cfd7c15306 | |
Émilien Devos | d1f27107a1 | |
Simon Brazell | 888fb0fad0 | |
Jason Kim | 8e11c48850 | |
Jason Kim | e3df6c4333 | |
Jason Kim | 21ee6b8542 | |
Jason Kim | bb6894cec5 | |
Jason Kim | 24bf815516 | |
Jason Kim | 9fc3fccf65 | |
Jason Kim | 68a89b1c0c | |
fattalion | 4ad9fd5971 | |
Simon Brazell | 800aa2b6a5 | |
TotalCaesar659 | 2a247f4772 | |
SimonBrazell | 32dc9b1601 | |
SimonBrazell | 972ad1299e | |
SimonBrazell | f714c666d9 | |
SimonBrazell | 01e986fce3 | |
SimonBrazell | 7640e5c6bc | |
Simon Brazell | a45e7def92 | |
Simon Brazell | 74f5642cc5 | |
Simon Brazell | 46593ef565 | |
Simon Brazell | 0ba8546292 | |
Simon Brazell | 0135202682 | |
Simon Brazell | e9f47ab03f | |
Simon Brazell | 9c34dc5c5b | |
Simon Brazell | 13884fa6c3 | |
Simon Brazell | 6d4d070523 | |
Simon Brazell | 35f2b4bb70 | |
Simon Brazell | 036a2bea1b | |
alefvanoon | 5bdd9cd914 | |
alefvanoon | 4565c23f19 | |
alefvanoon | aeb94f5835 | |
alefvanoon | cc21902cb0 | |
alefvanoon | a2dcb2de56 | |
alefvanoon | 12fa39e8b0 | |
alefvanoon | f76ef21294 | |
alefvanoon | 0c2a0ed64f | |
Jason Kim | 905abce8f7 | |
Jason Kim | e86895b008 | |
Jason Kim | 123cca4e5c | |
Jason Kim | 397fd8cffb | |
Jason Kim | 0799b93000 | |
Cadence Ember | 6446da6e4c | |
Harsh Barsaiyan | b5920f052a | |
Harsh Barsaiyan | 0b9f5062a0 | |
Camille019 | 2d2ef8f1f2 | |
Harsh Barsaiyan | 280064310d | |
fattalion | 7ab37d80de | |
fattalion | 2bb90f8f41 | |
Andrew Zhao | fd37caecf1 | |
Elaborendum | dfc91d4aaf | |
Elaborendum | 7d21a5a15d | |
obeho | 1f7e58ede4 | |
Simon Brazell | a76ea4f66e | |
Simon Brazell | a8b1681648 | |
Martin Matous | f42ccd8891 | |
howoz | 1d120b2165 | |
howoz | ed0ddd7575 | |
Simon Brazell | f446c0922d | |
Youssif Shaaban Alsager | bf1bc849ba | |
Simon Brazell | a33542eefc | |
TotalCaesar659 | a12ec9dc55 |
14
README.md
14
README.md
|
@ -12,13 +12,15 @@
|
||||||
|
|
||||||
[![Donate](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.com/SimonBrazell/donate) [![Buy me a coffee](src/assets/images/buy-me-a-coffee.png)](https://www.buymeacoffee.com/SimonBrazell)
|
[![Donate](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.com/SimonBrazell/donate) [![Buy me a coffee](src/assets/images/buy-me-a-coffee.png)](https://www.buymeacoffee.com/SimonBrazell)
|
||||||
|
|
||||||
- **BTC:** 3JZWooswwmmqQKw5iW6AYFfK5gcWTrvueE
|
- **FIRO** `aEyKPU7mwWBYRFGoLiUGeQQybyzD8jzsS8`
|
||||||
|
- **BTC:** `3JZWooswwmmqQKw5iW6AYFfK5gcWTrvueE`
|
||||||
|
- **ETH:** `0x90049dc59365dF683451319Aa4632aC61193dFA7`
|
||||||
|
|
||||||
<img src="https://img.shields.io/liberapay/receives/SimonBrazell.svg?logo=liberapay">
|
<img src="https://img.shields.io/liberapay/receives/SimonBrazell.svg?logo=liberapay">
|
||||||
|
|
||||||
## About
|
## About
|
||||||
|
|
||||||
A web extension that redirects _Twitter, YouTube, Instagram, Google Maps, Reddit & Google Search_ requests to privacy friendly alternatives - [Nitter](https://github.com/zedeus/nitter), [Invidious](https://github.com/iv-org/invidious), [FreeTube](https://github.com/FreeTubeApp/FreeTube), [Bibliogram](https://sr.ht/~cadence/bibliogram/), [OpenStreetMap](https://www.openstreetmap.org/) & Private Search Engines like [DuckDuckGo](https://duckduckgo.com) and [Startpage](https://startpage.com).
|
A web extension that redirects _Twitter, YouTube, Instagram, Google Maps, Reddit, Google Search, & Google Translate_ requests to privacy friendly alternative frontends for those sites - [Nitter](https://github.com/zedeus/nitter), [Invidious](https://github.com/iv-org/invidious), [FreeTube](https://github.com/FreeTubeApp/FreeTube), [Bibliogram](https://sr.ht/~cadence/bibliogram/), [OpenStreetMap](https://www.openstreetmap.org/), [SimplyTranslate](https://git.sr.ht/~metalune/simplytranslate_web) & Private Search Engines like [DuckDuckGo](https://duckduckgo.com) and [Startpage](https://startpage.com).
|
||||||
|
|
||||||
It's possible to toggle all redirects on and off. The extension will default to using random instances if none are selected. If these instances are not working, you can try and set a custom instance from the list below.
|
It's possible to toggle all redirects on and off. The extension will default to using random instances if none are selected. If these instances are not working, you can try and set a custom instance from the list below.
|
||||||
|
|
||||||
|
@ -27,8 +29,9 @@ It's possible to toggle all redirects on and off. The extension will default to
|
||||||
Privacy Redirect allows setting custom instances, instances can be found here:
|
Privacy Redirect allows setting custom instances, instances can be found here:
|
||||||
|
|
||||||
- [Nitter instances](https://github.com/zedeus/nitter/wiki/Instances)
|
- [Nitter instances](https://github.com/zedeus/nitter/wiki/Instances)
|
||||||
- [Invidious instances](https://github.com/iv-org/invidious/wiki/Invidious-Instances)
|
- [Invidious instances](https://docs.invidious.io/Invidious-Instances.md)
|
||||||
- [Bibliogram instances](https://git.sr.ht/~cadence/bibliogram-docs/tree/master/docs/Instances.md)
|
- [Bibliogram instances](https://git.sr.ht/~cadence/bibliogram-docs/tree/master/docs/Instances.md)
|
||||||
|
- [SimplyTranslate instances](https://git.sr.ht/~metalune/simplytranslate_web#list-of-instances)
|
||||||
- [OpenStreetMap tile servers](https://wiki.openstreetmap.org/wiki/Tile_servers)
|
- [OpenStreetMap tile servers](https://wiki.openstreetmap.org/wiki/Tile_servers)
|
||||||
- Reddit alternatives:
|
- Reddit alternatives:
|
||||||
- [Libreddit](https://github.com/spikecodes/libreddit#instances)
|
- [Libreddit](https://github.com/spikecodes/libreddit#instances)
|
||||||
|
@ -39,8 +42,11 @@ Privacy Redirect allows setting custom instances, instances can be found here:
|
||||||
- [SearX](https://searx.github.io/searx/)
|
- [SearX](https://searx.github.io/searx/)
|
||||||
- [DuckDuckGo](https://duckduckgo.com)
|
- [DuckDuckGo](https://duckduckgo.com)
|
||||||
- [Startpage](https://startpage.com)
|
- [Startpage](https://startpage.com)
|
||||||
|
- [Ecosia](https://www.ecosia.org)
|
||||||
- [Qwant](https://www.qwant.com)
|
- [Qwant](https://www.qwant.com)
|
||||||
- [Mojeek](https://www.mojeek.com)
|
- [Mojeek](https://www.mojeek.com)
|
||||||
|
- [Presearch](https://www.presearch.org)
|
||||||
|
- [Whoogle](https://benbusby.com/projects/whoogle-search/)
|
||||||
|
|
||||||
## Development
|
## Development
|
||||||
|
|
||||||
|
@ -60,7 +66,7 @@ Privacy Redirect allows setting custom instances, instances can be found here:
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
[GPLv3](LICENSE.txt).
|
[GPLv3](LICENSE).
|
||||||
|
|
||||||
## Permissions
|
## Permissions
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "privacy-redirect",
|
"name": "privacy-redirect",
|
||||||
"description": "Redirects Twitter, YouTube, Instagram & Google Maps requests to privacy friendly alternatives.",
|
"description": "Redirects Twitter, YouTube, Instagram and more to privacy friendly alternatives.",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10.0.0",
|
"node": ">=10.0.0",
|
||||||
"npm": ">=5.6.0"
|
"npm": ">=5.6.0"
|
||||||
|
@ -14,12 +14,12 @@
|
||||||
"url": "git+https://github.com/SimonBrazell/privacy-redirect.git"
|
"url": "git+https://github.com/SimonBrazell/privacy-redirect.git"
|
||||||
},
|
},
|
||||||
"author": "SimonBrazell",
|
"author": "SimonBrazell",
|
||||||
"license": "GPLv3",
|
"license": "GPL-3.0-only",
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/SimonBrazell/privacy-redirect/issues"
|
"url": "https://github.com/SimonBrazell/privacy-redirect/issues"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/SimonBrazell/privacy-redirect#readme",
|
"homepage": "https://github.com/SimonBrazell/privacy-redirect#readme",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"web-ext": "^5.4.1"
|
"web-ext": "^6.2.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"description": "Name of the extension."
|
"description": "Name of the extension."
|
||||||
},
|
},
|
||||||
"extensionDescription": {
|
"extensionDescription": {
|
||||||
"message": "Redirects Twitter, YouTube, Instagram, Google Maps, Reddit & Google Search requests to privacy friendly alternatives.",
|
"message": "Redirects Twitter, YouTube, Instagram and more to privacy friendly alternatives.",
|
||||||
"description": "Description of the extension."
|
"description": "Description of the extension."
|
||||||
},
|
},
|
||||||
"nitterInstance": {
|
"nitterInstance": {
|
||||||
|
@ -31,6 +31,14 @@
|
||||||
"message": "Search Engine Instance",
|
"message": "Search Engine Instance",
|
||||||
"description": "Label for Search Engine instance field option (options)."
|
"description": "Label for Search Engine instance field option (options)."
|
||||||
},
|
},
|
||||||
|
"simplyTranslateInstance": {
|
||||||
|
"message": "SimplyTranslate Instance",
|
||||||
|
"description": "Label for SimplyTranslate instance field option (options)."
|
||||||
|
},
|
||||||
|
"wikipediaInstance": {
|
||||||
|
"message": "Wikipedia Instance",
|
||||||
|
"description": "Label for Wikipedia instance field option (options)."
|
||||||
|
},
|
||||||
"disableNitter": {
|
"disableNitter": {
|
||||||
"message": "Nitter Redirects",
|
"message": "Nitter Redirects",
|
||||||
"description": "Label for enable/disable Nitter redirects option (options & pop-up)."
|
"description": "Label for enable/disable Nitter redirects option (options & pop-up)."
|
||||||
|
@ -55,6 +63,14 @@
|
||||||
"message": "Search Engine Redirects",
|
"message": "Search Engine Redirects",
|
||||||
"description": "Label for enable/disable Search Engine redirects option (options & pop-up)."
|
"description": "Label for enable/disable Search Engine redirects option (options & pop-up)."
|
||||||
},
|
},
|
||||||
|
"disableSimplyTranslate": {
|
||||||
|
"message": "SimplyTranslate Redirects",
|
||||||
|
"description": "Label for enable/disable SimplyTranslate redirects option (options & pop-up)."
|
||||||
|
},
|
||||||
|
"disableWikipedia": {
|
||||||
|
"message": "Wikipedia Redirects",
|
||||||
|
"description": "Label for enable/disable Wikipedia redirects option (options & pop-up)."
|
||||||
|
},
|
||||||
"alwaysProxy": {
|
"alwaysProxy": {
|
||||||
"message": "Always proxy videos through Invidious",
|
"message": "Always proxy videos through Invidious",
|
||||||
"description": "Label for 'Always proxy videos through Invidious' option (options)."
|
"description": "Label for 'Always proxy videos through Invidious' option (options)."
|
||||||
|
|
|
@ -0,0 +1,162 @@
|
||||||
|
{
|
||||||
|
"extensionName": {
|
||||||
|
"message": "Privacy Redirect",
|
||||||
|
"description": "Nombre de la extensión."
|
||||||
|
},
|
||||||
|
"extensionDescription": {
|
||||||
|
"message": "Redirige las solicitudes de Twitter, Youtube, Instagram, Google Maps, Reddit y la Búsqueda de Google a alternativas que respetan su privacidad.",
|
||||||
|
"description": "Descripción de la extensión."
|
||||||
|
},
|
||||||
|
"nitterInstance": {
|
||||||
|
"message": "Instancia de Nitter",
|
||||||
|
"description": "Etiqueta del campo para la instancia de Nitter (opciones)."
|
||||||
|
},
|
||||||
|
"invidiousInstance": {
|
||||||
|
"message": "Instancia de Invidious",
|
||||||
|
"description": "Etiqueta del campo para la instancia de Invidious (opciones)."
|
||||||
|
},
|
||||||
|
"bibliogramInstance": {
|
||||||
|
"message": "Instancia de Bibliogram",
|
||||||
|
"description": "Etiqueta del campo para la instancia de Bibliogram (opciones)."
|
||||||
|
},
|
||||||
|
"osmInstance": {
|
||||||
|
"message": "Instancia de OpenStreetMap",
|
||||||
|
"description": "Etiqueta del campo para la instancia de OSM (opciones)."
|
||||||
|
},
|
||||||
|
"redditInstance": {
|
||||||
|
"message": "Instancia de Reddit",
|
||||||
|
"description": "Etiqueta del campo para la instancia de Reddit (opciones)."
|
||||||
|
},
|
||||||
|
"searchEngineInstance": {
|
||||||
|
"message": "Instancia de Buscador",
|
||||||
|
"description": "Etiqueta del campo para la instancia de Buscador (opciones)."
|
||||||
|
},
|
||||||
|
"simplyTranslateInstance": {
|
||||||
|
"message": "Instancia deSimplyTranslate",
|
||||||
|
"description": "Etiqueta del campo para la instancia de SimplyTranslate (opciones)."
|
||||||
|
},
|
||||||
|
"wikipediaInstance": {
|
||||||
|
"message": "Instancia de Wikipedia",
|
||||||
|
"description": "Etiqueta del campo para la instancia de Wikipedia (opciones)."
|
||||||
|
},
|
||||||
|
"disableNitter": {
|
||||||
|
"message": "Redirecciones de Nitter",
|
||||||
|
"description": "Etiqueta para activar/desactivar la opción de redirecciones de Nitter (opciones y pop-up)."
|
||||||
|
},
|
||||||
|
"disableInvidious": {
|
||||||
|
"message": "Redirecciones de Invidious",
|
||||||
|
"description": "Etiqueta para activar/desactivar la opción de redirecciones de Invidious (opciones y pop-up)."
|
||||||
|
},
|
||||||
|
"disableBibliogram": {
|
||||||
|
"message": "Redirecciones de Bibliogram",
|
||||||
|
"description": "Etiqueta para activar/desactivar la opción de redirecciones de Bibliogram (opciones y pop-up)."
|
||||||
|
},
|
||||||
|
"disableOsm": {
|
||||||
|
"message": "Redirecciones de OpenStreetMap",
|
||||||
|
"description": "Etiqueta para activar/desactivar la opción de redirecciones de OSM (opciones y pop-up)."
|
||||||
|
},
|
||||||
|
"disableReddit": {
|
||||||
|
"message": "Redirecciones de Reddit",
|
||||||
|
"description": "Etiqueta para activar/desactivar la opción de redirecciones de Reddit (opciones y pop-up)."
|
||||||
|
},
|
||||||
|
"disableSearchEngine": {
|
||||||
|
"message": "Redirecciones de Buscador",
|
||||||
|
"description": "Etiqueta para activar/desactivar la opción de redirecciones de Buscador (opciones y pop-up)."
|
||||||
|
},
|
||||||
|
"disableSimplyTranslate": {
|
||||||
|
"message": "Redirecciones de SimplyTranslate",
|
||||||
|
"description": "Etiqueta para activar/desactivar la opción de redirecciones de SimplyTranslate (opciones y pop-up)."
|
||||||
|
},
|
||||||
|
"disableWikipedia": {
|
||||||
|
"message": "Redirecciones de Wikipedia",
|
||||||
|
"description": "Etiqueta para activar/desactivar la opción de redirecciones de Wikipedia (opciones y pop-up)."
|
||||||
|
},
|
||||||
|
"alwaysProxy": {
|
||||||
|
"message": "Siempre usar el proxy de Invidious para videos",
|
||||||
|
"description": "Etiqueta para la opción de 'Siempre usar el proxy de Invidious para videos' (opciones)."
|
||||||
|
},
|
||||||
|
"onlyEmbeddedVideo": {
|
||||||
|
"message": "Solo redirigir los videos incrustados a Invidious",
|
||||||
|
"description": "Etiqueta para la opción de 'Solo redirigir los videos incrustados a Invidious' (opciones)."
|
||||||
|
},
|
||||||
|
"videoQuality": {
|
||||||
|
"message": "Calidad de Video de Invidious",
|
||||||
|
"description": "Etiqueta para la opción de 'Calidad de Video de Invidious' (opciones)."
|
||||||
|
},
|
||||||
|
"removeTwitterSW": {
|
||||||
|
"message": "Eliminar proactivamente el service worker de Twitter",
|
||||||
|
"description": "Etiqueta para la opción de 'Eliminar proactivamente el service worker de Twitter' (opciones)."
|
||||||
|
},
|
||||||
|
"invidiousDarkMode": {
|
||||||
|
"message": "Modo oscuro de Invidious siempre activo",
|
||||||
|
"description": "Etiqueta para la opción de 'Modo oscuro de Invidious siempre activo' (opciones)."
|
||||||
|
},
|
||||||
|
"persistInvidiousPrefs": {
|
||||||
|
"message": "Preservar preferencias de Invidious (como cookie)",
|
||||||
|
"description": "Etiqueta para la opción de 'Preservar preferencias de Invidious (como cookie)' (opciones)."
|
||||||
|
},
|
||||||
|
"generalTab": {
|
||||||
|
"message": "General",
|
||||||
|
"description": "Pestaña general (opciones)."
|
||||||
|
},
|
||||||
|
"advancedTab": {
|
||||||
|
"message": "Avanzado",
|
||||||
|
"description": "Pestaña avanzado (opciones)."
|
||||||
|
},
|
||||||
|
"exceptionsTab": {
|
||||||
|
"message": "Excepciones",
|
||||||
|
"description": "Pestaña de excepciones (opciones)."
|
||||||
|
},
|
||||||
|
"exceptionsDescriptionP1": {
|
||||||
|
"message": "Ingrese la URL o la Expresión Regular a excluir de las redirecciones.",
|
||||||
|
"description": "Una descripción de la función 'Excepciones' párrafo 1 (opciones)."
|
||||||
|
},
|
||||||
|
"exceptionsDescriptionP2": {
|
||||||
|
"message": "Todas las solicitudes para o provenientes de una URL que coincida con la excepción serán excluidas de las redirecciones.",
|
||||||
|
"description": "Una descripción de la función 'Excepciones' párrafo 2 (opciones)."
|
||||||
|
},
|
||||||
|
"exceptionsDescriptionP3": {
|
||||||
|
"message": "Nota – Soporta expresiones regulares de JavaScript, excluyendo las barras oblicuas de cierre.",
|
||||||
|
"description": "Una descripción de la función 'Excepciones' párrafo 3 (opciones)."
|
||||||
|
},
|
||||||
|
"addException": {
|
||||||
|
"message": "Agregar Excepción",
|
||||||
|
"description": "Botón de 'Agregar Excepción' (opciones)."
|
||||||
|
},
|
||||||
|
"moreOptions": {
|
||||||
|
"message": "Más Opciones",
|
||||||
|
"description": "Botón de 'Más Opciones' (pop-up)."
|
||||||
|
},
|
||||||
|
"privacy": {
|
||||||
|
"message": "Privacy",
|
||||||
|
"description": "Título de la extensión - Privacy (pop-up)."
|
||||||
|
},
|
||||||
|
"redirect": {
|
||||||
|
"message": "Redirect",
|
||||||
|
"description": "Título de la extensión - Redirect (pop-up)."
|
||||||
|
},
|
||||||
|
"version": {
|
||||||
|
"message": "Versión",
|
||||||
|
"description": "Versión"
|
||||||
|
},
|
||||||
|
"useFreeTube": {
|
||||||
|
"message": "Usar FreeTube en vez de Invidious cuando sea posible",
|
||||||
|
"description": "Etiqueta para la opción de 'Usar FreeTube en vez de Invidious cuando sea posible' (opciones)."
|
||||||
|
},
|
||||||
|
"nitterRandomPool": {
|
||||||
|
"message": "Grupo de instancias aleatorias de Nitter (separadas por coma)",
|
||||||
|
"description": "Etiqueta para la opción de 'Grupo de instancias aleatorias de Nitter (separadas por coma)' (opciones)."
|
||||||
|
},
|
||||||
|
"invidiousRandomPool": {
|
||||||
|
"message": "Grupo de instancias aleatorias de Invidious (separadas por coma)",
|
||||||
|
"description": "Etiqueta para la opción de 'Grupo de instancias aleatorias de Invidious (separadas por coma)' (opciones)."
|
||||||
|
},
|
||||||
|
"bibliogramRandomPool": {
|
||||||
|
"message": "Grupo de instancias aleatorias de Bibliogram (separadas por coma)",
|
||||||
|
"description": "Etiqueta para la opción de 'Grupo de instancias aleatorias de Bibliogram (separadas por coma)' (opciones)."
|
||||||
|
},
|
||||||
|
"randomInstancePlaceholder": {
|
||||||
|
"message": "Instancia aleatoria (ninguna seleccionada)",
|
||||||
|
"description": "Entrada provisional en la configuración del proveedor de instancia que selecciona una instancia aleatoria del grupo cuando ninguna está seleccionada"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,54 @@
|
||||||
|
# Extension Store (AMO & Chrome Web Store) Listing
|
||||||
|
|
||||||
|
## Summary:
|
||||||
|
|
||||||
|
```
|
||||||
|
Una extensión web simple que redirige las solicitudes de Twitter, Youtube, Instagram, Google Maps, Reddit y la Búsqueda de Google a alternativas que respetan su privacidad.
|
||||||
|
```
|
||||||
|
|
||||||
|
## Description (AMO):
|
||||||
|
|
||||||
|
```
|
||||||
|
Redirige las solicitudes de Twitter, Youtube, Instagram, Google Maps, Reddit y la Búsqueda de Google a alternativas que respetan su privacidad. - <a href='https://nitter.net/'>Nitter</a>, <a href='https://invidio.us/'>Invidious</a>, <a href='https://bibliogram.art/'>Bibliogram</a>, & <a href='https://www.openstreetmap.org'>OpenStreetMap</a>.
|
||||||
|
|
||||||
|
Permite ingresar instancias personalizadas, activar/desactivar todas las redirecciones y más.
|
||||||
|
|
||||||
|
<b>★ Más Información: ℹ️</b>
|
||||||
|
<ul>
|
||||||
|
<li><a href='https://github.com/zedeus/nitter#nitter-wip'>Nitter</a></li>
|
||||||
|
<li><a href='https://github.com/omarroth/invidious#invidious'>Invidious</a></li>
|
||||||
|
<li><a href='https://github.com/cloudrac3r/bibliogram#bibliogram'>Bibliogram</a></li>
|
||||||
|
<li><a href='https://wiki.openstreetmap.org/'>OpenStreetMap</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
El código de esta extensión web está disponible en <a href='https://github.com/SimonBrazell/privacy-redirect'>Github</a>.
|
||||||
|
|
||||||
|
<b>★ Dona: 👨🏻💻</b>
|
||||||
|
Si te gusta esta extensión y tienes los recursos económicos, por favor considera <a href='https://www.buymeacoffee.com/SimonBrazell'>comprarme un café</a> ☕️ para mostrar tu aprecio y apoyo al desarrollo del proyecto.
|
||||||
|
|
||||||
|
<b>★ Permisos: ℹ️</b>
|
||||||
|
<ul>
|
||||||
|
<li>Por favor, tenga en cuenta que se requiere acceso a todos los eventos de navegación del sitio web (todas las URL), no solo a los dominios de destino, para permitir redireccionamientos de videos incrustados. En este momento no conozco ninguna otra manera de lograr redirecciones iframe; sin embargo, estaría feliz de escuchar algunas sugerencias al respecto 🙂</li>
|
||||||
|
</ul>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Description (Chrome & Mircosoft):
|
||||||
|
|
||||||
|
```
|
||||||
|
★ Más Información: ℹ️
|
||||||
|
• Nitter - https://github.com/zedeus/nitter
|
||||||
|
• Invidious - https://github.com/omarroth/invidious
|
||||||
|
• Bibliogram - https://github.com/cloudrac3r/bibliogram
|
||||||
|
• OpenStreetMap - https://wiki.openstreetmap.org
|
||||||
|
|
||||||
|
El código de esta extensión web está disponible en Github - https://github.com/SimonBrazell/privacy-redirect
|
||||||
|
|
||||||
|
★ Dona: 👨🏻💻
|
||||||
|
Si te gusta esta extensión y tienes los recursos económicos, por favor considera comprarme un café ☕️ para mostrar tu aprecio y apoyo al desarrollo del proyecto.
|
||||||
|
|
||||||
|
☕️ https://www.buymeacoffee.com/SimonBrazell ☕️
|
||||||
|
🍻 https://liberapay.com/SimonBrazell/donate 🍻
|
||||||
|
|
||||||
|
★ Permisos: ℹ️
|
||||||
|
• Por favor, tenga en cuenta que se requiere acceso a todos los eventos de navegación del sitio web (todas las URL), no solo a los dominios de destino, para permitir redireccionamientos de videos incrustados. En este momento no conozco ninguna otra manera de lograr redirecciones iframe; sin embargo, estaría feliz de escuchar algunas sugerencias al respecto 🙂
|
||||||
|
```
|
|
@ -9,7 +9,7 @@ Redirige les requêtes les demandes Twitter, YouTube, Instagram et Google Maps v
|
||||||
## Description:
|
## Description:
|
||||||
|
|
||||||
```
|
```
|
||||||
Redirige les requètes pour Twitter, YouTube, Instagram et Google Maps vers des alternatives respectueuses de la confidentialité - <a href="https://nitter.net/">Nitter</a>, <a href="https://invidio.us/">Invidious</a>, <a href="https://bibliogram.art/">Bibliogram</a>, & <a href="https://www.openstreetmap.org">OpenStreetMap</a>.
|
Redirige les requêtes pour Twitter, YouTube, Instagram et Google Maps vers des alternatives respectueuses de la confidentialité - <a href="https://nitter.net/">Nitter</a>, <a href="https://invidio.us/">Invidious</a>, <a href="https://bibliogram.art/">Bibliogram</a>, & <a href="https://www.openstreetmap.org">OpenStreetMap</a>.
|
||||||
|
|
||||||
Permet de définir des instances personnalisées et d'activer ou désactiver toutes les redirections.
|
Permet de définir des instances personnalisées et d'activer ou désactiver toutes les redirections.
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,154 @@
|
||||||
|
{
|
||||||
|
"extensionName": {
|
||||||
|
"message": "Privacy Redirect",
|
||||||
|
"description": "Name of the extension."
|
||||||
|
},
|
||||||
|
"extensionDescription": {
|
||||||
|
"message": "Reindirizza Twitter, YouTube, Instagram ed altri verso alternative rispettose della privacy.",
|
||||||
|
"description": "Description of the extension."
|
||||||
|
},
|
||||||
|
"nitterInstance": {
|
||||||
|
"message": "Istanza di Nitter",
|
||||||
|
"description": "Label for Nitter instance field option (options)."
|
||||||
|
},
|
||||||
|
"invidiousInstance": {
|
||||||
|
"message": "Istanza di Invidious",
|
||||||
|
"description": "Label for Invidious instance field option (options)."
|
||||||
|
},
|
||||||
|
"bibliogramInstance": {
|
||||||
|
"message": "Istanza di Bibliogram",
|
||||||
|
"description": "Label for Bibliogram instance field option (options)."
|
||||||
|
},
|
||||||
|
"osmInstance": {
|
||||||
|
"message": "Istanza di OpenStreetMap",
|
||||||
|
"description": "Label for OSM instance field option (options)."
|
||||||
|
},
|
||||||
|
"redditInstance": {
|
||||||
|
"message": "Istanza di Reddit",
|
||||||
|
"description": "Label for Reddit instance field option (options)."
|
||||||
|
},
|
||||||
|
"searchEngineInstance": {
|
||||||
|
"message": "Istanza del motore di ricerca",
|
||||||
|
"description": "Label for Search Engine instance field option (options)."
|
||||||
|
},
|
||||||
|
"simplyTranslateInstance": {
|
||||||
|
"message": "Istanza di SimplyTranslate",
|
||||||
|
"description": "Label for SimplyTranslate instance field option (options)."
|
||||||
|
},
|
||||||
|
"disableNitter": {
|
||||||
|
"message": "Reindirizzamenti Nitter",
|
||||||
|
"description": "Label for enable/disable Nitter redirects option (options & pop-up)."
|
||||||
|
},
|
||||||
|
"disableInvidious": {
|
||||||
|
"message": "Reindirizzamenti Invidious",
|
||||||
|
"description": "Label for enable/disable Invidious redirects option (options & pop-up)."
|
||||||
|
},
|
||||||
|
"disableBibliogram": {
|
||||||
|
"message": "Reindirizzamenti Bibliogram",
|
||||||
|
"description": "Label for enable/disable Bibliogram redirects option (options & pop-up)."
|
||||||
|
},
|
||||||
|
"disableOsm": {
|
||||||
|
"message": "Reindirizzamenti OpenStreetMap",
|
||||||
|
"description": "Label for enable/disable OSM redirects option (options & pop-up)."
|
||||||
|
},
|
||||||
|
"disableReddit": {
|
||||||
|
"message": "Reindirizzamenti Reddit",
|
||||||
|
"description": "Label for enable/disable Reddit redirects option (options & pop-up)."
|
||||||
|
},
|
||||||
|
"disableSearchEngine": {
|
||||||
|
"message": "Reindirizzamenti motore di ricerca",
|
||||||
|
"description": "Label for enable/disable Search Engine redirects option (options & pop-up)."
|
||||||
|
},
|
||||||
|
"disableSimplyTranslate": {
|
||||||
|
"message": "Reindirizzamenti SimplyTranslate",
|
||||||
|
"description": "Label for enable/disable SimplyTranslate redirects option (options & pop-up)."
|
||||||
|
},
|
||||||
|
"alwaysProxy": {
|
||||||
|
"message": "Usa sempre il proxy per i video su Invidious",
|
||||||
|
"description": "Label for 'Always proxy videos through Invidious' option (options)."
|
||||||
|
},
|
||||||
|
"onlyEmbeddedVideo": {
|
||||||
|
"message": "Reindirizza solo i video incorporati verso Invidious",
|
||||||
|
"description": "Label for 'Only redirect embedded video to Invidious' option (options)."
|
||||||
|
},
|
||||||
|
"videoQuality": {
|
||||||
|
"message": "Qualità video di Invidious",
|
||||||
|
"description": "Label for 'Invidious Video Quality' option (options)."
|
||||||
|
},
|
||||||
|
"removeTwitterSW": {
|
||||||
|
"message": "Rimuovi proattivamente il service worker di Twitter",
|
||||||
|
"description": "Label for 'Proactively remove Twitter service worker' option (options)."
|
||||||
|
},
|
||||||
|
"invidiousDarkMode": {
|
||||||
|
"message": "Modalità scura di Invidious sempre attiva",
|
||||||
|
"description": "Label for 'Invidious dark mode always on' option (options)."
|
||||||
|
},
|
||||||
|
"persistInvidiousPrefs": {
|
||||||
|
"message": "Mantieni le preferenze di Invidious (con cookie)",
|
||||||
|
"description": "Label for 'Persist Invidious preferences (as cookie)' option (options)."
|
||||||
|
},
|
||||||
|
"generalTab": {
|
||||||
|
"message": "Generali",
|
||||||
|
"description": "General tab (options)."
|
||||||
|
},
|
||||||
|
"advancedTab": {
|
||||||
|
"message": "Avanzate",
|
||||||
|
"description": "Advanced tab (options)."
|
||||||
|
},
|
||||||
|
"exceptionsTab": {
|
||||||
|
"message": "Eccezioni",
|
||||||
|
"description": "Exceptions tab (options)."
|
||||||
|
},
|
||||||
|
"exceptionsDescriptionP1": {
|
||||||
|
"message": "Inserisci un URL o espressione regolare da escludere dai reindirizzamenti.",
|
||||||
|
"description": "A description of the 'Exceptions' feature paragraph 1 (options)."
|
||||||
|
},
|
||||||
|
"exceptionsDescriptionP2": {
|
||||||
|
"message": "Tutte le richieste verso o da un URL corrispondente all'eccezione saranno escluse dai reindirizzamenti.",
|
||||||
|
"description": "A description of the 'Exceptions' feature paragraph 2 (options)."
|
||||||
|
},
|
||||||
|
"exceptionsDescriptionP3": {
|
||||||
|
"message": "Nota - Supporta le espressioni regolari JavaScript, esclusi gli slash.",
|
||||||
|
"description": "A description of the 'Exceptions' feature paragraph 3 (options)."
|
||||||
|
},
|
||||||
|
"addException": {
|
||||||
|
"message": "Aggiungi eccezione",
|
||||||
|
"description": "'Add Exceptions' button (options)."
|
||||||
|
},
|
||||||
|
"moreOptions": {
|
||||||
|
"message": "Altre opzioni",
|
||||||
|
"description": "More Options button (pop-up)."
|
||||||
|
},
|
||||||
|
"privacy": {
|
||||||
|
"message": "Privacy",
|
||||||
|
"description": "Extension title - Privacy (pop-up)."
|
||||||
|
},
|
||||||
|
"redirect": {
|
||||||
|
"message": "Redirect",
|
||||||
|
"description": "Extension title - Redirect (pop-up)."
|
||||||
|
},
|
||||||
|
"version": {
|
||||||
|
"message": "Versione",
|
||||||
|
"description": "Version"
|
||||||
|
},
|
||||||
|
"useFreeTube": {
|
||||||
|
"message": "Usa FreeTube al posto di Invidious quando possibile",
|
||||||
|
"description": "Label for 'Use FreeTube over Invidious when possible' option (options)."
|
||||||
|
},
|
||||||
|
"nitterRandomPool": {
|
||||||
|
"message": "Gruppo di istanze Nitter casuali (separate da virgola)",
|
||||||
|
"description": "Label for 'Nitter random instance pool (comma-separated)' option (options)."
|
||||||
|
},
|
||||||
|
"invidiousRandomPool": {
|
||||||
|
"message": "Gruppo di istanze Invidious casuali (separate da virgola)",
|
||||||
|
"description": "Label for 'Invidious random instance pool (comma-separated)' option (options)."
|
||||||
|
},
|
||||||
|
"bibliogramRandomPool": {
|
||||||
|
"message": "Gruppo di istanze Bibliogram casuali (separate da virgola)",
|
||||||
|
"description": "Label for 'Bibliogram random instance pool (comma-separated)' option (options)."
|
||||||
|
},
|
||||||
|
"randomInstancePlaceholder": {
|
||||||
|
"message": "Istanza casuale (nessuna selezione)",
|
||||||
|
"description": "Input placeholder for provider instance settings that select a random instance from a pool when none is selected"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,33 @@
|
||||||
|
# Extension Store (AMO & Chrome Web Store) Listing
|
||||||
|
|
||||||
|
## Summary:
|
||||||
|
|
||||||
|
```
|
||||||
|
Una semplice estensione che reindirizza le richieste di Twitter, YouTube, Instagram e Google Maps verso alternative rispettose della privacy.
|
||||||
|
```
|
||||||
|
|
||||||
|
## Description:
|
||||||
|
|
||||||
|
```
|
||||||
|
Reindirizza le richieste di Twitter, YouTube, Instagram e Google Maps verso alternative rispettose della privacy - <a href='https://nitter.net/'>Nitter</a>, <a href='https://invidio.us/'>Invidious</a>, <a href='https://bibliogram.art/'>Bibliogram</a> e <a href='https://www.openstreetmap.org'>OpenStreetMap</a>.
|
||||||
|
|
||||||
|
Permette di impostare istanze personalizzate, attivare/disattivare tutti i reindirizzamenti e altro.
|
||||||
|
|
||||||
|
<b>★ Maggiori informazioni: ℹ️</b>
|
||||||
|
<ul>
|
||||||
|
<li><a href='https://github.com/zedeus/nitter#nitter-wip'>Nitter</a></li>
|
||||||
|
<li><a href='https://github.com/omarroth/invidious#invidious'>Invidious</a></li>
|
||||||
|
<li><a href='https://github.com/cloudrac3r/bibliogram#bibliogram'>Bibliogram</a></li>
|
||||||
|
<li><a href='https://wiki.openstreetmap.org/'>OpenStreetMap</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
Il codice sorgente di questa estensione è disponibile su <a href='https://github.com/SimonBrazell/privacy-redirect'>Github</a>.
|
||||||
|
|
||||||
|
<b>★ Dona: 👨🏻💻</b>
|
||||||
|
Se ti piace questa estensione e te lo puoi permettere, considera di <a href='https://www.buymeacoffee.com/SimonBrazell'>offrirmi un caffè</a> ☕️ ️per mostrare il tuo apprezzamento e supportare lo sviluppo del progetto.
|
||||||
|
|
||||||
|
<b>★ Permessi: ℹ️</b>
|
||||||
|
<ul>
|
||||||
|
<li>Si prega di notare che l'accesso a tutti gli eventi di navigazione web (tutti gli URL), non solo ai domini di destinazione, è necessario per permettere i reindirizzamenti dei video incorporati. Ad oggi non conosco un altro modo per fare i reindirizzamenti di iframe, sarò felice di ricevere suggerimenti al riguardo 🙂</li>
|
||||||
|
</ul>
|
||||||
|
```
|
|
@ -31,6 +31,10 @@
|
||||||
"message": "Сервис поисковой системы",
|
"message": "Сервис поисковой системы",
|
||||||
"description": "Название настройки (в настройках) поля сервиса поисковой системы."
|
"description": "Название настройки (в настройках) поля сервиса поисковой системы."
|
||||||
},
|
},
|
||||||
|
"simplyTranslateInstance": {
|
||||||
|
"message": "Сервис SimplyTranslate",
|
||||||
|
"description": "Название настройки (в настройках) поля сервиса SimplyTranslate."
|
||||||
|
},
|
||||||
"disableNitter": {
|
"disableNitter": {
|
||||||
"message": "Перенаправление на Nitter",
|
"message": "Перенаправление на Nitter",
|
||||||
"description": "Название настройки для включения/выключения перенаправления на Nitter (в настройках и всплывающем окне)."
|
"description": "Название настройки для включения/выключения перенаправления на Nitter (в настройках и всплывающем окне)."
|
||||||
|
@ -55,6 +59,10 @@
|
||||||
"message": "Перенаправление поисковой системы",
|
"message": "Перенаправление поисковой системы",
|
||||||
"description": "Название настройки для включения/выключения перенаправления поисковой системы (в настройках и всплывающем окне)."
|
"description": "Название настройки для включения/выключения перенаправления поисковой системы (в настройках и всплывающем окне)."
|
||||||
},
|
},
|
||||||
|
"disableSimplyTranslate": {
|
||||||
|
"message": "Перенаправление на SimplyTranslate",
|
||||||
|
"description": "Название настройки для включения/выключения перенаправления на SimplyTranslate (в настройках и всплывающем окне)."
|
||||||
|
},
|
||||||
"theme": {
|
"theme": {
|
||||||
"message": "Тема",
|
"message": "Тема",
|
||||||
"description": "Название настройки для 'Тема' (в настройках)."
|
"description": "Название настройки для 'Тема' (в настройках)."
|
||||||
|
@ -158,5 +166,9 @@
|
||||||
"bibliogramRandomPool": {
|
"bibliogramRandomPool": {
|
||||||
"message": "Список случайных сервисов Bibliogram (разделяется запятой)",
|
"message": "Список случайных сервисов Bibliogram (разделяется запятой)",
|
||||||
"description": "Название настройки для 'Список случайных сервисов Bibliogram (разделяется запятой)' (в настройках)."
|
"description": "Название настройки для 'Список случайных сервисов Bibliogram (разделяется запятой)' (в настройках)."
|
||||||
|
},
|
||||||
|
"randomInstancePlaceholder": {
|
||||||
|
"message": "Случайный сервис (ничего не выбрано)",
|
||||||
|
"description": "Заглушка в настройках сервиса провайдера с выбором случайного сервиса из списка, если ничего не выбрано"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,146 @@
|
||||||
|
{
|
||||||
|
"extensionName": {
|
||||||
|
"message": "Privacy Redirect",
|
||||||
|
"description": "Uzantı ismi."
|
||||||
|
},
|
||||||
|
"extensionDescription": {
|
||||||
|
"message": "Twitter, YouTube, Instagram, Google Haritalar, Reddit & Google Arama bağlantılarını gizlilik dostu alternatiflerine yönlendirir.",
|
||||||
|
"description": "Uzantı açıklaması."
|
||||||
|
},
|
||||||
|
"nitterInstance": {
|
||||||
|
"message": "Nitter Servisi",
|
||||||
|
"description": "Nitter Servisi seçeneği için etiket (seçenekler)."
|
||||||
|
},
|
||||||
|
"invidiousInstance": {
|
||||||
|
"message": "Invidious Servisi",
|
||||||
|
"description": "Invidious Servisi seçeneği için etiket (seçenekler)."
|
||||||
|
},
|
||||||
|
"bibliogramInstance": {
|
||||||
|
"message": "Bibliogram Servisi",
|
||||||
|
"description": "Bibliogram Servisi seçeneği için etiket (seçenekler)."
|
||||||
|
},
|
||||||
|
"osmInstance": {
|
||||||
|
"message": "OpenStreetMap Servisi",
|
||||||
|
"description": "OSM Servisi seçeneği için etiket (seçenekler)."
|
||||||
|
},
|
||||||
|
"redditInstance": {
|
||||||
|
"message": "Reddit Servisi",
|
||||||
|
"description": "Reddit Servisi seçeneği için etiket (seçenekler)."
|
||||||
|
},
|
||||||
|
"searchEngineInstance": {
|
||||||
|
"message": "Arama Motoru Servisi",
|
||||||
|
"description": "Arama Motoru Servisi seçeneği için etiket (seçenekler)."
|
||||||
|
},
|
||||||
|
"disableNitter": {
|
||||||
|
"message": "Nitter Yönlendirmesi",
|
||||||
|
"description": "Nitter Yönlendirmesi'ni etkinleştirme/devre dışı bırakma seçeneği için etiket (seçenekler & açılır pencere)."
|
||||||
|
},
|
||||||
|
"disableInvidious": {
|
||||||
|
"message": "Invidious Yönlendirmesi",
|
||||||
|
"description": "Invidious Yönlendirmesi'ni etkinleştirme/devre dışı bırakma seçeneği için etiket (seçenekler & açılır pencere)."
|
||||||
|
},
|
||||||
|
"disableBibliogram": {
|
||||||
|
"message": "Bibliogram Yönlendirmesi",
|
||||||
|
"description": "Bibliogram Yönlendirmesi'ni etkinleştirme/devre dışı bırakma seçeneği için etiket (seçenekler & açılır pencere)."
|
||||||
|
},
|
||||||
|
"disableOsm": {
|
||||||
|
"message": "OpenStreetMap Yönlendirmesi",
|
||||||
|
"description": "OSM Yönlendirmesi'ni etkinleştirme/devre dışı bırakma seçeneği için etiket (seçenekler & açılır pencere)."
|
||||||
|
},
|
||||||
|
"disableReddit": {
|
||||||
|
"message": "Reddit Yönlendirmesi",
|
||||||
|
"description": "Reddit Yönlendirmesi'ni etkinleştirme/devre dışı bırakma seçeneği için etiket (seçenekler & açılır pencere)."
|
||||||
|
},
|
||||||
|
"disableSearchEngine": {
|
||||||
|
"message": "Arama Motoru Yönlendirmesi",
|
||||||
|
"description": "Arama Motoru Yönlendirmesi'ni etkinleştirme/devre dışı bırakma seçeneği için etiket (seçenekler & açılır pencere)."
|
||||||
|
},
|
||||||
|
"alwaysProxy": {
|
||||||
|
"message": "Videoları her zaman Invidious üzerinden geçir",
|
||||||
|
"description": "'Videoları her zaman Invidious üzerinden geçir' seçeneği için etiket (seçenekler)."
|
||||||
|
},
|
||||||
|
"onlyEmbeddedVideo": {
|
||||||
|
"message": "Sadece siteye gömülü videoları Invidious'a yönlendir",
|
||||||
|
"description": "'Sadece siteye gömülü videoları Invidious'a yönlendir' seçeneği için etiket (seçenekler)."
|
||||||
|
},
|
||||||
|
"videoQuality": {
|
||||||
|
"message": "Invidious Video Kalitesi",
|
||||||
|
"description": "'Invidious Video Kalitesi' seçeneği için etiket (seçenekler)."
|
||||||
|
},
|
||||||
|
"removeTwitterSW": {
|
||||||
|
"message": "Twitter servis çalışanını proaktif olarak kaldır",
|
||||||
|
"description": "'Twitter servis çalışanını proaktif olarak kaldır' seçeneği için etiket (seçenekler)."
|
||||||
|
},
|
||||||
|
"invidiousDarkMode": {
|
||||||
|
"message": "Invidious her zaman açık karanlık mod",
|
||||||
|
"description": "'Invidious her zaman açık karanlık mod' seçeneği için etiket (seçenekler)."
|
||||||
|
},
|
||||||
|
"persistInvidiousPrefs": {
|
||||||
|
"message": "Invidious tercihlerini kaydet (çerez olarak)",
|
||||||
|
"description": "'Persist Invidious preferences (as cookie)' option (seçenekler)."
|
||||||
|
},
|
||||||
|
"generalTab": {
|
||||||
|
"message": "Genel",
|
||||||
|
"description": "Genel sekme (seçenekler)."
|
||||||
|
},
|
||||||
|
"advancedTab": {
|
||||||
|
"message": "Gelişmiş",
|
||||||
|
"description": "Gelişmiş sekme (seçenekler)."
|
||||||
|
},
|
||||||
|
"exceptionsTab": {
|
||||||
|
"message": "İstisnalar",
|
||||||
|
"description": "İstisnalar sekmesi (seçenekler)."
|
||||||
|
},
|
||||||
|
"exceptionsDescriptionP1": {
|
||||||
|
"message": "Yönlendirmelerden hariç tutulacak bir URL veya düzenli ifade gir",
|
||||||
|
"description": "'İstisnalar' özelliği paragraf 1'in açıklaması (seçenekler)."
|
||||||
|
},
|
||||||
|
"exceptionsDescriptionP2": {
|
||||||
|
"message": "İstisnayla eşleşen bir URL'ye yönelik veya URL'den çıkan bütün bağlantılar yönlendirmelerden hariç tutulacak",
|
||||||
|
"description": "'İstisnalar' özelliği paragraf 2'nin açıklaması (seçenekler)."
|
||||||
|
},
|
||||||
|
"exceptionsDescriptionP3": {
|
||||||
|
"message": "Not - JavaScript düzenli ifadelerini destekler, kapalı eğik çizgiler kullanılmadan.",
|
||||||
|
"description": "'İstisnalar' özelliği paragraf 3'ün açıklaması (seçenekler)."
|
||||||
|
},
|
||||||
|
"addException": {
|
||||||
|
"message": "İstisna ekle",
|
||||||
|
"description": "'İstisna ekle' butonu (seçenekler)"
|
||||||
|
},
|
||||||
|
"moreOptions": {
|
||||||
|
"message": "Daha Fazla Seçenek",
|
||||||
|
"description": "Daha Fazla Seçenek butonu (açılır pencere)."
|
||||||
|
},
|
||||||
|
"privacy": {
|
||||||
|
"message": "Gizlilik",
|
||||||
|
"description": "Uzantı ismi - Gizlilik (açılır pencere)."
|
||||||
|
},
|
||||||
|
"redirect": {
|
||||||
|
"message": "Yönlendir",
|
||||||
|
"description": "Uzantı ismi - Yönlendir (açılır pencere)."
|
||||||
|
},
|
||||||
|
"version": {
|
||||||
|
"message": "Sürüm",
|
||||||
|
"description": "Sürüm"
|
||||||
|
},
|
||||||
|
"useFreeTube": {
|
||||||
|
"message": "Mümkün olduğunda Invidious yerine FreeTube kullan",
|
||||||
|
"description": "'Mümkün olduğunda Invidious yerine FreeTube kullan' seçeneği etiketi (seçenekler)."
|
||||||
|
},
|
||||||
|
"nitterRandomPool": {
|
||||||
|
"message": "Nitter rastgele servis havuzu (virgülle ayrılmış)",
|
||||||
|
"description": "'Nitter rastgele servis havuzu (virgülle ayrılmış)' seçeneği etiketi (seçenekler)."
|
||||||
|
},
|
||||||
|
"invidiousRandomPool": {
|
||||||
|
"message": "Invidious rastgele servis havuzu (virgülle ayrılmış)",
|
||||||
|
"description": "'Invidious rastgele servis havuzu (virgülle ayrılmış)' seçeneği etiketi (seçenekler)."
|
||||||
|
},
|
||||||
|
"bibliogramRandomPool": {
|
||||||
|
"message": "Bibliogram rastgele servis havuzu (virgülle ayrılmış)",
|
||||||
|
"description": "'Bibliogram rastgele servis havuzu (virgülle ayrılmış)' seçeneği etiketi (seçenekler)."
|
||||||
|
},
|
||||||
|
"randomInstancePlaceholder": {
|
||||||
|
"message": "Rastgele servis (hiçbir servis seçilmedi)",
|
||||||
|
"description": "Hiçbir servis seçilmediğinde bir havuzdan rastgele servis seçen sağlayıcı servis ayarları için yer tutucu"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,56 @@
|
||||||
|
# Extension Store (AMO & Chrome Web Store) Listing
|
||||||
|
|
||||||
|
## Summary:
|
||||||
|
|
||||||
|
```
|
||||||
|
Twitter, YouTube, Instagram & Google Haritalar bağlantılarını gizlilik dostu alternatiflerine yönlendiren basit bir web uzantısı.
|
||||||
|
```
|
||||||
|
|
||||||
|
## Description (AMO):
|
||||||
|
|
||||||
|
```
|
||||||
|
Twitter, YouTube, Instagram, & Google Haritalar bağlantılarını gizlilik dostu alternatiflerine yönlendirir - <a href='https://nitter.net/'>Nitter</a>, <a href='https://invidio.us/'>Invidious</a>, <a href='https://bibliogram.art/'>Bibliogram</a>, & <a href='https://www.openstreetmap.org'>OpenStreetMap</a>.
|
||||||
|
|
||||||
|
Allows for setting custom instances, toggling all redirects on/off and more.
|
||||||
|
|
||||||
|
<b>★ Daha Fazla Bilgi: ℹ️</b>
|
||||||
|
<ul>
|
||||||
|
<li><a href='https://github.com/zedeus/nitter#nitter-wip'>Nitter</a></li>
|
||||||
|
<li><a href='https://github.com/omarroth/invidious#invidious'>Invidious</a></li>
|
||||||
|
<li><a href='https://github.com/cloudrac3r/bibliogram#bibliogram'>Bibliogram</a></li>
|
||||||
|
<li><a href='https://wiki.openstreetmap.org/'>OpenStreetMap</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
Bu web uzantısının kaynak kodu <a href='https://github.com/SimonBrazell/privacy-redirect'>Github</a>'da mevcut'.
|
||||||
|
|
||||||
|
<b>★ Bağış At: 👨🏻💻</b>
|
||||||
|
Eğer bu uzantıyı seviyorsan ve minnettarlığını gösterip projenin devamını destekliyorsan ve bana bir <a href='https://www.buymeacoffee.com/SimonBrazell'>kahve alıcak</a> ☕️ kadar maddi durumun varsa.
|
||||||
|
|
||||||
|
<b>★ İzinler: ℹ️</b>
|
||||||
|
<ul>
|
||||||
|
<li>Lütfen aklınızda bulundurun, siteye gömülü video yönlendirmelerinin çalışması için bütün website dolaşım etkinliklerine, sadece hedef alan adlarına değil, erişim gereklidir. Şu anda çerçeve yönlendirmenin başka hiçbir yolunu bilmiyorum, bununla ilgili bazı öneriler duymaya sevinirim 🙂</li>
|
||||||
|
</ul>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Description (Chrome & Mircosoft):
|
||||||
|
|
||||||
|
```
|
||||||
|
★ Daha Fazla Bilgi: ℹ️
|
||||||
|
• Nitter - https://github.com/zedeus/nitter
|
||||||
|
• Invidious - https://github.com/omarroth/invidious
|
||||||
|
• Bibliogram - https://github.com/cloudrac3r/bibliogram
|
||||||
|
• OpenStreetMap - https://wiki.openstreetmap.org
|
||||||
|
|
||||||
|
Özel örnekler ayarlamaya, tüm yönlendirmeleri açıp kapatmaya ve daha fazlasına izin verir.
|
||||||
|
|
||||||
|
Bu web uzantısının kaynak kodu Github'da mevcut' - https://github.com/SimonBrazell/privacy-redirect
|
||||||
|
|
||||||
|
★ Bağış At: 👨🏻💻
|
||||||
|
Eğer bu uzantıyı seviyorsan ve minnettarlığını gösterip projenin devamını destekliyorsan ve bana bir kahve alıcak ☕️ kadar maddi durumun varsa.
|
||||||
|
|
||||||
|
☕️ https://www.buymeacoffee.com/SimonBrazell ☕️
|
||||||
|
🍻 https://liberapay.com/SimonBrazell/donate 🍻
|
||||||
|
|
||||||
|
★ İzinler: ℹ️
|
||||||
|
• Lütfen aklınızda bulundurun, siteye gömülü video yönlendirmelerinin çalışması için bütün website dolaşım etkinliklerine, sadece hedef alan adlarına değil, erişim gereklidir. Şu anda çerçeve yönlendirmenin başka hiçbir yolunu bilmiyorum, bununla ilgili bazı öneriler duymaya sevinirim 🙂
|
||||||
|
```
|
|
@ -2,6 +2,7 @@ const targets = /https?:\/\/(((www|maps)\.)?(google\.).*(\/search)|search\.(goog
|
||||||
const redirects = [
|
const redirects = [
|
||||||
{ link: "https://duckduckgo.com", q: "/" },
|
{ link: "https://duckduckgo.com", q: "/" },
|
||||||
{ link: "https://startpage.com", q: "/search/" },
|
{ link: "https://startpage.com", q: "/search/" },
|
||||||
|
{ link: "https://www.ecosia.org", q: "/search" },
|
||||||
{ link: "https://www.qwant.com", q: "/" },
|
{ link: "https://www.qwant.com", q: "/" },
|
||||||
{ link: "https://www.mojeek.com", q: "/search" },
|
{ link: "https://www.mojeek.com", q: "/search" },
|
||||||
{ link: "https://search.snopyta.org", q: "/" },
|
{ link: "https://search.snopyta.org", q: "/" },
|
||||||
|
@ -11,6 +12,13 @@ const redirects = [
|
||||||
{ link: "https://searx.tuxcloud.net", q: "/" },
|
{ link: "https://searx.tuxcloud.net", q: "/" },
|
||||||
{ link: "https://searx.ninja", q: "/" },
|
{ link: "https://searx.ninja", q: "/" },
|
||||||
{ link: "https://tromland.org/searx", q: "/search" },
|
{ link: "https://tromland.org/searx", q: "/search" },
|
||||||
|
{ link: "https://engine.presearch.org", q: "/search" },
|
||||||
|
{ link: "https://searx.silkky.cloud", q: "/" },
|
||||||
|
{ link: "https://search.trom.tf", q: "/" },
|
||||||
|
{ link: "https://whooglesearch.net", q: "/search" },
|
||||||
|
{ link: "https://whoogle.sdf.org", q: "/search" },
|
||||||
|
{ link: "https://whoogle.himiko.cloud", q: "/search" },
|
||||||
|
{ link: "https://whoogle-search.zeet.app", q: "/search" },
|
||||||
];
|
];
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
const targets = ["translate.google.com", "translate.google.no"];
|
||||||
|
|
||||||
|
const redirects = ["https://translate.metalune.xyz"];
|
||||||
|
|
||||||
|
export default {
|
||||||
|
targets,
|
||||||
|
redirects,
|
||||||
|
};
|
|
@ -9,13 +9,10 @@ const redirects = [
|
||||||
"https://bibliogram.snopyta.org",
|
"https://bibliogram.snopyta.org",
|
||||||
"https://bibliogram.pussthecat.org",
|
"https://bibliogram.pussthecat.org",
|
||||||
"https://bibliogram.nixnet.services",
|
"https://bibliogram.nixnet.services",
|
||||||
"https://bg.endl.site",
|
|
||||||
"https://bibliogram.13ad.de",
|
|
||||||
"https://bibliogram.pixelfed.uno",
|
|
||||||
"https://bibliogram.ethibox.fr",
|
"https://bibliogram.ethibox.fr",
|
||||||
"https://bibliogram.hamster.dance",
|
"https://bibliogram.hamster.dance",
|
||||||
"https://bibliogram.kavin.rocks",
|
"https://insta.trom.tf",
|
||||||
"https://bibliogram.ggc-project.de",
|
"https://bib.actionsack.com"
|
||||||
];
|
];
|
||||||
const reservedPaths = [
|
const reservedPaths = [
|
||||||
"about",
|
"about",
|
||||||
|
|
|
@ -3,6 +3,9 @@ const targets = [
|
||||||
"np.reddit.com",
|
"np.reddit.com",
|
||||||
"new.reddit.com",
|
"new.reddit.com",
|
||||||
"amp.reddit.com",
|
"amp.reddit.com",
|
||||||
|
"i.redd.it",
|
||||||
|
"redd.it",
|
||||||
|
"old.reddit.com",
|
||||||
];
|
];
|
||||||
const redirects = [
|
const redirects = [
|
||||||
// libreddit: privacy w/ modern UI
|
// libreddit: privacy w/ modern UI
|
||||||
|
@ -11,13 +14,14 @@ const redirects = [
|
||||||
"https://libreddit.kavin.rocks",
|
"https://libreddit.kavin.rocks",
|
||||||
"https://libreddit.insanity.wtf",
|
"https://libreddit.insanity.wtf",
|
||||||
"https://libreddit.dothq.co",
|
"https://libreddit.dothq.co",
|
||||||
|
"https://libreddit.silkky.cloud",
|
||||||
|
"https://libreddit.himiko.cloud",
|
||||||
|
"https://reddit.artemislena.eu",
|
||||||
// teddit: privacy w/ old UI
|
// teddit: privacy w/ old UI
|
||||||
"https://teddit.net",
|
"https://teddit.net",
|
||||||
"https://teddit.ggc-project.de",
|
"https://teddit.ggc-project.de",
|
||||||
"https://teddit.kavin.rocks",
|
"https://teddit.kavin.rocks",
|
||||||
"https://old.reddit.com", // desktop
|
"https://snew.notabug.io",
|
||||||
"https://i.reddit.com", // mobile
|
|
||||||
"https://snew.notabug.io", // anti-censorship
|
|
||||||
];
|
];
|
||||||
const bypassPaths = /\/(gallery\/poll\/rpan\/settings\/topics)/;
|
const bypassPaths = /\/(gallery\/poll\/rpan\/settings\/topics)/;
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
Please remember to also update the manifest.json file
|
Please remember to also update the src/manifest.json file
|
||||||
(content_scripts > matches, 'remove-twitter-sw.js')
|
(content_scripts > matches, 'remove-twitter-sw.js')
|
||||||
when updating this list:
|
when updating this list:
|
||||||
*/
|
*/
|
||||||
|
@ -10,14 +10,17 @@ const targets = [
|
||||||
"pbs.twimg.com",
|
"pbs.twimg.com",
|
||||||
"video.twimg.com",
|
"video.twimg.com",
|
||||||
];
|
];
|
||||||
|
/*
|
||||||
|
Please remember to also update the
|
||||||
|
src/assets/javascripts/remove-twitter-sw.js file
|
||||||
|
(const nitterInstances) when updating this list:
|
||||||
|
*/
|
||||||
const redirects = [
|
const redirects = [
|
||||||
"https://nitter.net",
|
"https://nitter.net",
|
||||||
"https://nitter.snopyta.org",
|
"https://nitter.snopyta.org",
|
||||||
"https://nitter.42l.fr",
|
"https://nitter.42l.fr",
|
||||||
"https://nitter.nixnet.services",
|
"https://nitter.nixnet.services",
|
||||||
"https://nitter.13ad.de",
|
|
||||||
"https://nitter.pussthecat.org",
|
"https://nitter.pussthecat.org",
|
||||||
"https://nitter.mastodont.cat",
|
|
||||||
"https://nitter.dark.fail",
|
"https://nitter.dark.fail",
|
||||||
"https://nitter.tedomum.net",
|
"https://nitter.tedomum.net",
|
||||||
"https://nitter.cattube.org",
|
"https://nitter.cattube.org",
|
||||||
|
@ -26,9 +29,9 @@ const redirects = [
|
||||||
"https://nitter.kavin.rocks",
|
"https://nitter.kavin.rocks",
|
||||||
"https://tweet.lambda.dance",
|
"https://tweet.lambda.dance",
|
||||||
"https://nitter.cc",
|
"https://nitter.cc",
|
||||||
"https://nitter.weaponizedhumiliation.com",
|
|
||||||
"https://nitter.vxempire.xyz",
|
"https://nitter.vxempire.xyz",
|
||||||
"https://nitter.unixfox.eu",
|
"https://nitter.unixfox.eu",
|
||||||
|
"https://bird.trom.tf",
|
||||||
"http://3nzoldnxplag42gqjs23xvghtzf6t6yzssrtytnntc6ppc7xxuoneoad.onion",
|
"http://3nzoldnxplag42gqjs23xvghtzf6t6yzssrtytnntc6ppc7xxuoneoad.onion",
|
||||||
"http://nitter.l4qlywnpwqsluw65ts7md3khrivpirse744un3x7mlskqauz5pyuzgqd.onion",
|
"http://nitter.l4qlywnpwqsluw65ts7md3khrivpirse744un3x7mlskqauz5pyuzgqd.onion",
|
||||||
"http://nitterlgj3n5fgwesu3vxc5h67ruku33nqaoeoocae2mvlzhsu6k7fqd.onion",
|
"http://nitterlgj3n5fgwesu3vxc5h67ruku33nqaoeoocae2mvlzhsu6k7fqd.onion",
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
const targets = /wikipedia.org/;
|
||||||
|
|
||||||
|
const redirects = ["https://wikiless.org"];
|
||||||
|
|
||||||
|
export default {
|
||||||
|
targets,
|
||||||
|
redirects,
|
||||||
|
};
|
|
@ -10,8 +10,8 @@ const targets = [
|
||||||
"music.youtube.com",
|
"music.youtube.com",
|
||||||
];
|
];
|
||||||
/*
|
/*
|
||||||
Please remember to also update the manifest.json file
|
Please remember to also update the manifest.json file
|
||||||
(content_scripts > matches, 'persist-invidious-prefs.js')
|
(content_scripts > matches, 'persist-invidious-prefs.js')
|
||||||
when updating this list:
|
when updating this list:
|
||||||
*/
|
*/
|
||||||
const redirects = [
|
const redirects = [
|
||||||
|
@ -24,8 +24,17 @@ const redirects = [
|
||||||
"https://vid.mint.lgbt",
|
"https://vid.mint.lgbt",
|
||||||
"https://invidious.site",
|
"https://invidious.site",
|
||||||
"https://yewtu.be",
|
"https://yewtu.be",
|
||||||
|
"https://invidious.tube",
|
||||||
|
"https://invidious.silkky.cloud",
|
||||||
|
"https://invidious.himiko.cloud",
|
||||||
|
"https://inv.skyn3t.in",
|
||||||
|
"https://tube.incognet.io",
|
||||||
|
"https://invidious.tinfoil-hat.net",
|
||||||
|
"https://invidious.namazso.eu",
|
||||||
|
"https://vid.puffyan.us",
|
||||||
|
"https://dev.viewtube.io",
|
||||||
|
"https://invidious.048596.xyz",
|
||||||
"http://fz253lmuao3strwbfbmx46yu7acac2jz27iwtorgmbqlkurlclmancad.onion",
|
"http://fz253lmuao3strwbfbmx46yu7acac2jz27iwtorgmbqlkurlclmancad.onion",
|
||||||
"http://qklhadlycap4cnod.onion",
|
|
||||||
"http://c7hqkpkpemu6e7emz5b4vyz7idjgdvgaaa3dyimmeojqbgpea3xqjoid.onion",
|
"http://c7hqkpkpemu6e7emz5b4vyz7idjgdvgaaa3dyimmeojqbgpea3xqjoid.onion",
|
||||||
"http://w6ijuptxiku4xpnnaetxvnkc5vqcdu7mgns2u77qefoixi63vbvnpnqd.onion",
|
"http://w6ijuptxiku4xpnnaetxvnkc5vqcdu7mgns2u77qefoixi63vbvnpnqd.onion",
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,23 +1,23 @@
|
||||||
'use strict';
|
"use strict";
|
||||||
|
|
||||||
window.browser = window.browser || window.chrome;
|
window.browser = window.browser || window.chrome;
|
||||||
|
|
||||||
function getCookie() {
|
function getCookie() {
|
||||||
let ca = document.cookie.split(';');
|
let ca = document.cookie.split(";");
|
||||||
for (let i = 0; i < ca.length; i++) {
|
for (let i = 0; i < ca.length; i++) {
|
||||||
let c = ca[i];
|
let c = ca[i];
|
||||||
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
|
while (c.charAt(0) == " ") c = c.substring(1, c.length);
|
||||||
if (c.indexOf('PREFS=') == 0) {
|
if (c.indexOf("PREFS=") == 0) {
|
||||||
return JSON.parse(
|
return JSON.parse(
|
||||||
decodeURIComponent(c.substring('PREFS='.length, c.length))
|
decodeURIComponent(c.substring("PREFS=".length, c.length))
|
||||||
)
|
);
|
||||||
};
|
}
|
||||||
}
|
}
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
browser.storage.sync.get(
|
browser.storage.sync.get(
|
||||||
['alwaysProxy', 'videoQuality', 'invidiousDarkMode', 'persistInvidiousPrefs'],
|
["alwaysProxy", "videoQuality", "invidiousDarkMode", "persistInvidiousPrefs"],
|
||||||
(result) => {
|
(result) => {
|
||||||
if (result.persistInvidiousPrefs) {
|
if (result.persistInvidiousPrefs) {
|
||||||
const prefs = getCookie();
|
const prefs = getCookie();
|
||||||
|
@ -27,4 +27,4 @@ browser.storage.sync.get(
|
||||||
document.cookie = `PREFS=${encodeURIComponent(JSON.stringify(prefs))}`;
|
document.cookie = `PREFS=${encodeURIComponent(JSON.stringify(prefs))}`;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
|
@ -5,9 +5,7 @@ const nitterInstances = [
|
||||||
"https://nitter.snopyta.org",
|
"https://nitter.snopyta.org",
|
||||||
"https://nitter.42l.fr",
|
"https://nitter.42l.fr",
|
||||||
"https://nitter.nixnet.services",
|
"https://nitter.nixnet.services",
|
||||||
"https://nitter.13ad.de",
|
|
||||||
"https://nitter.pussthecat.org",
|
"https://nitter.pussthecat.org",
|
||||||
"https://nitter.mastodont.cat",
|
|
||||||
"https://nitter.dark.fail",
|
"https://nitter.dark.fail",
|
||||||
"https://nitter.tedomum.net",
|
"https://nitter.tedomum.net",
|
||||||
"https://nitter.cattube.org",
|
"https://nitter.cattube.org",
|
||||||
|
@ -16,9 +14,9 @@ const nitterInstances = [
|
||||||
"https://nitter.kavin.rocks",
|
"https://nitter.kavin.rocks",
|
||||||
"https://tweet.lambda.dance",
|
"https://tweet.lambda.dance",
|
||||||
"https://nitter.cc",
|
"https://nitter.cc",
|
||||||
"https://nitter.weaponizedhumiliation.com",
|
|
||||||
"https://nitter.vxempire.xyz",
|
"https://nitter.vxempire.xyz",
|
||||||
"https://nitter.unixfox.eu",
|
"https://nitter.unixfox.eu",
|
||||||
|
"https://bird.trom.tf"
|
||||||
];
|
];
|
||||||
|
|
||||||
let disableNitter;
|
let disableNitter;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "__MSG_extensionName__",
|
"name": "__MSG_extensionName__",
|
||||||
"description": "__MSG_extensionDescription__",
|
"description": "__MSG_extensionDescription__",
|
||||||
"version": "1.1.46",
|
"version": "1.1.49",
|
||||||
"manifest_version": 2,
|
"manifest_version": 2,
|
||||||
"background": {
|
"background": {
|
||||||
"page": "pages/background/background.html",
|
"page": "pages/background/background.html",
|
||||||
|
@ -48,8 +48,17 @@
|
||||||
"*://vid.mint.lgbt/*",
|
"*://vid.mint.lgbt/*",
|
||||||
"*://invidious.site/*",
|
"*://invidious.site/*",
|
||||||
"*://yewtu.be/*",
|
"*://yewtu.be/*",
|
||||||
|
"*://invidious.tube/*",
|
||||||
|
"*://invidious.silkky.cloud/*",
|
||||||
|
"*://invidious.himiko.cloud/*",
|
||||||
|
"*://inv.skyn3t.in/*",
|
||||||
|
"*://tube.incognet.io/*",
|
||||||
|
"*://invidious.tinfoil-hat.net/*",
|
||||||
|
"*://invidious.namazso.eu/*",
|
||||||
|
"*://vid.puffyan.us/*",
|
||||||
|
"*://dev.viewtube.io/*",
|
||||||
|
"*://invidious.048596.xyz/*",
|
||||||
"*://fz253lmuao3strwbfbmx46yu7acac2jz27iwtorgmbqlkurlclmancad.onion/*",
|
"*://fz253lmuao3strwbfbmx46yu7acac2jz27iwtorgmbqlkurlclmancad.onion/*",
|
||||||
"*://qklhadlycap4cnod.onion/*",
|
|
||||||
"*://c7hqkpkpemu6e7emz5b4vyz7idjgdvgaaa3dyimmeojqbgpea3xqjoid.onion/*",
|
"*://c7hqkpkpemu6e7emz5b4vyz7idjgdvgaaa3dyimmeojqbgpea3xqjoid.onion/*",
|
||||||
"*://w6ijuptxiku4xpnnaetxvnkc5vqcdu7mgns2u77qefoixi63vbvnpnqd.onion/*"
|
"*://w6ijuptxiku4xpnnaetxvnkc5vqcdu7mgns2u77qefoixi63vbvnpnqd.onion/*"
|
||||||
],
|
],
|
||||||
|
@ -65,7 +74,7 @@
|
||||||
"browser_specific_settings": {
|
"browser_specific_settings": {
|
||||||
"gecko": {
|
"gecko": {
|
||||||
"id": "{b7f9d2cd-d772-4302-8c3f-eb941af36f76}",
|
"id": "{b7f9d2cd-d772-4302-8c3f-eb941af36f76}",
|
||||||
"strict_min_version": "60.0"
|
"strict_min_version": "67.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,8 @@ import instagramHelper from "../../assets/javascripts/helpers/instagram.js";
|
||||||
import mapsHelper from "../../assets/javascripts/helpers/google-maps.js";
|
import mapsHelper from "../../assets/javascripts/helpers/google-maps.js";
|
||||||
import redditHelper from "../../assets/javascripts/helpers/reddit.js";
|
import redditHelper from "../../assets/javascripts/helpers/reddit.js";
|
||||||
import searchHelper from "../../assets/javascripts/helpers/google-search.js";
|
import searchHelper from "../../assets/javascripts/helpers/google-search.js";
|
||||||
|
import googleTranslateHelper from "../../assets/javascripts/helpers/google-translate.js";
|
||||||
|
import wikipediaHelper from "../../assets/javascripts/helpers/wikipedia.js";
|
||||||
|
|
||||||
const nitterInstances = twitterHelper.redirects;
|
const nitterInstances = twitterHelper.redirects;
|
||||||
const twitterDomains = twitterHelper.targets;
|
const twitterDomains = twitterHelper.targets;
|
||||||
|
@ -29,6 +31,12 @@ const redditBypassPaths = redditHelper.bypassPaths;
|
||||||
const redditDefault = redditHelper.redirects[0];
|
const redditDefault = redditHelper.redirects[0];
|
||||||
const googleSearchRegex = searchHelper.targets;
|
const googleSearchRegex = searchHelper.targets;
|
||||||
const searchEngineInstances = searchHelper.redirects;
|
const searchEngineInstances = searchHelper.redirects;
|
||||||
|
const simplyTranslateInstances = googleTranslateHelper.redirects;
|
||||||
|
const simplyTranslateDefault = simplyTranslateInstances[0];
|
||||||
|
const googleTranslateDomains = googleTranslateHelper.targets;
|
||||||
|
const wikipediaInstances = wikipediaHelper.redirects;
|
||||||
|
const wikipediaDefault = wikipediaInstances[0];
|
||||||
|
const wikipediaRegex = wikipediaHelper.targets;
|
||||||
|
|
||||||
let disableNitter;
|
let disableNitter;
|
||||||
let disableInvidious;
|
let disableInvidious;
|
||||||
|
@ -36,12 +44,16 @@ let disableBibliogram;
|
||||||
let disableOsm;
|
let disableOsm;
|
||||||
let disableReddit;
|
let disableReddit;
|
||||||
let disableSearchEngine;
|
let disableSearchEngine;
|
||||||
|
let disableSimplyTranslate;
|
||||||
|
let disableWikipedia;
|
||||||
let nitterInstance;
|
let nitterInstance;
|
||||||
let invidiousInstance;
|
let invidiousInstance;
|
||||||
let bibliogramInstance;
|
let bibliogramInstance;
|
||||||
let osmInstance;
|
let osmInstance;
|
||||||
let redditInstance;
|
let redditInstance;
|
||||||
let searchEngineInstance;
|
let searchEngineInstance;
|
||||||
|
let simplyTranslateInstance;
|
||||||
|
let wikipediaInstance;
|
||||||
let alwaysProxy;
|
let alwaysProxy;
|
||||||
let onlyEmbeddedVideo;
|
let onlyEmbeddedVideo;
|
||||||
let videoQuality;
|
let videoQuality;
|
||||||
|
@ -66,12 +78,16 @@ browser.storage.sync.get(
|
||||||
"osmInstance",
|
"osmInstance",
|
||||||
"redditInstance",
|
"redditInstance",
|
||||||
"searchEngineInstance",
|
"searchEngineInstance",
|
||||||
|
"simplyTranslateInstance",
|
||||||
|
"wikipediaInstance",
|
||||||
"disableNitter",
|
"disableNitter",
|
||||||
"disableInvidious",
|
"disableInvidious",
|
||||||
"disableBibliogram",
|
"disableBibliogram",
|
||||||
"disableOsm",
|
"disableOsm",
|
||||||
"disableReddit",
|
"disableReddit",
|
||||||
"disableSearchEngine",
|
"disableSearchEngine",
|
||||||
|
"disableSimplyTranslate",
|
||||||
|
"disableWikipedia",
|
||||||
"alwaysProxy",
|
"alwaysProxy",
|
||||||
"onlyEmbeddedVideo",
|
"onlyEmbeddedVideo",
|
||||||
"videoQuality",
|
"videoQuality",
|
||||||
|
@ -93,12 +109,17 @@ browser.storage.sync.get(
|
||||||
osmInstance = result.osmInstance || osmDefault;
|
osmInstance = result.osmInstance || osmDefault;
|
||||||
redditInstance = result.redditInstance || redditDefault;
|
redditInstance = result.redditInstance || redditDefault;
|
||||||
searchEngineInstance = result.searchEngineInstance;
|
searchEngineInstance = result.searchEngineInstance;
|
||||||
|
simplyTranslateInstance =
|
||||||
|
result.simplyTranslateInstance || simplyTranslateDefault;
|
||||||
|
wikipediaInstance = result.wikipediaInstance || wikipediaDefault;
|
||||||
disableNitter = result.disableNitter;
|
disableNitter = result.disableNitter;
|
||||||
disableInvidious = result.disableInvidious;
|
disableInvidious = result.disableInvidious;
|
||||||
disableBibliogram = result.disableBibliogram;
|
disableBibliogram = result.disableBibliogram;
|
||||||
disableOsm = result.disableOsm;
|
disableOsm = result.disableOsm;
|
||||||
disableReddit = result.disableReddit;
|
disableReddit = result.disableReddit;
|
||||||
disableSearchEngine = result.disableSearchEngine;
|
disableSearchEngine = result.disableSearchEngine;
|
||||||
|
disableWikipedia = result.disableWikipedia;
|
||||||
|
disableSimplyTranslate = result.disableSimplyTranslate;
|
||||||
alwaysProxy = result.alwaysProxy;
|
alwaysProxy = result.alwaysProxy;
|
||||||
onlyEmbeddedVideo = result.onlyEmbeddedVideo;
|
onlyEmbeddedVideo = result.onlyEmbeddedVideo;
|
||||||
videoQuality = result.videoQuality;
|
videoQuality = result.videoQuality;
|
||||||
|
@ -138,6 +159,13 @@ browser.storage.onChanged.addListener((changes) => {
|
||||||
if ("osmInstance" in changes) {
|
if ("osmInstance" in changes) {
|
||||||
osmInstance = changes.osmInstance.newValue || osmDefault;
|
osmInstance = changes.osmInstance.newValue || osmDefault;
|
||||||
}
|
}
|
||||||
|
if ("simplyTranslateInstance" in changes) {
|
||||||
|
simplyTranslateInstance =
|
||||||
|
changes.simplyTranslateInstance.newValue || simplyTranslateDefault;
|
||||||
|
}
|
||||||
|
if ("wikipediaInstance" in changes) {
|
||||||
|
wikipediaInstance = changes.wikipediaInstance.newValue || wikipediaDefault;
|
||||||
|
}
|
||||||
if ("redditInstance" in changes) {
|
if ("redditInstance" in changes) {
|
||||||
redditInstance = changes.redditInstance.newValue || redditDefault;
|
redditInstance = changes.redditInstance.newValue || redditDefault;
|
||||||
}
|
}
|
||||||
|
@ -162,6 +190,12 @@ browser.storage.onChanged.addListener((changes) => {
|
||||||
if ("disableSearchEngine" in changes) {
|
if ("disableSearchEngine" in changes) {
|
||||||
disableSearchEngine = changes.disableSearchEngine.newValue;
|
disableSearchEngine = changes.disableSearchEngine.newValue;
|
||||||
}
|
}
|
||||||
|
if ("disableSimplyTranslate" in changes) {
|
||||||
|
disableSimplyTranslate = changes.disableSimplyTranslate.newValue;
|
||||||
|
}
|
||||||
|
if ("disableWikipedia" in changes) {
|
||||||
|
disableWikipedia = changes.disableWikipedia.newValue;
|
||||||
|
}
|
||||||
if ("alwaysProxy" in changes) {
|
if ("alwaysProxy" in changes) {
|
||||||
alwaysProxy = changes.alwaysProxy.newValue;
|
alwaysProxy = changes.alwaysProxy.newValue;
|
||||||
}
|
}
|
||||||
|
@ -261,7 +295,9 @@ function redirectYouTube(url, initiator, type) {
|
||||||
if (invidiousSubtitles) {
|
if (invidiousSubtitles) {
|
||||||
url.searchParams.append("subtitles", invidiousSubtitles);
|
url.searchParams.append("subtitles", invidiousSubtitles);
|
||||||
}
|
}
|
||||||
url.searchParams.append("autoplay", invidiousAutoplay ? 1 : 0);
|
if (invidiousAutoplay) {
|
||||||
|
url.searchParams.append("autoplay", 1);
|
||||||
|
}
|
||||||
|
|
||||||
return `${
|
return `${
|
||||||
invidiousInstance || commonHelper.getRandomInstance(invidiousRandomPool)
|
invidiousInstance || commonHelper.getRandomInstance(invidiousRandomPool)
|
||||||
|
@ -272,7 +308,7 @@ function redirectTwitter(url, initiator) {
|
||||||
if (disableNitter || isException(url, initiator)) {
|
if (disableNitter || isException(url, initiator)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
if (url.pathname.includes("/home")) {
|
if (url.pathname.split("/").includes("home")) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
if (
|
if (
|
||||||
|
@ -287,15 +323,11 @@ function redirectTwitter(url, initiator) {
|
||||||
});
|
});
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
if (url.host.split(".")[0] === "pbs") {
|
if (url.host.split(".")[0] === "pbs" || url.host.split(".")[0] === "video") {
|
||||||
return `${
|
return `${
|
||||||
nitterInstance || commonHelper.getRandomInstance(nitterRandomPool)
|
nitterInstance || commonHelper.getRandomInstance(nitterRandomPool)
|
||||||
}/pic/${encodeURIComponent(url.href)}`;
|
}/pic/${encodeURIComponent(url.href)}`;
|
||||||
} else if (url.host.split(".")[0] === "video") {
|
} else if (url.pathname.split("/").includes("tweets")) {
|
||||||
return `${
|
|
||||||
nitterInstance || commonHelper.getRandomInstance(nitterRandomPool)
|
|
||||||
}/gif/${encodeURIComponent(url.href)}`;
|
|
||||||
} else if (url.pathname.includes("tweets")) {
|
|
||||||
return `${
|
return `${
|
||||||
nitterInstance || commonHelper.getRandomInstance(nitterRandomPool)
|
nitterInstance || commonHelper.getRandomInstance(nitterRandomPool)
|
||||||
}${url.pathname.replace("/tweets", "")}${url.search}`;
|
}${url.pathname.replace("/tweets", "")}${url.search}`;
|
||||||
|
@ -342,6 +374,9 @@ function redirectGoogleMaps(url, initiator) {
|
||||||
if (disableOsm || isException(url, initiator)) {
|
if (disableOsm || isException(url, initiator)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
if (initiator.host === "earth.google.com") {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
let redirect;
|
let redirect;
|
||||||
let mapCentre = "";
|
let mapCentre = "";
|
||||||
let params = "";
|
let params = "";
|
||||||
|
@ -361,7 +396,7 @@ function redirectGoogleMaps(url, initiator) {
|
||||||
layers[url.searchParams.get("layer")] || layers["none"]
|
layers[url.searchParams.get("layer")] || layers["none"]
|
||||||
}`;
|
}`;
|
||||||
// Handle Google Maps Embed API
|
// Handle Google Maps Embed API
|
||||||
if (url.pathname.includes("/embed")) {
|
if (url.pathname.split("/").includes("embed")) {
|
||||||
let query = "";
|
let query = "";
|
||||||
if (url.searchParams.has("q")) {
|
if (url.searchParams.has("q")) {
|
||||||
query = url.searchParams.get("q");
|
query = url.searchParams.get("q");
|
||||||
|
@ -382,7 +417,7 @@ function redirectGoogleMaps(url, initiator) {
|
||||||
});
|
});
|
||||||
redirect = `${osmInstance}/export/embed.html?bbox=${bbox}&layer=mapnik&marker=${marker}`;
|
redirect = `${osmInstance}/export/embed.html?bbox=${bbox}&layer=mapnik&marker=${marker}`;
|
||||||
// Handle Google Maps Directions
|
// Handle Google Maps Directions
|
||||||
} else if (url.pathname.includes("/dir")) {
|
} else if (url.pathname.split("/").includes("dir")) {
|
||||||
const travelMode =
|
const travelMode =
|
||||||
travelModes[url.searchParams.get("travelmode")] || travelModes["driving"];
|
travelModes[url.searchParams.get("travelmode")] || travelModes["driving"];
|
||||||
let origin;
|
let origin;
|
||||||
|
@ -448,6 +483,35 @@ function redirectReddit(url, initiator, type) {
|
||||||
if (type !== "main_frame" || url.pathname.match(redditBypassPaths)) {
|
if (type !== "main_frame" || url.pathname.match(redditBypassPaths)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
if (url.host === "i.redd.it") {
|
||||||
|
if (redditInstance.includes("libredd")) {
|
||||||
|
return `${redditInstance}/img${url.pathname}${url.search}`;
|
||||||
|
} else if (redditInstance.includes("teddit")) {
|
||||||
|
// As of 2021-04-09, redirects for teddit images are nontrivial:
|
||||||
|
// - navigating to the image before ever navigating to its page causes
|
||||||
|
// 404 error (probably needs fix on teddit project)
|
||||||
|
// - some image links on teddit are very different
|
||||||
|
// Therefore, don't support redirecting image links for teddit.
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
} else if (url.host === "redd.it") {
|
||||||
|
if (
|
||||||
|
redditInstance.includes("teddit") &&
|
||||||
|
!url.pathname.match(/^\/+[^\/]+\/+[^\/]/)
|
||||||
|
) {
|
||||||
|
// As of 2021-04-22, redirects for teddit redd.it/foo links don't work.
|
||||||
|
// It appears that adding "/comments" as a prefix works, so manually add
|
||||||
|
// that prefix if it is missing. Even though redd.it/comments/foo links
|
||||||
|
// don't seem to work or exist, guard against affecting those kinds of
|
||||||
|
// paths.
|
||||||
|
//
|
||||||
|
// Note the difference between redd.it/comments/foo (doesn't work) and
|
||||||
|
// teddit.net/comments/foo (works).
|
||||||
|
return `${redditInstance}/comments${url.pathname}${url.search}`;
|
||||||
|
}
|
||||||
|
}
|
||||||
return `${redditInstance}${url.pathname}${url.search}`;
|
return `${redditInstance}${url.pathname}${url.search}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -469,6 +533,50 @@ function redirectSearchEngine(url, initiator) {
|
||||||
return `${searchEngine.link}${searchEngine.q}?${search}`;
|
return `${searchEngine.link}${searchEngine.q}?${search}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function redirectGoogleTranslate(url, initiator) {
|
||||||
|
if (disableSimplyTranslate || isException(url, initiator)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return `${simplyTranslateInstance}/${url.search}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
function redirectWikipedia(url, initiator) {
|
||||||
|
if (disableWikipedia || isException(url, initiator)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
let GETArguments = [];
|
||||||
|
if (url.search.length > 0) {
|
||||||
|
let search = url.search.substring(1); //get rid of '?'
|
||||||
|
let argstrings = search.split("&");
|
||||||
|
for (let i = 0; i < argstrings.length; i++) {
|
||||||
|
let args = argstrings[i].split("=");
|
||||||
|
GETArguments.push([args[0], args[1]]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let link = `${wikipediaInstance}${url.pathname}`;
|
||||||
|
let urlSplit = url.host.split(".");
|
||||||
|
if (urlSplit[0] != "wikipedia" && urlSplit[0] != "www") {
|
||||||
|
if (urlSplit[0] == "m")
|
||||||
|
GETArguments.push(["mobileaction", "toggle_view_mobile"]);
|
||||||
|
else GETArguments.push(["lang", urlSplit[0]]);
|
||||||
|
if (urlSplit[1] == "m")
|
||||||
|
GETArguments.push(["mobileaction", "toggle_view_mobile"]);
|
||||||
|
//wikiless doesn't have mobile view support yet
|
||||||
|
}
|
||||||
|
for (let i = 0; i < GETArguments.length; i++) {
|
||||||
|
link +=
|
||||||
|
(i == 0 ? "?" : "&") + GETArguments[i][0] + "=" + GETArguments[i][1];
|
||||||
|
}
|
||||||
|
if (
|
||||||
|
urlSplit[urlSplit.length - 1] == "org" &&
|
||||||
|
urlSplit[urlSplit.length - 2] == "wikipedia"
|
||||||
|
)
|
||||||
|
//just in case someone wanted to visit wikipedia.org.foo.bar.net
|
||||||
|
return link;
|
||||||
|
else return null;
|
||||||
|
}
|
||||||
|
|
||||||
browser.webRequest.onBeforeRequest.addListener(
|
browser.webRequest.onBeforeRequest.addListener(
|
||||||
(details) => {
|
(details) => {
|
||||||
const url = new URL(details.url);
|
const url = new URL(details.url);
|
||||||
|
@ -495,10 +603,7 @@ browser.webRequest.onBeforeRequest.addListener(
|
||||||
redirect = {
|
redirect = {
|
||||||
redirectUrl: redirectGoogleMaps(url, initiator),
|
redirectUrl: redirectGoogleMaps(url, initiator),
|
||||||
};
|
};
|
||||||
} else if (
|
} else if (redditDomains.includes(url.host)) {
|
||||||
redditDomains.includes(url.host) ||
|
|
||||||
redditInstances.includes(url.origin)
|
|
||||||
) {
|
|
||||||
redirect = {
|
redirect = {
|
||||||
redirectUrl: redirectReddit(url, initiator, details.type),
|
redirectUrl: redirectReddit(url, initiator, details.type),
|
||||||
};
|
};
|
||||||
|
@ -506,6 +611,14 @@ browser.webRequest.onBeforeRequest.addListener(
|
||||||
redirect = {
|
redirect = {
|
||||||
redirectUrl: redirectSearchEngine(url, initiator),
|
redirectUrl: redirectSearchEngine(url, initiator),
|
||||||
};
|
};
|
||||||
|
} else if (googleTranslateDomains.includes(url.host)) {
|
||||||
|
redirect = {
|
||||||
|
redirectUrl: redirectGoogleTranslate(url, initiator),
|
||||||
|
};
|
||||||
|
} else if (url.host.match(wikipediaRegex)) {
|
||||||
|
redirect = {
|
||||||
|
redirectUrl: redirectWikipedia(url, initiator),
|
||||||
|
};
|
||||||
}
|
}
|
||||||
if (redirect && redirect.redirectUrl) {
|
if (redirect && redirect.redirectUrl) {
|
||||||
console.info(
|
console.info(
|
||||||
|
@ -525,13 +638,26 @@ browser.webRequest.onBeforeRequest.addListener(
|
||||||
);
|
);
|
||||||
|
|
||||||
browser.runtime.onInstalled.addListener((details) => {
|
browser.runtime.onInstalled.addListener((details) => {
|
||||||
browser.storage.sync.get(["disableSearchEngine"], (result) => {
|
browser.storage.sync.get(
|
||||||
if (result.disableSearchEngine === undefined) {
|
["disableSearchEngine", "disableSimplyTranslate", "disableWikipedia"],
|
||||||
browser.storage.sync.set({
|
(result) => {
|
||||||
disableSearchEngine: true,
|
if (result.disableSearchEngine === undefined) {
|
||||||
});
|
browser.storage.sync.set({
|
||||||
|
disableSearchEngine: true,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (result.disableSimplyTranslate === undefined) {
|
||||||
|
browser.storage.sync.set({
|
||||||
|
disableSimplyTranslate: true,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (result.disableWikipedia === undefined) {
|
||||||
|
browser.storage.sync.set({
|
||||||
|
disableWikipedia: true,
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
);
|
||||||
if (details.reason === "update") {
|
if (details.reason === "update") {
|
||||||
browser.storage.sync.get(
|
browser.storage.sync.get(
|
||||||
["whitelist", "exceptions", "invidiousInstance", "disableSearchEngine"],
|
["whitelist", "exceptions", "invidiousInstance", "disableSearchEngine"],
|
||||||
|
|
|
@ -147,7 +147,7 @@
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<h1 data-localise="__MSG_disableSearchEngine__" class="new-badge" data-new-badge>
|
<h1 data-localise="__MSG_disableSearchEngine__">
|
||||||
Search Engine Redirects
|
Search Engine Redirects
|
||||||
</h1>
|
</h1>
|
||||||
</td>
|
</td>
|
||||||
|
@ -164,6 +164,44 @@
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</section>
|
</section>
|
||||||
|
<section class="settings-block">
|
||||||
|
<table class="option" aria-label="Toggle SimplyTranslate redirects">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<h1 data-localise="__MSG_disableSimplyTranslate__">SimplyTranslate Redirects</h1>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input
|
||||||
|
aria-hidden="true"
|
||||||
|
id="disable-simply-translate"
|
||||||
|
type="checkbox"
|
||||||
|
/>
|
||||||
|
<label for="disable-simply-translate" class="checkbox-label"></label>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</section>
|
||||||
|
<section class="settings-block">
|
||||||
|
<table class="option" aria-label="Toggle Wikipedia redirects">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<h1 data-localise="__MSG_disableWikipedia__" class="new-badge" data-new-badge>Wikipedia Redirects</h1>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input
|
||||||
|
aria-hidden="true"
|
||||||
|
id="disable-wikipedia"
|
||||||
|
type="checkbox"
|
||||||
|
/>
|
||||||
|
<label for="disable-wikipedia" class="checkbox-label"></label>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</section>
|
||||||
<section class="settings-block">
|
<section class="settings-block">
|
||||||
<h1 data-localise="__MSG_nitterInstance__">Nitter Instance</h1>
|
<h1 data-localise="__MSG_nitterInstance__">Nitter Instance</h1>
|
||||||
<div class="autocomplete">
|
<div class="autocomplete">
|
||||||
|
@ -229,6 +267,26 @@
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
<section class="settings-block">
|
||||||
|
<h1 data-localise="__MSG_simplyTranslateInstance__">SimplyTranslate Instance</h1>
|
||||||
|
<div class="autocomplete">
|
||||||
|
<input
|
||||||
|
id="simply-translate-instance"
|
||||||
|
type="url"
|
||||||
|
placeholder="https://translate.metalune.xyz"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section class="settings-block">
|
||||||
|
<h1 data-localise="__MSG_wikipediaInstance__">Wikipedia Instance</h1>
|
||||||
|
<div class="autocomplete">
|
||||||
|
<input
|
||||||
|
id="wikipedia-instance"
|
||||||
|
type="url"
|
||||||
|
placeholder="https://wikiless.org"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
<section class="settings-block">
|
<section class="settings-block">
|
||||||
<h1 data-localise="__MSG_theme__">Theme</h1>
|
<h1 data-localise="__MSG_theme__">Theme</h1>
|
||||||
<select id="theme">
|
<select id="theme">
|
||||||
|
|
|
@ -7,6 +7,8 @@ import instagramHelper from "../../assets/javascripts/helpers/instagram.js";
|
||||||
import mapsHelper from "../../assets/javascripts/helpers/google-maps.js";
|
import mapsHelper from "../../assets/javascripts/helpers/google-maps.js";
|
||||||
import redditHelper from "../../assets/javascripts/helpers/reddit.js";
|
import redditHelper from "../../assets/javascripts/helpers/reddit.js";
|
||||||
import searchHelper from "../../assets/javascripts/helpers/google-search.js";
|
import searchHelper from "../../assets/javascripts/helpers/google-search.js";
|
||||||
|
import googleTranslateHelper from "../../assets/javascripts/helpers/google-translate.js";
|
||||||
|
import wikipediaHelper from "../../assets/javascripts/helpers/wikipedia.js";
|
||||||
|
|
||||||
const nitterInstances = twitterHelper.redirects;
|
const nitterInstances = twitterHelper.redirects;
|
||||||
const invidiousInstances = youtubeHelper.redirects;
|
const invidiousInstances = youtubeHelper.redirects;
|
||||||
|
@ -14,6 +16,8 @@ const bibliogramInstances = instagramHelper.redirects;
|
||||||
const osmInstances = mapsHelper.redirects;
|
const osmInstances = mapsHelper.redirects;
|
||||||
const redditInstances = redditHelper.redirects;
|
const redditInstances = redditHelper.redirects;
|
||||||
const searchEngineInstances = searchHelper.redirects;
|
const searchEngineInstances = searchHelper.redirects;
|
||||||
|
const simplyTranslateInstances = googleTranslateHelper.redirects;
|
||||||
|
const wikipediaInstances = wikipediaHelper.redirects;
|
||||||
const autocompletes = [
|
const autocompletes = [
|
||||||
{ id: "nitter-instance", instances: nitterInstances },
|
{ id: "nitter-instance", instances: nitterInstances },
|
||||||
{ id: "invidious-instance", instances: invidiousInstances },
|
{ id: "invidious-instance", instances: invidiousInstances },
|
||||||
|
@ -24,6 +28,8 @@ const autocompletes = [
|
||||||
id: "search-engine-instance",
|
id: "search-engine-instance",
|
||||||
instances: searchEngineInstances.map((instance) => instance.link),
|
instances: searchEngineInstances.map((instance) => instance.link),
|
||||||
},
|
},
|
||||||
|
{ id: "simply-translate-instance", instances: simplyTranslateInstances },
|
||||||
|
{ id: "wikipedia-instance", instances: wikipediaInstances },
|
||||||
];
|
];
|
||||||
const domparser = new DOMParser();
|
const domparser = new DOMParser();
|
||||||
|
|
||||||
|
@ -33,12 +39,20 @@ let bibliogramInstance = document.getElementById("bibliogram-instance");
|
||||||
let osmInstance = document.getElementById("osm-instance");
|
let osmInstance = document.getElementById("osm-instance");
|
||||||
let redditInstance = document.getElementById("reddit-instance");
|
let redditInstance = document.getElementById("reddit-instance");
|
||||||
let searchEngineInstance = document.getElementById("search-engine-instance");
|
let searchEngineInstance = document.getElementById("search-engine-instance");
|
||||||
|
let simplyTranslateInstance = document.getElementById(
|
||||||
|
"simply-translate-instance"
|
||||||
|
);
|
||||||
|
let wikipediaInstance = document.getElementById("wikipedia-instance");
|
||||||
let disableNitter = document.getElementById("disable-nitter");
|
let disableNitter = document.getElementById("disable-nitter");
|
||||||
let disableInvidious = document.getElementById("disable-invidious");
|
let disableInvidious = document.getElementById("disable-invidious");
|
||||||
let disableBibliogram = document.getElementById("disable-bibliogram");
|
let disableBibliogram = document.getElementById("disable-bibliogram");
|
||||||
let disableOsm = document.getElementById("disable-osm");
|
let disableOsm = document.getElementById("disable-osm");
|
||||||
let disableReddit = document.getElementById("disable-reddit");
|
let disableReddit = document.getElementById("disable-reddit");
|
||||||
let disableSearchEngine = document.getElementById("disable-search-engine");
|
let disableSearchEngine = document.getElementById("disable-search-engine");
|
||||||
|
let disableSimplyTranslate = document.getElementById(
|
||||||
|
"disable-simply-translate"
|
||||||
|
);
|
||||||
|
let disableWikipedia = document.getElementById("disable-wikipedia");
|
||||||
let alwaysProxy = document.getElementById("always-proxy");
|
let alwaysProxy = document.getElementById("always-proxy");
|
||||||
let onlyEmbeddedVideo = document.getElementById("only-embed");
|
let onlyEmbeddedVideo = document.getElementById("only-embed");
|
||||||
let videoQuality = document.getElementById("video-quality");
|
let videoQuality = document.getElementById("video-quality");
|
||||||
|
@ -90,12 +104,16 @@ browser.storage.sync.get(
|
||||||
"osmInstance",
|
"osmInstance",
|
||||||
"redditInstance",
|
"redditInstance",
|
||||||
"searchEngineInstance",
|
"searchEngineInstance",
|
||||||
|
"simplyTranslateInstance",
|
||||||
|
"wikipediaInstance",
|
||||||
"disableNitter",
|
"disableNitter",
|
||||||
"disableInvidious",
|
"disableInvidious",
|
||||||
"disableBibliogram",
|
"disableBibliogram",
|
||||||
"disableOsm",
|
"disableOsm",
|
||||||
"disableReddit",
|
"disableReddit",
|
||||||
"disableSearchEngine",
|
"disableSearchEngine",
|
||||||
|
"disableSimplyTranslate",
|
||||||
|
"disableWikipedia",
|
||||||
"alwaysProxy",
|
"alwaysProxy",
|
||||||
"onlyEmbeddedVideo",
|
"onlyEmbeddedVideo",
|
||||||
"videoQuality",
|
"videoQuality",
|
||||||
|
@ -123,12 +141,16 @@ browser.storage.sync.get(
|
||||||
redditInstance.value = result.redditInstance || "";
|
redditInstance.value = result.redditInstance || "";
|
||||||
searchEngineInstance.value =
|
searchEngineInstance.value =
|
||||||
(result.searchEngineInstance && result.searchEngineInstance.link) || "";
|
(result.searchEngineInstance && result.searchEngineInstance.link) || "";
|
||||||
|
simplyTranslateInstance.value = result.simplyTranslateInstance || "";
|
||||||
|
wikipediaInstance.value = result.wikipediaInstance || "";
|
||||||
disableNitter.checked = !result.disableNitter;
|
disableNitter.checked = !result.disableNitter;
|
||||||
disableInvidious.checked = !result.disableInvidious;
|
disableInvidious.checked = !result.disableInvidious;
|
||||||
disableBibliogram.checked = !result.disableBibliogram;
|
disableBibliogram.checked = !result.disableBibliogram;
|
||||||
disableOsm.checked = !result.disableOsm;
|
disableOsm.checked = !result.disableOsm;
|
||||||
disableReddit.checked = !result.disableReddit;
|
disableReddit.checked = !result.disableReddit;
|
||||||
disableSearchEngine.checked = !result.disableSearchEngine;
|
disableSearchEngine.checked = !result.disableSearchEngine;
|
||||||
|
disableSimplyTranslate.checked = !result.disableSimplyTranslate;
|
||||||
|
disableWikipedia.checked = !result.disableWikipedia;
|
||||||
alwaysProxy.checked = result.alwaysProxy;
|
alwaysProxy.checked = result.alwaysProxy;
|
||||||
onlyEmbeddedVideo.checked = result.onlyEmbeddedVideo;
|
onlyEmbeddedVideo.checked = result.onlyEmbeddedVideo;
|
||||||
videoQuality.value = result.videoQuality || "";
|
videoQuality.value = result.videoQuality || "";
|
||||||
|
@ -303,6 +325,30 @@ const searchEngineInstanceChange = debounce(() => {
|
||||||
}, 500);
|
}, 500);
|
||||||
searchEngineInstance.addEventListener("input", searchEngineInstanceChange);
|
searchEngineInstance.addEventListener("input", searchEngineInstanceChange);
|
||||||
|
|
||||||
|
const simplyTranslateInstanceChange = debounce(() => {
|
||||||
|
if (simplyTranslateInstance.checkValidity()) {
|
||||||
|
browser.storage.sync.set({
|
||||||
|
simplyTranslateInstance: parseURL(simplyTranslateInstance.value),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}, 500);
|
||||||
|
simplyTranslateInstance.addEventListener(
|
||||||
|
"input",
|
||||||
|
simplyTranslateInstanceChange
|
||||||
|
);
|
||||||
|
|
||||||
|
const wikipediaInstanceChange = debounce(() => {
|
||||||
|
if (wikipediaInstance.checkValidity()) {
|
||||||
|
browser.storage.sync.set({
|
||||||
|
wikipediaInstance: parseURL(wikipediaInstance.value),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}, 500);
|
||||||
|
wikipediaInstance.addEventListener(
|
||||||
|
"input",
|
||||||
|
wikipediaInstanceChange
|
||||||
|
);
|
||||||
|
|
||||||
disableNitter.addEventListener("change", (event) => {
|
disableNitter.addEventListener("change", (event) => {
|
||||||
browser.storage.sync.set({ disableNitter: !event.target.checked });
|
browser.storage.sync.set({ disableNitter: !event.target.checked });
|
||||||
});
|
});
|
||||||
|
@ -327,6 +373,14 @@ disableSearchEngine.addEventListener("change", (event) => {
|
||||||
browser.storage.sync.set({ disableSearchEngine: !event.target.checked });
|
browser.storage.sync.set({ disableSearchEngine: !event.target.checked });
|
||||||
});
|
});
|
||||||
|
|
||||||
|
disableSimplyTranslate.addEventListener("change", (event) => {
|
||||||
|
browser.storage.sync.set({ disableSimplyTranslate: !event.target.checked });
|
||||||
|
});
|
||||||
|
|
||||||
|
disableWikipedia.addEventListener("change", (event) => {
|
||||||
|
browser.storage.sync.set({ disableWikipedia: !event.target.checked });
|
||||||
|
});
|
||||||
|
|
||||||
alwaysProxy.addEventListener("change", (event) => {
|
alwaysProxy.addEventListener("change", (event) => {
|
||||||
browser.storage.sync.set({ alwaysProxy: event.target.checked });
|
browser.storage.sync.set({ alwaysProxy: event.target.checked });
|
||||||
});
|
});
|
||||||
|
@ -477,7 +531,7 @@ function autocomplete(input, list) {
|
||||||
div.prepend(strong);
|
div.prepend(strong);
|
||||||
div.appendChild(hiddenInput);
|
div.appendChild(hiddenInput);
|
||||||
div.addEventListener("click", function (e) {
|
div.addEventListener("click", function (e) {
|
||||||
input.value = e.target.getElementsByTagName("input")[0].value;
|
input.value = div.getElementsByTagName("input")[0].value;
|
||||||
input.dispatchEvent(new Event("input"));
|
input.dispatchEvent(new Event("input"));
|
||||||
closeAllLists();
|
closeAllLists();
|
||||||
});
|
});
|
||||||
|
|
|
@ -142,11 +142,7 @@
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<h1
|
<h1 data-localise="__MSG_disableSearchEngine__">
|
||||||
data-localise="__MSG_disableSearchEngine__"
|
|
||||||
class="new-badge"
|
|
||||||
data-new-badge
|
|
||||||
>
|
|
||||||
Search Engine Redirects
|
Search Engine Redirects
|
||||||
</h1>
|
</h1>
|
||||||
</td>
|
</td>
|
||||||
|
@ -164,6 +160,57 @@
|
||||||
</table>
|
</table>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
<section class="settings-block">
|
||||||
|
<table class="option" aria-label="Toggle SimplyTranslate redirects">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<h1 data-localise="__MSG_disableSimplyTranslate__">
|
||||||
|
SimplyTranslate Redirects
|
||||||
|
</h1>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input
|
||||||
|
aria-hidden="true"
|
||||||
|
id="disable-simplyTranslate"
|
||||||
|
type="checkbox"
|
||||||
|
/>
|
||||||
|
<label
|
||||||
|
for="disable-simplyTranslate"
|
||||||
|
class="checkbox-label"
|
||||||
|
></label>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="settings-block">
|
||||||
|
<table class="option" aria-label="Toggle Wikipedia redirects">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<h1
|
||||||
|
data-localise="__MSG_disableWikipedia__"
|
||||||
|
class="new-badge"
|
||||||
|
data-new-badge
|
||||||
|
>
|
||||||
|
Wikipedia Redirects
|
||||||
|
</h1>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input
|
||||||
|
aria-hidden="true"
|
||||||
|
id="disable-wikipedia"
|
||||||
|
type="checkbox"
|
||||||
|
/>
|
||||||
|
<label for="disable-wikipedia" class="checkbox-label"></label>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</section>
|
||||||
|
|
||||||
<section class="settings-block"></section>
|
<section class="settings-block"></section>
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
|
|
|
@ -6,6 +6,8 @@ let disableBibliogram = document.querySelector("#disable-bibliogram");
|
||||||
let disableOsm = document.querySelector("#disable-osm");
|
let disableOsm = document.querySelector("#disable-osm");
|
||||||
let disableReddit = document.querySelector("#disable-reddit");
|
let disableReddit = document.querySelector("#disable-reddit");
|
||||||
let disableSearchEngine = document.querySelector("#disable-searchEngine");
|
let disableSearchEngine = document.querySelector("#disable-searchEngine");
|
||||||
|
let disableSimplyTranslate = document.querySelector("#disable-simplyTranslate");
|
||||||
|
let disableWikipedia = document.querySelector("#disable-wikipedia");
|
||||||
let version = document.querySelector("#version");
|
let version = document.querySelector("#version");
|
||||||
|
|
||||||
window.browser = window.browser || window.chrome;
|
window.browser = window.browser || window.chrome;
|
||||||
|
@ -18,6 +20,8 @@ browser.storage.sync.get(
|
||||||
"disableOsm",
|
"disableOsm",
|
||||||
"disableReddit",
|
"disableReddit",
|
||||||
"disableSearchEngine",
|
"disableSearchEngine",
|
||||||
|
"disableSimplyTranslate",
|
||||||
|
"disableWikipedia",
|
||||||
"theme",
|
"theme",
|
||||||
],
|
],
|
||||||
(result) => {
|
(result) => {
|
||||||
|
@ -28,6 +32,8 @@ browser.storage.sync.get(
|
||||||
disableOsm.checked = !result.disableOsm;
|
disableOsm.checked = !result.disableOsm;
|
||||||
disableReddit.checked = !result.disableReddit;
|
disableReddit.checked = !result.disableReddit;
|
||||||
disableSearchEngine.checked = !result.disableSearchEngine;
|
disableSearchEngine.checked = !result.disableSearchEngine;
|
||||||
|
disableSimplyTranslate.checked = !result.disableSimplyTranslate;
|
||||||
|
disableWikipedia.checked = !result.disableWikipedia;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -57,6 +63,14 @@ disableSearchEngine.addEventListener("change", (event) => {
|
||||||
browser.storage.sync.set({ disableSearchEngine: !event.target.checked });
|
browser.storage.sync.set({ disableSearchEngine: !event.target.checked });
|
||||||
});
|
});
|
||||||
|
|
||||||
|
disableSimplyTranslate.addEventListener("change", (event) => {
|
||||||
|
browser.storage.sync.set({ disableSimplyTranslate: !event.target.checked });
|
||||||
|
});
|
||||||
|
|
||||||
|
disableWikipedia.addEventListener("change", (event) => {
|
||||||
|
browser.storage.sync.set({ disableWikipedia: !event.target.checked });
|
||||||
|
});
|
||||||
|
|
||||||
document.querySelector("#more-options").addEventListener("click", () => {
|
document.querySelector("#more-options").addEventListener("click", () => {
|
||||||
browser.runtime.openOptionsPage();
|
browser.runtime.openOptionsPage();
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue