explaingit

magik6k/git-remote-iroh

Analysis updated 2026-05-18

4RustAudience · developerComplexity · 3/5LicenseSetup · easy

TLDR

A git plugin that lets two computers push and pull repositories directly over an encrypted peer to peer connection, with no hosting server, VPN, or port forwarding needed.

Mindmap

mindmap
  root((repo))
    What it does
      Direct peer to peer git transfer
      No hosting server needed
      End to end encrypted
    Tech stack
      Rust
      iroh networking
      QUIC
    Use cases
      Share a repo without GitHub
      One time repo handoff
      Sync between two machines
    Security
      Bearer capability address
      NAT hole punching
      Relay fallback encrypted
    License
      Apache 2.0 permissive

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Send a git repository directly to a friend or coworker without uploading it to GitHub first.

USE CASE 2

Set up a personal laptop as a private git remote that other machines can push to and fetch from.

USE CASE 3

Sync a repository between two computers on the same network, even fully offline.

What is it built with?

RustirohQUIC

How does it compare?

magik6k/git-remote-iroh6elphegor/warpadoslabsproject-gif/liara-toolkit
Stars444
LanguageRustRustRust
Setup difficultyeasyeasyhard
Complexity3/55/54/5
Audiencedeveloperresearcherdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

No server setup needed, but both machines must be reachable over the internet or a shared network.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice and license.

In plain English

git-remote-iroh lets you fetch and push git repositories directly between two computers, with no hosting service like GitHub involved, no separate background program to run, no router configuration, and no VPN. Once installed, it works as a plugin that git recognizes automatically, so any command that would normally point at a github.com address can instead point at an iroh:// address, connecting straight to another machine. It works by tunneling git's own native transfer protocol over a networking technology called iroh, which handles the tricky parts of connecting two computers directly over the internet, including punching through home routers and falling back to a relay server when a direct connection is not possible. Every connection is encrypted end to end, and because git's real transfer programs run on both ends, the same exact data moves as if you were using a normal ssh connection, just without a server in the middle to host it. There are two main ways to use it. The simplest is a one shot transfer: one machine runs a push command, which prints out a special address and waits, and as soon as another machine fetches from that address, the transfer completes and nothing is stored anywhere afterward. Alternatively, you can run a serve command on one machine to keep a repository available as a normal named remote that others can fetch from and push to repeatedly, as long as the serving machine keeps that command running. Security relies on the special address itself: it contains a public key and a random secret, and anyone holding the full address can fetch, or push if writable mode is enabled, so it should be shared carefully like a password. The identity and secret are stored in a hidden folder inside your repository with restricted permissions, and can be deleted or regenerated to get a fresh address. A few practical notes: pushing to a currently checked out branch is blocked by git unless configured otherwise, and one shot pushes are meant for handing a repo to someone once rather than acting as permanent storage. The project is released under the Apache 2.0 license, which allows free use, modification, and redistribution as long as the license and copyright notices are kept.

Copy-paste prompts

Prompt 1
Help me install git-remote-iroh and push my current repository to another machine as a one shot transfer.
Prompt 2
Set up git-remote-iroh serve on my laptop so I can add it as a writable named remote from my desktop.
Prompt 3
Explain the security model of git-remote-iroh, specifically what the iroh:// URL protects and how to rotate it.
Prompt 4
Walk me through why my push failed because the branch is checked out, and how receive.denyCurrentBranch fixes it.

Frequently asked questions

What is git-remote-iroh?

A git plugin that lets two computers push and pull repositories directly over an encrypted peer to peer connection, with no hosting server, VPN, or port forwarding needed.

What language is git-remote-iroh written in?

Mainly Rust. The stack also includes Rust, iroh, QUIC.

What license does git-remote-iroh use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice and license.

How hard is git-remote-iroh to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is git-remote-iroh for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.