This is a push-and-play shortener server to use your own domain to shorten URLs.
No database, no storage, no fees, no worries.
As fast and reliable as Google Shortener service (ahem) but with your own domain.
Just push to Heroku and start shortening.
Simple.
Configuration file is at the root, config.js
. It is JS, not JSON, so no formating pressure.
apiKey
: optional Google API key to use when shortening. I didn’t find a reason to do so just yet.restrict
: string or RegExp to restrict shortenable URLs. You may not want your shortener to be used to shorten links to NSFW websites.
You sure can use something else than Heroku, but it’s up to you to make it work elsewhere. You don’t need a paid app, a single free dyno will be more than enough.
Because short URLs beginning with http://floral-commotion-7635.herokuapp.com/
are not that short.
HTTP or HTTPS, both are fine. This is actually the only thing you’ll have to pay.
So let’s say you installed it and used your domain short.io
.
You want to shorten {longUrl}
.
GET, POST or PUT
http://short.io/{longUrl}
or
GET, POST or PUT
http://short.io/?longUrl={longUrl}
or
POST or PUT
http://short.io/
{
"longUrl": "{longUrl}"
}
YES, the long URL is URL encoded in the URL or the query. Obviously.
status: 200
body: "http://short.io/FWWiET"
or, if your Accept header begs for JSON:
status: 200
Content-Type: application/json
body: { "shortUrl": "http://short.io/FWWiET" }
GET, PUT, POST
http://short.io/FWWiET
status: 302
Location: "{longUrl}"
So people requesting the shortened URL will be redirected to the final URL. If you want to get the final URL, just don’t follow the redirection.
It internally uses Google Shortener API to shorten and expand URLs. That’s why it’s fast, reliable and free.
When you shorten a URL, it actually creates a goo.gl
short URL and replaces http://goo.gl/
with your domain.
When you expand a short URL, it replaces your domain with http://goo.gl/
, resolves this short URL with Google Shortener API and redirects to the final long URL.
So goo.gl
URLs are never exposed to users.
Yes. There is a small lib to use the Google Shortener API itself. You could use just that, without using the bundled server.
I either wrote tests or this useless README file. That was my fastest decision-taking, ever.
I love bad play on words. This is the worst I could come up with.
I don’t.