← Back to context

Comment by risho

1 day ago

arent most of the the tailscale clients open source aside from the gui portion of the non open source os's?

Yes they are, unless you're using a mainstream OS and/or want to use a GUI, which is probably the most common use case.

  • While the GUI is somewhat helpful, at the end of the day it's not the key piece, and it could easily be rebuilt.

I think the whole Windows client is closed. On macOS though you can use it from the command line just fine (apart from a couple quirks due to a completely different VPN implementation [1]).

[1]: they have three: https://tailscale.com/kb/1065/macos-variants

  • From https://github.com/tailscale/tailscale

    "This repository contains the majority of Tailscale's open source code. Notably, it includes the tailscaled daemon and the tailscale CLI tool. The tailscaled daemon runs on Linux, Windows, macOS, and to varying degrees on FreeBSD and OpenBSD. The Tailscale iOS and Android apps use this repo's code, but this repo doesn't contain the mobile GUI code."

    and

    "The macOS, iOS, and Windows clients use the code in this repository but additionally include small GUI wrappers. The GUI wrappers on non-open source platforms are themselves not open source."

    Moreover, there's https://github.com/tailscale/tailscale-chocolatey to aid the build process. I haven't built it or run it.

    On the other hand, while I suppose the Windows app is probably reasonably straightforward to replicate, I guess it would be much harder to produce an iOS or Android app because of the vagaries of mobile programming.

    • > I guess it would be much harder to produce an iOS or Android app because of the vagaries of mobile programming.

      on iOS you also need a special entitlement that's only available on specific request and only to known developers, so practically impossible for any open source project to acquire.

      1 reply →

    • Thanks, I stand corrected then!

      Android client is open source (and you can get in from F-Droid, even), so that only leaves iOS I guess.

      1 reply →