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 7f15943cb4 Added package synonyms 8 years ago
.vscode Initial commit 8 years ago
handlers Added package synonyms 8 years ago
store Added package synonyms 8 years ago
.gitignore Initial commit 8 years ago
.travisci.yml Fixed incorrect travis ci name 8 years ago
LICENSE.md - Added LICENSE.md 8 years ago
README.md Updated badges and added travisci file 8 years ago
docker-compose.yml fixed naming to URL Shortener 8 years ago
main.go fixed naming to URL Shortener 8 years ago
run.sh Initial commit 8 years ago

README.md

Golang URL Shortener

Build Status GoDoc Go Report Card License

Main Features:

  • URL Shortening
  • 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