Redirector Extension

@fry69.dev

How to automatically redirect Bluesky links to Deer Social with the Redirector Extension for Firefox. This should work for Chrome too.

Documentation/Source

GitHub: https://github.com/einaregilsson/Redirector

Blog: https://einaregilsson.com/writing-a-browser-extension-for-three-browsers/

Installaion

Firefox Addons: https://addons.mozilla.org/firefox/addon/redirector/

Chrome: https://chrome.google.com/webstore/detail/redirector/ocgpenflpmgnfapjedencafcfakcekcd

Either type the simple rules in manually:

Description: Bluesky to Deer Social URL rewriting
Example URL: https://bsky.app/profile/fry69.dev/post/3laqnamqfq22v
Include pattern: https://bsky.app/*
Redirect to: https://deer.social/$1
Pattern type: wildcard

Or save this JSON block below in a file and import it in the Redirector:

{
    "createdBy": "Redirector v3.5.3",
    "createdAt": "2025-04-29T13:31:54.607Z",
    "redirects": [
        {
            "description": "Bluesky to Deer Social URL rewriting ",
            "exampleUrl": "https://bsky.app/profile/fry69.dev/post/3laqnamqfq22v",
            "exampleResult": "https://deer.social/profile/fry69.dev/post/3laqnamqfq22v",
            "error": null,
            "includePattern": "https://bsky.app/*",
            "excludePattern": "",
            "patternDesc": "",
            "redirectUrl": "https://deer.social/$1",
            "patternType": "W",
            "processMatches": "noProcessing",
            "disabled": false,
            "grouped": false,
            "appliesTo": [
                "main_frame"
            ]
        }
    ]
}

Bonus

Longer Redirect file with a redirect for desktop Wikipedia

{
    "createdBy": "Redirector v3.5.3",
    "createdAt": "2025-04-29T13:31:54.607Z",
    "redirects": [
        {
            "description": "Always show the desktop version of websites",
            "exampleUrl": "https://en.m.wikipedia.org/",
            "exampleResult": "https://en.wikipedia.org/",
            "error": null,
            "includePattern": "^(https?://)([a-z0-9-]*\\.)m(?:obile)?\\.(.*)",
            "excludePattern": "",
            "patternDesc": "Any word after example.com leads to google search for that word.",
            "redirectUrl": "$1$2$3",
            "patternType": "R",
            "processMatches": "noProcessing",
            "disabled": false,
            "grouped": false,
            "appliesTo": [
                "main_frame"
            ]
        },
        {
            "description": "Bluesky to Deer Social URL rewriting ",
            "exampleUrl": "https://bsky.app/profile/fry69.dev/post/3laqnamqfq22v",
            "exampleResult": "https://deer.social/profile/fry69.dev/post/3laqnamqfq22v",
            "error": null,
            "includePattern": "https://bsky.app/*",
            "excludePattern": "",
            "patternDesc": "",
            "redirectUrl": "https://deer.social/$1",
            "patternType": "W",
            "processMatches": "noProcessing",
            "disabled": false,
            "grouped": false,
            "appliesTo": [
                "main_frame"
            ]
        }
    ]
}

Bonus Bonus

Including untested and probably buggy redirects from the Readme

{
    "createdBy": "Redirector v3.5.3",
    "createdAt": "2025-04-29T13:31:54.607Z",
    "redirects": [
        {
            "description": "Always show the desktop version of websites",
            "exampleUrl": "https://en.m.wikipedia.org/",
            "exampleResult": "https://en.wikipedia.org/",
            "error": null,
            "includePattern": "^(https?://)([a-z0-9-]*\\.)m(?:obile)?\\.(.*)",
            "excludePattern": "",
            "patternDesc": "Any word after example.com leads to google search for that word.",
            "redirectUrl": "$1$2$3",
            "patternType": "R",
            "processMatches": "noProcessing",
            "disabled": false,
            "grouped": false,
            "appliesTo": [
                "main_frame"
            ]
        },
        {
            "description": "Remove doubleclick link tracking / fix problems with doubleclick host-based blocking",
            "exampleUrl": "https://www.google.com/amp/www.example.com/amp/document",
            "exampleResult": "https://www.example.com/amp/document",
            "error": null,
            "includePattern": "^(?:https?://)www.(?:google|bing).com/amp/(?:s/)?(.*)",
            "excludePattern": "",
            "patternDesc": "",
            "redirectUrl": "https://$1",
            "patternType": "R",
            "processMatches": "noProcessing",
            "disabled": false,
            "grouped": false,
            "appliesTo": [
                "main_frame"
            ]
        },
        {
            "description": "Redirect YouTube Shorts to regular YouTube",
            "exampleUrl": "https://www.youtube.com/shorts/video-id",
            "exampleResult": "https://www.youtube.com/watch?v=video-id",
            "error": null,
            "includePattern": "^(?:https?://)(?:www.)?youtube.com/shorts/([a-zA-Z0-9_-]+)(.*)",
            "excludePattern": "",
            "patternDesc": "",
            "redirectUrl": "https://www.youtube.com/watch?v=$1$2",
            "patternType": "R",
            "processMatches": "noProcessing",
            "disabled": false,
            "grouped": false,
            "appliesTo": [
                "main_frame"
            ]
        },
        {
            "description": "Bluesky to Deer Social URL rewriting ",
            "exampleUrl": "https://bsky.app/profile/fry69.dev/post/3laqnamqfq22v",
            "exampleResult": "https://deer.social/profile/fry69.dev/post/3laqnamqfq22v",
            "error": null,
            "includePattern": "https://bsky.app/*",
            "excludePattern": "",
            "patternDesc": "",
            "redirectUrl": "https://deer.social/$1",
            "patternType": "W",
            "processMatches": "noProcessing",
            "disabled": false,
            "grouped": false,
            "appliesTo": [
                "main_frame"
            ]
        }
    ]
}
fry69.dev
fry69

@fry69.dev

Retired guessworker.
Still searching for the missing context.
Love LLMs, programming and system administration.

📌 Germany
🌍 https://fry69.dev/ (placeholder)
🧑‍💻 https://github.com/fry69/
🅿️ https://altq.net/ @altq.net (PDS)

Post reaction in Bluesky

*To be shown as a reaction, include article link in the post or add link card

Reactions from everyone (0)