# go-urlsh

> urlsh is a self-hosted, open-source URL shortener in Go with web UI, REST API, hit counters, and optional Redis caching using PostgreSQL.

- **Category:** URL Shortener
- **Licence:** MIT
- **Latest version:** v1.0.1
- **Open source:** oss
- **Languages:** Go, HTML
- **Platforms:** Docker Compose, Linux
- **Tags:** PostgreSQL, Redis, CLI, REST API, URL Shortener, Go, Golang, Self Hosted, Link Shortener, Postgres, Urlshortener, Bookmarker, Go Url Shortener, Adhocore

## Description

urlsh is a URL shortener and bookmarker service written in Go. It provides a web interface and REST API for creating and managing short URLs, with features like hit counting, URL expiration, custom keywords, and duplicate prevention. The admin API is protected by a static bearer token. It uses PostgreSQL as the primary database and optionally Redis for caching popular URLs. The project includes a terminal client (urlshc) for command-line usage. Deployment is primarily via docker-compose, which spins up the Go application alongside PostgreSQL and Redis containers. The codebase is MIT-licensed and maintained by Jitendra Adhikari.

## Links

- [Homepage](https://github.com/adhocore/go-urlsh)
- [GitHub Repository](https://github.com/adhocore/go-urlsh)

---
Source: https://selfhost.directory/project/go-urlsh