Description
Suri is your own link shortener that's easily deployed as a static site (for free).
Suri doesn't give a ๐ฉ about "technically superior" 3xx server redirects. Suri doesn't want a server (or "serverless" ๐), or even a database for that matter. Suri just wants a static site to get the job done โ easy to deploy, and free to host in a number of places.
Suri wants you to finally use that vowel-less domain you waste $39/year on because you've never actually done anything with it.
Suri alternatives and similar software solutions
Based on the "URL Shorteners" category.
Alternatively, view Suri alternatives based on common mentions on social networks and blogs.
-
Reduced.to
Free Modern URL Reducer. Make sure to share love by giving it a star.๐ Have a great day! -
devShort
DISCONTINUED. A simple and privacy-friendly URL shortener for web developers, admins and all professionals. -
Lstu
Lightweight URL shortener. Read-only mirror of https://framagit.org/fiat-tux/hat-softwares/lstu -
Purl
Purl (Petite URL) is an open source project with the goal of providing you with your own private URL shortener! -
Link-shortener-bot
Host your own link shortener that works with a bot. Just send the link to a bot and it'll take care of the rest for you.
InfluxDB - Purpose built for real-time analytics at any scale.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Suri or a related project?
Popular Comparisons
README
Suri
Suri is your own link shortener that's easily deployed as a static site. No server-side hosting, serverless cloud functions, or database necessary. Suri can be deployed to Vercel, Netlify, and more for free in 60 seconds.
Suri doesn't give a ๐ฉ about "technically superior" 3xx
server redirects. Suri
just wants you to finally use that domain you waste \$39/year on because you've
never actually done anything with it.
Try it out with one of my own shortlinks: https://jstayton.com/tw ๐๐ป https://twitter.com/kidjustino
Getting Started
Install in One Click (for Free)
Once complete, try accessing the root path of your URL โ it should redirect back to my GitHub profile if everything's working.
Manage Links
Links are managed through [src/links.json
](src/links.json), which is seeded
with a few examples to start:
{
"/": "https://github.com/jstayton",
"1": "https://fee.org/articles/the-use-of-knowledge-in-society/",
"tw": "https://twitter.com/kidjustino"
}
It couldn't be simpler: the key is the "shortlink" path that gets redirected,
and the value is the target URL. Keys can be as short or as long as you want,
using whatever mixture of characters you want. /
is a special entry for
redirecting the root path.
Go ahead and make an edit, then commit and push to your repository. The hosting provider you chose above should automatically build and deploy your change. That's it!
Pro tip: Bookmark the page to
edit src/links.json
directly in GitHub
(or wherever), and use the default commit message that's populated. Now show me
a link shortener that's easier than that!
Config
Environment variables are used to set config options. There is only one at this point:
Variable | Description | Values | Default |
---|---|---|---|
SURI_JS |
Whether to redirect with JavaScript instead of a <meta> refresh. |
1 , 0 |
0 |
Install Manually
To install Suri somewhere else, or just on your own machine:
Fork this repository to create your own copy and clone to your machine.
Make sure you have a compatible version of Node.js (see
engines.node
in [package.json
](package.json)). nvm is the recommended installation method on your own machine:
$ nvm install
- Install dependencies with npm:
$ npm install
- Build the static site:
$ npm run build
- Deploy the generated
_site
directory to its final destination.
Development
The following includes a few instructions for developing on Suri. For 11ty-specific details โ the static site generator that powers Suri โ see their docs.
Install
Follow the "Install Manually" section above to setup on your own machine.
Start
Start the development server:
$ npm run dev
Code Style
Prettier is setup to enforce a consistent code style. It's highly recommended to add an integration to your editor that automatically formats on save.
To run via the command line:
$ npm run lint
Releasing
After development is done in the development
branch and is ready for release,
it should be merged into the master
branch, where the latest release code
lives. Release It! is then used to
interactively orchestrate the release process:
$ npm run release