Shlink by Edward Shen
Unofficial Shlink extension for Firefox
You'll need Firefox to use this extension
Extension Metadata
About this extension
This unofficial extension provides a shortcut button to generate a short url using Shlink, a self-hosted link shortening service. You will need to run your own instance of Shlink for this extension to function!
After installing this extension, you'll need to go into the extension's preferences and enter your API key and the location of your Shlink instance.
Once installed and configured, click the extension and a short link will be requested from your instance for the page you're currently on. This short link will be copied to your clipboard, so you can easily paste it anywhere you'd like.
After installing this extension, you'll need to go into the extension's preferences and enter your API key and the location of your Shlink instance.
Once installed and configured, click the extension and a short link will be requested from your instance for the page you're currently on. This short link will be copied to your clipboard, so you can easily paste it anywhere you'd like.
Rate your experience
PermissionsLearn more
This add-on needs to:
- Input data to the clipboard
- Display notifications to you
More information
- Add-on Links
- Version
- 0.6.0
- Size
- 107.46 KB
- Last updated
- 17 days ago (Jan 18, 2025)
- Related Categories
- License
- GNU General Public License v3.0 only
- Version History
Add to collection
Release notes for 0.6.0
0.6.0 "Manifest V3, Types, and Tests"
0.6.0 is a "huge" release with Manifest V3 support and a rewrite to
TypeScript as its headline features.
This release has been manually tested on Chromium and Firefox.
Note that this version requires a minimum Chromium and Firefox version
of 121. This is the earliest version where both browsers will
(begrudgingly) ignore excess fields in the manifest.json file. This was
the blocker for Manifest V3 as this permits the neccessary fields to
keep the manifest.json as one file across browsers.
After a patch version to patch a bad version, I've decided to spend an
entire day migrating the code to something more sustainable --
Typescript and with decent testing capabilities. There's also more
logging in the console to further debug issues. Substaintial test
coverage is not part of this release, but I think we're in a good spot
to cut a release.
Importantly, TypeScript source files require significant revamp to how
the codebase is organized. Because there is now a transpilation stage,
the overall complexity of the codebase has increased, even if there is
no significant new features. While I mourn the loss of simplicity (you
could previously just point Firefox to the repo and it would work!),
having a proper testing framework is absolutely worth it.
Due to some workarounds needed for Chrome, I expect Chrome to
potentially have more bugs than Firefox. This is because we need to
create a hidden document, send a message to that document from the
service worker, and have that document recieve the message to then write
it to a DOM and use a deprecated way to copy text into the clipboard.
Yes, this is obtuse. Yes, this is also the way the Chrome blog
recommends doing this until they support what Firefox already does.
You'll notice that the permissions have changed as well! We no longer
require the tabs permission, just activeTab instead. This restricts the
extension so that it gets access to your tab data only when you press the
button. Hurray for privacy!
0.6.0 is a "huge" release with Manifest V3 support and a rewrite to
TypeScript as its headline features.
This release has been manually tested on Chromium and Firefox.
Note that this version requires a minimum Chromium and Firefox version
of 121. This is the earliest version where both browsers will
(begrudgingly) ignore excess fields in the manifest.json file. This was
the blocker for Manifest V3 as this permits the neccessary fields to
keep the manifest.json as one file across browsers.
After a patch version to patch a bad version, I've decided to spend an
entire day migrating the code to something more sustainable --
Typescript and with decent testing capabilities. There's also more
logging in the console to further debug issues. Substaintial test
coverage is not part of this release, but I think we're in a good spot
to cut a release.
Importantly, TypeScript source files require significant revamp to how
the codebase is organized. Because there is now a transpilation stage,
the overall complexity of the codebase has increased, even if there is
no significant new features. While I mourn the loss of simplicity (you
could previously just point Firefox to the repo and it would work!),
having a proper testing framework is absolutely worth it.
Due to some workarounds needed for Chrome, I expect Chrome to
potentially have more bugs than Firefox. This is because we need to
create a hidden document, send a message to that document from the
service worker, and have that document recieve the message to then write
it to a DOM and use a deprecated way to copy text into the clipboard.
Yes, this is obtuse. Yes, this is also the way the Chrome blog
recommends doing this until they support what Firefox already does.
You'll notice that the permissions have changed as well! We no longer
require the tabs permission, just activeTab instead. This restricts the
extension so that it gets access to your tab data only when you press the
button. Hurray for privacy!
More extensions by Edward Shen
- There are no ratings yet
- There are no ratings yet
- There are no ratings yet
- There are no ratings yet
- There are no ratings yet
- There are no ratings yet