MasirKeep every shared link under your control.
An open-source link management platform for teams. Publish short links on your domain, change destinations after sharing, and measure traffic without storing visitor IP addresses.
An open-source link management platform for teams. Publish short links on your domain, change destinations after sharing, and measure traffic without storing visitor IP addresses.
curl -fsSL https://raw.githubusercontent.com/hamedniroomand/masir/main/scripts/install.sh | shI want to try Masir
Choose an install path and create your first short link.
I use Masir
Manage links, access rules, targeting, analytics, and campaigns.
I operate Masir
Configure domains, email, storage, backups, monitoring, and upgrades.
I integrate with Masir
Use the same HTTP API as the Masir interface.
I contribute to Masir
Set up the repository, run its checks, and understand the architecture.
I need an exact value
Look up environment variables, scripts, routes, and the data model.
Change the destination, not the link
Keep a URL printed on a poster, QR code, email, or document. Update where it goes without asking people to use a new address.
Give links to a team
Workspaces keep links with the organization. Owners, members, and viewers get clear permissions.
Control when a link works
Add a password, opening date, expiry date, visit limit, or fallback destination. A visit limit of one creates a one-time link.
Measure without keeping raw identities
See clicks, daily unique visitors, referrers, countries, devices, browsers, and bots. Masir stores neither visitor IP addresses nor user-agent strings.
Masir runs as one application beside Postgres.
Docker Compose is the recommended production path. You can also build the image yourself, run from source, or deploy the Bun server on Vercel.
Masir does not include billing, API tokens, two-factor authentication, or a custom domain for each workspace. The HTTP API uses the same session cookie as the interface. Analytics cover link traffic, not funnels or session replay.
Read moreChoose the right way to start