zen: add redirects to alternative front ends
This commit is contained in:
@@ -26,6 +26,7 @@ let
|
|||||||
|
|
||||||
ublockSettings = import ./ublock.nix { inherit lib; };
|
ublockSettings = import ./ublock.nix { inherit lib; };
|
||||||
darkReaderSettings = import ./dark-reader.nix { inherit lib; };
|
darkReaderSettings = import ./dark-reader.nix { inherit lib; };
|
||||||
|
redirectorSettings = import ./redirector.nix { inherit lib; };
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
programs.zen-browser = {
|
programs.zen-browser = {
|
||||||
@@ -44,6 +45,7 @@ in
|
|||||||
darkreader
|
darkreader
|
||||||
fastforwardteam
|
fastforwardteam
|
||||||
localcdn
|
localcdn
|
||||||
|
redirector
|
||||||
refined-github
|
refined-github
|
||||||
return-youtube-dislikes
|
return-youtube-dislikes
|
||||||
search-by-image # reverse image search
|
search-by-image # reverse image search
|
||||||
@@ -57,6 +59,7 @@ in
|
|||||||
settings = {
|
settings = {
|
||||||
"uBlock0@raymondhill.net" = ublockSettings;
|
"uBlock0@raymondhill.net" = ublockSettings;
|
||||||
"addon@darkreader.org" = darkReaderSettings;
|
"addon@darkreader.org" = darkReaderSettings;
|
||||||
|
"redirector@einaregilsson.com" = redirectorSettings;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
75
home-manager/progs/zen/redirector.nix
Normal file
75
home-manager/progs/zen/redirector.nix
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
# Redirector extension settings
|
||||||
|
# Addon ID: redirector@einaregilsson.com
|
||||||
|
#
|
||||||
|
# To add a new redirect, just add another mkRedirect call to the list:
|
||||||
|
# (mkRedirect { from = "youtube.com"; to = "invidious.example.com"; description = "YouTube to Invidious"; })
|
||||||
|
{ lib }:
|
||||||
|
let
|
||||||
|
# helper to create a redirect rule from a simple domain mapping.
|
||||||
|
# handles www. subdomains automatically. for other subdomains
|
||||||
|
# (like old.reddit.com), create a separate rule with the full domain.
|
||||||
|
mkRedirect =
|
||||||
|
{
|
||||||
|
from,
|
||||||
|
to,
|
||||||
|
description,
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
escapedFrom = builtins.replaceStrings [ "." ] [ "\\." ] from;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
inherit description;
|
||||||
|
exampleUrl = "https://${from}/example";
|
||||||
|
exampleResult = "https://${to}/example";
|
||||||
|
error = null;
|
||||||
|
includePattern = "^https?://(www\\.)?${escapedFrom}(.*)$";
|
||||||
|
excludePattern = "";
|
||||||
|
patternDesc = "";
|
||||||
|
redirectUrl = "https://${to}$2";
|
||||||
|
patternType = "R";
|
||||||
|
processMatches = "noProcessing";
|
||||||
|
disabled = false;
|
||||||
|
grouped = false;
|
||||||
|
appliesTo = [ "main_frame" ];
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
force = true;
|
||||||
|
settings = {
|
||||||
|
redirects = [
|
||||||
|
(mkRedirect {
|
||||||
|
from = "x.com";
|
||||||
|
to = "xcancel.com";
|
||||||
|
description = "X to xcancel";
|
||||||
|
})
|
||||||
|
(mkRedirect {
|
||||||
|
from = "twitter.com";
|
||||||
|
to = "xcancel.com";
|
||||||
|
description = "Twitter to xcancel";
|
||||||
|
})
|
||||||
|
(mkRedirect {
|
||||||
|
from = "reddit.com";
|
||||||
|
to = "safereddit.com";
|
||||||
|
description = "Reddit to Redlib";
|
||||||
|
})
|
||||||
|
(mkRedirect {
|
||||||
|
from = "old.reddit.com";
|
||||||
|
to = "safereddit.com";
|
||||||
|
description = "Old Reddit to Redlib";
|
||||||
|
})
|
||||||
|
(mkRedirect {
|
||||||
|
from = "new.reddit.com";
|
||||||
|
to = "safereddit.com";
|
||||||
|
description = "New Reddit to Redlib";
|
||||||
|
})
|
||||||
|
(mkRedirect {
|
||||||
|
from = "np.reddit.com";
|
||||||
|
to = "safereddit.com";
|
||||||
|
description = "NP Reddit to Redlib";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
disabled = false;
|
||||||
|
logging = false;
|
||||||
|
enableNotifications = false;
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user