About this project

Umamurl is a self-hosted URL shortener built with Rust and SQLite, designed to be fast and lightweight with a memory footprint under 15 MB. It integrates with [Umami](https://umami.is/) analytics for monitoring redirects on your own infrastructure. Key capabilities: - **URL shortening**: Generate short links using random adjective-name pairs, UIDs, or custom slugs. - **Umami analytics**: Optional integration with a self-hosted Umami instance for redirect tracking, configurable via environment variables or admin UI. - **Link management**: Set expiry dates, edit or delete links after creation, and generate QR codes on demand. - **Security**: Password protection via environment variable or UI setup on first launch; API key support with Argon2 hashed credentials for programmatic access. - **Public mode**: Allow anyone to shorten links while keeping listing and deletion restricted to admins. - **Custom landing page**: Serve your own HTML and move the admin dashboard to `/admin/manage`. - **Responsive dark UI**: Built with Tailwind CSS for mobile-friendly use. - **SQLite backend**: ACID-compliant with optional WAL mode for improved performance. Deployment is straightforward: set environment variables for password and database path, then run the single binary. A config file or environment variables control the Umami endpoint and website ID when analytics are desired. Features intentionally excluded include multi-user management, cookies, popups, and newsletters.