Skip to content
ready to go heroku hosted URL shortener based on guillotine
Ruby
Find file
Failed to load latest commit information.
Gemfile update to guillotine 1.4.0 Mar 9, 2013
Gemfile.lock
LICENSE
README.md
app.rb add REDIS_URL as fallback URI Dec 27, 2015
config.ru add basic app Apr 9, 2012

README.md

Katana Code Climate

Overview

Opinionated personal URL shortener which runs on Heroku and uses Redis to go as a backend. Shortening is done through the fabulous Guillotine engine and its Redis adapter.

If you set HTTP_USER and HTTP_PASS all methods except GETs require basic authentication.

If you set ROOT_REDIRECTS_TO_URL traffic that GETs '/' will get redirected there.

Usage

You can use it exactly as any other guillotine app:

curl -X POST http://sho.rt --user foo:bar -i -F"url=http://github.com" -F"code=gh"

Features

  • Authentication
  • Custom Tweetbot compatible endpoint

Setup

git clone git://github.com/mrtazz/katana.git
cd katana
heroku create
heroku addons:add redistogo
# or if you want to use Heroku redis
heroku addons:create heroku-redis:hobby-dev
heroku domains:add sho.rt
git push heroku master
# for authentication
heroku config:add HTTP_USER="theuser"
heroku config:add HTTP_PASS="thepass"
# for redirection
heroku config:add ROOT_REDIRECTS_TO_URL="http://www.yourlongerdomain.io"

Tweetbot

There is a custom endpoint which is compatible with how tweetbot expects custom URL shorteners to behave. Activate it by setting

TWEETBOT_API=true

in your environment variables. After that you can add URLs with a GET to

http://sho.rt/api/create/?url=http://github.com

Keep in mind that this endpoint is not authenticated.

Thanks

@technoweenie for the awesome guillotine and @roidrage for s3itch which somehow got me started wanting a personal URL shortener.

Something went wrong with that request. Please try again.