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 043e718b54 Moved coveralls report command to the travis ci file, instead of the makefile 8 years ago
.vscode Minor changes: 8 years ago
build - Added overriding the existing build files 8 years ago
config - Added schema generation for the configuration 8 years ago
handlers removed gitignore file 8 years ago
static - Removing sourcemaps bevore we embed it 8 years ago
store added Makefile 8 years ago
.gitignore - Removing sourcemaps bevore we embed it 8 years ago
.travis.yml Moved coveralls report command to the travis ci file, instead of the makefile 8 years ago
LICENSE.md - Added LICENSE.md 8 years ago
Makefile Moved coveralls report command to the travis ci file, instead of the makefile 8 years ago
README.md - Added overriding the existing build files 8 years ago
descriptor.json - Added overriding the existing build files 8 years ago
docker-compose.yml fixed naming to URL Shortener 8 years ago
main.go changed iferr to short forms 8 years ago

README.md

Golang URL Shortener (Work in Progress)

Build Status GoDoc Go Report Card Coverage Status License Waffle.io - Columns and their card count Download

Main Features

  • URL Shortening
  • Visitor Counting
  • Expireable Links
  • URL deletion
  • Authorization System via OAuth 2.0 from Google (more providers following)
  • High performance database with bolt
  • Easy ShareX integration
  • Dockerizable

Server Installation

Standard

Download the package for your architecture and operating system from bintray and extract it.

Docker

TODO

Configuration

The configuration is a JSON file, an example is located here. If your editor supports intellisense by using a schema (e.g. VS Code) then you can simply press space for auto completion.

The config parameters should be really selfexplaning, but here is a detailed description for all of these:

TODO: Add config parameters

OAuth

Google

Visit console.cloud.google.com, create or use an existing project, goto APIs & Services -> Credentials and create there an OAuth Client-ID for the application type Webapplicaton. There you get the Client-ID and ClientSecret for your configuration. It's important, that you set in the Google Cloud Platform YOUR_URL/api/v1/callback as authorized redirect URLs.

Clients

General

In general the POST endpoints can be called, by using one of the following techniques:

  • application/json
  • application/x-www-form-urlencoded
  • multipart/form-data

For all the endpoints which have protected in her path there is the Authorization header required.

ShareX

For ShareX usage, we refer to the menu item in the frontend where your configuration will be generated. There are further information for the detailled use.

Why did you built this

Just only because I want to extend my current self hosted URL shorter and learn about new techniques like:

  • Golang unit tests
  • React
  • Makefiles
  • Travis CI
  • Key / Value databases