CODESEEDSign in
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

  1. 01

    Update server

    HTTP server serving JSON manifests {version, sha256, url} per OS/arch.

  2. 02

    Version check

    Client requests manifest, compares with current version embedded at build time.

  3. 03

    Download & verify

    Download new binary + SHA-256 verification before anything else.

  4. 04

    Atomic replace

    Write to temp file, atomic rename (os.Rename) for replace without downtime.

  5. 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