Transfer.sh

Transfer.sh

Overview

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.

Key Features

  • Simple curl-based upload: Upload files with a single curl command — no app, no web interface needed.
  • File expiration: Set custom expiration times (e.g., 1 hour, 1 day, 1 week) for automatic file cleanup.
  • Encryption support: Encrypt files before upload using built-in encryption flag.
  • Directory uploads: Upload entire directories as tar archives with a single command.
  • Self-hostable: Deploy your own instance on any server or VPS for complete data control.
  • Multiple storage backends: Supports local storage, AWS S3, Google Cloud Storage, and S3-compatible services.
  • Command-line friendly: Perfect for scripting, automation, and headless environments.
  • Open source: Full source code available on GitHub under the MIT license.

Use Cases

  • Quickly sharing log files with colleagues during debugging sessions.
  • Uploading build artifacts from CI/CD pipelines for distribution or testing.
  • Sharing files between remote servers that do not share a network.
  • Creating temporary download links for clients without setting up infrastructure.

Platforms

Web (via curl), self-hosted on Linux servers.

Licence

Massachusetts Institute of Technology (MIT)

Website

transfer.sh

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.