You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Max Schmitt d175c9a103 Merge branch 'master' of https://github.com/mxschmitt/golang-url-shortener 7 years ago
.vscode Fix #7 8 years ago
build Refactored project layout (fix: #109) (#111) 8 years ago
cmd/golang-url-shortener Refactored project layout (fix: #109) (#111) 8 years ago
config configurable app DisplayURL for the UI (#121) 7 years ago
deployments clarifying cf manifest and adding to gitignore (#123) 7 years ago
internal fixed entry is expired issue (fix: #120) 7 years ago
web bumped react dependencies 7 years ago
.gitignore clarifying cf manifest and adding to gitignore (#123) 7 years ago
.travis.yml Refactored project layout (fix: #109) (#111) 8 years ago
CONTRIBUTING.md Create CONTRIBUTING.md 7 years ago
LICENSE Rename LICENSE.md to LICENSE 8 years ago
Makefile added macOS output binary 7 years ago
README.md Fix typo in readme 7 years ago

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 and Microsoft)
    • 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