Transfer.sh is an open-source, command-line file sharing service that makes uploading and sharing files as simple as a single curl command. With Transfer.sh, you can upload files from the terminal using `curl –upload-file filename https://transfer.sh/filename` and receive a shareable download link. The service supports file expiration, encryption, and directory uploads, making it a powerful tool for developers and system administrators who work primarily in the terminal.
What makes Transfer.sh stand out is its simplicity and scriptability. Because it works with standard command-line tools like curl and wget, it integrates naturally into shell scripts, CI/CD pipelines, and automation workflows. You can set custom expiration times for files (from a few minutes to several days), password-protect downloads, and even encrypt files before upload using the built-in encryption feature.
Transfer.sh can be self-hosted on your own infrastructure, giving you full control over the data that passes through your instance. The project is written in Go and is available as a single binary, making deployment trivial. It supports multiple storage backends including local filesystem, S3-compatible storage, and Google Cloud Storage.
Web (via curl), self-hosted on Linux servers.
Massachusetts Institute of Technology (MIT)