Skip to content

git-lan v0.1.0

Choose a tag to compare

@matixandr matixandr released this 26 Jun 12:26

First release of git-lan - zero-config, end-to-end encrypted peer-to-peer git collaboration over your LAN. No server, no internet, no accounts.

Start a session, and colleagues on the same network discover you over mDNS and can clone, push, and pull instantly. Every byte between peers is encrypted.

Highlights

  • Zero-config discovery over mDNS/DNS-SD (_gitlan._tcp).
  • End-to-end encryption: ephemeral X25519 handshake with long-term identity binding (MITM-resistant), HKDF directional keys, ChaCha20-Poly1305 framing, nonce anti-replay.
  • Sessions with Argon2id password protection and one-time, expiring invite tokens.
  • Trust ring: pinned peer fingerprints, auto-accept for known peers, loud abort on mismatch.
  • Live presence (online / coding / idle) and conflict early-warning before a push.
  • Nerd Fonts auto-detection, cached per terminal profile, with a clean ASCII fallback.

Install

Download the archive for your platform below, extract it, and put git-lan on your PATH. Because git resolves git lan to any git-lan executable on PATH, the subcommand then works automatically:

git lan list

From source:

go install github.com/matixandr/git-lan@v0.1.0

Requirements

  • git in your PATH (git-lan shells out to it).
  • Working mDNS on the network. macOS has Bonjour built in; Linux usually uses Avahi; on Windows install Bonjour if discovery comes up empty.

Downloads

Platform Archive
Linux x86-64 git-lan-v0.1.0-linux-amd64.tar.gz
macOS Intel git-lan-v0.1.0-darwin-amd64.tar.gz
macOS Apple Silicon git-lan-v0.1.0-darwin-arm64.tar.gz
Windows x86-64 git-lan-v0.1.0-windows-amd64.zip

Verify with SHA256SUMS.txt (sha256sum -c SHA256SUMS.txt).

See SECURITY.md for the full threat model and CHANGELOG.md for details.