URL Shortener written in Golang using Bolt DB or Redis. Provides features such as Deletion, Expiration, OAuth and is of course Dockerizable.
Go to file
Max Schmitt 6eca2572c8
Create FUNDING.yml
2020-07-02 15:24:57 +02:00
.github Create FUNDING.yml 2020-07-02 15:24:57 +02:00
.vscode Fix #7 2017-11-09 09:30:15 +01:00
build Refactored project layout (fix: #109) (#111) 2018-05-25 23:48:23 +02:00
cmd/golang-url-shortener Refactored project layout (fix: #109) (#111) 2018-05-25 23:48:23 +02:00
config Okta Integration - Bring Okta OAuth as an available option (#128) 2019-03-20 08:28:01 +01:00
deployments clarifying cf manifest and adding to gitignore (#123) 2018-08-18 16:52:14 +02:00
internal fix: compilation: switched to packr2 2019-03-20 14:48:32 +01:00
web fix: build error due react-router-dom 2019-03-20 08:37:50 +01:00
.gitignore fix: compilation: switched to packr2 2019-03-20 14:48:32 +01:00
.travis.yml fix: bundling of static assets 2019-03-20 15:03:03 +01:00
CONTRIBUTING.md Create CONTRIBUTING.md 2019-02-26 11:04:53 +01:00
LICENSE Rename LICENSE.md to LICENSE 2018-05-25 21:36:10 +02:00
Makefile fix: bundling of static assets 2019-03-20 15:03:03 +01:00
README.md Okta Integration - Bring Okta OAuth as an available option (#128) 2019-03-20 08:28:01 +01:00

README.md

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

Webinterface

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