golang-url-shortener/README.md

51 lines
2.6 KiB
Markdown
Raw Permalink Normal View History

2018-07-29 12:03:19 +00:00
# Golang URL Shortener
2017-10-29 19:38:19 +00:00
[![Build Status](https://travis-ci.org/mxschmitt/golang-url-shortener.svg?branch=master)](https://travis-ci.org/mxschmitt/golang-url-shortener)
[![GoDoc](https://godoc.org/github.com/mxschmitt/golang-url-shortener?status.svg)](https://godoc.org/github.com/mxschmitt/golang-url-shortener)
[![Go Report Card](https://goreportcard.com/badge/github.com/mxschmitt/golang-url-shortener)](https://goreportcard.com/report/github.com/mxschmitt/golang-url-shortener)
[![Coverage Status](https://coveralls.io/repos/github/mxschmitt/golang-url-shortener/badge.svg?branch=master)](https://coveralls.io/github/mxschmitt/golang-url-shortener?branch=master)
[![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
2018-05-25 20:26:40 +00:00
[![Download](https://api.bintray.com/packages/mxschmitt/golang-url-shortener/travis-ci/images/download.svg?version=0.1) ](https://bintray.com/mxschmitt/golang-url-shortener/travis-ci/0.1#files)
[![Docker Pulls](https://img.shields.io/docker/pulls/mxschmitt/golang_url_shortener.svg)](https://hub.docker.com/r/mxschmitt/golang_url_shortener/)
2017-11-03 10:45:16 +00:00
## Main Features
2017-10-29 19:38:19 +00:00
2017-10-29 23:05:56 +00:00
- URL Shortening
- Visitor Counting
2017-11-09 08:44:20 +00:00
- 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](https://cloud.google.com/iap/)
- Easy [ShareX](https://github.com/ShareX/ShareX) integration
- Dockerizable
- Multiple supported storage backends
- High performance local database with [bolt](https://github.com/boltdb/bolt)
- Persistent non-local storage with [redis](https://redis.io/)
2017-10-29 19:38:19 +00:00
2017-11-28 18:45:43 +00:00
## [Webinterface](https://so.sh0rt.cat)
2017-11-12 15:18:17 +00:00
![Short URLs](https://user-images.githubusercontent.com/17984549/32700384-955d9336-c7c4-11e7-9fab-4141a86a375c.png)
---
![Generate ShareX Configuration](https://user-images.githubusercontent.com/17984549/32700395-cf9f057a-c7c4-11e7-9d2b-7523c8a95a20.png)
2018-11-01 23:38:47 +00:00
## Documentation
2017-10-29 19:38:19 +00:00
- [Installation](https://github.com/mxschmitt/golang-url-shortener/wiki/Installation)
- [Configuration](https://github.com/mxschmitt/golang-url-shortener/wiki/Configuration)
- [Setting up OAuth](https://github.com/mxschmitt/golang-url-shortener/wiki/Setting-up-OAuth)
- [ShareX Usage](https://github.com/mxschmitt/golang-url-shortener/wiki/ShareX)
## 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:
2017-11-09 08:30:15 +00:00
- Golang unit testing
- React
- Makefiles
- Travis CI
2017-11-09 08:30:15 +00:00
- Key / Value databases
- Dockerfile and Docker Image Creation