Explore projects
Gointermediatedevops
Binary Patcher & Updater
Auto-update system for Go CLIs: server serves versioned binaries, client checks, downloads bsdiff diff, and applies it atomically.
5 steps
Project steps
- 01
Update server
HTTP server serving JSON manifests {version, sha256, url} per OS/arch.
- 02
Version check
Client requests manifest, compares with current version embedded at build time.
- 03
Download & verify
Download new binary + SHA-256 verification before anything else.
- 04
Atomic replace
Write to temp file, atomic rename (os.Rename) for replace without downtime.
- 05
Rollback
Keeps previous binary; if the new binary doesn't start, auto-rollback.
Recommended resources
Ready to build this?
Fork the repo on GitHub and start building. A mentor will review your code when you open a PR.
5 steps
Tech stack
Gobsdiffcobracrypto/sha256net/http