URL Shortener — Self-hosted URL infrastructure.
URL shortening for teams that need control — a European, open-source shortener designed for self-hosted operation and full hosting sovereignty. No mandatory cloud, no forced vendor-hosting, no unclear data location.
Everything needed to run short links in your own environment
Focused features for link creation, redirect reliability, operational visibility and data portability — nothing that phones home, nothing disabled to sell you an upgrade.
Short-link management
Generate Base62 short codes or assign custom aliases, with expiration and active-state controls. Create, list, edit, delete and toggle through a local admin API.
Privacy-aware statistics
Hourly and daily redirect counts with referrer, user-agent and bot detection — and a privacy-aware IP hash rather than raw addresses.
REST API, Java SDK & Vaadin UI
A REST API for automation, a Java client SDK, and a Vaadin admin interface for teams that prefer a browser-based administration surface.
Bulk import & export
ZIP-based bulk operations with validation staging, conflict detection and invalid-entry reporting — and export of your mappings whenever you want them.
In-memory to EclipseStore
Start in-memory for development and switch to EclipseStore for durable production deployments. Durable, restart-surviving API keys — only the SHA-256 hash is stored.
MCP for AI agents
A JSON-RPC 2.0 endpoint exposes link and statistics tools to AI agents, with API-key pass-through — so jCustos stays the single authorization point.
Open core
Same code base, same version, one plug-in seam. The Enterprise layer does not fork or patch the community code — it plugs into published extension points at runtime via Java's ServiceLoader.
Community Edition
- Links, custom aliases, expiration, redirects
- Click statistics with device, referrer and bot detection
- Users, roles and permissions
- REST API, Java client SDK, Vaadin admin UI
- Bulk create, import and export
Free forever · EUPL 1.2 · self-hosted. Nothing is time-limited or disabled to sell an upgrade.
Enterprise Edition
- Campaigns, tags and placement labels
- MCP server for AI agents
- Command-line client
- Audit export
- Commercial licence and support
An optional plug-in layer. Without a licence the plug-in endpoints answer 403 and their views disappear; the community app keeps running. Your data stays in your store.
Small modules, explicit boundaries
Clear runtime responsibilities — domain logic, server endpoints, Java client access and UI — so the system is easy to inspect, deploy and extend without carrying a large framework. A build-time boundary test fails the build if community code ever references an enterprise package.