selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

thiss.link logo

Self-host thiss.link

Encrypted link shortener with magnet link support

ReleaseOpen SourceAGPL-3.0
Updated8 months ago
LanguageTypescript
Setup difficultyAdvanced
Stars
600
Port
3000 (HTTP web server)
Requires
Node.js, Npm or yarn
Install with Docker
thiss.link screenshot 1

What is thiss.link?

MagLit is a free and open-source link shortener focused on privacy. It encrypts both regular HTTPS links and torrent magnet links using a user-provided secret key, so the server operator cannot see the destination URLs. Links can be password-protected and customized without any sign-up or account creation. The project is licensed under AGPL-3.0 and the deployed code is verifiable against the public repository. Self-hosting requires a Firebase Firestore project for data storage and is supported via Docker (port 3000) or direct Node.js installation. The service includes QR code generation for shortened links and optional Google Safe Browsing integration to block malicious URLs.

Should you self-host thiss.link?

thiss.link scores 49/100 on selfhost.directory (how scoring works) and ranks #12 of 23 in URL Shortener. It has 600 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is advanced: plan for several services and some ongoing maintenance. It is AGPL-3.0-licensed and written mostly in Typescript.

Its closest alternative on selfhost.directory is dub-links (74/100, 24 961 stars). It scores higher overall, so compare the two before you pick. See thiss.link vs dub-links side by side.

Features

  • Custom Short Links
  • Encrypted link shortening
  • Google Safe Browsing integration
  • Magnet link support
  • No user accounts required
  • Password Protection
  • Privacy-respecting analytics
  • QR Code Generation
  • Verifiable deployments
  • Zero personal data storage

thiss.link README

How to install thiss.link

Install thiss.link with Docker

Docker, Firebase Firestore project
Environment variables
STORAGE_BUCKET, PROJECT_ID, AUTH_DOMAIN, APP_ID, MESSAGING_SENDER_ID, API_KEY, NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET, NEXT_PUBLIC_FIREBASE_PROJECT_ID, NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN, NEXT_PUBLIC_FIREBASE_APP_ID, NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID, NEXT_PUBLIC_FIREBASE_API_KEY, SECRET_KEY, SKIP_SAFE_BROWSING, SAFE_BROWSING_API_KEY, NEXT_PUBLIC_BASE_URL, POLAR_API_TOKEN
#  BUILD AND RUN IMAGE USING NPM
npm run docker:build
# RUN IMAGE
npm run docker
# OR RUN IN DETACHED MODE
npm run docker:d

Requires .env.local file with Firebase credentials before build

How to configure thiss.link

  • API_KEYFirebase API key

    Firebase API key

  • APP_IDFirebase app ID

    Firebase app ID

  • AUTH_DOMAINFirebase auth domain

    Firebase auth domain

  • MESSAGING_SENDER_IDFirebase messaging sender ID

    Firebase messaging sender ID

  • NEXT_PUBLIC_BASE_URLhttp://website.com/Website domain name with trailing slash

    Website domain name with trailing slash

  • NEXT_PUBLIC_FIREBASE_API_KEYFirebase API key (public)

    Firebase API key (public)

  • NEXT_PUBLIC_FIREBASE_APP_IDFirebase app ID (public)

    Firebase app ID (public)

  • NEXT_PUBLIC_FIREBASE_AUTH_DOMAINFirebase auth domain (public)

    Firebase auth domain (public)

  • NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_IDFirebase messaging sender ID (public)

    Firebase messaging sender ID (public)

  • NEXT_PUBLIC_FIREBASE_PROJECT_IDFirebase project ID (public)

    Firebase project ID (public)

  • NEXT_PUBLIC_FIREBASE_STORAGE_BUCKETFirebase Storage bucket (public)

    Firebase Storage bucket (public)

  • POLAR_API_TOKENPolar API token

    Polar API token

  • PROJECT_IDFirebase project ID

    Firebase project ID

  • SAFE_BROWSING_API_KEYGoogle Safe Browsing API key

    Google Safe Browsing API key

  • SECRET_KEYSecret key for manually blocking unsafe links

    Secret key for manually blocking unsafe links

  • SKIP_SAFE_BROWSINGtrueSkip Google Safe Browsing check

    Skip Google Safe Browsing check

    values: true/false

  • STORAGE_BUCKETFirebase Storage bucket

    Firebase Storage bucket

FAQ

My adblock detected a tracker!

MagLit uses Counter.Dev analytics which is open-source and privacy-respecting - no IP logging, cookies, or fingerprinting. It can be blocked if desired.

How can I help?

Submit PRs on GitHub to improve the codebase or donate via Buy Me A Coffee.

Is it open-source?

Yes, 100% free and open source licensed under AGPLv3. All requests are proxied through a server and no personal data is stored.

Why should I use MagLit?

Three reasons: 1) Everything is encrypted so only you can access your links, 2) Password protection and custom links without sign-up, 3) 100% free, open-source, verifiable deployments with no data mining or selling.

What's a 'MagLit'?

The name comes from 'Magnet' and 'Lit' - it started as a link shortener for torrent magnet links and later added HTTPS link support.

What's this about?

MagLit is an encrypted and privacy respecting Link Shortener service that supports regular website links and Magnet Links for torrents. Admins cannot see encrypted links.

More in URL Shortener

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…