Skip to content
minipaw
Esc
↑↓navigate↵open⌘Jpreview
On this page

How it works

How minipaw connects two machines, a relay first and then a hole-punched direct path, and how sessions resume, apply backpressure and stay encrypted.

Listen

The listener reserves a slot on a Circuit Relay v2 server (by default relay.minip2p.com) and prints a ticket with its peer ID, a random token, and the relay if it isn’t the default.

Dial

The other side connects through the relay with the ticket.

Go direct

DCUtR hole punching upgrades the connection to a direct QUIC path when the networks allow. The session moves to the direct path mid-transfer without losing or repeating a byte.

Resumable sessions

If the connection drops (a relay cutting a circuit, a path upgrade, a network blip), the client reconnects and both sides resume from the last byte the other received, for up to 60 seconds.

A quiet session pings every few seconds, so a connection that dies without a word is noticed within 20 seconds too.

Backpressure

The receiver acknowledges bytes only once they are written to its stdout, so a slow reader slows the sender instead of filling memory.

Encryption

Direct paths are QUIC (TLS 1.3); relayed paths run an end-to-end Noise session through the relay. Either way the relay sees only encrypted traffic, and both sides are authenticated by their peer IDs.

Was this page helpful?