git-lan v0.1.0
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
gitin yourPATH(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.