Skip to content
/ shorty Public

Simple HTTP redirection service

License

Notifications You must be signed in to change notification settings

annybs/shorty

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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
  • shorty list <path> lists all redirects

⚠️ You can add, remove, or get any path other than /* (the default "all-path"). This is a special case used for listing redirects and requires authentication if --token|-t|SHORTY_TOKEN is set.

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.

Docker usage

This project is packaged as a Docker image in GitHub Container Registry for ease of use.

docker run --rm -ti -v './your-data-dir:/shorty/data' -p '3000:3000' ghcr.io/annybs/shorty:develop

License

See LICENSE.md

About

Simple HTTP redirection service

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages