Get nullnet
Download the latest release from the official project page.
PRIVATE, PEER-TO-PEER CHAT
A peer-to-peer chat app with a focused terminal interface. Connect directly when reachable, then keep the conversation between peers.
01 / THE IDEA
A lighter way to talk.
A different kind of connection.
Nullnet puts the connection first. Talk directly when your network allows it, or use a relay-assisted route where available. No public timelines or noisy feeds—just a terminal interface and a conversation between peers.
Connect directly over a local network or the internet when reachable.
A consistent peer identity helps people recognize you between sessions.
A terminal interface keeps the controls close to the conversation.
02 / IN THE TERMINAL
Less interface.
More signal.
nullnet · peer-to-peer chat
› /start
Peer is listening for connections
› /connect <peer-address> <port>
Session established with your peer
›
A connection attempt is only the beginning; look for the session confirmation before assuming your peer is online.
03 / HOW IT WORKS
Download the latest release from the official project page.
Connect to their listening address and port, or use a shared relay room where available.
The peers establish a session over a direct or relay-assisted route.
Choose the connected peer and send a message from the terminal.
04 / CONNECTION PATHS
Connect directly when reachable. A relay-assisted route may be available when a direct path cannot be made.
Messages travel peer to peer. Rendezvous helps peers discover one another; it is not on the direct message path.
A route around reachability limits. Relay-assisted connections depend on support in the release and relay service.
05 / GET CONNECTED
Your next conversation
starts here.
Get the latest nullnet release from the project’s official GitHub repository.
Review release notes and package details on GitHub. Download only from the official project repository.
Release notes ↗06 / PRIVACY, PLAINLY
Built around direct
peer communication.
Nullnet puts peer-to-peer communication first, with clear connection paths and source code you can inspect.
Talk directly when a peer is reachable. A relay-assisted path may be available when a direct connection cannot be made.
Direct and relay-assisted connections take different paths. A relay can be part of the network path; consult the current release and source for its exact role.
Review the implementation, follow release changes, or contribute through the project repository.
07 / FIRST CONNECTION
For a first test, run two instances on one computer with different listening ports. Connect to the other instance’s port. The address 127.0.0.1 reaches only your own computer.
2 instances
2 listening ports127.0.0.1 reaches this computer only.08 / GOOD TO KNOW
Clear answers for your first connection.
Yes. Both peers need a compatible version running, and the other peer must be listening on the target port.
Sometimes. Routers, firewalls, and carrier-grade NAT can prevent inbound connections. A public IP alone does not guarantee reachability; relay support may help where available.
A relay is part of the connection path when used. Review the current release and source for its exact role, the protections in place, and the connection metadata it can observe.
A peer needs to be running and listening to establish a live session. An attempt to connect does not mean the handshake completed.
Download the latest release or browse the source code on GitHub.