A self-hosted, lightweight URL shortening system designed for efficiency and ease of use.
packages/service/: The backend API handling storage and redirection logic.packages/cli-client/: A companion CLI tool for interacting with the service.packages/web-client/: A lightweight SolidJS-powered web interface.
- Bun: Runtime, package manager, and SQLite driver.
- Hono: Fast web framework for the API.
- SolidJS: Reactive UI library for the web client.
- Vite: Next-generation frontend tooling.
- SQLite: Lightweight database for URL mappings.
- Nanoid: Short, unique, and URL-friendly identifiers.
- TypeScript: Type-safe development.
- Efficient URL Shortening: Generate 6-character short codes.
- CLI Interaction: Shorten URLs directly from your terminal.
- Web Interface: Simple and fast dashboard to manage URLs.
- Secure API: Protected by Bearer token authentication.
- Fast Redirection: Immediate redirects.
- Configuration Wizard: Easy CLI setup (
murl config).
bun installcd packages/service
bun devcd packages/cli-client
bun run src/index.ts <url>cd packages/web-client
bun devBuilt with Bun.
using docker
docker build --platform linux/amd64 -t mpholley/murl-service:latest .