OPEN SOURCE · WPCP

Open technology. Shared innovation.

The internet grew through open protocols and collaborative engineering. We support those foundations—and contribute our own work.

FEATURED OPEN-SOURCE PROJECT

WPCP

WireGuard Peer Coordination Protocol

WPCP is a lightweight MQTT-based control plane developed by JetApple to help WireGuard peers discover endpoints, activate connections, and adapt to changing network conditions.

Once a direct connection is established, encrypted data is carried directly between WireGuard peers rather than through the MQTT broker.

Apache License 2.0MQTTWireGuardPeer-to-peer
WPCP conceptual architecture: MQTT broker coordinates peers; data travels directly over WireGuard
HOW IT WORKS

Coordinate centrally when useful. Communicate directly when possible.

WPCP separates the control plane from the data plane. The published example includes a broker and an endpoint detector to help NATed peers discover each other.

01

Discover peers

An MQTT-based coordination channel distributes endpoint observations and activation information.

02

Establish secure paths

WireGuard peers use discovered endpoints to attempt encrypted peer-to-peer communication.

03

Keep connections current

Endpoint updates and coordination help peers adjust when network addresses or mappings change.

Engineering note: WPCP is not a claim that all infrastructure is fully decentralised or that direct connectivity is always possible. Its reference architecture uses coordination components; reachability depends on network conditions. Production deployments need appropriate broker transport security and authentication.

WHY OPEN SOURCE

Good ideas should travel beyond one company.

Open implementations make networking ideas easier to inspect, question, adapt, and improve. They also encourage interoperability and help others build useful things.

For JetApple, publishing code is not the end goal. The real purpose is to move promising engineering ideas toward reliable tools that can change how people use the internet every day.

Explore the repository