CLI Installation
The zopp CLI is the primary way to interact with zopp. It handles all encryption client-side, so your secrets never leave your machine unencrypted.
Install Script (Recommended)
The install script automatically detects your platform and installs the latest release:
curl -fsSL https://raw.githubusercontent.com/faiscadev/zopp/main/install.sh | sh
This installs to ~/.local/bin/zopp. Make sure this directory is in your PATH.
Package Managers
- Cargo
- Homebrew
If you have Rust installed:
cargo install --git https://github.com/faiscadev/zopp --package zopp-cli
Coming soon! For now, use the install script or Cargo.
Pre-built Binaries
Download pre-built binaries from GitHub Releases:
| Platform | Architecture | Download |
|---|---|---|
| Linux | x86_64 | zopp-linux-x86_64 |
| Linux | ARM64 | zopp-linux-arm64 |
| macOS | Intel | zopp-darwin-x86_64 |
| macOS | Apple Silicon | zopp-darwin-arm64 |
| Windows | x86_64 | zopp-windows-x86_64.exe |
- Download the binary for your platform
- Make it executable (Linux/macOS):
chmod +x zopp-* - Move to a directory in your PATH:
mv zopp-* /usr/local/bin/zopp
Build from Source
-
Install Rust (1.90 or later):
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -
Clone and build:
git clone https://github.com/faiscadev/zopp.git
cd zopp
cargo build --release --package zopp-cli -
Install:
cp target/release/zopp ~/.local/bin/
Verify Installation
zopp --version
# zopp 0.1.0
Configuration
The CLI stores configuration in ~/.zopp/config.json. This file contains:
- Your principal credentials (Ed25519 and X25519 keypairs)
- Server connection settings
- Active principal selection
Never share your ~/.zopp/config.json file. It contains your private keys.
Shell Completion
Generate shell completions for your shell:
# Bash
zopp completions bash > ~/.local/share/bash-completion/completions/zopp
# Zsh
zopp completions zsh > ~/.zfunc/_zopp
# Fish
zopp completions fish > ~/.config/fish/completions/zopp.fish
Connecting to a Server
By default, zopp connects to http://127.0.0.1:50051. To connect to a different server:
# Use a flag
zopp --server https://zopp.example.com:50051 workspace list
# Or set an environment variable
export ZOPP_SERVER=https://zopp.example.com:50051
zopp workspace list
For self-signed certificates, provide the CA certificate:
zopp --server https://zopp.example.com:50051 --tls-ca-cert /path/to/ca.crt workspace list
# Or via environment variable
export ZOPP_TLS_CA_CERT=/path/to/ca.crt
Next Steps
- Quickstart - Set up your first workspace
- Docker Installation - Run the server in Docker
- Self-Hosting - Deploy your own server