Source: https://seerepo.com/compare/fatedier/frp/vs/juanfont/headscale
Markdown source: https://seerepo.com/compare/fatedier/frp/vs/juanfont/headscale.md
Description: frp and headscale share 4 technologies: github.com/coreos/go-oidc/v3, golang.org/x/oauth2, Prometheus, and github.com/prometheus/common. Both are written in Go.

# frp vs headscale

frp and headscale share 4 technologies: github.com/coreos/go-oidc/v3, golang.org/x/oauth2, Prometheus, and github.com/prometheus/common. Both are written in Go.

- [fatedier/frp](https://seerepo.com/r/fatedier/frp): A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
- [juanfont/headscale](https://seerepo.com/r/juanfont/headscale): An open source, self-hosted implementation of the Tailscale control server

## What they share and what sets them apart

- In common: github.com/coreos/go-oidc/v3, golang.org/x/oauth2, Prometheus, github.com/prometheus/common
- Only in frp: net/http, Gorilla, Vue, github.com/prometheus/client_model, Element
- Only in headscale: chi, HashiCorp, Postgres, github.com/glebarez/sqlite, SQLite, gorm.io/gorm, github.com/tailscale/hujson, github.com/rs/zerolog, Docker, github.com/libdns/cloudflare, go.uber.org/zap

## Side by side

| | frp | headscale |
|---|---|---|
| Size | 76,952 lines written, 290 code files | 222,641 lines written, 172 code files |
| Who writes it | 0.4% of its commits signed by AI. With Claude Code, Devin, and GitHub Copilot | 0.3% of its commits signed by AI. With Claude Code, GitHub Copilot, Cursor, and CodeRabbit |
| Activity | Last push November 4, 2026, 1,270 commits, 110,440 stars | Last push November 5, 2026, 4,364 commits, 45,413 stars |
| Tests | 174 test files. 50.7% of its code files have a test that imports them | 257 test files. 72.1% of its code files have a test that imports them |

- Size: Lines written by people and agents, without generated ones; code files, without tests.
- Who writes it: A commit counts as AI's when it carries its signature: a Co-Authored-By line, its author name or the merge of its branch.
- Activity: From GitHub and its history, on the day SeeRepo read it.
- Tests: The files that test the code, and the share of code files a test imports.

## Frequently asked questions

### Which is bigger, frp or headscale?

headscale, with 222,641 lines written; frp has 76,952.

The proof: [juanfont/headscale's code at commit 0bdc332](https://github.com/juanfont/headscale/tree/0bdc332886b3692b88e0c3623f37c2c07a00d262)

### Which has more GitHub stars, frp or headscale?

frp, with 110,440 stars; headscale has 45,413.

The proof: [fatedier/frp on GitHub](https://github.com/fatedier/frp)

### Which has more tests, frp or headscale?

headscale, with 257 test files; frp has 174.

The proof: [juanfont/headscale's code at commit 0bdc332](https://github.com/juanfont/headscale/tree/0bdc332886b3692b88e0c3623f37c2c07a00d262)

### Which was updated more recently, frp or headscale?

headscale: its last push was on November 5, 2026, and frp's on November 4, 2026.

The proof: [juanfont/headscale's commits on GitHub](https://github.com/juanfont/headscale/commits)

### Which has more commits signed by AI, frp or headscale?

frp: an AI signed 0.4% of its commits, with Claude Code, Devin, and GitHub Copilot; in headscale, 0.3%.

## Sources

- fatedier/frp: Read on November 4, 2026, at commit 53e24b5 (https://github.com/fatedier/frp/tree/53e24b51b2817de2ea5e8ec5b4fdf06144a4d3be)
- juanfont/headscale: Read on November 6, 2026, at commit 0bdc332 (https://github.com/juanfont/headscale/tree/0bdc332886b3692b88e0c3623f37c2c07a00d262)

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
