Simple HTTP redirection service

Aneurin Barker Snook a359512556 update docs 11 ay önce
.deploy ddf6ab993d add build, deploy workflows 1 yıl önce
.github ddf6ab993d add build, deploy workflows 1 yıl önce
internal 19a85abc4a rename package 11 ay önce
.gitignore a359512556 update docs 11 ay önce
Dockerfile d0dfed5b24 add dockerfile, more elegant exit 1 yıl önce
LICENSE.md a359512556 update docs 11 ay önce
README.md a359512556 update docs 11 ay önce
go.mod 19a85abc4a rename package 11 ay önce
go.sum 19a85abc4a rename package 11 ay önce
main.go 19a85abc4a rename package 11 ay önce

README.md

Shorty

A simple redirection service that routes any path to any URL - or in brief, a short URL service, depending on the length of your domain name.

System requirements

Quickstart

Build the app first:

go build -o shorty

You can use --help or -h with any command to learn more about Shorty usage.

./shorty --help

Start the app:

./shorty start

Configuration

Shorty can be configured via CLI flags or environment variables. Refer to help text for more detail.

The most important flag is --token|-t|SHORTY_TOKEN which is unset by default, meaning that authentication is not enabled and anyone can modify your redirects. Set a token secretly and add it to your client to prevent unauthenticated access.

Usage

You can use the following commands to manage your redirects:

  • shorty add <path> <destination> adds a redirect
  • shorty rm <path> removes a redirect
  • shorty get <path> gets the destination of a redirect

These commands connect to the running Shorty instance, so you need to make sure you have started it first. Make sure to set --token|-t|SHORTY_TOKEN as well if you have enabled token authentication.

If you provide --url|-u|SHORTY_URL then you can use Shorty as a remote CLI. By default it will connect to the local Shorty instance.

Since all Shorty interaction goes through a REST API, it's easy to use another client (such as Postman) or develop your own client to manage Shorty. This is left as an exercise for the reader.

License

See LICENSE.md