MCPSERV.CLUB
Slash

Slash

Self-Hosted

Organize and share links with custom shortcuts

Active(75)
3.0kstars
0views
Updated Aug 18, 2025
Slash screenshot 1
1 / 2

Overview

Discover what makes Slash powerful

Slash is a self‑hosted bookmark and link‑sharing service that transforms arbitrary URLs into concise, human‑readable short links of the form `s/shortcut`. From a developer standpoint, it functions as both a URL shortener and a lightweight knowledge‑base that can be exposed via RESTful APIs, Webhooks, or an embeddable browser extension. The application is intentionally minimalistic in its core to keep the attack surface small while still offering a rich set of analytics, tagging, and collection features that can be leveraged by internal tooling or external services.

Short‑link CRUD

Tagging & Collections

Analytics

Browser Extension API

Overview

Slash is a self‑hosted bookmark and link‑sharing service that transforms arbitrary URLs into concise, human‑readable short links of the form s/shortcut. From a developer standpoint, it functions as both a URL shortener and a lightweight knowledge‑base that can be exposed via RESTful APIs, Webhooks, or an embeddable browser extension. The application is intentionally minimalistic in its core to keep the attack surface small while still offering a rich set of analytics, tagging, and collection features that can be leveraged by internal tooling or external services.

Technical Stack & Architecture

Slash is written in Go and follows a micro‑service‑style architecture packaged as a single binary. The backend exposes a JSON API over HTTPS, using the standard net/http library combined with Gorilla Mux for routing. Data persistence is handled by PostgreSQL, accessed through the pgx driver, which stores link records, user accounts, tags, collections, and analytics logs. The application also ships a lightweight front‑end built with React (Vite) that consumes the same API, enabling a clear separation between client and server logic. Docker images are provided for quick deployment; the container runs as a non‑root user and mounts a persistent volume at /var/opt/slash for database files.

Core Capabilities

  • Short‑link CRUD – Create, read, update, and delete shortcuts via /api/v1/shortcuts. Each shortcut can be scoped to a user or shared publicly.
  • Tagging & Collections – Attach arbitrary tags (s/shortcut?tag=docs) and bundle shortcuts into collections that can be shared with a URL or exported as JSON.
  • Analytics – Every redirect is logged; the API exposes /api/v1/analytics/{shortcut} to retrieve click counts, referrers, and timestamps. These metrics can be consumed by Grafana or Prometheus exporters.
  • Browser Extension API – The Chrome/Firefox extension communicates with the backend over a local HTTPS endpoint, allowing instant lookup of shortcuts from the address bar.
  • Webhooks – Developers can register a webhook URL that receives POST payloads on shortcut creation or deletion, enabling integration with CI/CD pipelines or chatops.

Deployment & Infrastructure

Slash is designed for container‑native environments but can run on any Linux host. The Docker image pulls from docker.io/yourselfhosted/slash and exposes port 5231 by default. For production, the recommended stack includes:

  • A reverse proxy (NGINX or Traefik) for TLS termination and HTTP/2.
  • PostgreSQL in a separate container or managed database service, with connection pooling via PgBouncer for high concurrency.
  • Optional Redis cache if the analytics endpoint is heavily queried, although the current implementation uses in‑memory caching for simplicity.

Horizontal scaling is straightforward: multiple Slash instances can share the same PostgreSQL database, and a load balancer will distribute traffic. Since the API is stateless, scaling out can be automated with Kubernetes deployments or Docker Compose overrides.

Integration & Extensibility

Slash exposes a fully documented REST API (OpenAPI 3.0 spec available in the repo) that can be consumed by any language. The plugin model is minimal; developers can extend functionality by:

  • Writing custom middleware in Go and rebuilding the binary.
  • Hooking into webhooks to trigger external services (e.g., Slack notifications on new shortcuts).
  • Using the browser extension’s messaging API to inject shortcuts into other web applications. The open‑source license (MIT) allows for internal customization without licensing constraints.

Developer Experience

Configuration is file‑based (config.yaml) and environment variable‑driven, making it easy to integrate with CI/CD pipelines. The documentation is organized into sections for getting started, API reference, and extension setup, with clear Markdown links. Community support is active via Discord, where developers can ask questions and propose feature requests. The codebase follows standard Go conventions, making it approachable for contributors.

Use Cases

  • Internal Knowledge Base – Teams can quickly create and share internal URLs (documentation, CI dashboards) without exposing full links.
  • Personal Productivity – Developers can map frequently visited sites to mnemonic shortcuts and embed them in their editor or terminal.
  • API‑First Bookmark Service – Build a custom front‑end (e.g., mobile app) that consumes Slash’s API for a tailored user experience.
  • Analytics & Monitoring – Use the built‑in click tracking to monitor link usage across a corporate intranet.

Advantages

Slash offers a lightweight, self‑hosted alternative to commercial link shorteners (Bitly, TinyURL) with full control over data and compliance. Its Go implementation delivers low latency and high concurrency, while PostgreSQL provides ACID guarantees for link records. The open‑source nature eliminates vendor lock‑in, and the MIT license allows unrestricted use in proprietary projects. Compared to heavier bookmark managers, Slash’s focus on short links and analytics keeps the codebase lean, resulting in faster deployments and easier maintenance.

Open SourceReady to get started?

Join the community and start self-hosting Slash today

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
other
License
AGPL-3.0
Stars
3.0k
Technical Specs
Pricing
Open Source
Docker
Official
Supported OS
LinuxDocker
Author
yourselfhosted
yourselfhosted
Last Updated
Aug 18, 2025