go-shorten

command module
v0.0.0-...-8bfd7db Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 19, 2022 License: MIT Imports: 14 Imported by: 0

README

GoDoc Go Report Card license

go-shorten: URL Shortener Service

This service stores and serves URL redirects. I stole this from Thomas who stole the idea from when he worked at LinkedIn who apparently stole it from Google.

The rest of this README is from the original repo. I added local-setup.md for instructions on setting up go links on a local machine.

Why?

By itself, a shared URL shortening service is stupid useful. Want to visit a thing? Type go/thing into your browser and hit enter.

It is honestly little things like this make everyone's life far easier.

How do people use this?

Where I work we generally follow a pattern of go/$thing should take you to whatever $thing is. Here are a few examples:

  • Jira is at go/jira
  • Github is at go/gh, go/github, go/g, etc
  • Our monitoring dashboards are at go/graphs, go/dashboards, etc

It is perfectly fine to have duplication, the goal is that all the different ways folks think will all be taken to the right place.

You can also do fancier things like:

  • go/pr/1234 or go/#1234 will take you directly to PR #1234
  • go/jira/ABC-1234, go/ABC-1234 to go directly to a specific jira issue
  • go/calendar/$name will take you to a person's calendar

Okay, how do I set this up?

Roughly, to make this work:

  1. Build and host go-shorten somewhere
  2. Setup a DNS entry to point to it (e.g. go.corp.example.com)
  3. Configure any clients you have to include corp.example.com in their DNS search suffix list
  4. Troubleshoot :P

Credits

I forked this project from https://github.com/didip/shawty because I liked how they laid out their project but I wanted to add a bunch more features and productionize it a bit more than was within scope for the original project.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package handlers provides HTTP request handlers.
Package handlers provides HTTP request handlers.
Package storages allows multiple implementation on how to store URLs as shorter names and retrieve them later.
Package storages allows multiple implementation on how to store URLs as shorter names and retrieve them later.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL