Installation¶
sslsync is a single program with no dependencies. Pick one way to install it.
The script detects your system, downloads the right file from the latest release, checks its SHA-256 checksum, and copies sslsync to /usr/local/bin (or ~/.local/bin). You can read it first.
Specific version or folder:
Requires Go 1.26 or newer. The binary goes to $(go env GOPATH)/bin.
Download the .deb, .rpm or .apk from the latest release, then:
See Running in Docker below.
Download sslsync_*_windows_amd64.zip from the latest release, unzip it, and put sslsync.exe in a folder on your PATH. WSL works too: use the macOS / Linux installer inside WSL.
Check it works¶
command not found?
The install folder is not on your PATH. The installer prints the line to add to ~/.zshrc or ~/.bashrc. Open a new terminal afterwards.
Verify the download (optional)¶
Every release's checksums.txt is signed with cosign, without keys, by GitHub Actions:
cosign verify-blob --bundle checksums.txt.sigstore.json \
--certificate-identity-regexp 'https://github.com/ilramdhan/sslsync/' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
checksums.txt
sha256sum --ignore-missing -c checksums.txt
Running in Docker¶
The image is ~15 MB: a single static binary on distroless, running as a non-root user. Mount your folder into /work:
docker run --rm -it --user "$(id -u)" \
-v "$PWD:/work" \
-v "$HOME/.ssh/known_hosts:/home/nonroot/.ssh/known_hosts:ro" \
ghcr.io/ilramdhan/sslsync:latest check
Updating¶
Run the same install command again, or brew upgrade --cask sslsync. Your .env, certificates and logs are not touched.
Uninstalling¶
Next: Quick start