5m project; A simple URL shortener
Another 5-minute project. I needed a pretty URL to print on a QR code that would redirect the user into another URL of my choice, an URL that I might want to change in the future so in essence I needed the services of almost any URL shortener out there but at the same time I did not want to rely on a paid third party service for such a simple thing so I decided to make my own.
JSRedir is an URL shortener that requires no server-side code at all,
instead relying on static .json
files and client side JavaScript. It can be
deployed with minimal HTTP server configuration.
Installation
Just make the repository contents available as static files. Nothing more.
Configuring nginx
An example configuration for using jsredir on nginx where the shortener URLs
lie under the /s/<short link>
paths. Any and all links under this prefix will
serve the index.html
file which will in turn extract the short link info
from the URL itself on the client.
location /s/links/ {
root /path/to/jsredir;
try_files $uri /s/links/default.json;
add_header Cache-control "no-store";
}
location /s/ {
root /path/to/jsredir;
index index.html index.htm;
try_files $uri /s/index.html;
}
At work!
This link should take you to the main page, meanwhile this other link should just show you a clickable link instead, for debug purposes.
Oddly enough, the “short” link is longer than the original link in this case but the main purpose of the project is having “pretty” links ;)