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.

GitHub
SuperBin logo

Self-host SuperBin

1.0.0

All-in-one pastebin, file sharing, and link shortener

ReleaseOpen SourceAGPL-3.0
Docker ComposeCompose file & guide
docker compose up
Updated5 months ago
LanguageGo
Setup difficultyEasy
MobileResponsive
Stars
191
Port
80 (HTTP web interface)
SuperBin web interface showing file upload, pastebin, and URL shortener features

What is SuperBin?

SuperBin combines a pastebin, file sharing service, and URL shortener into a single self-hosted Go application. It supports password-protected uploads and downloads with AES encryption and PBKDF2 key derivation, performing decryption on-the-fly without writing decrypted data to disk. The service generates short, unambiguous URLs with collision detection and provides QR codes for easy mobile sharing. Users can upload files or text via web interface (drag-and-drop, paste, file browser) or command line using curl with optional duration, password, and burn-after-reading settings. Configuration is done through a JSON file allowing limits on file size, text size, stream buffer size, CPU throttling, and authentication settings. It runs as a single binary or Docker container on any OS or PaaS like Render, fly.io, or repl.it with minimal resource requirements.

Should you self-host SuperBin?

SuperBin scores 43/100 on selfhost.directory (how scoring works) and ranks #65 of 86 in File Sharing. It has 191 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 easy: most people get it running in one sitting. It is AGPL-3.0-licensed and written mostly in Go.

Its closest alternative on selfhost.directory is copyparty (82/100, 47 150 stars). It scores higher overall, so compare the two before you pick. See SuperBin vs copyparty side by side.

Features

  • Burn-after-reading
  • Configurable resource limits
  • Cross-platform deployment
  • Curl upload support
  • Expiration duration
  • File sharing
  • On-the-fly decryption
  • Password Protection
  • Pastebin
  • QR Code Generation
  • Short unambiguous URLs
  • Site-wide authentication
  • Stream-based processing
  • URL Shortener

SuperBin README

How to install SuperBin

Install SuperBin with Docker Compose

  1. Download / clone this repo
  2. Make a folder called uploads
  3. Run docker compose up

Requires creating an uploads folder

How to configure SuperBin

  • cmdUploadDefaultDurationMinute10Default file duration if you upload file through curl when duration is not specified

    Default file duration if you upload file through curl when duration is not specified

  • enablePasswordfalseWhether to enable password for site authentication

    Whether to enable password for site authentication

    values: true/false

  • fileSizeLimitMB9999999Limit file size in megabytes

    Limit file size in megabytes

  • passwordpasswordPassword value for site authentication

    Password value for site authentication

  • pbkdf2Iterations10000Key derivation algorithm iteration count

    Key derivation algorithm iteration count

  • streamSizeLimitKB1024Limit file encryption, decryption, upload & download buffer stream size in KB to limit memory usage

    Limit file encryption, decryption, upload & download buffer stream size in KB to limit memory usage

  • streamThrottleMS25Add throttle to the encryption, decryption, upload & download buffer to limit CPU usage

    Add throttle to the encryption, decryption, upload & download buffer to limit CPU usage

  • textSizeLimitMB10Limit text size in megabytes

    Limit text size in megabytes

SuperBin releases & version history

More in Pastebins

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…