Self-hostable file and note sharing where files are encrypted in the browser, so the server only stores ciphertext.
depado/goploader
Self-hosted file sharing server and Go CLI client that encrypts uploads on the server and works with curl, httpie and wget.
Open-source alternative to:WeTransfer
- Stars
- 304
- Forks
- 47
- Open issues
- 23
- Last commit
- 4 hours ago
What is it?
Goploader is a file sharing tool made of a server and a client, both written in Go. It is aimed at sharing files quickly from a terminal, as well as from a browser for people who do not use one.
The server is meant to be run by you, and the project includes a Docker image and a setup web interface. The client, named gpldr, uploads files from the command line. Uploads are encrypted on the server side, and the project's stated focus is on privacy.
Because the server accepts standard HTTP uploads, plain curl, httpie and wget can also be used to send files without installing the client.
Key features
- 01Server-side encryption of uploaded files
- 02Command-line client named gpldr
- 03Works with curl, httpie and wget uploads
- 04Docker image and web-based setup interface
- 05Server and client are both written in Go
Use cases
- Sending a file to a colleague from a terminal session on a server
- Running a private file-sharing service for a team or home network
- Uploading files from scripts using curl or wget
Quick start
- 1
Clone the repository
git clone https://github.com/depado/goploader.git - 2
Enter the project directory
cd goploader - 3
Build the server
go build -trimpath -ldflags '-s -w' -o goploader-server ./server/ - 4
Start the server
./goploader-server
Things to know
- The README warns that most of the technology used is outdated, so use at your own risk.
- Installation requires building from source with Go or using Docker; no packaged install is documented.
In collections
Topics
FAQ
- What is goploader?
- Self-hosted file sharing server and Go CLI client that encrypts uploads on the server and works with curl, httpie and wget. Goploader is a file sharing tool made of a server and a client, both written in Go. It is aimed at sharing files quickly from a terminal, as well as from a browser for people who do not use one.
- Is goploader free to use? What license does it have?
- goploader is open source under the MIT license. Check the license terms before using it in commercial products.
- Is goploader still maintained?
- Actively maintained. The last commit to goploader was on Nov 6, 2026.
- What can I use goploader for?
- Sending a file to a colleague from a terminal session on a server Running a private file-sharing service for a team or home network Uploading files from scripts using curl or wget
- How do I install goploader?
- Clone the repository: git clone https://github.com/depado/goploader.git Enter the project directory: cd goploader Build the server: go build -trimpath -ldflags '-s -w' -o goploader-server ./server/ Start the server: ./goploader-server
- Where can I get goploader?
- The source code and installation instructions are on GitHub: https://github.com/depado/goploader
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A peer-to-peer, end-to-end encrypted file storage, messaging and social network platform built on IPFS, with self-hosting support.
Self-hosted, zero-knowledge sharing of one-time passwords, API keys, text and encrypted files via self-destructing links.
A self-hosted, single-binary pastebin and file-sharing web app written in Rust, with optional encryption and URL shortening.
Self-hosted file sharing server in Go with expiring links, optional S3 storage, and no public uploads, positioned as an alternative to Firefox Send.
Self-hosted temporary file upload server in Go, similar to WeTransfer, with a web UI, CLI client and optional end-to-end encryption.