# mmalmi/nostr-vpn

Repository: https://github.com/mmalmi/nostr-vpn
Canonical: https://ross.abutalabs.com/products/nostr-vpn
Language: Rust
License: MIT
License Family: permissive
Last push: 2026-08-25T22:38:31+00:00

## Health v2 (maintenance only)
Score: 77/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 99, release rhythm 86, longevity 12
- inputs: {"age_days": 175, "days_push": 8, "days_rel": 15, "gap_med": 0.0, "n_releases_24m": 105}
- flags: young
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1149, forks 107 (observed 2026-08-28T04:03:46.456851+00:00)

## What it is
nostr-vpn is a Tailscale-style private mesh VPN written in Rust, built around a FIPS-backed data plane with a `nvpn` CLI/daemon, a shared native app core, and native shells for desktop and mobile platforms. Devices enroll via Nostr identity keys and signed join requests approved by an admin, supporting MagicDNS, DNS-over-HTTPS exit routes, route advertisement, and exit-node selection.

## Use cases
- set up a private mesh VPN between my devices
- replace tailscale with a self-hosted alternative
- connect to my home network from anywhere
- manage device enrollment with signed join requests
- route traffic through an exit node when direct connections are blocked
- run a headless VPN daemon on a server
- use MagicDNS to reach devices by name

## When to choose
- you want a Tailscale-like mesh VPN with Nostr-based identity and no central coordinator
- you need cross-platform native apps plus a headless CLI/daemon
- you want admin-controlled enrollment via signed join requests
- you need FIPS-backed encryption and relayed tunnels when direct UDP is blocked

## When to avoid
- you need a traditional OpenVPN/WireGuard config-file workflow
- you require Intel macOS support (source-only currently)
- you want a VPN with a large established community and long track record
- you dislike Nostr key-based identity management

## Facets
- artifact type: application
- maturity: active
- function: vpn, networking, security, cryptography, cli, gui
- domain: networking, security, privacy, self-hosted, cross-platform
- platform: windows, rust, cli, cross-platform
- tags: mesh-vpn, tailscale-style, nostr, wireguard, magicdns, exit-node, identity-based-join, daemon, macos, linux, android, ios, desktop, mobile

## Member repositories
- mmalmi/nostr-vpn (main) score 77

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:46.456851+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:33:45.937046+00:00, confidence not recorded.
  - readme: https://github.com/mmalmi/nostr-vpn (fetched 2026-08-28T04:03:46.456851+00:00, sha e3ac24aebadf)
- Data as of 2026-08-30T08:39:29.467469+00:00.
