/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.

Primary LanguageGoMIT LicenseMIT

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