Self-hosted web application for uploading files and generating shareable links with optional expiration and passwords.

Sharry screenshot 1

Sharry is a self-hosted web application designed for the secure and simple sharing of files. It functions as a centralized server where users can upload data and receive a unique, hard-to-guess URL that can be distributed to others via email or other communication channels for downloading.

The application supports two distinct workflows to facilitate file exchange. Authenticated users can upload files and define specific access constraints, such as optional passwords and time-limited availability. Conversely, registered users can establish alias pages. These are dedicated, unique URLs that allow external parties to upload files to a specific user without requiring an account, providing a way for others to send data to the server owner.

Key features

  • Generation of shareable public URLs for uploaded files
  • Optional password protection for file downloads
  • Configurable expiration periods for file availability
  • Alias pages for receiving uploads from external users
  • Email notifications for files uploaded via alias pages
  • Implementation of the tus protocol for resumable uploads
  • Support for large file transfers via HTTP
  • Deployment options via Docker, Nix, or deb packages

The technical architecture consists of a backend written in Scala, utilizing a pure functional style with typelevel libraries such as cats and fs2. The frontend is developed using the Elm programming language. By implementing the tus protocol, the software ensures that file transfers are reliable. If a network connection drops during an upload, the system tracks the last received chunk of data and resumes the process from that point when the upload is restarted, preventing the need to send the entire file again.

Sharry is intended for users who need a private, server-side solution for temporary file exchange and asynchronous file collection. It provides a controlled environment for managing how files are uploaded and accessed by external parties.

Last Modified
Software TypeWeb App / Server
Platform
Last Activity20 days ago
Repository Age9 years
LicenseGPL-3.0
Open Source Alternative to
Open Source Software.io

Join our newsletter to get shiny new open source software delivered to your inbox. Unsubscribe anytime.