about summary refs log tree commit diff stats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--.envrc1
-rw-r--r--.gitignore5
-rw-r--r--README.md72
-rwxr-xr-xbuild.sh13
-rw-r--r--flake.lock64
-rw-r--r--flake.nix38
-rw-r--r--img/libredirect_full.svg156
-rw-r--r--src/_locales/ar/messages.json10
-rw-r--r--src/_locales/bs/messages.json145
-rw-r--r--src/_locales/cs/messages.json6
-rw-r--r--src/_locales/de/messages.json145
-rw-r--r--src/_locales/en/messages.json4
-rw-r--r--src/_locales/es/messages.json6
-rw-r--r--src/_locales/gl/messages.json6
-rw-r--r--src/_locales/hr/messages.json6
-rw-r--r--src/_locales/id/messages.json4
-rw-r--r--src/_locales/it/messages.json6
-rw-r--r--src/_locales/ja/messages.json6
-rw-r--r--src/_locales/ko/messages.json145
-rw-r--r--src/_locales/nb_NO/messages.json145
-rw-r--r--src/_locales/nl/messages.json6
-rw-r--r--src/_locales/pl/messages.json6
-rw-r--r--src/_locales/pt/messages.json145
-rw-r--r--src/_locales/pt_BR/messages.json145
-rw-r--r--src/_locales/ro/messages.json6
-rw-r--r--src/_locales/ru/messages.json6
-rw-r--r--src/_locales/sr/messages.json145
-rw-r--r--src/_locales/tr/messages.json6
-rw-r--r--src/_locales/uk/messages.json6
-rw-r--r--src/_locales/vi/messages.json145
-rw-r--r--src/_locales/zh_Hans/messages.json6
-rw-r--r--src/assets/images/icon.icobin0 -> 82726 bytes
-rw-r--r--src/assets/images/libredirect-1024.pngbin0 -> 38606 bytes
-rw-r--r--src/assets/images/libredirect-128.pngbin3572 -> 4063 bytes
-rw-r--r--src/assets/images/libredirect-16.pngbin530 -> 541 bytes
-rw-r--r--src/assets/images/libredirect-32.pngbin971 -> 1072 bytes
-rw-r--r--src/assets/images/libredirect-48.pngbin1447 -> 1590 bytes
-rw-r--r--src/assets/images/libredirect.pngbin42515 -> 48660 bytes
-rw-r--r--src/assets/images/libredirect.svg133
-rw-r--r--src/assets/javascripts/services.js3
-rw-r--r--src/manifest.json2
41 files changed, 307 insertions, 1436 deletions
diff --git a/.envrc b/.envrc
new file mode 100644
index 00000000..3550a30f
--- /dev/null
+++ b/.envrc
@@ -0,0 +1 @@
+use flake
diff --git a/.gitignore b/.gitignore
index c10438e0..6a0724e0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,9 @@
+# build dirs
 web-ext-artifacts/
+/.direnv
+/result
+
+# other things
 .DS_Store
 nod
 node_modules
diff --git a/README.md b/README.md
index c71984a1..8f201dd6 100644
--- a/README.md
+++ b/README.md
@@ -1,69 +1,3 @@
-<img src="./img/libredirect_full.svg" height="50"/>
-
-A browser extension that redirects YouTube, Twitter, TikTok... requests to alternative privacy friendly frontends and backends.
-
-<a href="https://addons.mozilla.org/firefox/addon/libredirect/">
-    <img src ="./img/badge-amo.png" height=60 >
-</a>
-&nbsp;
-<a href="https://libredirect.github.io/download_chromium.html">
-    <img src ="./img/badge-chromium.png" height=60 >
-</a>
-
-## Translate
-
-<a href="https://hosted.weblate.org/projects/libredirect/extension">
-    <img src ="./img/weblate.svg">
-</a>
-
-## Development
-
-Install [Node.js](https://nodejs.org/)
-
-```bash
-git clone https://github.com/libredirect/browser_extension
-cd browser_extension
-npm install
-npm run html # Generates html using Pug
-```
-
-#### Run on Firefox
-
-```bash
-npm run start
-```
-
-#### Build a zip package for Firefox
-
-```bash
-npm run build
-```
-
-#### Install the zip package on Firefox (temporarily)
-
-1. Type in the address bar: `about:debugging#/runtime/this-firefox`
-2. Press `Load Temporary Add-on...`
-3. Select `libredirect-VERSION.zip` from `web-ext-artifacts` folder
-
-#### Install the zip package on Firefox ESR, Developer Edition, Nightly
-
-1. Type in the address bar: `about:config`
-2. Set `xpinstall.signatures.required` to `false`
-3. Type in the address bar: `about:addons`
-4. Click on the gear shaped `settings` button and select `Install Add-on From File...`
-5. Select `libredirect-VERSION.zip` from `web-ext-artifacts` folder
-
-#### Run on Chromium
-
-1. Open `chrome://extensions`
-2. Enable `dev mode`
-3. Select `load unpacked extension`
-4. Select `src` folder
-
----
-
-Test conditions to check new functions and changes after building - [please refer here](./test-conditions.md)
-
----
-
-Forked from [Privacy Redirect](https://github.com/SimonBrazell/privacy-redirect)
+# LibRedirect fork for vhack.eu services
+This is a soft fork of [LibRedirect](https://codeberg.org/LibRedirect/browser_extension)
+with the vhack.eu services pre-configured.
diff --git a/build.sh b/build.sh
new file mode 100755
index 00000000..80598899
--- /dev/null
+++ b/build.sh
@@ -0,0 +1,13 @@
+#!/usr/bin/env sh
+
+git fetch --all
+git merge origin/master fork/master
+
+npm install
+npm run html # Generates html using Pug
+npm run build
+
+echo "You can now take the generated extensions to mozilla"
+
+
+# vim: ft=sh
diff --git a/flake.lock b/flake.lock
new file mode 100644
index 00000000..94e4d2d9
--- /dev/null
+++ b/flake.lock
@@ -0,0 +1,64 @@
+{
+  "nodes": {
+    "flake-utils": {
+      "inputs": {
+        "systems": [
+          "systems"
+        ]
+      },
+      "locked": {
+        "lastModified": 1694529238,
+        "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
+        "owner": "numtide",
+        "repo": "flake-utils",
+        "rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
+        "type": "github"
+      },
+      "original": {
+        "owner": "numtide",
+        "repo": "flake-utils",
+        "type": "github"
+      }
+    },
+    "nixpkgs": {
+      "locked": {
+        "lastModified": 1685566663,
+        "narHash": "sha256-btHN1czJ6rzteeCuE/PNrdssqYD2nIA4w48miQAFloM=",
+        "owner": "NixOS",
+        "repo": "nixpkgs",
+        "rev": "4ecab3273592f27479a583fb6d975d4aba3486fe",
+        "type": "github"
+      },
+      "original": {
+        "owner": "NixOS",
+        "ref": "23.05",
+        "repo": "nixpkgs",
+        "type": "github"
+      }
+    },
+    "root": {
+      "inputs": {
+        "flake-utils": "flake-utils",
+        "nixpkgs": "nixpkgs",
+        "systems": "systems"
+      }
+    },
+    "systems": {
+      "locked": {
+        "lastModified": 1680978846,
+        "narHash": "sha256-Gtqg8b/v49BFDpDetjclCYXm8mAnTrUzR0JnE2nv5aw=",
+        "owner": "nix-systems",
+        "repo": "x86_64-linux",
+        "rev": "2ecfcac5e15790ba6ce360ceccddb15ad16d08a8",
+        "type": "github"
+      },
+      "original": {
+        "owner": "nix-systems",
+        "repo": "x86_64-linux",
+        "type": "github"
+      }
+    }
+  },
+  "root": "root",
+  "version": 7
+}
diff --git a/flake.nix b/flake.nix
new file mode 100644
index 00000000..5aa629f6
--- /dev/null
+++ b/flake.nix
@@ -0,0 +1,38 @@
+{
+  description = "vhack.eu's soft fork of LibRedirect";
+
+  inputs = {
+    nixpkgs.url = "github:NixOS/nixpkgs/23.05";
+
+    # inputs for following
+    systems = {
+      url = "github:nix-systems/x86_64-linux"; # only evaluate for this system
+    };
+    flake-utils = {
+      url = "github:numtide/flake-utils";
+      inputs = {
+        systems.follows = "systems";
+      };
+    };
+  };
+
+  outputs = {
+    nixpkgs,
+    flake-utils,
+    ...
+  }:
+    flake-utils.lib.eachDefaultSystem (system: let
+      pkgs = nixpkgs.legacyPackages."${system}";
+
+    in {
+      devShells.default = pkgs.mkShell {
+        packages = [
+          pkgs.nodejs
+          pkgs.nodePackages_latest.web-ext
+          pkgs.nodePackages_latest.prettier
+        ];
+      };
+    });
+}
+# vim: ts=2
+
diff --git a/img/libredirect_full.svg b/img/libredirect_full.svg
deleted file mode 100644
index afb9b6ea..00000000
--- a/img/libredirect_full.svg
+++ /dev/null
@@ -1,156 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
-   width="1701.7863mm"
-   height="333.36884mm"
-   viewBox="0 0 1701.7863 333.36884"
-   version="1.1"
-   id="svg5"
-   inkscape:export-xdpi="78.019997"
-   inkscape:export-ydpi="78.019997"
-   inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
-   sodipodi:docname="libredirect_full.svg"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:svg="http://www.w3.org/2000/svg">
-  <sodipodi:namedview
-     id="namedview7"
-     pagecolor="#272727"
-     bordercolor="#ffffff"
-     borderopacity="1"
-     inkscape:pageshadow="0"
-     inkscape:pageopacity="0"
-     inkscape:pagecheckerboard="false"
-     inkscape:document-units="mm"
-     showgrid="false"
-     inkscape:snap-bbox="true"
-     inkscape:bbox-paths="true"
-     inkscape:bbox-nodes="true"
-     inkscape:snap-bbox-edge-midpoints="true"
-     inkscape:snap-bbox-midpoints="true"
-     inkscape:snap-page="true"
-     fit-margin-top="0"
-     fit-margin-left="0"
-     fit-margin-right="0"
-     fit-margin-bottom="0"
-     showborder="true"
-     inkscape:zoom="0.11275714"
-     inkscape:cx="2589.6365"
-     inkscape:cy="829.21578"
-     inkscape:window-width="1888"
-     inkscape:window-height="1060"
-     inkscape:window-x="32"
-     inkscape:window-y="0"
-     inkscape:window-maximized="1"
-     inkscape:current-layer="text2765"
-     inkscape:snap-global="true"
-     showguides="true"
-     inkscape:guide-bbox="true"
-     inkscape:object-paths="true"
-     inkscape:snap-intersection-paths="true"
-     inkscape:snap-smooth-nodes="true" />
-  <defs
-     id="defs2" />
-  <g
-     inkscape:label="canvas"
-     inkscape:groupmode="layer"
-     id="layer1"
-     transform="translate(-5.29776,-1.5258789e-5)"
-     style="display:none">
-    <rect
-       style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:5.29775;stop-color:#000000"
-       id="rect5300"
-       width="333.36893"
-       height="333.3689"
-       x="5.29776"
-       y="1.5258789e-05" />
-  </g>
-  <g
-     inkscape:groupmode="layer"
-     id="layer2"
-     inkscape:label="contents"
-     transform="translate(-2.5e-8,-1.5258789e-5)">
-    <path
-       id="rect10261"
-       style="fill:#000000;fill-opacity:1;stroke-width:10.6446;stroke-linejoin:bevel;paint-order:stroke markers fill;stop-color:#000000"
-       d="m 166.68447,1.5258789e-5 c -3.52434,0 -7.04775,1.350880241211 -9.74829,4.051407541211 L 4.050805,156.93523 c -5.4010733,5.40105 -5.4010733,14.09797 0,19.49903 l 152.885375,152.8838 c 5.40106,5.40105 14.09676,5.40105 19.49783,0 l 152.88412,-152.8838 c 5.40106,-5.40106 5.40106,-14.09798 0,-19.49903 L 176.43401,4.0514228 C 173.73349,1.3508955 170.2088,1.5258789e-5 166.68447,1.5258789e-5 Z"
-       sodipodi:nodetypes="sccccccscs"
-       inkscape:export-xdpi="78.019997"
-       inkscape:export-ydpi="78.019997" />
-    <path
-       id="path1147"
-       style="fill:#fbc118;fill-opacity:1;stroke-width:10.6446;stroke-linejoin:bevel;paint-order:stroke markers fill;stop-color:#000000"
-       d="m 166.68447,1.5258789e-5 c -3.52434,0 -7.04775,1.350880241211 -9.74829,4.051407541211 L 4.050805,156.93523 c -5.4010733,5.40105 -5.4010733,14.09797 0,19.49903 l 152.885375,152.8838 c 5.40106,5.40105 14.09676,5.40105 19.49783,0 l 152.88412,-152.8838 c 5.40106,-5.40106 5.40106,-14.09798 0,-19.49903 L 176.43401,4.0514228 C 173.73349,1.3508955 170.2088,1.5258789e-5 166.68447,1.5258789e-5 Z m 0,10.719943741211 c 3.2977,0 6.5954,1.263101 9.12228,3.78996 L 318.85962,157.56247 c 5.05373,5.05374 5.05373,13.1908 0,18.24454 L 175.80675,318.85957 c -5.05375,5.05374 -13.19085,5.05374 -18.24457,0 L 14.509325,175.80701 c -5.0537517,-5.05374 -5.0537517,-13.1908 0,-18.24454 L 157.56218,14.509919 c 2.52687,-2.526859 5.82459,-3.78996 9.12229,-3.78996 z"
-       inkscape:export-xdpi="78.019997"
-       inkscape:export-ydpi="78.019997" />
-    <rect
-       style="fill:#fbc117;fill-opacity:1;stroke-width:9.25578;stroke-linejoin:bevel;paint-order:stroke markers fill;stop-color:#000000"
-       id="rect8504"
-       width="211.97903"
-       height="211.97903"
-       x="-105.98952"
-       y="129.73819"
-       transform="matrix(0.70710753,-0.70710617,0.70710753,0.70710617,0,0)"
-       ry="11.988618"
-       inkscape:export-xdpi="78.019997"
-       inkscape:export-ydpi="78.019997" />
-    <path
-       style="fill:#000000;fill-opacity:1;stroke-width:11.7733;stroke-linejoin:bevel;paint-order:stroke markers fill;stop-color:#000000"
-       d="m 184.9484,150.31257 c -47.94368,20.63825 -46.95176,86.74351 -46.95176,86.74351 l -33.49195,2e-5 c 0,0 -0.43631,-96.71487 73.1579,-116.43438 -6.91258,-13.8541 -10.36137,-19.42664 -5.93301,-21.619621 5.93589,-2.939527 68.02199,11.715951 70.34687,20.392521 2.28516,8.52832 -46.82723,53.14308 -53.65602,53.14308 -5.85198,0 -4.22909,-7.02227 -3.47216,-22.22513 z"
-       id="path983"
-       sodipodi:nodetypes="ccccssscc"
-       inkscape:export-xdpi="78.019997"
-       inkscape:export-ydpi="78.019997" />
-    <g
-       aria-label="LibRedirect"
-       id="text2765"
-       style="font-size:248.833px;line-height:1.25;font-family:Inter;-inkscape-font-specification:Inter;fill:#fbc117;stroke-width:6.22088">
-      <path
-         d="M 401.42438,259.45038 V 78.480929 h 21.91427 V 240.0103 h 84.12251 v 19.44008 z"
-         id="path1431"
-         style="fill:#ffffff" />
-      <path
-         d="M 538.56481,259.45038 V 123.72329 h 20.8539 v 135.72709 z m 10.60368,-158.34827 q -6.09712,0 -10.51532,-4.153107 -4.32983,-4.153108 -4.32983,-9.985131 0,-5.832023 4.32983,-9.985131 4.4182,-4.153107 10.51532,-4.153107 6.09711,0 10.42695,4.153107 4.4182,4.153108 4.4182,9.985131 0,5.832023 -4.4182,9.985131 -4.32984,4.153107 -10.42695,4.153107 z"
-         id="path1433"
-         style="fill:#ffffff" />
-      <path
-         d="M 600.41939,259.45038 V 78.480929 h 20.8539 V 145.2841 h 1.76728 q 2.29746,-3.53455 6.36221,-9.01312 4.1531,-5.56693 11.84077,-9.89677 7.77603,-4.4182 21.03063,-4.4182 17.14261,0 30.22048,8.57131 13.07787,8.57131 20.41209,24.3001 7.33421,15.72879 7.33421,37.11287 0,21.56081 -7.33421,37.37797 -7.33422,15.72879 -20.32372,24.38846 -12.98951,8.57131 -29.95539,8.57131 -13.07787,0 -20.94227,-4.32984 -7.86439,-4.4182 -12.10587,-9.98513 -4.24147,-5.6553 -6.53893,-9.36658 h -2.47419 v 20.8539 z m 20.50044,-67.86355 q 0,15.37534 4.50657,27.12775 4.50656,11.66405 13.16623,18.29135 8.65967,6.53893 21.20736,6.53893 13.07787,0 21.8259,-6.89239 8.8364,-6.98076 13.2546,-18.73317 4.50656,-11.84077 4.50656,-26.33247 0,-14.31496 -4.41819,-25.80228 -4.32984,-11.57568 -13.16624,-18.29135 -8.74803,-6.80402 -22.00263,-6.80402 -12.72442,0 -21.38409,6.45057 -8.65967,6.36221 -13.07787,17.84952 -4.4182,11.39896 -4.4182,26.59756 z"
-         id="path1435"
-         style="fill:#ffffff" />
-      <path
-         d="M 754.87924,259.45038 V 78.480929 h 61.14788 q 21.20736,0 34.81541,7.245847 13.60806,7.157483 20.14699,19.705174 6.53894,12.54768 6.53894,28.54156 0,15.99389 -6.53894,28.36484 -6.53893,12.37096 -20.05862,19.44008 -13.51969,6.98076 -34.55032,6.98076 h -49.48384 v -19.79354 h 48.77693 q 14.49169,0 23.32809,-4.24147 8.92476,-4.24147 12.90114,-12.0175 4.06474,-7.8644 4.06474,-18.73317 0,-10.86877 -4.06474,-18.99825 -4.06474,-8.12949 -12.98951,-12.54769 -8.92476,-4.506563 -23.59318,-4.506563 h -38.5267 V 259.45038 Z m 85.18289,-81.29487 44.53545,81.29487 h -25.44883 l -43.82854,-81.29487 z"
-         id="path1437"
-         style="fill:#ffffff" />
-      <path
-         d="m 966.59921,262.27803 q -19.61681,0 -33.84341,-8.65967 -14.13824,-8.74804 -21.82591,-24.38847 -7.5993,-15.72879 -7.5993,-36.58269 0,-20.8539 7.5993,-36.75942 7.68767,-15.99388 21.38409,-24.91864 13.78478,-9.01313 32.16449,-9.01313 10.60368,0 20.94227,3.53456 10.33858,3.53456 18.82156,11.48732 8.483,7.86439 13.5197,20.8539 5.0368,12.98951 5.0368,31.98777 v 8.83639 H 918.17574 V 180.6297 h 83.41556 q 0,-11.48732 -4.59488,-20.50045 -4.50656,-9.01312 -12.90114,-14.2266 -8.30622,-5.21347 -19.61681,-5.21347 -12.45932,0 -21.56081,6.18548 -9.01313,6.09711 -13.87315,15.90551 -4.86002,9.80841 -4.86002,21.03063 v 12.01751 q 0,15.37533 5.30184,26.06737 5.39021,10.60368 14.93352,16.17061 9.54331,5.47857 22.17936,5.47857 8.21785,0 14.84515,-2.29746 6.71566,-2.38583 11.57568,-7.06912 4.86002,-4.77166 7.51096,-11.84078 l 20.1471,5.6553 q -3.1811,10.25022 -10.6921,18.02625 -7.511,7.68767 -18.55651,12.0175 -11.0455,4.24148 -24.83028,4.24148 z"
-         id="path1439"
-         style="fill:#ffffff" />
-      <path
-         d="m 1105.8609,262.27803 q -16.9659,0 -29.9554,-8.57131 -12.9895,-8.65967 -20.3237,-24.38846 -7.3342,-15.81716 -7.3342,-37.37797 0,-21.38408 7.3342,-37.11287 7.3342,-15.72879 20.4121,-24.3001 13.0779,-8.57131 30.2205,-8.57131 13.2546,0 20.9423,4.4182 7.776,4.32984 11.8407,9.89677 4.1531,5.47857 6.4506,9.01312 h 1.7673 V 78.480929 h 20.8539 V 259.45038 h -20.147 v -20.8539 h -2.4742 q -2.2975,3.71128 -6.5389,9.36658 -4.2415,5.56693 -12.1059,9.98513 -7.8644,4.32984 -20.9423,4.32984 z m 2.8277,-18.73317 q 12.5477,0 21.2073,-6.53893 8.6597,-6.6273 13.1663,-18.29135 4.5065,-11.75241 4.5065,-27.12775 0,-15.1986 -4.4182,-26.59756 -4.4182,-11.48731 -13.0778,-17.84952 -8.6597,-6.45057 -21.3841,-6.45057 -13.2546,0 -22.091,6.80402 -8.7481,6.71567 -13.1663,18.29135 -4.3298,11.48732 -4.3298,25.80228 0,14.4917 4.4182,26.33247 4.5066,11.75241 13.2546,18.73317 8.8364,6.89239 21.9143,6.89239 z"
-         id="path1441"
-         style="fill:#ffffff" />
-      <path
-         d="M 1209.0697,259.45038 V 123.72329 h 20.8539 v 135.72709 z m 10.6036,-158.34827 q -6.0971,0 -10.5153,-4.153107 -4.3298,-4.153108 -4.3298,-9.985131 0,-5.832023 4.3298,-9.985131 4.4182,-4.153107 10.5153,-4.153107 6.0972,0 10.427,4.153107 4.4182,4.153108 4.4182,9.985131 0,5.832023 -4.4182,9.985131 -4.3298,4.153107 -10.427,4.153107 z"
-         id="path1443"
-         style="fill:#ffffff" />
-      <path
-         d="M 1268.0966,259.45038 V 123.72329 h 20.147 v 20.50045 h 1.4138 q 3.7113,-10.0735 13.4313,-16.34734 9.7201,-6.27384 21.9143,-6.27384 2.2974,0 5.7436,0.0884 3.4462,0.0884 5.2135,0.26509 v 21.20736 q -1.0604,-0.26509 -4.86,-0.79528 -3.7113,-0.61854 -7.8644,-0.61854 -9.8968,0 -17.6728,4.1531 -7.6877,4.06475 -12.1942,11.31059 -4.4182,7.15749 -4.4182,16.34734 v 85.8898 z"
-         id="path1445"
-         style="fill:#ffffff" />
-      <path
-         d="m 1413.3666,262.27803 q -19.6168,0 -33.8434,-8.65967 -14.1382,-8.74804 -21.8259,-24.38847 -7.5993,-15.72879 -7.5993,-36.58269 0,-20.8539 7.5993,-36.75942 7.6877,-15.99388 21.3841,-24.91864 13.7848,-9.01313 32.1645,-9.01313 10.6037,0 20.9423,3.53456 10.3385,3.53456 18.8215,11.48732 8.4829,7.86439 13.5197,20.8539 5.0367,12.98951 5.0367,31.98777 v 8.83639 H 1364.9432 V 180.6297 h 83.4156 q 0,-11.48732 -4.595,-20.50045 -4.5065,-9.01312 -12.9011,-14.2266 -8.3062,-5.21347 -19.6168,-5.21347 -12.4593,0 -21.5608,6.18548 -9.0131,6.09711 -13.8732,15.90551 -4.86,9.80841 -4.86,21.03063 v 12.01751 q 0,15.37533 5.3019,26.06737 5.3902,10.60368 14.9335,16.17061 9.5433,5.47857 22.1793,5.47857 8.2179,0 14.8452,-2.29746 6.7156,-2.38583 11.5757,-7.06912 4.86,-4.77166 7.5109,-11.84078 l 20.147,5.6553 q -3.1811,10.25022 -10.6921,18.02625 -7.5109,7.68767 -18.5564,12.0175 -11.0455,4.24148 -24.8303,4.24148 z"
-         id="path1447"
-         style="fill:#ffffff" />
-      <path
-         d="m 1556.5162,262.27803 q -19.0867,0 -32.8714,-9.01313 -13.7848,-9.01313 -21.2074,-24.83028 -7.4226,-15.81716 -7.4226,-36.14087 0,-20.67718 7.5993,-36.49433 7.6877,-15.90552 21.3841,-24.83028 13.7848,-9.01313 32.1645,-9.01313 14.315,0 25.8023,5.30184 11.4873,5.30184 18.8215,14.84515 7.3342,9.54331 9.1015,22.26773 h -20.8539 q -2.3858,-9.27822 -10.6037,-16.43571 -8.1295,-7.24584 -21.9142,-7.24584 -12.1943,0 -21.3841,6.3622 -9.1015,6.27385 -14.2266,17.76117 -5.0368,11.39895 -5.0368,26.77428 0,15.7288 4.9484,27.39284 5.0368,11.66405 14.1382,18.11462 9.1899,6.45057 21.5609,6.45057 8.1294,0 14.7567,-2.82765 6.6273,-2.82764 11.2223,-8.12948 4.5949,-5.30184 6.5389,-12.72442 h 20.8539 q -1.7673,12.0175 -8.748,21.64918 -6.8924,9.54331 -18.2914,15.1986 -11.3106,5.56694 -26.3324,5.56694 z"
-         id="path1449"
-         style="fill:#ffffff" />
-      <path
-         d="m 1699.312,123.72329 v 17.6728 h -70.3377 v -17.6728 z m -49.8373,-32.517946 h 20.8539 V 220.57022 q 0,8.8364 2.5626,13.2546 2.6509,4.32984 6.7156,5.83202 4.1532,1.41383 8.7481,1.41383 3.4462,0 5.6553,-0.35346 2.2091,-0.44182 3.5345,-0.70691 l 4.2415,18.73317 q -2.1207,0.79527 -5.9204,1.59055 -3.7996,0.88364 -9.6317,0.88364 -8.8364,0 -17.3193,-3.79965 -8.3946,-3.79965 -13.9615,-11.57569 -5.4786,-7.77603 -5.4786,-19.6168 z"
-         id="path1451"
-         style="fill:#ffffff" />
-    </g>
-  </g>
-</svg>
diff --git a/src/_locales/ar/messages.json b/src/_locales/ar/messages.json
index f68cc196..6868e013 100644
--- a/src/_locales/ar/messages.json
+++ b/src/_locales/ar/messages.json
@@ -1,11 +1,11 @@
 {
     "extensionName": {
-        "message": "LibRedirect",
-        "description": "extension name"
+        "message": "vhack-LibRedirect",
+        "description": "name of the extension"
     },
     "extensionDescription": {
-        "message": "إضافة متصفح تعيد توجيه مواقع مشهورة إلى واجهات أمامية تحترم الخصوصية",
-        "description": "extension description"
+        "message": "A soft fork of the LibRedirect extension, preconfigured with the vhack.eu services",
+        "description": "description of the extension"
     },
     "switchInstance": {
         "message": "تبديل النُسخة",
@@ -158,4 +158,4 @@
     "embedFrontend": {
         "message": "واجهة Embed"
     }
-}
+}
\ No newline at end of file
diff --git a/src/_locales/bs/messages.json b/src/_locales/bs/messages.json
deleted file mode 100644
index 3f3039b6..00000000
--- a/src/_locales/bs/messages.json
+++ /dev/null
@@ -1,145 +0,0 @@
-{
-    "extensionName": {
-        "message": "LibRedirect",
-        "description": "name of the extension"
-    },
-    "extensionDescription": {
-        "message": "Web proširnica koja preusmjerava poznate web stranice na prema alternativnim sučeljima i pozadinama prilagođenim privatnosti",
-        "description": "description of the extension"
-    },
-    "switchInstance": {
-        "message": "Prebaci instancu",
-        "description": "used in manifest.json as shortcut description"
-    },
-    "settings": {
-        "message": "Podešavanja",
-        "description": "used in the popup"
-    },
-    "general": {
-        "message": "Općenito",
-        "description": "used in the settings page"
-    },
-    "theme": {
-        "message": "Tema",
-        "description": "used in the settings page"
-    },
-    "light": {
-        "message": "Svjetla",
-        "description": "used in the settings page"
-    },
-    "dark": {
-        "message": "Mračna",
-        "description": "used in the settings page"
-    },
-    "auto": {
-        "message": "Auto",
-        "description": "used in the settings page"
-    },
-    "excludeFromRedirecting": {
-        "message": "Isključeno iz preusmjeravanja",
-        "description": "used in the settings page"
-    },
-    "importSettings": {
-        "message": "Uvozne Postavke",
-        "description": "used in the settings page"
-    },
-    "exportSettings": {
-        "message": "Izvozne Postavke",
-        "description": "used in the settings page"
-    },
-    "resetSettings": {
-        "message": "Obnovite Postavke",
-        "description": "used in the settings page"
-    },
-    "enable": {
-        "message": "Omogući",
-        "description": "used in the settings page"
-    },
-    "showInPopup": {
-        "message": "Prikaži u skočnom prozoru",
-        "description": "used in the settings page"
-    },
-    "frontend": {
-        "message": "Sučelje",
-        "description": "used in the settings page"
-    },
-    "redirectType": {
-        "message": "Vrsta Preusmjeravanja",
-        "description": "used in the settings page"
-    },
-    "both": {
-        "message": "oba",
-        "description": "used in the settings page"
-    },
-    "onlyEmbedded": {
-        "message": "samo ugrađeno",
-        "description": "used in the settings page"
-    },
-    "onlyNotEmbedded": {
-        "message": "samo neugrađeno",
-        "description": "used in the settings page"
-    },
-    "addYourFavoriteInstances": {
-        "message": "Dodajte vaše omiljene instance",
-        "description": "used in the settings page"
-    },
-    "copyOriginal": {
-        "message": "Copy Original"
-    },
-    "copied": {
-        "message": "Kopirano"
-    },
-    "redirectToOriginal": {
-        "message": "Preusmjerite prema originalnoj",
-        "description": "Used in context menus when right clicking on a page/tab"
-    },
-    "redirectLink": {
-        "message": "Pokušajte preusmjeriti",
-        "description": "Used in context menus when right clicking on a hyperlink"
-    },
-    "about": {
-        "message": "O"
-    },
-    "unsupportedIframesHandling": {
-        "message": "Unsupported iframes handling"
-    },
-    "fetchPublicInstances": {
-        "message": "Fetch public instances"
-    },
-    "disable": {
-        "message": "Disable"
-    },
-    "pingInstances": {
-        "message": "Ping Instances"
-    },
-    "exportSettingsToSync": {
-        "message": "Export Settings to Sync"
-    },
-    "importSettingsFromSync": {
-        "message": "Import Settings from Sync"
-    },
-    "services": {
-        "message": "Services"
-    },
-    "service": {
-        "message": "Service"
-    },
-    "bookmarksMenu": {
-        "message": "Bookmarks menu"
-    },
-    "redirectOnlyInIncognito": {
-        "message": "Redirect Only in Incognito"
-    },
-    "bypass": {
-        "message": "Bypass"
-    },
-    "block": {
-        "message": "Block"
-    },
-    "searchHint": {
-        "message": "Set LibRedirect as Default Search Engine. For how to do in chromium browsers, click <a href='https://libredirect.github.io/docs.html#search_engine_chromium' target='_blank' rel='noopener noreferrer'>here</a>."
-    },
-    "redirect": {
-        "message": "Redirect"
-    }
-}
\ No newline at end of file
diff --git a/src/_locales/cs/messages.json b/src/_locales/cs/messages.json
index 50ad878d..790bb612 100644
--- a/src/_locales/cs/messages.json
+++ b/src/_locales/cs/messages.json
@@ -1,10 +1,10 @@
 {
     "extensionName": {
-        "message": "LibRedirect",
+        "message": "vhack-LibRedirect",
         "description": "name of the extension"
     },
     "extensionDescription": {
-        "message": "Webové rozšíření, které přesměrovává oblíbené weby na alternativní ‘frontends‘ a ‘backends‘ respektující soukromí",
+        "message": "A soft fork of the LibRedirect extension, preconfigured with the vhack.eu services",
         "description": "description of the extension"
     },
     "switchInstance": {
@@ -157,4 +157,4 @@
     "embedFrontend": {
         "message": "Vložený frontend"
     }
-}
+}
\ No newline at end of file
diff --git a/src/_locales/de/messages.json b/src/_locales/de/messages.json
deleted file mode 100644
index e47cd067..00000000
--- a/src/_locales/de/messages.json
+++ /dev/null
@@ -1,145 +0,0 @@
-{
-    "extensionName": {
-        "message": "LibRedirect",
-        "description": "name of the extension"
-    },
-    "extensionDescription": {
-        "message": "Eine Erweiterung, die beliebte Websites auf alternative, datenschutzfreundliche Frontends und Backends umleitet",
-        "description": "description of the extension"
-    },
-    "switchInstance": {
-        "message": "Instanz wechseln",
-        "description": "used in manifest.json as shortcut description"
-    },
-    "settings": {
-        "message": "Einstellungen",
-        "description": "used in the popup"
-    },
-    "general": {
-        "message": "Allgemein",
-        "description": "used in the settings page"
-    },
-    "theme": {
-        "message": "Farbschema",
-        "description": "used in the settings page"
-    },
-    "light": {
-        "message": "Hell",
-        "description": "used in the settings page"
-    },
-    "dark": {
-        "message": "Dunkel",
-        "description": "used in the settings page"
-    },
-    "auto": {
-        "message": "System",
-        "description": "used in the settings page"
-    },
-    "excludeFromRedirecting": {
-        "message": "Vom Umleiten ausschließen",
-        "description": "used in the settings page"
-    },
-    "importSettings": {
-        "message": "Einstellungen importieren",
-        "description": "used in the settings page"
-    },
-    "exportSettings": {
-        "message": "Einstellungen exportieren",
-        "description": "used in the settings page"
-    },
-    "resetSettings": {
-        "message": "Einstellungen zurücksetzen",
-        "description": "used in the settings page"
-    },
-    "enable": {
-        "message": "Aktivieren",
-        "description": "used in the settings page"
-    },
-    "showInPopup": {
-        "message": "Im Pop-up-Fenster anzeigen",
-        "description": "used in the settings page"
-    },
-    "frontend": {
-        "message": "Frontend",
-        "description": "used in the settings page"
-    },
-    "redirectType": {
-        "message": "Art der Umleitung",
-        "description": "used in the settings page"
-    },
-    "both": {
-        "message": "beides",
-        "description": "used in the settings page"
-    },
-    "onlyEmbedded": {
-        "message": "nur eingebettet",
-        "description": "used in the settings page"
-    },
-    "onlyNotEmbedded": {
-        "message": "nur nicht eingebettet",
-        "description": "used in the settings page"
-    },
-    "addYourFavoriteInstances": {
-        "message": "Eigene Instanz hinzufügen",
-        "description": "used in the settings page"
-    },
-    "copyOriginal": {
-        "message": "Copy Original"
-    },
-    "copied": {
-        "message": "Kopiert"
-    },
-    "redirectToOriginal": {
-        "message": "Zur Originalseite umleiten",
-        "description": "Used in context menus when right clicking on a page/tab"
-    },
-    "redirectLink": {
-        "message": "Versuchen umzuleiten",
-        "description": "Used in context menus when right clicking on a hyperlink"
-    },
-    "about": {
-        "message": "Über"
-    },
-    "unsupportedIframesHandling": {
-        "message": "Umgang mit nicht unterstützten iFrames"
-    },
-    "fetchPublicInstances": {
-        "message": "Abrufen öffentlicher Instanzen"
-    },
-    "disable": {
-        "message": "Deaktivieren"
-    },
-    "pingInstances": {
-        "message": "Ping Instances"
-    },
-    "exportSettingsToSync": {
-        "message": "Export Settings to Sync"
-    },
-    "importSettingsFromSync": {
-        "message": "Import Settings from Sync"
-    },
-    "services": {
-        "message": "Services"
-    },
-    "service": {
-        "message": "Service"
-    },
-    "bookmarksMenu": {
-        "message": "Bookmarks menu"
-    },
-    "redirectOnlyInIncognito": {
-        "message": "Redirect Only in Incognito"
-    },
-    "bypass": {
-        "message": "Bypass"
-    },
-    "block": {
-        "message": "Block"
-    },
-    "searchHint": {
-        "message": "Set LibRedirect as Default Search Engine. For how to do in chromium browsers, click <a href='https://libredirect.github.io/docs.html#search_engine_chromium' target='_blank' rel='noopener noreferrer'>here</a>."
-    },
-    "redirect": {
-        "message": "Redirect"
-    }
-}
diff --git a/src/_locales/en/messages.json b/src/_locales/en/messages.json
index 3fe89cb4..1a641f5b 100644
--- a/src/_locales/en/messages.json
+++ b/src/_locales/en/messages.json
@@ -1,10 +1,10 @@
 {
     "extensionName": {
-        "message": "LibRedirect",
+        "message": "vhack-LibRedirect",
         "description": "name of the extension"
     },
     "extensionDescription": {
-        "message": "A web extension that redirects popular sites to alternative privacy-friendly frontends and backends",
+        "message": "A soft fork of the LibRedirect extension, preconfigured with the vhack.eu services",
         "description": "description of the extension"
     },
     "switchInstance": {
diff --git a/src/_locales/es/messages.json b/src/_locales/es/messages.json
index e6663b96..c5e99fed 100644
--- a/src/_locales/es/messages.json
+++ b/src/_locales/es/messages.json
@@ -1,10 +1,10 @@
 {
     "extensionName": {
-        "message": "LibRedirect",
+        "message": "vhack-LibRedirect",
         "description": "name of the extension"
     },
     "extensionDescription": {
-        "message": "Una extensión web que redirige sitios populares a frontends y backends alternativos que respetan la privacidad",
+        "message": "A soft fork of the LibRedirect extension, preconfigured with the vhack.eu services",
         "description": "description of the extension"
     },
     "switchInstance": {
@@ -157,4 +157,4 @@
     "redirectGoogle": {
         "message": "Redirigir a Google"
     }
-}
+}
\ No newline at end of file
diff --git a/src/_locales/gl/messages.json b/src/_locales/gl/messages.json
index 7f44b2b0..f8ba00f8 100644
--- a/src/_locales/gl/messages.json
+++ b/src/_locales/gl/messages.json
@@ -1,10 +1,10 @@
 {
     "extensionName": {
-        "message": "LibRedirect",
+        "message": "vhack-LibRedirect",
         "description": "name of the extension"
     },
     "extensionDescription": {
-        "message": "Un complemento do navegador que redirixe o tráfico cara alternativas amigables e respetuosas",
+        "message": "A soft fork of the LibRedirect extension, preconfigured with the vhack.eu services",
         "description": "description of the extension"
     },
     "switchInstance": {
@@ -157,4 +157,4 @@
     "embedFrontend": {
         "message": "Incrustar Interface"
     }
-}
+}
\ No newline at end of file
diff --git a/src/_locales/hr/messages.json b/src/_locales/hr/messages.json
index 11b52243..3b0a8243 100644
--- a/src/_locales/hr/messages.json
+++ b/src/_locales/hr/messages.json
@@ -1,10 +1,10 @@
 {
     "extensionName": {
-        "message": "LibRedirect",
+        "message": "vhack-LibRedirect",
         "description": "name of the extension"
     },
     "extensionDescription": {
-        "message": "Web proširenje koje preusmjerava popularne web stranice na alternativna sučelja i pozadinske sustave prilagođene privatnosti",
+        "message": "A soft fork of the LibRedirect extension, preconfigured with the vhack.eu services",
         "description": "description of the extension"
     },
     "switchInstance": {
@@ -157,4 +157,4 @@
     "embedFrontend": {
         "message": "Ugradi sučelje"
     }
-}
+}
\ No newline at end of file
diff --git a/src/_locales/id/messages.json b/src/_locales/id/messages.json
index e0bd961f..f60c4fcf 100644
--- a/src/_locales/id/messages.json
+++ b/src/_locales/id/messages.json
@@ -1,10 +1,10 @@
 {
     "extensionName": {
-        "message": "Libredirect",
+        "message": "vhack-LibRedirect",
         "description": "name of the extension"
     },
     "extensionDescription": {
-        "message": "Ekstensi web yang mengalihkan situs-situs terkenal ke frontend dan backend alternatif yang menghargai privasi",
+        "message": "A soft fork of the LibRedirect extension, preconfigured with the vhack.eu services",
         "description": "description of the extension"
     },
     "switchInstance": {
diff --git a/src/_locales/it/messages.json b/src/_locales/it/messages.json
index 4965b161..e5699f35 100644
--- a/src/_locales/it/messages.json
+++ b/src/_locales/it/messages.json
@@ -1,10 +1,10 @@
 {
     "extensionName": {
-        "message": "LibRedirect",
+        "message": "vhack-LibRedirect",
         "description": "name of the extension"
     },
     "extensionDescription": {
-        "message": "Un'estensione per il browser che reindirizza i siti più popolari verso frontend e backend alternativi rispettosi della privacy",
+        "message": "A soft fork of the LibRedirect extension, preconfigured with the vhack.eu services",
         "description": "description of the extension"
     },
     "switchInstance": {
@@ -142,4 +142,4 @@
     "redirect": {
         "message": "Redirect"
     }
-}
+}
\ No newline at end of file
diff --git a/src/_locales/ja/messages.json b/src/_locales/ja/messages.json
index e44f526d..4b2e693b 100644
--- a/src/_locales/ja/messages.json
+++ b/src/_locales/ja/messages.json
@@ -1,10 +1,10 @@
 {
     "extensionName": {
-        "message": "LibRedirect",
+        "message": "vhack-LibRedirect",
         "description": "name of the extension"
     },
     "extensionDescription": {
-        "message": "人気サイトを個人情報に配慮した代替のフロントエンド/バックエンドに転送するウェブ拡張機能",
+        "message": "A soft fork of the LibRedirect extension, preconfigured with the vhack.eu services",
         "description": "description of the extension"
     },
     "switchInstance": {
@@ -157,4 +157,4 @@
     "searchService": {
         "message": "検索サービス"
     }
-}
+}
\ No newline at end of file
diff --git a/src/_locales/ko/messages.json b/src/_locales/ko/messages.json
deleted file mode 100644
index c9774988..00000000
--- a/src/_locales/ko/messages.json
+++ /dev/null
@@ -1,145 +0,0 @@
-{
-    "extensionName": {
-        "message": "LibRedirect",
-        "description": "name of the extension"
-    },
-    "extensionDescription": {
-        "message": "A web extension that redirects popular sites to alternative privacy-friendly frontends and backends",
-        "description": "description of the extension"
-    },
-    "switchInstance": {
-        "message": "인스턴스 바꾸기",
-        "description": "used in manifest.json as shortcut description"
-    },
-    "settings": {
-        "message": "설정",
-        "description": "used in the popup"
-    },
-    "general": {
-        "message": "일반",
-        "description": "used in the settings page"
-    },
-    "theme": {
-        "message": "테마",
-        "description": "used in the settings page"
-    },
-    "light": {
-        "message": "밝음",
-        "description": "used in the settings page"
-    },
-    "dark": {
-        "message": "어두움",
-        "description": "used in the settings page"
-    },
-    "auto": {
-        "message": "Auto",
-        "description": "used in the settings page"
-    },
-    "excludeFromRedirecting": {
-        "message": "Excluded from redirecting",
-        "description": "used in the settings page"
-    },
-    "importSettings": {
-        "message": "설정 불러오기",
-        "description": "used in the settings page"
-    },
-    "exportSettings": {
-        "message": "설정 내보내기",
-        "description": "used in the settings page"
-    },
-    "resetSettings": {
-        "message": "설정 초기화",
-        "description": "used in the settings page"
-    },
-    "enable": {
-        "message": "활성화",
-        "description": "used in the settings page"
-    },
-    "showInPopup": {
-        "message": "Show in popup",
-        "description": "used in the settings page"
-    },
-    "frontend": {
-        "message": "프론트엔드",
-        "description": "used in the settings page"
-    },
-    "redirectType": {
-        "message": "리다이렉트 종류",
-        "description": "used in the settings page"
-    },
-    "both": {
-        "message": "둘 다",
-        "description": "used in the settings page"
-    },
-    "onlyEmbedded": {
-        "message": "임베디드 된 것만",
-        "description": "used in the settings page"
-    },
-    "onlyNotEmbedded": {
-        "message": "임베디드 안된 것만",
-        "description": "used in the settings page"
-    },
-    "addYourFavoriteInstances": {
-        "message": "Add your favorite instances",
-        "description": "used in the settings page"
-    },
-    "copyOriginal": {
-        "message": "Copy Original"
-    },
-    "copied": {
-        "message": "복사됨"
-    },
-    "redirectToOriginal": {
-        "message": "Redirect to original",
-        "description": "Used in context menus when right clicking on a page/tab"
-    },
-    "redirectLink": {
-        "message": "Attempt to redirect this hyperlink",
-        "description": "Used in context menus when right clicking on a hyperlink"
-    },
-    "about": {
-        "message": "About"
-    },
-    "unsupportedIframesHandling": {
-        "message": "Unsupported iframes handling"
-    },
-    "fetchPublicInstances": {
-        "message": "Fetch public instances"
-    },
-    "disable": {
-        "message": "Disable"
-    },
-    "pingInstances": {
-        "message": "Ping Instances"
-    },
-    "exportSettingsToSync": {
-        "message": "Export Settings to Sync"
-    },
-    "importSettingsFromSync": {
-        "message": "Import Settings from Sync"
-    },
-    "services": {
-        "message": "Services"
-    },
-    "service": {
-        "message": "Service"
-    },
-    "bookmarksMenu": {
-        "message": "Bookmarks menu"
-    },
-    "redirectOnlyInIncognito": {
-        "message": "Redirect Only in Incognito"
-    },
-    "bypass": {
-        "message": "Bypass"
-    },
-    "block": {
-        "message": "Block"
-    },
-    "searchHint": {
-        "message": "Set LibRedirect as Default Search Engine. For how to do in chromium browsers, click <a href='https://libredirect.github.io/docs.html#search_engine_chromium' target='_blank' rel='noopener noreferrer'>here</a>."
-    },
-    "redirect": {
-        "message": "Redirect"
-    }
-}
\ No newline at end of file
diff --git a/src/_locales/nb_NO/messages.json b/src/_locales/nb_NO/messages.json
deleted file mode 100644
index ac7accd4..00000000
--- a/src/_locales/nb_NO/messages.json
+++ /dev/null
@@ -1,145 +0,0 @@
-{
-    "extensionName": {
-        "message": "LibRedirect",
-        "description": "name of the extension"
-    },
-    "extensionDescription": {
-        "message": "En vev-utvidelse som videresender populære sider til alternative personvernsrespekterende grenseflater og bakender",
-        "description": "description of the extension"
-    },
-    "switchInstance": {
-        "message": "Bytt instans",
-        "description": "used in manifest.json as shortcut description"
-    },
-    "settings": {
-        "message": "Innstillinger",
-        "description": "used in the popup"
-    },
-    "general": {
-        "message": "Generelt",
-        "description": "used in the settings page"
-    },
-    "theme": {
-        "message": "Drakt",
-        "description": "used in the settings page"
-    },
-    "light": {
-        "message": "Lys",
-        "description": "used in the settings page"
-    },
-    "dark": {
-        "message": "Mørk",
-        "description": "used in the settings page"
-    },
-    "auto": {
-        "message": "Auto",
-        "description": "used in the settings page"
-    },
-    "excludeFromRedirecting": {
-        "message": "Excluded from redirecting",
-        "description": "used in the settings page"
-    },
-    "importSettings": {
-        "message": "Importer innstillinger",
-        "description": "used in the settings page"
-    },
-    "exportSettings": {
-        "message": "Eksporter innstillinger",
-        "description": "used in the settings page"
-    },
-    "resetSettings": {
-        "message": "Tilbakestill innstillinger",
-        "description": "used in the settings page"
-    },
-    "enable": {
-        "message": "Skru på",
-        "description": "used in the settings page"
-    },
-    "showInPopup": {
-        "message": "Show in popup",
-        "description": "used in the settings page"
-    },
-    "frontend": {
-        "message": "Grenseflate",
-        "description": "used in the settings page"
-    },
-    "redirectType": {
-        "message": "Videresendingstype",
-        "description": "used in the settings page"
-    },
-    "both": {
-        "message": "begge",
-        "description": "used in the settings page"
-    },
-    "onlyEmbedded": {
-        "message": "kun innebygde",
-        "description": "used in the settings page"
-    },
-    "onlyNotEmbedded": {
-        "message": "kun ikke-innebygde",
-        "description": "used in the settings page"
-    },
-    "addYourFavoriteInstances": {
-        "message": "Add your favorite instances",
-        "description": "used in the settings page"
-    },
-    "copyOriginal": {
-        "message": "Copy Original"
-    },
-    "copied": {
-        "message": "Kopiert"
-    },
-    "redirectToOriginal": {
-        "message": "Redirect to original",
-        "description": "Used in context menus when right clicking on a page/tab"
-    },
-    "redirectLink": {
-        "message": "Attempt to redirect this hyperlink",
-        "description": "Used in context menus when right clicking on a hyperlink"
-    },
-    "about": {
-        "message": "About"
-    },
-    "unsupportedIframesHandling": {
-        "message": "Unsupported iframes handling"
-    },
-    "fetchPublicInstances": {
-        "message": "Fetch public instances"
-    },
-    "disable": {
-        "message": "Disable"
-    },
-    "pingInstances": {
-        "message": "Ping Instances"
-    },
-    "exportSettingsToSync": {
-        "message": "Export Settings to Sync"
-    },
-    "importSettingsFromSync": {
-        "message": "Import Settings from Sync"
-    },
-    "services": {
-        "message": "Services"
-    },
-    "service": {
-        "message": "Service"
-    },
-    "bookmarksMenu": {
-        "message": "Bookmarks menu"
-    },
-    "redirectOnlyInIncognito": {
-        "message": "Redirect Only in Incognito"
-    },
-    "bypass": {
-        "message": "Bypass"
-    },
-    "block": {
-        "message": "Block"
-    },
-    "searchHint": {
-        "message": "Set LibRedirect as Default Search Engine. For how to do in chromium browsers, click <a href='https://libredirect.github.io/docs.html#search_engine_chromium' target='_blank' rel='noopener noreferrer'>here</a>."
-    },
-    "redirect": {
-        "message": "Redirect"
-    }
-}
\ No newline at end of file
diff --git a/src/_locales/nl/messages.json b/src/_locales/nl/messages.json
index 8d52901e..a6e9e889 100644
--- a/src/_locales/nl/messages.json
+++ b/src/_locales/nl/messages.json
@@ -1,10 +1,10 @@
 {
     "extensionName": {
-        "message": "LibRedirect",
+        "message": "vhack-LibRedirect",
         "description": "name of the extension"
     },
     "extensionDescription": {
-        "message": "Een webextensie die populaire sites doorverwijst naar alternatieve privacy-vriendelijke frontends en backends",
+        "message": "A soft fork of the LibRedirect extension, preconfigured with the vhack.eu services",
         "description": "description of the extension"
     },
     "switchInstance": {
@@ -157,4 +157,4 @@
     "embedFrontend": {
         "message": "Front-end insluiten"
     }
-}
+}
\ No newline at end of file
diff --git a/src/_locales/pl/messages.json b/src/_locales/pl/messages.json
index 7e776580..c632f0c3 100644
--- a/src/_locales/pl/messages.json
+++ b/src/_locales/pl/messages.json
@@ -1,10 +1,10 @@
 {
     "extensionName": {
-        "message": "LibRedirect",
+        "message": "vhack-LibRedirect",
         "description": "name of the extension"
     },
     "extensionDescription": {
-        "message": "Rozszerzenie, które przekierowuje popularne witryny do alternatywnych, szanujących prywatność frontendów i backendów",
+        "message": "A soft fork of the LibRedirect extension, preconfigured with the vhack.eu services",
         "description": "description of the extension"
     },
     "switchInstance": {
@@ -157,4 +157,4 @@
     "searchService": {
         "message": "Usługa wyszukiwania"
     }
-}
+}
\ No newline at end of file
diff --git a/src/_locales/pt/messages.json b/src/_locales/pt/messages.json
deleted file mode 100644
index a29c9a07..00000000
--- a/src/_locales/pt/messages.json
+++ /dev/null
@@ -1,145 +0,0 @@
-{
-    "extensionName": {
-        "message": "LibRedirect",
-        "description": "name of the extension"
-    },
-    "extensionDescription": {
-        "message": "Uma extensão para os navegadores de Internet que redireciona sites populares para interfaces gráficas e interfaces de textos alternativas e amigáveis que respeitam a privacidade",
-        "description": "description of the extension"
-    },
-    "switchInstance": {
-        "message": "Trocar de instância",
-        "description": "used in manifest.json as shortcut description"
-    },
-    "settings": {
-        "message": "Configurações",
-        "description": "used in the popup"
-    },
-    "general": {
-        "message": "Geral",
-        "description": "used in the settings page"
-    },
-    "theme": {
-        "message": "Tema",
-        "description": "used in the settings page"
-    },
-    "light": {
-        "message": "Claro",
-        "description": "used in the settings page"
-    },
-    "dark": {
-        "message": "Escuro",
-        "description": "used in the settings page"
-    },
-    "auto": {
-        "message": "Auto",
-        "description": "used in the settings page"
-    },
-    "excludeFromRedirecting": {
-        "message": "Excluído do redirecionamento",
-        "description": "used in the settings page"
-    },
-    "importSettings": {
-        "message": "Importar configurações",
-        "description": "used in the settings page"
-    },
-    "exportSettings": {
-        "message": "Exportar configurações",
-        "description": "used in the settings page"
-    },
-    "resetSettings": {
-        "message": "Repor configurações",
-        "description": "used in the settings page"
-    },
-    "enable": {
-        "message": "Ativar",
-        "description": "used in the settings page"
-    },
-    "showInPopup": {
-        "message": "Mostrar no pop-up",
-        "description": "used in the settings page"
-    },
-    "frontend": {
-        "message": "Interface",
-        "description": "used in the settings page"
-    },
-    "redirectType": {
-        "message": "Tipo de redirecionamento",
-        "description": "used in the settings page"
-    },
-    "both": {
-        "message": "ambos",
-        "description": "used in the settings page"
-    },
-    "onlyEmbedded": {
-        "message": "só embutidos",
-        "description": "used in the settings page"
-    },
-    "onlyNotEmbedded": {
-        "message": "apenas os não embutidos",
-        "description": "used in the settings page"
-    },
-    "addYourFavoriteInstances": {
-        "message": "Adicionar a sua instância favorita",
-        "description": "used in the settings page"
-    },
-    "copyOriginal": {
-        "message": "Copy Original"
-    },
-    "copied": {
-        "message": "Copiado"
-    },
-    "redirectToOriginal": {
-        "message": "Redirecionar para o original",
-        "description": "Used in context menus when right clicking on a page/tab"
-    },
-    "redirectLink": {
-        "message": "Tentar redirecionar",
-        "description": "Used in context menus when right clicking on a hyperlink"
-    },
-    "about": {
-        "message": "Sobre"
-    },
-    "unsupportedIframesHandling": {
-        "message": "Unsupported iframes handling"
-    },
-    "fetchPublicInstances": {
-        "message": "Fetch public instances"
-    },
-    "disable": {
-        "message": "Disable"
-    },
-    "pingInstances": {
-        "message": "Ping Instances"
-    },
-    "exportSettingsToSync": {
-        "message": "Export Settings to Sync"
-    },
-    "importSettingsFromSync": {
-        "message": "Import Settings from Sync"
-    },
-    "services": {
-        "message": "Services"
-    },
-    "service": {
-        "message": "Service"
-    },
-    "bookmarksMenu": {
-        "message": "Bookmarks menu"
-    },
-    "redirectOnlyInIncognito": {
-        "message": "Redirect Only in Incognito"
-    },
-    "bypass": {
-        "message": "Bypass"
-    },
-    "block": {
-        "message": "Block"
-    },
-    "searchHint": {
-        "message": "Set LibRedirect as Default Search Engine. For how to do in chromium browsers, click <a href='https://libredirect.github.io/docs.html#search_engine_chromium' target='_blank' rel='noopener noreferrer'>here</a>."
-    },
-    "redirect": {
-        "message": "Redirect"
-    }
-}
\ No newline at end of file
diff --git a/src/_locales/pt_BR/messages.json b/src/_locales/pt_BR/messages.json
deleted file mode 100644
index 2fd4383e..00000000
--- a/src/_locales/pt_BR/messages.json
+++ /dev/null
@@ -1,145 +0,0 @@
-{
-    "extensionName": {
-        "message": "LibRedirect",
-        "description": "Nome da Extensão"
-    },
-    "extensionDescription": {
-        "message": "Uma extensão para os navegadores de internet que redireciona os sítios/sites populares para interfaces gráficas e interfaces de textos alternativas e amigáveis que respeitam sua privacidade",
-        "description": "Descrição da Extensão"
-    },
-    "switchInstance": {
-        "message": "Trocar a instância",
-        "description": "Utilizado no arquivo manifest.json como descrição do atalho"
-    },
-    "settings": {
-        "message": "Configurações",
-        "description": "Utilizado na janela da caixa de diálogo"
-    },
-    "general": {
-        "message": "Geral",
-        "description": "Utilizado na página de configurações"
-    },
-    "theme": {
-        "message": "Tema",
-        "description": "Utilizado na página de configurações"
-    },
-    "light": {
-        "message": "Claro",
-        "description": "Utilizado na página de configurações"
-    },
-    "dark": {
-        "message": "Escuro",
-        "description": "Utilizado na página de configurações"
-    },
-    "auto": {
-        "message": "Auto",
-        "description": "used in the settings page"
-    },
-    "excludeFromRedirecting": {
-        "message": "Excluído do redirecionamento",
-        "description": "used in the settings page"
-    },
-    "importSettings": {
-        "message": "Importar as configurações",
-        "description": "Utilizado na página de configurações"
-    },
-    "exportSettings": {
-        "message": "Exportar as configurações",
-        "description": "Utilizado na página de configurações"
-    },
-    "resetSettings": {
-        "message": "Redefinir as configurações",
-        "description": "Utilizado na página de configurações"
-    },
-    "enable": {
-        "message": "Ativar",
-        "description": "Utilizado na página de configurações"
-    },
-    "showInPopup": {
-        "message": "Mostrar em pop-up",
-        "description": "used in the settings page"
-    },
-    "frontend": {
-        "message": "Interface gráfica",
-        "description": "Utilizado na página de configurações"
-    },
-    "redirectType": {
-        "message": "Tipo de redirecionamento",
-        "description": "Utilizado na página de configurações"
-    },
-    "both": {
-        "message": "ambos",
-        "description": "Utilizado na página de configurações"
-    },
-    "onlyEmbedded": {
-        "message": "apenas os incorporados",
-        "description": "Utilizado na página de configurações"
-    },
-    "onlyNotEmbedded": {
-        "message": "apenas os não incorporados",
-        "description": "Utilizado na página de configurações"
-    },
-    "addYourFavoriteInstances": {
-        "message": "Adicione sua instância favorita",
-        "description": "used in the settings page"
-    },
-    "copyOriginal": {
-        "message": "Copy Original"
-    },
-    "copied": {
-        "message": "Copiado"
-    },
-    "redirectToOriginal": {
-        "message": "Redirecionar para original",
-        "description": "Used in context menus when right clicking on a page/tab"
-    },
-    "redirectLink": {
-        "message": "Tentar redirecionar",
-        "description": "Used in context menus when right clicking on a hyperlink"
-    },
-    "about": {
-        "message": "Sobre"
-    },
-    "unsupportedIframesHandling": {
-        "message": "Unsupported iframes handling"
-    },
-    "fetchPublicInstances": {
-        "message": "Fetch public instances"
-    },
-    "disable": {
-        "message": "Desativar"
-    },
-    "pingInstances": {
-        "message": "Ping Instances"
-    },
-    "exportSettingsToSync": {
-        "message": "Export Settings to Sync"
-    },
-    "importSettingsFromSync": {
-        "message": "Import Settings from Sync"
-    },
-    "services": {
-        "message": "Services"
-    },
-    "service": {
-        "message": "Service"
-    },
-    "bookmarksMenu": {
-        "message": "Bookmarks menu"
-    },
-    "redirectOnlyInIncognito": {
-        "message": "Redirect Only in Incognito"
-    },
-    "bypass": {
-        "message": "Bypass"
-    },
-    "block": {
-        "message": "Block"
-    },
-    "searchHint": {
-        "message": "Set LibRedirect as Default Search Engine. For how to do in chromium browsers, click <a href='https://libredirect.github.io/docs.html#search_engine_chromium' target='_blank' rel='noopener noreferrer'>here</a>."
-    },
-    "redirect": {
-        "message": "Redirect"
-    }
-}
\ No newline at end of file
diff --git a/src/_locales/ro/messages.json b/src/_locales/ro/messages.json
index 455f9a7d..66227fd8 100644
--- a/src/_locales/ro/messages.json
+++ b/src/_locales/ro/messages.json
@@ -1,10 +1,10 @@
 {
     "extensionName": {
-        "message": "LibRedirect",
+        "message": "vhack-LibRedirect",
         "description": "name of the extension"
     },
     "extensionDescription": {
-        "message": "O extensie web care redirecționează site-urile populare către frontend-uri și backend-uri alternative prietenoase cu confidențialitatea",
+        "message": "A soft fork of the LibRedirect extension, preconfigured with the vhack.eu services",
         "description": "description of the extension"
     },
     "switchInstance": {
@@ -142,4 +142,4 @@
     "redirect": {
         "message": "Redirect"
     }
-}
+}
\ No newline at end of file
diff --git a/src/_locales/ru/messages.json b/src/_locales/ru/messages.json
index b01d78c6..08757a5c 100644
--- a/src/_locales/ru/messages.json
+++ b/src/_locales/ru/messages.json
@@ -1,10 +1,10 @@
 {
     "extensionName": {
-        "message": "LibRedirect",
+        "message": "vhack-LibRedirect",
         "description": "name of the extension"
     },
     "extensionDescription": {
-        "message": "Расширение для браузера, перенаправляющее популярные сайты на обеспечивающие конфиденциальность альтернативны",
+        "message": "A soft fork of the LibRedirect extension, preconfigured with the vhack.eu services",
         "description": "description of the extension"
     },
     "switchInstance": {
@@ -157,4 +157,4 @@
     "embedFrontend": {
         "message": "Встроить интерфейс"
     }
-}
+}
\ No newline at end of file
diff --git a/src/_locales/sr/messages.json b/src/_locales/sr/messages.json
deleted file mode 100644
index e4a71835..00000000
--- a/src/_locales/sr/messages.json
+++ /dev/null
@@ -1,145 +0,0 @@
-{
-    "extensionName": {
-        "message": "LibRedirect",
-        "description": "name of the extension"
-    },
-    "extensionDescription": {
-        "message": "Веб проширница која преусмерава познате сајтове на према алтернативним сучељима и позадинским страницама прилагођенима приватности",
-        "description": "description of the extension"
-    },
-    "switchInstance": {
-        "message": "Пребаци инстанцу",
-        "description": "used in manifest.json as shortcut description"
-    },
-    "settings": {
-        "message": "Подешавања",
-        "description": "used in the popup"
-    },
-    "general": {
-        "message": "Општенито",
-        "description": "used in the settings page"
-    },
-    "theme": {
-        "message": "Тема",
-        "description": "used in the settings page"
-    },
-    "light": {
-        "message": "Светла",
-        "description": "used in the settings page"
-    },
-    "dark": {
-        "message": "Мрачна",
-        "description": "used in the settings page"
-    },
-    "auto": {
-        "message": "Auto",
-        "description": "used in the settings page"
-    },
-    "excludeFromRedirecting": {
-        "message": "Искључено из преусмеравања",
-        "description": "used in the settings page"
-    },
-    "importSettings": {
-        "message": "Увозна Подешавања",
-        "description": "used in the settings page"
-    },
-    "exportSettings": {
-        "message": "Извозна Подешавања",
-        "description": "used in the settings page"
-    },
-    "resetSettings": {
-        "message": "Обновите Подешавања",
-        "description": "used in the settings page"
-    },
-    "enable": {
-        "message": "Омогући",
-        "description": "used in the settings page"
-    },
-    "showInPopup": {
-        "message": "Прикажи у искачућем прозору",
-        "description": "used in the settings page"
-    },
-    "frontend": {
-        "message": "Сучеље",
-        "description": "used in the settings page"
-    },
-    "redirectType": {
-        "message": "Тип Преусмеравања",
-        "description": "used in the settings page"
-    },
-    "both": {
-        "message": "оба",
-        "description": "used in the settings page"
-    },
-    "onlyEmbedded": {
-        "message": "само уграђено",
-        "description": "used in the settings page"
-    },
-    "onlyNotEmbedded": {
-        "message": "само неуграђено",
-        "description": "used in the settings page"
-    },
-    "addYourFavoriteInstances": {
-        "message": "Додајте своје омиљене инстанце",
-        "description": "used in the settings page"
-    },
-    "copyOriginal": {
-        "message": "Copy Original"
-    },
-    "copied": {
-        "message": "Копирано"
-    },
-    "redirectToOriginal": {
-        "message": "Преусмерите према оригиналној",
-        "description": "Used in context menus when right clicking on a page/tab"
-    },
-    "redirectLink": {
-        "message": "Покушајте да преусмерите",
-        "description": "Used in context menus when right clicking on a hyperlink"
-    },
-    "about": {
-        "message": "О"
-    },
-    "unsupportedIframesHandling": {
-        "message": "Unsupported iframes handling"
-    },
-    "fetchPublicInstances": {
-        "message": "Fetch public instances"
-    },
-    "disable": {
-        "message": "Disable"
-    },
-    "pingInstances": {
-        "message": "Ping Instances"
-    },
-    "exportSettingsToSync": {
-        "message": "Export Settings to Sync"
-    },
-    "importSettingsFromSync": {
-        "message": "Import Settings from Sync"
-    },
-    "services": {
-        "message": "Services"
-    },
-    "service": {
-        "message": "Service"
-    },
-    "bookmarksMenu": {
-        "message": "Bookmarks menu"
-    },
-    "redirectOnlyInIncognito": {
-        "message": "Redirect Only in Incognito"
-    },
-    "bypass": {
-        "message": "Bypass"
-    },
-    "block": {
-        "message": "Block"
-    },
-    "searchHint": {
-        "message": "Set LibRedirect as Default Search Engine. For how to do in chromium browsers, click <a href='https://libredirect.github.io/docs.html#search_engine_chromium' target='_blank' rel='noopener noreferrer'>here</a>."
-    },
-    "redirect": {
-        "message": "Redirect"
-    }
-}
\ No newline at end of file
diff --git a/src/_locales/tr/messages.json b/src/_locales/tr/messages.json
index f436e7b2..f729728e 100644
--- a/src/_locales/tr/messages.json
+++ b/src/_locales/tr/messages.json
@@ -1,10 +1,10 @@
 {
     "extensionName": {
-        "message": "LibRedirect",
+        "message": "vhack-LibRedirect",
         "description": "name of the extension"
     },
     "extensionDescription": {
-        "message": "Popüler siteleri alternatif gizlilik dostu ön uçlara ve arka uçlara yönlendiren bir web uzantısı",
+        "message": "A soft fork of the LibRedirect extension, preconfigured with the vhack.eu services",
         "description": "description of the extension"
     },
     "switchInstance": {
@@ -157,4 +157,4 @@
     "searchService": {
         "message": "Arama Hizmeti"
     }
-}
+}
\ No newline at end of file
diff --git a/src/_locales/uk/messages.json b/src/_locales/uk/messages.json
index b291d9d1..6efe626f 100644
--- a/src/_locales/uk/messages.json
+++ b/src/_locales/uk/messages.json
@@ -1,10 +1,10 @@
 {
     "extensionName": {
-        "message": "LibRedirect",
+        "message": "vhack-LibRedirect",
         "description": "name of the extension"
     },
     "extensionDescription": {
-        "message": "Веброзширення, що переспрямовує популярні сайти на альтернативні дружні до приватності фронтенди та бекенди",
+        "message": "A soft fork of the LibRedirect extension, preconfigured with the vhack.eu services",
         "description": "description of the extension"
     },
     "switchInstance": {
@@ -157,4 +157,4 @@
     "embedFrontend": {
         "message": "Вбудований інтерфейс"
     }
-}
+}
\ No newline at end of file
diff --git a/src/_locales/vi/messages.json b/src/_locales/vi/messages.json
deleted file mode 100644
index 228d51c9..00000000
--- a/src/_locales/vi/messages.json
+++ /dev/null
@@ -1,145 +0,0 @@
-{
-    "extensionName": {
-        "message": "LibRedirect",
-        "description": "name of the extension"
-    },
-    "extensionDescription": {
-        "message": "Một tiện ích mở rộng chuyển hướng một số trang web phổ biến đến các frontend và backend khác thân thiện với quyền riêng tư",
-        "description": "description of the extension"
-    },
-    "switchInstance": {
-        "message": "Đổi Instance",
-        "description": "used in manifest.json as shortcut description"
-    },
-    "settings": {
-        "message": "Cài Đặt",
-        "description": "used in the popup"
-    },
-    "general": {
-        "message": "Cài đặt chung",
-        "description": "used in the settings page"
-    },
-    "theme": {
-        "message": "Giao diện",
-        "description": "used in the settings page"
-    },
-    "light": {
-        "message": "Sáng",
-        "description": "used in the settings page"
-    },
-    "dark": {
-        "message": "Tối",
-        "description": "used in the settings page"
-    },
-    "auto": {
-        "message": "Tự động",
-        "description": "used in the settings page"
-    },
-    "excludeFromRedirecting": {
-        "message": "Không được chuyển hướng",
-        "description": "used in the settings page"
-    },
-    "importSettings": {
-        "message": "Nhập vào cài đặt",
-        "description": "used in the settings page"
-    },
-    "exportSettings": {
-        "message": "Xuất ra cài đặt",
-        "description": "used in the settings page"
-    },
-    "resetSettings": {
-        "message": "Đặt lại cài đặt",
-        "description": "used in the settings page"
-    },
-    "enable": {
-        "message": "Bật",
-        "description": "used in the settings page"
-    },
-    "showInPopup": {
-        "message": "Hiển thị trong cửa sổ bật lên",
-        "description": "used in the settings page"
-    },
-    "frontend": {
-        "message": "Frontend",
-        "description": "used in the settings page"
-    },
-    "redirectType": {
-        "message": "Loại chuyển hướng",
-        "description": "used in the settings page"
-    },
-    "both": {
-        "message": "cả hai",
-        "description": "used in the settings page"
-    },
-    "onlyEmbedded": {
-        "message": "chỉ các mã nhúng",
-        "description": "used in the settings page"
-    },
-    "onlyNotEmbedded": {
-        "message": "chỉ những cái không phải là mã nhúng",
-        "description": "used in the settings page"
-    },
-    "addYourFavoriteInstances": {
-        "message": "Thêm những instance bạn yêu thích",
-        "description": "used in the settings page"
-    },
-    "copyOriginal": {
-        "message": "Copy Original"
-    },
-    "copied": {
-        "message": "Đã Sao Chép"
-    },
-    "redirectToOriginal": {
-        "message": "Chuyển hướng tới trang web gốc",
-        "description": "Used in context menus when right clicking on a page/tab"
-    },
-    "redirectLink": {
-        "message": "Chuyển hướng liên kết này",
-        "description": "Used in context menus when right clicking on a hyperlink"
-    },
-    "about": {
-        "message": "Về tiện ích"
-    },
-    "unsupportedIframesHandling": {
-        "message": "Cách xử lý các iframe không được hỗ trợ"
-    },
-    "fetchPublicInstances": {
-        "message": "Tìm các instance công cộng"
-    },
-    "disable": {
-        "message": "Tắt"
-    },
-    "pingInstances": {
-        "message": "Ping Instances"
-    },
-    "exportSettingsToSync": {
-        "message": "Export Settings to Sync"
-    },
-    "importSettingsFromSync": {
-        "message": "Import Settings from Sync"
-    },
-    "services": {
-        "message": "Services"
-    },
-    "service": {
-        "message": "Service"
-    },
-    "bookmarksMenu": {
-        "message": "Bookmarks menu"
-    },
-    "redirectOnlyInIncognito": {
-        "message": "Redirect Only in Incognito"
-    },
-    "bypass": {
-        "message": "Bypass"
-    },
-    "block": {
-        "message": "Block"
-    },
-    "searchHint": {
-        "message": "Set LibRedirect as Default Search Engine. For how to do in chromium browsers, click <a href='https://libredirect.github.io/docs.html#search_engine_chromium' target='_blank' rel='noopener noreferrer'>here</a>."
-    },
-    "redirect": {
-        "message": "Redirect"
-    }
-}
diff --git a/src/_locales/zh_Hans/messages.json b/src/_locales/zh_Hans/messages.json
index cd47d024..fe1a2769 100644
--- a/src/_locales/zh_Hans/messages.json
+++ b/src/_locales/zh_Hans/messages.json
@@ -1,10 +1,10 @@
 {
     "extensionName": {
-        "message": "LibRedirect",
+        "message": "vhack-LibRedirect",
         "description": "name of the extension"
     },
     "extensionDescription": {
-        "message": "将常用网站按需重定向到隐私友好的替代前端/后端的 Web 扩展程序",
+        "message": "A soft fork of the LibRedirect extension, preconfigured with the vhack.eu services",
         "description": "description of the extension"
     },
     "switchInstance": {
@@ -157,4 +157,4 @@
     "searchService": {
         "message": "搜索服务"
     }
-}
+}
\ No newline at end of file
diff --git a/src/assets/images/icon.ico b/src/assets/images/icon.ico
new file mode 100644
index 00000000..70431c7a
--- /dev/null
+++ b/src/assets/images/icon.ico
Binary files differdiff --git a/src/assets/images/libredirect-1024.png b/src/assets/images/libredirect-1024.png
new file mode 100644
index 00000000..165c55d0
--- /dev/null
+++ b/src/assets/images/libredirect-1024.png
Binary files differdiff --git a/src/assets/images/libredirect-128.png b/src/assets/images/libredirect-128.png
index 123692ce..a1176d93 100644
--- a/src/assets/images/libredirect-128.png
+++ b/src/assets/images/libredirect-128.png
Binary files differdiff --git a/src/assets/images/libredirect-16.png b/src/assets/images/libredirect-16.png
index cdad1192..dab97051 100644
--- a/src/assets/images/libredirect-16.png
+++ b/src/assets/images/libredirect-16.png
Binary files differdiff --git a/src/assets/images/libredirect-32.png b/src/assets/images/libredirect-32.png
index 027c43bd..562ece17 100644
--- a/src/assets/images/libredirect-32.png
+++ b/src/assets/images/libredirect-32.png
Binary files differdiff --git a/src/assets/images/libredirect-48.png b/src/assets/images/libredirect-48.png
index 32e2a53f..cb484aac 100644
--- a/src/assets/images/libredirect-48.png
+++ b/src/assets/images/libredirect-48.png
Binary files differdiff --git a/src/assets/images/libredirect.png b/src/assets/images/libredirect.png
index a8706b29..b698cc19 100644
--- a/src/assets/images/libredirect.png
+++ b/src/assets/images/libredirect.png
Binary files differdiff --git a/src/assets/images/libredirect.svg b/src/assets/images/libredirect.svg
index a9d63d95..11bb6ba4 100644
--- a/src/assets/images/libredirect.svg
+++ b/src/assets/images/libredirect.svg
@@ -1 +1,132 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 333.369 333.369"><path d="M166.684 0a13.74 13.74 0 0 0-9.748 4.051L4.051 156.935a13.76 13.76 0 0 0 0 19.5l152.885 152.883a13.757 13.757 0 0 0 19.498 0l152.884-152.884a13.76 13.76 0 0 0 0-19.499L176.434 4.051A13.75 13.75 0 0 0 166.684 0"/><path fill="#fbc118" d="M166.684 0a13.74 13.74 0 0 0-9.748 4.051L4.051 156.935a13.76 13.76 0 0 0 0 19.5l152.885 152.883a13.757 13.757 0 0 0 19.498 0l152.884-152.884a13.76 13.76 0 0 0 0-19.499L176.434 4.051A13.75 13.75 0 0 0 166.684 0m0 10.72a12.86 12.86 0 0 1 9.123 3.79L318.86 157.562a12.873 12.873 0 0 1 0 18.245L175.807 318.86a12.873 12.873 0 0 1-18.245 0L14.51 175.807a12.873 12.873 0 0 1 0-18.245L157.562 14.51a12.86 12.86 0 0 1 9.122-3.79"/><rect width="211.979" height="211.979" x="-105.99" y="129.738" fill="#fbc117" ry="11.989" transform="rotate(-45)"/><path d="M184.948 150.313c-47.943 20.638-46.951 86.743-46.951 86.743h-33.492s-.437-96.715 73.158-116.434c-6.913-13.854-10.362-19.427-5.933-21.62 5.935-2.94 68.022 11.716 70.346 20.393 2.286 8.528-46.827 53.143-53.656 53.143-5.852 0-4.229-7.023-3.472-22.225"/></svg>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   width="333.36893mm"
+   height="333.3689mm"
+   viewBox="0 0 333.36893 333.3689"
+   version="1.1"
+   id="svg5"
+   inkscape:export-xdpi="78.019997"
+   inkscape:export-ydpi="78.019997"
+   inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
+   sodipodi:docname="libredirect.svg"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg">
+  <sodipodi:namedview
+     id="namedview7"
+     pagecolor="#272727"
+     bordercolor="#ffffff"
+     borderopacity="1"
+     inkscape:pageshadow="0"
+     inkscape:pageopacity="0"
+     inkscape:pagecheckerboard="false"
+     inkscape:document-units="mm"
+     showgrid="false"
+     inkscape:snap-bbox="true"
+     inkscape:bbox-paths="true"
+     inkscape:bbox-nodes="true"
+     inkscape:snap-bbox-edge-midpoints="true"
+     inkscape:snap-bbox-midpoints="true"
+     inkscape:snap-page="true"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     showborder="true"
+     inkscape:zoom="0.45102857"
+     inkscape:cx="595.30597"
+     inkscape:cy="691.75219"
+     inkscape:window-width="1914"
+     inkscape:window-height="988"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="layer2"
+     inkscape:snap-global="true"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:object-paths="true"
+     inkscape:snap-intersection-paths="true"
+     inkscape:snap-smooth-nodes="true"
+     inkscape:showpageshadow="2"
+     inkscape:deskcolor="#272727" />
+  <defs
+     id="defs2">
+    <rect
+       x="903.29124"
+       y="591.3047"
+       width="164.01746"
+       height="140.58145"
+       id="rect1108" />
+  </defs>
+  <g
+     inkscape:label="canvas"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-5.29776,-1.5258789e-5)"
+     style="display:none">
+    <rect
+       style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:5.29775;stop-color:#000000"
+       id="rect5300"
+       width="333.36893"
+       height="333.3689"
+       x="5.29776"
+       y="1.5258789e-05" />
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer2"
+     inkscape:label="contents"
+     transform="translate(0,-1.5258789e-5)">
+    <path
+       id="rect10261"
+       style="fill:#000000;fill-opacity:1;stroke-width:10.6446;stroke-linejoin:bevel;paint-order:stroke markers fill;stop-color:#000000"
+       d="m 166.68447,1.5258789e-5 c -3.52434,0 -7.04775,1.350880241211 -9.74829,4.051407541211 L 4.050805,156.93523 c -5.4010733,5.40105 -5.4010733,14.09797 0,19.49903 l 152.885375,152.8838 c 5.40106,5.40105 14.09676,5.40105 19.49783,0 l 152.88412,-152.8838 c 5.40106,-5.40106 5.40106,-14.09798 0,-19.49903 L 176.43401,4.0514228 C 173.73349,1.3508955 170.2088,1.5258789e-5 166.68447,1.5258789e-5 Z"
+       sodipodi:nodetypes="sccccccscs"
+       inkscape:export-xdpi="78.019997"
+       inkscape:export-ydpi="78.019997" />
+    <path
+       id="path1147"
+       style="fill:#18fba9;fill-opacity:1;stroke-width:10.6446;stroke-linejoin:bevel;paint-order:stroke markers fill;stop-color:#000000"
+       d="m 166.68447,1.5258789e-5 c -3.52434,0 -7.04775,1.350880241211 -9.74829,4.051407541211 L 4.050805,156.93523 c -5.4010733,5.40105 -5.4010733,14.09797 0,19.49903 l 152.885375,152.8838 c 5.40106,5.40105 14.09676,5.40105 19.49783,0 l 152.88412,-152.8838 c 5.40106,-5.40106 5.40106,-14.09798 0,-19.49903 L 176.43401,4.0514228 C 173.73349,1.3508955 170.2088,1.5258789e-5 166.68447,1.5258789e-5 Z m 0,10.719943741211 c 3.2977,0 6.5954,1.263101 9.12228,3.78996 L 318.85962,157.56247 c 5.05373,5.05374 5.05373,13.1908 0,18.24454 L 175.80675,318.85957 c -5.05375,5.05374 -13.19085,5.05374 -18.24457,0 L 14.509325,175.80701 c -5.0537517,-5.05374 -5.0537517,-13.1908 0,-18.24454 L 157.56218,14.509919 c 2.52687,-2.526859 5.82459,-3.78996 9.12229,-3.78996 z"
+       inkscape:export-xdpi="78.019997"
+       inkscape:export-ydpi="78.019997" />
+    <rect
+       style="fill:#1792fb;fill-opacity:1;stroke-width:9.25578;stroke-linejoin:bevel;paint-order:stroke markers fill;stop-color:#000000"
+       id="rect8504"
+       width="211.97903"
+       height="211.97903"
+       x="-105.98952"
+       y="129.73819"
+       transform="matrix(0.70710753,-0.70710617,0.70710753,0.70710617,0,0)"
+       ry="11.988618"
+       inkscape:export-xdpi="78.019997"
+       inkscape:export-ydpi="78.019997" />
+    <path
+       style="fill:#5efcc2;fill-opacity:1;stroke-width:9.95005;stroke-linejoin:bevel;paint-order:stroke markers fill;stop-color:#000000"
+       d="M 148.84849,180.43066 C 103.83955,164.7285 104.77076,114.43377 104.77076,114.43377 l -31.441831,-2e-5 c 0,0 -0.409603,73.58339 68.679731,88.58655 -6.48944,10.54059 -9.72713,14.78033 -5.56984,16.44882 5.57254,2.23647 63.85821,-8.91383 66.04078,-15.51521 2.14528,-6.48858 -43.96083,-40.43275 -50.37161,-40.43275 -5.49377,0 -3.97022,5.34274 -3.25962,16.9095 z"
+       id="path983"
+       sodipodi:nodetypes="ccccssscc"
+       inkscape:export-xdpi="78.019997"
+       inkscape:export-ydpi="78.019997" />
+    <text
+       xml:space="preserve"
+       transform="matrix(0.26458333,0,0,0.26458333,0,1.5258789e-5)"
+       id="text1106"
+       style="fill:#5efcc2;fill-opacity:1;white-space:pre;shape-inside:url(#rect1108);-inkscape-font-specification:'sans-serif, Bold Italic';font-family:sans-serif;font-weight:bold;font-style:italic;font-stretch:normal;font-variant:normal;font-size:266.667px;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal" />
+    <text
+       xml:space="preserve"
+       style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:70.5556px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Bold Italic';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#5efcc2;fill-opacity:1;stroke-width:0.264583"
+       x="205.27191"
+       y="219.58231"
+       id="text1114"><tspan
+         sodipodi:role="line"
+         id="tspan1112"
+         style="stroke-width:0.264583"
+         x="205.27191"
+         y="219.58231">V</tspan></text>
+  </g>
+</svg>
diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js
index febd1198..961759c2 100644
--- a/src/assets/javascripts/services.js
+++ b/src/assets/javascripts/services.js
@@ -865,6 +865,7 @@ async function reverse(url) {
 }
 
 const defaultInstances = {
+  invidious: ["https://invidious.vhack.eu"],
   materialious: ["https://app.materialio.us"],
   viewtube: ["https://viewtube.io"],
   piped: ["https://pipedapi-libre.kavin.rocks"],
@@ -873,8 +874,8 @@ const defaultInstances = {
   lightTube: ["https://tube.kuylar.dev"],
   poketube: ["https://poketube.fun"],
   proxiTok: ["https://proxitok.pabloferreiro.es"],
+  redlib: ["https://libreddit.vhack.eu"],
   offtiktok: ["https://www.offtiktok.com"],
-  redlib: ["https://safereddit.com"],
   eddrit: ["https://eddrit.com"],
   troddit: ["https://www.troddit.com"],
   scribe: ["https://scribe.rip"],
diff --git a/src/manifest.json b/src/manifest.json
index 5e4f7cbf..60e9f6cb 100644
--- a/src/manifest.json
+++ b/src/manifest.json
@@ -5,7 +5,7 @@
   "manifest_version": 2,
   "browser_specific_settings": {
     "gecko": {
-      "id": "7esoorv3@alefvanoon.anonaddy.me",
+			"id": "vhack-libredirect@addons.vhack.eu",
       "strict_min_version": "89.0"
     },
     "gecko_android": {