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.

blindsend logo

Self-host blindsend

End-to-end encrypted file sharing service

BetaOpen SourceMIT
Updated2 years ago
Setup difficultyAdvanced
Stars
185
Port
9000 (HTTP server)
Requires
Google Cloud Storage, PostgreSQL
Install with Java

What is blindsend?

blindsend lets you exchange files privately using end-to-end encryption so only the intended recipients can read them. It has two modes: share files by uploading and sending a link, or request files by giving others a link to upload to. Optional passwords protect links shared over insecure channels. The system has a Scala 3 backend with a REST API, a React frontend that encrypts and decrypts in the browser, PostgreSQL for link metadata, and Google Cloud Storage for the encrypted file data. The server listens on port 9000 and runs as a JAR built with sbt. Deployment needs a Google Cloud service account and manual config. The code is MIT licensed and developed by blindnet.io with cryptography experts.

Should you self-host blindsend?

blindsend scores 38/100 on selfhost.directory (how scoring works) and ranks #25 of 27 in File Sharing & Collaboration. It has 185 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 MIT-licensed.

Its closest alternative on selfhost.directory is Nextcloud (86/100, 37 326 stars). It scores higher overall, so compare the two before you pick. See blindsend vs Nextcloud side by side.

Features

  • Automatic file expiration
  • End-to-end encryption
  • File requesting via links
  • File sharing via links
  • REST API
  • Streaming upload/download
  • URL fragment-based secrets

blindsend README

How to install blindsend

Install blindsend with Java

Java runtime, sbt for building, PostgreSQL, GCP account
Environment variables
GOOGLE_APPLICATION_CREDENTIALS
  1. Install sbt and run:
    sbt assembly
    
    This command will create a blindsend.jar executable file in target/scala-3.1.0 folder.
  2. Create a configuration file application.json.
  3. Create a GCP service account (with permission for Cloud Storage) and download the keys.
  4. Set GOOGLE_APPLICATION_CREDENTIALS environment variable to point to the keys file.
    export GOOGLE_APPLICATION_CREDENTIALS="/account.json"
    

To run the server, make sure the application.json configuration file is in the secrets directory (secrets and blindsend.jar are in the same directory) and run:

java -jar ./blindsend.jar

Requires PostgreSQL and Google Cloud Storage configured separately

More in File Sharing & Collaboration

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…