CLI
Plik ships with a powerful cross-platform CLI client written in Go.
Installation
From GitHub Releases
Download the latest client binary for your platform directly from the GitHub releases page:
# Linux (amd64)
wget https://github.com/root-gg/plik/releases/download/1.4-RC1/plik-1.4-RC1-linux-amd64
chmod +x plik-1.4-RC1-linux-amd64
sudo mv plik-1.4-RC1-linux-amd64 /usr/local/bin/plik
# macOS (amd64)
curl -L -o plik https://github.com/root-gg/plik/releases/download/1.4-RC1/plik-1.4-RC1-darwin-amd64
chmod +x plik
sudo mv plik /usr/local/bin/plik
# Windows (amd64)
# Download plik-1.4-RC1-windows-amd64.exe from the release pageAvailable platforms: linux-amd64, linux-386, linux-arm, linux-arm64, darwin-amd64, freebsd-amd64, freebsd-386, openbsd-amd64, openbsd-386, windows-amd64, windows-386
From Plik Web UI
Any running Plik instance serves its client binaries through the web interface. Navigate to your Plik server and download the client for your platform.
Bash Client
A lightweight bash client (plik.sh) is also available for environments where you can't install a Go binary. It requires only curl, openssl, and standard POSIX tools:
# Download from GitHub releases
wget https://github.com/root-gg/plik/releases/download/1.4-RC1/plik-1.4-RC1.sh
chmod +x plik-1.4-RC1.sh
sudo mv plik-1.4-RC1.sh /usr/local/bin/plik
# Or grab it from a running Plik server
curl -o plik https://your-plik-server/clients/bash/plik.sh
chmod +x plikUsage
plik [options] [FILE] ...Options:
-o, --oneshot Enable OneShot ( Each file will be deleted on first download )
-r, --removable Enable Removable upload ( Each file can be deleted by anyone at any moment )
-S, --stream Enable Streaming ( It will block until remote user starts downloading )
-t, --ttl TTL Time before expiration (Upload will be removed in m|h|d)
--extend-ttl Extend upload expiration date by TTL when accessed
-n, --name NAME Set file name when piping from STDIN
--stdin Enable pipe from stdin explicitly when DisableStdin is set in .plikrc
--server SERVER Overrides server url
--token TOKEN Specify an upload token ( if '-' prompt for value )
--comments COMMENT Set comments of the upload ( MarkDown compatible )
-p Protect the upload with login and password ( be prompted )
--password PASSWD Protect the upload with "login:password" ( if omitted default login is "plik" )
-a Archive upload using default archive params ( see ~/.plikrc )
--archive MODE Archive upload using the specified archive backend : tar|zip
--compress MODE [tar] Compression codec : gzip|bzip2|xz|lzip|lzma|lzop|compress|no
--archive-options OPTIONS [tar|zip] Additional command line options
-s Encrypt upload using the default encryption parameters ( see ~/.plikrc )
--not-secure Do not encrypt upload files regardless of the ~/.plikrc configurations
--secure MODE Encrypt upload files using the specified crypto backend : openssl|pgp
--cipher CIPHER [openssl] Openssl cipher to use ( see openssl help )
--passphrase PASSPHRASE [openssl] Passphrase or '-' to be prompted for a passphrase
--recipient RECIPIENT [pgp] Set recipient for pgp backend ( example : --recipient Bob )
--secure-options OPTIONS [openssl|pgp] Additional command line options
--insecure (TLS) Do not verify the server's certificate chain and hostname
--update Update client
-q --quiet Enable quiet mode
-d --debug Enable debug mode
-v --version Show client version
-i --info Show client and server information
-h --help Show this helpExamples
Upload a file:
plik myfile.txtCreate an encrypted archive:
plik -a -s mydirectory/Upload with expiration:
plik --ttl 24h document.pdfQuick Upload with curl
No CLI needed — upload with a single curl command:
curl --form 'file=@/path/to/file' http://127.0.0.1:8080With authentication token:
curl --form 'file=@/path/to/file' \
--header 'X-PlikToken: xxxx-xxx-xxxx-xxxxx-xxxxxxxx' \
http://127.0.0.1:8080TIP
The DownloadDomain configuration option must be set for quick upload to work properly.
Configuration (.plikrc)
The client configuration is a TOML file loaded from:
PLIKRCenvironment variable~/.plikrc/etc/plik/plikrc
Key settings:
URL = "https://plik.example.com"
Token = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
# Archive defaults
[Archive]
Backend = "tar"
Compress = "gzip"
# Encryption defaults
[Secure]
Backend = "openssl"
Cipher = "aes-256-cbc"See the full .plikrc template for all available options.
Tips & Tricks
Screenshot Upload
Upload screenshots directly to clipboard (requires scrot and xclip):
alias pshot="scrot -s -e 'plik -q \$f | xclip ; xclip -o ; rm \$f'"