Our great sponsors
-
trust-dns
Discontinued A Rust based DNS client, server, and resolver [Moved to: https://github.com/hickory-dns/hickory-dns]
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
This is awesome, thanks for sharing!
I really like the simple client/server architecture, that it's easily self-hostable and there are no servers outside of my control.
The invite system reminds me of the way Tinc[1] handles it, which is great. It's so good to see user friendly tooling on top of WireGuard.
[1]: https://tinc-vpn.org/
You could run a local DNS server using something like https://github.com/bluejekyll/trust-dns . Or, you could install an NSS module to resolve names via the innernet client.
I think tailscale uses a userland TUN/TAP interface[0] which negotiates at 10MiB/s; that’ll be the largest bottleneck and likely applies to Innernet too.
Tailscale does use considerable CPU on my Mac though.
[0]: https://github.com/tailscale/tailscale/blob/main/net/tstun/t...
I found interactive CIDR visualization tools like https://cidr.xyz/ to be very helpful in understanding the notation.
I also end up using https://gitlab.com/ipcalc/ipcalc a lot, and am definitely planning on similarly making it easier in the terminal to manage and visualize the CIDRs in innernet networks. I'm hoping innernet can become a fun way to learn networking in a safe (and cheap) virtual environment.
Isn't the tool linked at the bottom, Nebula [1], capable of running without root?
Personally, I'm not surprised in the slightest that messing with networking requires administrative privileges. I don't really understand the use case for rootless nodes or how they're normally managed, but I can see how those are too niche for most networking software to work with.
I've never tried it, but perhaps you van get Innernet to work with the usermode WireGuard client (the one written in Go [2]), that seems to work on Android without any kernel support or root privileges. Innernet is a daemon over the wg command line tool so it might work out of the box?
[1]: https://github.com/slackhq/nebula
I have been working on wrapper around Tinc to simplify setup. Project: https://github.com/reddec/tinc-boot