Repolode
Skyfay

Skyfay/SkySend

Self-hostable file and note sharing where files are encrypted in the browser, so the server only stores ciphertext.

Open-source alternative to:WeTransfer

Stars
457
Forks
26
Open issues
1
Last commit
12 days ago

What is it?

SkySend shares files and notes so that only the recipient can read them. Content is encrypted in the browser with AES-256-GCM before upload, and the decryption key sits in the URL fragment, which browsers do not send to the server. The server stores ciphertext only.

It runs as a single Docker container backed by SQLite, or by any S3-compatible bucket, and needs no user accounts. Shares can be limited by expiry time, download count, view count, or a password derived with Argon2id. Optional OIDC sign-in can restrict who may create shares.

Beyond file links, it supports file and note requests, where senders encrypt their uploads with HPKE for the requester alone. A command-line client offers the same encryption for uploads, downloads and notes.

Key features

  • 01Files and folders are encrypted in the browser before upload, with AES-256-GCM streamed in 64 KB records.
  • 02Shares can expire by time, by download count, or by view count, and can burn after reading.
  • 03An optional password protects each link, derived with Argon2id.
  • 04File and note requests let others upload to you encrypted for your key alone.
  • 05A CLI with an interactive TUI handles uploads, downloads and notes.
  • 06Storage can be local disk or any S3-compatible bucket, and the app ships in 13 languages.

Use cases

  • Sending sensitive files to a client or colleague without trusting a third-party file host.
  • Running a private file-drop service for a team or organization on your own server.
  • Collecting files or confidential notes from outside people through an encrypted upload link.
  • Sharing one-off secrets or passwords that expire after being read.

Quick start

  1. 1

    Create a docker-compose.yml with the SkySend service (image skyfay/skysend:latest, port 3000)

  2. 2

    Start the container in the background

    docker compose up -d
  3. 3

    Open http://localhost:3000 in your browser

Things to know

  • Any hosted instance must release its source code under the AGPL-3.0 license.
  • No external formal security audit has been done yet.

In collections

Topics

FAQ

What is SkySend?
Self-hostable file and note sharing where files are encrypted in the browser, so the server only stores ciphertext. SkySend shares files and notes so that only the recipient can read them. Content is encrypted in the browser with AES-256-GCM before upload, and the decryption key sits in the URL fragment, which browsers do not send to the server. The server stores ciphertext only.
Is SkySend free to use? What license does it have?
SkySend is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
Is SkySend still maintained?
Actively maintained. The last commit to SkySend was on Oct 25, 2026.
What can I use SkySend for?
Sending sensitive files to a client or colleague without trusting a third-party file host. Running a private file-drop service for a team or organization on your own server. Collecting files or confidential notes from outside people through an encrypted upload link. Sharing one-off secrets or passwords that expire after being read.
How do I install SkySend?
Create a docker-compose.yml with the SkySend service (image skyfay/skysend:latest, port 3000) Start the container in the background: docker compose up -d Open http://localhost:3000 in your browser
Where can I get SkySend?
The source code and installation instructions are on GitHub: https://github.com/Skyfay/SkySend

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects