Skip to content

[Feature Request] Bake tailscale (or alternative) into Moonlight-Switch #144

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
MetalGooseSolid opened this issue Feb 22, 2024 · 4 comments

Comments

@MetalGooseSolid
Copy link

This would allow you use moonlight to access your host device(s) from your Switch as a long as you have an internet connection. You wouldn't have to expose the sunshine or gamestream servers to the public internet. In fact, you wouldn't need to expose any ports at all. That could be especially useful for situations where we don't have network administration access.

I don't think it's practical to implement this as a system level feature for Switch, but there are at least two potential solutions to implement tailscale directly into an application. One is tsnet, the other is userspace networking mode.

https://tailscale.com/blog/tsnet-virtual-private-services
https://tailscale.com/kb/1112/userspace-networking

I know it's a pipe dream, but it would be really cool to seamlessly use moonlight on switch from anywhere with internet access.

@XITRIX
Copy link
Owner

XITRIX commented Feb 22, 2024

On the first glance tailscale looks like close source enterprise solution which is barely possible to implement into open source homebrew app. If you'll find any good open source alternative, maybe I could check, but right now it looks almost impossible

@MetalGooseSolid
Copy link
Author

MetalGooseSolid commented Feb 23, 2024

Two potential paths forward as I see it.

While Tailscale is definitely "enterprise oriented" and they do sell services to enterprise, it is actually open source. The only caveats are their GUI applications (CLI is BSD-liscensed) and their coordination server (which they host). You can self host that with BSD-licensed Headscale, which they actively work with and advertise, but I don't think that even matters for the client integration.

The other potential solution is called Nebula, which is developed by Slack. It is not a product and Slack doesn't sell or operate any services relating to Nebula. MIT licensed. The main downsides are that it's not as popular as Tailscale, and if you want to run this with magical nat-punching handshake coordination, then you have to self host a server component (which they call "lighthouse"), whereas self hosting would be optional with Tailscale.

Citations:

https://tailscale.com/opensource
https://tailscale.com/blog/opensource
https://github.com/juanfont/headscale
https://github.com/slackhq/nebula

@fejich
Copy link

fejich commented Mar 5, 2024

image
Networking should be done on an OpenWRT router. A second-hand router is very cheap.

Half a year ago, I used Tinc VPN to build a Mesh network connecting multiple places. In addition to using Moonlight for multiplayer streaming of computer games

It can also enable local LAN connection of NS native games.

@jpmorpixels
Copy link

What about ZeroTier One?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants