To share your files online, you either use a service like Dropbox, Google Drive or WeTransfer. However, what if you want to have your own self-hosted system to maintain privacy and have control over the files you share?

Here are the best 21 open-source self-hosted solutions.

1- Nextcloud

Our first pick is Nextcloud, a well-established self-hosted cloud system with a wide ecosystem and a strong supportive community. With Nextcloud, you can easily share files, calendars, and enhance its basic features using extensions.

GitHub - nextcloud/server: ☁️ Nextcloud server, a safe home for all your data
☁️ Nextcloud server, a safe home for all your data - nextcloud/server

2- Seafile

Seafile is an open source cloud storage system that offers privacy protection, teamwork features, and the ability to sync and encrypt libraries. Users can create groups and easily share files within those groups.

Features

  • File syncing
  • Selective sync for any folder
  • Correctly handles file conflicts based on history instead of timestamp
  • Only transfer content delta to the server
  • Interrupted transfers can be resumed
  • Sync with two or more servers
  • Sync with existing folders
  • File sharing and collaboration
  • Sharing folders between users or into groups
  • Download links with password protection
  • Upload links
  • Version control
  • Drive client
  • Access all files in the cloud via virtual drive
  • Files are synced on demand
  • Privacy protection
  • Library encryption with a user chosen password
  • Client side encryption when using the desktop syncing
  • Online documents and knowledge management
  • Online Markdown editing in WYSIWYG way
  • A draft review workflow for online documents
  • Metadata management, including file labels and related documents
  • Wiki mode
  • Realtime notifications
GitHub - haiwen/seafile: High performance file syncing and sharing, with also Markdown WYSIWYG editing, Wiki, file label and other knowledge management features.
High performance file syncing and sharing, with also Markdown WYSIWYG editing, Wiki, file label and other knowledge management features. - haiwen/seafile

3- Filestash

Filestash is a free and open-source self-hosted file manager that supports various protocols and services such as FTP, FTPS, SFTP, WebDAV, Git, S3, NFS, Samba, Artifactory, LDAP, Mysql, Storj, CardDAV, CalDAV, Backblaze B2, Minio, Dropbox, and Google Drive.

Features

  • Responsive user-friendly interface
  • Manage your files from a browser
  • Authentication middleware to connect to various source of user
  • Flexible Share mechanism
  • Chromecast support for images, music, and videos
  • Video player
  • Video transcoding (mov, mkv, avi, mpeg, and more)
  • Image viewer
  • Image transcoding (raw images from Nikon, Canon, and more)
  • Photo management
  • Audio player
  • Shared links are full fledge network drive
  • Office documents (docx, xlsx and more)
  • Full org mode client (documentation)
  • User friendly
  • Mobile friendly
  • Customisable
  • Plugins
  • Super fast
  • Upload files and folders
  • Download as zip
  • Multiple cloud providers and protocols, easily extensible
  • Nyan cat loader
  • Quick access: frequently access folders are pin to the homepage
  • Emacs, VIM or Sublime keybindings ;)
  • Search
GitHub - mickael-kerjean/filestash: 🦄 A modern web client for SFTP, S3, FTP, WebDAV, Git, Minio, LDAP, CalDAV, CardDAV, Mysql, Backblaze, ...
🦄 A modern web client for SFTP, S3, FTP, WebDAV, Git, Minio, LDAP, CalDAV, CardDAV, Mysql, Backblaze, ... - mickael-kerjean/filestash

4- OnionShare

OnionShare is a free and open source tool that lets you securely and anonymously share files, host websites, and chat with friends using the Tor network.

It can be installed on Windows, Linux and macOS.

GitHub - onionshare/onionshare: Securely and anonymously share files, host websites, and chat with friends using the Tor network
Securely and anonymously share files, host websites, and chat with friends using the Tor network - onionshare/onionshare

5- Dufs

Dufs is a self-hosted open-source one-binary file server written with Rust.

Features

  • Serve static files
  • Download folder as zip file
  • Upload files and folders (Drag & Drop)
  • Create/Edit/Search files
  • Resumable/partial uploads/downloads
  • Access control
  • Support https
  • Support webdav
  • Easy to use with curl
GitHub - sigoden/dufs: A file server that supports static serving, uploading, searching, accessing control, webdav...
A file server that supports static serving, uploading, searching, accessing control, webdav... - sigoden/dufs

6- FileDrop

FileDrop is a web-based self-hosted file sharing app with peer-to-peer support and end-to-end encryption.

GitHub - mat-sz/filedrop: 📲 WebRTC E2E encrypted file transfer - React + node.js
📲 WebRTC E2E encrypted file transfer - React + node.js - mat-sz/filedrop

7- Send

Send is a fork of Mozilla's Firefox Send, created by the community to continue the project. It is based on Mozilla's last publicly hosted version, with Mozilla branding removed for legal self-hosting. It remains compatible with ffsend CLI and includes updated dependencies.

Some of Mozilla's changes have been merged, but experimental features and certain changes are excluded.

GitHub - timvisee/send: :mailbox_with_mail: Simple, private file sharing. Mirror of https://gitlab.com/timvisee/send
:mailbox_with_mail: Simple, private file sharing. Mirror of https://gitlab.com/timvisee/send - timvisee/send

8- fluffy

The fluffy app is a Flask-based web application that allows you to upload arbitrary files to the web. Once you upload the files, you get a link to the file which you can share.

GitHub - chriskuehl/fluffy: A file-sharing web app that doesn’t suck.
A file-sharing web app that doesn’t suck. Contribute to chriskuehl/fluffy development by creating an account on GitHub.

9- Updog

Updog is a replacement for Python's SimpleHTTPServer. It allows uploading and downloading via HTTP/S, can set ad hoc SSL certificates and use HTTP basic auth.

GitHub - sc0tfree/updog: Updog is a replacement for Python’s SimpleHTTPServer. It allows uploading and downloading via HTTP/S, can set ad hoc SSL certificates and use http basic auth.
Updog is a replacement for Python’s SimpleHTTPServer. It allows uploading and downloading via HTTP/S, can set ad hoc SSL certificates and use http basic auth. - sc0tfree/updog

10- YouTransfer

YouTransfer is a simple but elegant self-hosted file transfer & sharing solution. It is an alternative to paid services like Dropbox and WeTransfer by offering similar features but without limitations, price plans and a lengthy privacy policy. You remain in control of your files.

GitHub - YouTransfer/YouTransfer: The simple but elegant self-hosted file transfer & sharing solution
The simple but elegant self-hosted file transfer & sharing solution - YouTransfer/YouTransfer

11- Share

share is an open-source server for easily sharing files through the browser or terminal. It stores files temporarily and introduces new features such as time-based storage depending on file size and unique content-addressable identifiers for easy sharing.

Share can be installed easily using Docker with the following command.

$ docker run -d -v `pwd`/data:/data -p 8222:8222 schollz/share
GitHub - schollz/share: Simple file sharing from the browser and the command-line.
Simple file sharing from the browser and the command-line. - schollz/share

12- Blaze

Blaze is a progressive web app (PWA) that enables file sharing between multiple devices using web technologies. It supports instant file sharing with multiple devices at once and utilizes WebTorrent and WebSockets protocols for file transfer.

Files shared via WebTorrent are peer-to-peer, with direct transfer between sender and receiver without an intermediate server.

Features

  • 💡 No account creation or signups.
  • 🚀 One-to-One and Many-to-Many file transfers.
  • 🔮 Works across different networks and devices.
  • ⚡ Easy to use, and no app installation required.
  • 📱 PWA for device-level integrations.
GitHub - blenderskool/blaze: ⚡ File sharing progressive web app built using WebTorrent and WebSockets
⚡ File sharing progressive web app built using WebTorrent and WebSockets - blenderskool/blaze

13-Sharry

Sharry is a self-hosted web application that allows authenticated users to upload files and generate public URLs for sharing. Authenticated users can also maintain alias pages, allowing others to upload files to them. Alias pages can be disabled or deleted at any time.

Key Features

  • User-friendly and responsive interface
  • Upload many files at once
  • Set expiration date
  • QR code per file
  • Send files to friends
  • Display images and videos
GitHub - eikek/sharry: Sharry is a self-hosted file sharing web application.
Sharry is a self-hosted file sharing web application. - eikek/sharry

14- ProjectSend

ProjectSend is an exceptional file sharing web application that is specifically designed to cater to the needs of clients while ensuring privacy. It offers the ability to create client accounts with secure usernames and passwords, and effortlessly associate uploaded files with specific clients or client groups.

Moreover, it boasts impressive features such as automatic expiration of uploads, comprehensive notifications, detailed logging of user and client activities, seamless client file upload capabilities, the flexibility to customize themes, and robust support for multiple languages.

GitHub - projectsend/projectsend: ProjectSend is a free, open source software that lets you share files with your clients, focused on ease of use and privacy. It supports clients groups, system users roles, statistics, multiple languages, detailed logs... and much more!
ProjectSend is a free, open source software that lets you share files with your clients, focused on ease of use and privacy. It supports clients groups, system users roles, statistics, multiple lan…

15- Pomf

Pomf is a simple lightweight file host with support for drop, paste, click and API uploading. However the code is moved to a new project Uguu.

GitHub - pomf/pomf: Pomf is a simple lightweight file host with support for drop, paste, click and API uploading.
Pomf is a simple lightweight file host with support for drop, paste, click and API uploading. - pomf/pomf

16- Uguu

Uguu is an incredibly efficient and versatile temporary file hosting and sharing platform that can also serve as a reliable permanent file host.

Key Features

  • One click uploading, no registration required.
  • A minimal, modern web interface.
  • Drag & Drop & Paste supported.
  • Upload API with multiple response choices:
    • JSON
    • HTML
    • Text
    • CSV
  • Supports ShareX and other screenshot tools.
  • File extension & MIME black/whitelisting.
  • Upload rate limiting.
  • File (hash) blacklisting.
  • Run bare or as a container.
GitHub - nokonoko/Uguu: Uguu is a simple lightweight temporary file host with support for drop, paste, click and API uploading.
Uguu is a simple lightweight temporary file host with support for drop, paste, click and API uploading. - nokonoko/Uguu

17- Skattlåda

Skattlåda is an open source file sharing server that can share files from places like Google Drive, authenticating users with FIDO. It is written using TypeScript.

GitHub - twistedstream/skattlada: Skattlåda is an open source file sharing server that can share files from places like Google Drive, authenticating users with FIDO
Skattlåda is an open source file sharing server that can share files from places like Google Drive, authenticating users with FIDO - twistedstream/skattlada

18- LaravelDrive

LaravelDrive is a file storage system built with Laravel and Vue, inspired by Google Drive. It allows users to store private files, share them with others, and collaborate. It has minimum requirements and features a responsive drop zone uploader for a better user experience.

Features

  • Responsive – it is fully responsive and will work on desktop, mobile, tablet and other devices.
  • File Previews – Preview multiple file types including audio, video, text, pdf, zip and images right in the browser without the need to download the file.
  • Authentication system – Fully featured authentication system with social login(facebook, twitter and google), normal login, registration, password recovery, account settings and more.
  • Roles & Permissions – Assign roles and permissions to users to give or restrict access to specific functionality on the site.
  • Professional Design – Pixel-perfect google’s material design.
  • Drag and Drop – Natural drag and drop features for uploading, selecting and moving files & folders.
  • Context Menu – Fully integrated context menu (right click on file or folder) is available with all the actions you’d expect like delete, copy, share, move, rename, get link and more. This menu can be accessed from navigation bar as well on touch based devices.
  • Trash – Deleted items will first be moved to trash so they can be restored later.
  • Favorites – Favorite files or folders so you can find them easily from favorites page later.
  • File Details – Sidebar on the right will display selected file or folder details as well as preview (if available).
GitHub - mshossain110/LaravelDrive: Private file storage and share with user build with laravel and vue inspired by google drive
Private file storage and share with user build with laravel and vue inspired by google drive - mshossain110/LaravelDrive

19- Zipline

Zipline is a free ShareX/file upload server that is easy to use, packed with features, and with an easy setup!

Features

  • Configurable
  • Fast
  • Built with Next.js & React
  • Token protected uploading
  • Image uploading
  • Image compression
  • Password Protected Uploads
  • URL shortening
  • Text uploading
  • URL Formats (uuid, dates, random alphanumeric, original name, zws, gfycat -> animals adjectives)
  • Discord embeds (OG metadata)
  • Gallery viewer, and multiple file format support
  • Code highlighting
  • Fully customizable Discord webhook notifications
  • OAuth2 registration (Discord and GitHub)
  • Two-Factor authentication with Google Authenticator, Authy, etc (totp services).
  • User invites
  • File Chunking (for large files)
  • File deletion once it reaches a certain amount of views
  • Automatic video thumbnail generation
  • Easy setup instructions on docs (One command install docker compose up -d)
GitHub - diced/zipline: A ShareX/file upload server that is easy to use, packed with features, and with an easy setup!
A ShareX/file upload server that is easy to use, packed with features, and with an easy setup! - diced/zipline

20- FileFlow

Fileflow offers cloud storage, allowing you to easily manage and save your files online.

GitHub - lokeshkavisth/FileFlow: Fileflow offers cloud storage, allowing you to easily manage and save your files online.
Fileflow offers cloud storage, allowing you to easily manage and save your files online. - lokeshkavisth/FileFlow

21- Uploady

Uploady is a simple file uploader script written in PHP with MySQL as a database. It offers more than 20 features, including multi-file upload support, protection levels, mime type and extension checks, size restrictions, forbidden names, and out-of-the-box functions. It can be set up in less than 5 minutes and is free and open source.

Features

  • Simple to use and implement
  • 4 Protection levels
  • Mime Type
  • Extensions
  • Size
  • Forbidden names
  • Out Of The Box Functions
  • Bootstrap and jQuery over CDN
  • Multi-File Upload Support
  • Admin Panel with charts and stats
  • Drag and Drop Support
  • Role-based User Management with size limit for each role
  • Data collection [IP Address, Browser Information, OS, Country]
  • Image Manipulation
  • AdSense Support
  • Google Analytics Support
  • Pages Management
  • Multi-Languages Support
  • Custom CSS and JS support
  • Custom logo and favicon
  • Delete files after x days
  • Delete files after x downloads
  • Report abuse page
  • Social media sharing
GitHub - farisc0de/Uploady: Simple File Uploading Software
Simple File Uploading Software. Contribute to farisc0de/Uploady development by creating an account on GitHub.