Multipath IP transport
One tunnel. Several physical exits.
PLY takes all macOS IP traffic into a system tunnel and spreads it across independent links: wired, cellular, satellite. It leaves through your own Linux server. Applications never notice, because there is nothing in them to change: no SDK, no SOCKS, no code edits.
- TCPany port
- UDPany port
- IPICMP and the rest
How to read this page
Colour means the physical medium
Violet is satellite, ochre is cellular, teal is wired. A colour keeps the same meaning in every schematic, in the client mock-up, and in the labels, so the legend only has to be read once.
State shows up in how a line is drawn, never in its colour. A muted satellite path stays violet instead of disguising itself as the wired one.
- Satellite
- Cellular
- Wired
From application to uplink
One packet, four handoffs
None of the four asks anything of the application.
01 · Client
The application uses the ordinary network
A browser, a terminal, a call, or a protocol you wrote yourself sees a system interface. PLY neither parses nor rewrites TCP and UDP.
02 · Packet Tunnel
The system hands over raw IP
A Network System Extension brings up
utunand passes packets to the Rust client over a local bridge that admits only the same user.03 · Transport
The scheduler spreads packets across links
Verified paths carry encrypted UDP datagrams. The scheduler reads each packet's importance from its header and spends redundancy to match. Acknowledgements, FEC, and congestion control keep working as a link degrades.
04 · Egress
Linux routes the traffic or applies NAT
A persistent TUN releases permitted traffic into a routed network, or through a chosen uplink with
MASQUERADE.
What changes in the network
The network itself runs over several paths, not one application
A tunnel at the IP layer
IPv4 and IPv6, TCP, UDP, DNS, ICMP, and the other permitted protocols all go inside. A proxy that understands three of them will not do.
Verified physical egress
A path counts as live once the server has seen its probes arrive from a separate public address.
Two server modes
forwardsends traffic out through an uplink with NAT.tunroutes it onward with the addresses left alone.Rights checked per packet
A device gets a fixed address, one permitted mode, and a list of networks. The source has to match the address it was issued.
macOS 14+ client
An interface that will not pass two rows off as two links
The main screen answers one question first: does each path have a verified physical exit. Latency, loss, bandwidth, and queue depth come after that. A check that never ran shows a blank, not a success.
Look at the clientPaths
What each link is doing, and whether it is genuinely independent.
Where it earns its keep
Built for networks that move
A working day over several links
Calls, remote sessions, file sync and browsing share one tunnel. Connection setup and interactive traffic get the protection; a background upload does without it.
Field crews
Laptops and phones on the move get one stable corporate network instead of whatever the nearest tower offers.
Vessels and remote sites
Satellite alone is expensive and jittery. Add any second link and the tunnel rides both.
Office failover
A wired line plus a modem, bonded. Nobody notices the day the fibre is cut.
Get started
Tell us what your network looks like
Send us the shape of your setup: which links you have, what runs over them, where it hurts. We answer with something concrete, not a brochure.
Talk to us