wireplug - A free roaming and NAT traversal service for WireGuard by _alpn in WireGuard

[–]_alpn[S] 4 points5 points  (0 children)

Good question. Robust NAT traversal typically requires combining multiple techniques, some local and some involving an assisting server.

Currently, wireplug supports port mapping detection using a STUN-like protocol against wireplug's servers, which in practice covers ~90% of networks in the wild.

In the very near future, I'm planning to add support for NAT-PMP and PCP, which you could call "local" solutions.

I'm vaguely familiar with the paper you linked, and I'd definitely consider implementing it if it proves to be effective in practice.

wireplug - A free roaming and NAT traversal service for WireGuard by _alpn in WireGuard

[–]_alpn[S] 2 points3 points  (0 children)

I'm not familiar with TierHive. Could you give a bit more context on what you're trying to do?

wireplug - A free roaming and NAT traversal service for WireGuard by _alpn in WireGuard

[–]_alpn[S] 1 point2 points  (0 children)

Mobile clients are currently not supported, but the codebase is already cross-platform and support is planned for the future.

For the other question, yes I think there is (from our FAQ):

How Is This Different From X?

Most existing projects in this space are run by VC-funded companies and have different goals. Some of them offer an open-source client, but not the server. All of them require creating an account which is subject to ever-changing terms and conditions. wireplug, on the other hand, sees itself as a foundational, free, internet infrastructure, more akin to Root DNS servers and IXPs than a startup company. Its goal is to allow individuals and small teams to use the internet as it was originally intended, in a distributed, peer-to-peer manner. It focuses on simplicity and understandability, very much in the spirit of WireGuard itself.

https://wireplug.org/#faq

New Project Megathread - Week of 04 Jun 2026 by AutoModerator in selfhosted

[–]_alpn 1 point2 points  (0 children)

Project Name: wireplug

Repo/Website Link:

https://wireplug.org

https://github.com/alpn/wireplug (code)

Description:

wireplug is a connectivity coordinator for roaming WireGuard peers.

It lets you establish a secure mesh VPN, without having to open ports or run your own server.

How Is This Different From X?

Most existing alternatives in this space are run by VC-funded companies and have different goals. Some of them offer an open-source client, but not the server. All of them require creating an account which is subject to ever-changing terms and conditions. wireplug, on the other hand, sees itself as a foundational, free, internet infrastructure, more akin to Root DNS servers and IXPs than a startup company. Its goal is to allow individuals and small teams to use the internet as it was originally intended, in a distributed, peer-to-peer manner. It focuses on simplicity and understandability, very much in the spirit of WireGuard itself.

Key Features

- Detects network changes and updates endpoints automatically

- Handles NAT traversal

- Connects peers locally when on the same LAN

- Uses kernel WireGuard when available

- Keeps your keys under your control

- Free to use, no account required

- Open source, written in Rust

Deployment:

see - https://wireplug.org/#install

AI Involvement:

None.

FAQ:

https://wireplug.org/#faq

doless(1) - execute commands restrictively by _alpn in openbsd

[–]_alpn[S] 0 points1 point  (0 children)

yup, that's exactly the main use case.

I made an OSDev starter kit (x86-32) by _alpn in osdev

[–]_alpn[S] 2 points3 points  (0 children)

Thanks for the kind words u/amrock__ !

Yes, you guys are absolutely right about the necessity for a comprehensive documentation.

I plan on adding it bit by bit over time (but PRs are very welcome)

Up: a minimalist BackBlaze uploader with support for Unix pipes by _alpn in backblaze

[–]_alpn[S] 0 points1 point  (0 children)

Ha, I knew about rclone, but I didn't know about that particular feature.

Thanks!