HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
juanfont
headscale
Go2020–2026
juanfont / headscale

headscale

An open source, self-hosted implementation of the Tailscale control server

103Distinct people
124Mentions
0Explicit recommenders
45.7KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

An open source, self-hosted implementation of the Tailscale control server

GitHub

Where it is used

  • Janus Chung’s K3s cluster — Janus Chung’s K3s cluster uses Headscale to run a coordination server that Tailscale clients connect to over HTTPS via Traefik. This powers his self-hosted network setup. Source
  • Frank, the Talos Cluster — Frank, the Talos Cluster runs Headscale and exposes its STUN service on UDP 3478 via hostPort, necessitating a Recreate deployment strategy on its single-node setup. Source

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year124 dated mentions

Observed mentions: 2020-07-05 03:46:30 UTC to 2026-08-13 13:56:14 UTC.

010203040502020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 15 mentions; 4 submissions, 11 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 45 mentions; 2 submissions, 43 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 22 mentions; 2 submissions, 20 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 10 mentions; 1 submissions, 9 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 20 mentions; 2 submissions, 18 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 11 mentions; 1 submissions, 10 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC101
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC15411
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC45243
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC22220
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC1019
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC20218
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC11110

What Hacker News says

124 sources
> Did you try Headscale? https://github.com/juanfont/headscale or netbird? Am aware of them but IIRC they are both unaudited which kind of brings us back to square one ? We would still end up running them at arms-length as we do with Tailscale at the moment. Isn't Headscale server-side only ? Also a bit strange that "Tailscale vs Netbird" doesn't feature more prominently on their "Compare Netbird" page. It is hidden behind "Load More". ;D
In TS-2026-009: Insecure argument handling in Tailscale SSH permitted root access
There is a well documented opensource alternative to Tailscale - Headscale. The tailscale client is already opensource, Headscale is opensource drop in replacement for the control server which isn't, and fully compatible with Tailscale clients: https://github.com/juanfont/headscale If you can be bothered running the headscale container, you generally don't need to pay for tailscale. It's been pretty well supported and widely used for a number of years at this point. Tailscale even permit their own engineers to contribute to headscale, as the company sees it as complimentary to the commercial offering.
In I traced my traffic through a home Tailscale exit node
yashau·Mar 31, 2026Submission

Show HN: Ganoid – Switch Tailscale coordination servers without re-auth

I self-host Headscale[0] and also use the official Tailscale server. Switching between them means setting the login server again and re-authenticating every time because your session for that server is gone. Ganoid solves this by treating each coordination server as a named profile and saving/restoring the full Tailscale state directory per profile. The private node key is part of that state, so when you switch back to a server you've used before, Tailscale picks up where it left off with no login prompt. It runs as a Windows service (ganoidd) with an embedded web UI and REST API. A system tray app (ganoid) sits in the notification area, shows the current connection status, and lets you switch profiles with one click. The tricky part was figuring out the state file format. server-state.conf is a JSON file where every value is base64-encod
Read the rest
ed. The ControlURL is embedded in the profile entries, so before backing up or restoring, Ganoid verifies the state actually belongs to the profile being switched. This prevents corrupting a backup by writing the wrong server's state into it. Only tested on Windows. Linux/macOS stubs compile but do nothing useful. The platform layer is abstracted so it should be straightforward to implement for other OSes. This was vibe coded, but I have been running it myself and it does what I need it to do. Putting it out there in case someone else finds it useful. Ideas for improvement or PRs are always welcome. The name comes from ganoid scales, the hard interlocking scales found on primitive fish like gars and sturgeons. Tailscale has scale in the name, so it felt fitting. GitHub: https://github.com/yashau/ganoid [0]: https://github.com/juanfont/headscale
2 points · Open discussion
> Also, sometimes it seems like I get rate limited on Tailscale. As I understand it if everything is working properly you should end up with a peer to peer wireguard connection after initial connection using tailscales infrastructure. ie, there should be nothing to rate limit. There are exceptions depending on your network environment where you need one of the relays noted in this post. As for opensource alternatives: https://github.com/juanfont/headscale can replace tailscales initial coordination servers and https://netbird.io/ seemed to be a rapidly developing full stack alternative.
In Tailscale Peer Relays is now generally available
Basic version is it's a sort of developer focused zero trust network service. Encrypted overlay network based on wireguard tunnels, with network ACLs based around identity, and with lots of nice quality-of-life features, like DNS that just works and a bunch of other stuff. (Other stuff = internet egress from your tailscale network ('tailnet') through any chosen node, or feeding inbound traffic from a public IP to a chosen node, SSH tied into the network authentication. There is also https://github.com/juanfont/headscale - which is a open source implementation of some of tailscale's server side stuff, compatible with the normal tailscale clients. (And there are clients for a very wide range of stuff).
In Unifi Travel Router

Showing the 15 most recent of 124 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.