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.
|
|
8 years ago | |
|---|---|---|
| .vscode | 8 years ago | |
| handlers | 8 years ago | |
| store | 8 years ago | |
| .gitignore | 8 years ago | |
| .travis.yml | 8 years ago | |
| LICENSE.md | 8 years ago | |
| README.md | 8 years ago | |
| docker-compose.yml | 8 years ago | |
| main.go | 8 years ago | |
| run.sh | 8 years ago | |
| travisci.yml | 8 years ago | |
README.md
Golang URL Shortener
Main Features:
- URL Shortening
- Visitor Counting
- Deletion URLs
- Authorization System
- High Performance database with bolt
- ShareX integration
- Easy Docker Deployment
Server Installation
Standard
Since we don't provide prebuild binaries, you have to build it yourself. For that you need golang and git installed on your system.
git clone https://github.com/maxibanki/golang-url-shortener # Clone repository
cd golang-url-shortener # Go into it
go get -v ./... # Fetch dependencies
go build # Build executable
./golang-url-shortener # Run it
Docker Compose
- Only execute the docker-compose.yml and adjust the enviroment variables to your needs.
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
- Add Curl Examples
- Test docker-compose installation
- Spell checker