Open bonedaddy opened 1 year ago
Wow you picked up on this fast lol. There isn't even a tailscale client to use it with yet. Just a sec...
I don't know how much work you're actually going to want to put into this, the Headscale side is way easier than the Tailscale side as far as I can tell. BUT if you can tell better than me, I'd appreciate help putting together a tailscale client which works over I2P.
hey sorry for the late reply.
I don't know how much work you're actually going to want to put into this, the Headscale side is way easier than the Tailscale side as far as I can tell. BUT if you can tell better than me, I'd appreciate help putting together a tailscale client which works over I2P.
Potentially a good amount, this seems like it's basically creating a wireguard overlay network, but connecting through I2P? If that's the case, this is basically mission critical to a hobby project of mien.
hey sorry for the late reply.
I don't know how much work you're actually going to want to put into this, the Headscale side is way easier than the Tailscale side as far as I can tell. BUT if you can tell better than me, I'd appreciate help putting together a tailscale client which works over I2P.
Potentially a good amount, this seems like it's basically creating a wireguard overlay network, but connecting through I2P? If that's the case, this is basically mission critical to a hobby project of mien.
That's what I'm doing here yeah, headscale is a provisioning server and it's apparently the easy part, you can examine the diff between my fork and the upstream to see what that takes. The tailscaled part is harder though, because the interfaces aren't exposed as far as I can tell. Therefore the really important thing it to figure out a plan of attack for the tailscaled part, one which allows you to plug in SAMv3 dialers and listeners in lieu of the standard ones. Essentially, add I2P support to upstream tailscale. That's the reason I stopped at this phase of my experiment, that seemed like it would consume time I did not have. That said, it's probably 90% figuring out how, 10% actual implementation.
Makes sense, thanks for taking the time to explain, and I agree the figuring out is going to be the difficult part. I took a look through the tailscale
codebase, and found files that are likely relevant to figuring out an implementation strategy. Notably the wgengine
package.
That's a good start, I also think those are probably the most important places to look at integration. If I get some time this week I'll try and help you figure out how to substitute SAMv3 connections for regular connections.
Overview
Unable to compile due to a go modules error replacing the headscale dependency with a local one.
Error