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.
 
 
 
 
 
 

2.1 KiB

Golang URL Shortener using BoltDB

Build Status Go Report Card License

Features:

  • URL Shortening with visitor counting
  • Deletion URLs
  • Authorization System
  • High Performance database with bolt
  • ShareX integration
  • Easy Docker Deployment

Server Installation

Standard

git clone https://github.com/maxibanki/golang-url-shortener
go get -v ./...
go build
./golang-url-shortener

Docker Compose

Envirment Variables:

Envirment Variable Description Default Value
SHORTENER_DB_PATH Relative or absolute path to the bolt DB main.db
SHORTENER_LISTEN_ADDR Adress to which the http server should listen to :8080
SHORTENER_ID_LENGTH Length of the random short URL id 4

Clients:

ShareX Configuration

This URL Shortener has fully support with ShareX. To use it, just import the configuration to your ShareX. For that you need to open the Destination settings => Other / Custom uploaders => Import => From Clipboard.

After you've done this, you need to set it as your standard URL Shortener. For that go back into your main menu => Destinations => URL Shortener => Custom URL Shortener.

{
  "Name": "Golang URL Shortener",
  "DestinationType": "URLShortener",
  "RequestType": "POST",
  "RequestURL": "http://127.0.0.1:8080/api/v1/create",
  "Arguments": {
    "URL": "$input$"
  },
  "ResponseType": "Text",
  "URL": "$json:URL$"
}

Curl

TODO

  • Authentification
  • Deletion
  • Github publishing
  • Add shields:
    • downloads
    • travis
    • godoc
    • license