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

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.
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.
Synchronizes files between two or more computers using a continuous peer to peer synchronization process.
Share files and messages between nearby devices over a local network without requiring an internet connection.
Join our newsletter to get shiny new open source software delivered to your inbox. Unsubscribe anytime.