Piknik enables seamless and secure copy/paste and file transfer over the network with end-to-end encryption, bypassing NAT and firewalls.
Copy/paste anything over the network.
Piknik is designed for users who need to transfer clipboard content, code snippets, URLs, or files securely between different hosts without relying on SSH or direct network access. It is ideal for developers, system administrators, and security-conscious users who want a simple, encrypted, cross-platform clipboard sharing and file transfer solution.
Users must generate their own cryptographic keys using piknik -genkeys and configure piknik.toml appropriately for clients and staging servers. The staging server relays encrypted data but cannot decrypt clipboard contents, ensuring privacy. Cross-platform compatibility requires attention to configuration file location differences, especially on Windows. This tool is best suited for users comfortable with command-line operations and managing cryptographic keys.
Download precompiled binaries for your OS from https://github.com/jedisct1/piknik/releases/latest
On MacOS, install via Homebrew with: brew install piknik
Alternatively, compile from source: ensure Go >= 1.11 is installed
Clone the repository or download source code
Run go build in the source directory to produce the piknik executable
pkc
Copy clipboard content by feeding data into standard input to send it over the network
pkp
Paste clipboard content by retrieving data from the network and outputting it to standard output
pkc < filename
Send a file over the network by piping its contents into pkc
pkp > filename
Receive a file from the network and save it locally
tar cvf - *.txt | pkc
Archive multiple files and send the archive over the network
pkp | tar xvf -
Receive an archive from the network and extract its contents
piknik -genkeys
Generate random cryptographic keys required for secure operation
piknik -genkeys -password
Generate keys derived from a password for consistent key generation across platforms