mxschmitt / golang-url-shortener

URL Shortener written in Golang using Bolt DB or Redis. Provides features such as Deletion, Expiration, OAuth and is of course Dockerizable.

Home Page:https://so.sh0rt.cat

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Golang URL Shortener

Build Status GoDoc Go Report Card Coverage Status License Download Docker Pulls

Main Features

  • URL Shortening
  • Visitor Counting
  • Expirable Links
  • URL deletion
  • Multiple authorization strategies:
    • Local authorization via OAuth 2.0 (Google, GitHub, Microsoft, and Okta)
    • Proxy authorization for running behind e.g. Google IAP
  • Easy ShareX integration
  • Dockerizable
  • Multiple supported storage backends
    • High performance local database with bolt
    • Persistent non-local storage with redis

Short URLs


Generate ShareX Configuration

Documentation

Why did you built this

Only because I just want to extend my current self hosted URL shorter (which was really messy code) with some more features and learn about new techniques like:

  • Golang unit testing
  • React
  • Makefiles
  • Travis CI
  • Key / Value databases
  • Dockerfile and Docker Image Creation

About

URL Shortener written in Golang using Bolt DB or Redis. Provides features such as Deletion, Expiration, OAuth and is of course Dockerizable.

https://so.sh0rt.cat

License:MIT License


Languages

Language:Go 66.9%Language:JavaScript 27.1%Language:HTML 3.3%Language:Makefile 1.7%Language:Shell 0.7%Language:CSS 0.3%