transfer.sh
Easy and fast file sharing from the command-line with curl. Supports S3, Google Drive, Storj, and local storage. Encrypt, limit downloads, auto-delete. Self-hostable.
Smart Download
Download Download Version
v1.6.1 · 27 MB
Instant file sharing from your terminal, self-hosted.
Core Features
- Upload/download/delete files with a single curl command
- Multiple backends: S3, Google Drive, Storj, local filesystem
- Set max downloads and expiration days, auto-delete
- Server-side AES256 encryption (self-hosted only)
- VirusTotal integration for malware scanning
What It Can't Do
- •Do not trust server-side encryption on public instances; the password is stored on the server – only use it on your own instance,No built-in user authentication; consider adding HTTP basic auth or a reverse proxy,File size limits depend on your backend storage (e.g., S3 quota),The public transfer.sh instance is separate from this repository; for support, host your own
Use Cases
- Quickly share logs or debug files among team members
- Server-to-server file transfer for backups or configs
- Temporary sharing of sensitive files with auto-expiry
- Self-hosted file sharing without relying on third-party services
Detailed Introduction
transfer.sh is an open-source command-line tool for sharing files quickly and securely. It provides a simple HTTP API that allows you to upload, download, encrypt, and delete files using curl. The tool supports multiple storage backends including Amazon S3, Google Drive, Storj, and local file system. It offers features like password-protected encryption, download limits, time-based auto-deletion, and VirusTotal integration. You can self-host your own instance for full control over your data. Ideal for developers, sysadmins, and anyone who needs to share files via the terminal without relying on third-party services. The project is written in Go, lightweight, and easy to deploy with Docker.
Tags
Getting Started
Download installer
Click the button above to download the installer for your system
Install the software
Double-click the downloaded installer and follow the prompts
Step 1: Install Docker or download the binary
Step 2: Run container: docker run -p 8080:8080 dutchcoders/transfer.sh
Step 3: Upload with curl: curl --upload-file ./myfile.txt http://your-ip:8080/myfile.txt
- Step 1: Install Docker or download the binary
- Step 2: Run container: docker run -p 8080:8080 dutchcoders/transfer.sh
- Step 3: Upload with curl: curl --upload-file ./myfile.txt http://your-ip:8080/myfile.txt
Checksum not available
This project has not published a SHA-256 checksum on its GitHub Release page
SHA256 Checksum
No checksum available
Download directly from GitHub Releases and verify file integrity yourself
All SHA-256 checksums on this platform are extracted from the project's official GitHub Release page, without any modification. You can independently verify them on the GitHub Releases page.
Open Source Transparency
View GitHub SourceUninstall Info
If using Docker, remove the container with docker rm. If using binary, delete the executable file.
No Extra Dependencies
Ready to use after download. No additional runtime required.
Similar Projects
cloudreve
Self-hosted file management system with multi-cloud support, offline downloads, and WebDAV. Lightweight and easy to deploy.
copyparty
copyparty turns any device into a file server with resumable uploads/downloads using any web browser. Supports HTTP, WebDAV, SFTP, FTP, TFTP, SMB. Only requires Python (2 or 3).
Paperless-ngx
An open-source document management system that turns physical papers into a searchable, organized digital archive. Self-hosted, OCR-powered, and built to eliminate paper clutter forever.