GitHub - root-gg/plik: Plik is a temporary file upload system (Wetransfer like) in Go.

Mentioned in Awesome Go Build Go Report Docker Pulls GoDoc License

Want to access the documentation? https://root-gg.github.io/plik

Want to see a live demo ? https://plik.root.gg

Want to chat with us ? Telegram channel : https://t.me/plik_rootgg

Plik

Plik is a scalable & friendly temporary file upload system — like WeTransfer, self-hosted.

Features

  • 🖥️ Modern Vue 3 web interface
  • 🧑‍💻 Powerful Command line client
  • ☁️ Multiple storage backends (local, S3, OpenStack Swift, Google Cloud Storage)
  • 🗄️ Multiple metadata backends (SQLite, PostgreSQL, MySQL)
  • 🔑 Multiple authentication providers (Local, Google, OVH, OIDC)
  • ⏱️ Configurable TTL with auto-cleanup
  • 💣 OneShot downloads (file deleted after first download)
  • ⚡ Stream mode (uploader → downloader, nothing stored)
  • 🔐 Password-protected uploads (BasicAuth)
  • 🔒 End-to-end encryption with Age (CLI ↔ Web interoperable)
  • 📦 Archive directly from CLI/Web
  • 📊 Prometheus metrics
  • 🤖 MCP server for AI assistant integration

Third-party clients

Quick Start

# Docker
docker run -p 8080:8080 rootgg/plik

# From release
wget https://github.com/root-gg/plik/releases/download/1.3.8/plik-server-1.3.8-linux-amd64.tar.gz
tar xzvf plik-server-1.3.8-linux-amd64.tar.gz
cd plik-server-1.3.8-linux-amd64/server && ./plikd

# From source
git clone https://github.com/root-gg/plik.git
cd plik && make
cd server && ./plikd

# Kubernetes (Helm)
helm repo add plik https://root-gg.github.io/plik
helm install plik plik/plik

Open web interface at http://127.0.0.1:8080

Command Line Client

$ plik myfile.txt
Upload successfully created at Sat, 21 Feb 2026 09:02:54 CET :
    http://127.0.0.1:8080/#/?id=vDPmPEUqc5oCt31T

myfile.txt :  2.56 KiB / 2.56 KiB [=========================================] 100.00% 719.15 KiB/s 0s

Commands :
curl -s "http://127.0.0.1:8080/file/vDPmPEUqc5oCt31T/UZzSdZ7zPgfRiTem/myfile.txt" > 'myfile.txt'

# or with just curl
$ curl --form 'file=@/path/to/myfile.txt' http://127.0.0.1:8080
https://plik.root.gg/file/eeBKaTQhg5xv0zTL/WWVhZc0PFtvoZgCu/myfile.txt

See: CLI Client Documentation for installation

How to Contribute

Contributions are welcome! See the contributing guide for development setup and build instructions.

License

MIT