Quickstart
Get peer-to-peer secret synchronization running in under a minute. One command, no accounts, no server to provision.
1 — Install
# system-wide install
curl -fsSL https://envsync.arnav.tech/install.sh | sudo bash
# or user-only install (no sudo)
curl -fsSL https://envsync.arnav.tech/install.sh | bash -s -- --userThe installer detects your platform, downloads the binary, and places it in your PATH. Works on Linux, macOS, and WSL2.
2 — Initialize
# verify installation
env-sync --version
# initialize (uses trusted-owner-ssh mode by default)
env-sync initThis creates the configuration directory at ~/.config/env-sync/ and generates any keys needed for your security mode.
3 — Add secrets & sync
# add your first secret
env-sync add OPENAI_API_KEY="sk-abc123xyz"
# discover other machines on your network
env-sync discover
# sync with all discovered peers
env-sync sync4 — Automate (optional)
# install a cron job to sync every 30 minutes
env-sync cron --install
# or load secrets automatically on shell startup
# add this to ~/.bashrc or ~/.zshrc:
eval "$(env-sync load 2>/dev/null)"Prerequisites
- Go 1.24+ — only needed if building from source
- SSH client — for
trusted-owner-sshmode (installed by default on most systems) - mDNS support — Avahi on Linux (
sudo apt install avahi-daemon avahi-utils), Bonjour on macOS (built-in)
Build from source
git clone https://github.com/championswimmer/env.sync.local.git
cd env.sync.local
make build
make test
sudo make install # system-wide
# or: make install-user # user-onlyUpgrade & uninstall
# upgrade — re-run the installer
curl -fsSL https://envsync.arnav.tech/install.sh | sudo bash
# uninstall
env-sync service uninstall
rm -rf ~/.config/env-sync
sudo rm -f /usr/local/bin/env-sync