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"
]
}
]
}