Shlink is a self-hosted URL shortener which provides both a REST and a CLI interface to interact with it. Additionally, there's also an official Shlink web client which, by making use of Shlink's REST API, provides a beautiful web UI to handle multiple Shlink instances.