{"repo":"heyitswit/nah.pet","free":true,"listed":false,"github":"https://github.com/heyitswit/nah.pet","clone":"git clone https://github.com/heyitswit/nah.pet.git","description":"Rewriting paths with bad energy - An alternative to TinyURL, YOURLS, Shlink","language":"Svelte","stars":154,"topics":["link-shortener","short-url","shorten-urls","shortener","svelte","sveltekit","url-shortener","url-shortner","urlshortener","shlink"],"license":"MIT","category":"auth-billing-email","readme_excerpt":"🐾 Nah.pet – Open Source URL Shortener Nah.pet – \"Rewriting paths with bad energy\" ✨ Open-source URL shortener with custom domains and analytics. 📚 OpenAPI Documentation --- ✨ Features - ✂️ URL Shortening with custom slugs - 🔐 Password protection for sensitive links - ⏰ Automatic link expiration - 📊 Detailed analytics (clicks, geolocation, browsers) - 🌐 Custom domains with complete isolation - 👥 Admin system with manual approval - 🔑 REST API with API key authentication - 🌍 Multilingual interface --- 🌍 Translation Status Managed with Paraglide JS and Weblate for type-safety. --- 🌐 Custom Domains Why cat.yourDomain.tld ? The cat. prefix bypasses CORS restrictions from Cloudflare and other CDNs by using a dedicated subdomain. DNS Setup 1. Domain verification : - DNS: TXT record with token - File: /.well-known/nah-pet-verification.txt 2. CNAME configuration : 3. Redirection : Each custom domain is fully isolated—no access to system routes ( /admin , /login , etc.). --- 🚀 Installation 🐳 Docker Compose Access: - Web interface: http://localhost:3000 - API: http://localhost:3000/doc 🛠️ Manual Installation --- 🔌 REST API Built with sveltekit-api from JacobLinCool, OpenAPI 3.0 specification. Main Endpoints - GET /api/v1/links – List links - POST /api/v1/links – Create a link - GET/PUT/DELETE /api/v1/links/{id} – Manage a link - GET /api/v1/stats – Global statistics - GET /api/v1/stats/{slug} – Link statistics - POST /api/v1/links/bulk – Bulk operations - GET /api/v1/stats/","default_branch":null,"files":null,"tree":[],"storefront":"/r/heyitswit","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/heyitswit/nah.pet/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}