Diagram of a phone and laptop tunneling through WireGuard to a single-tenant VPS exit node
Use case

A personal WireGuard VPN on your own VPS

A personal VPN runs WireGuard on a VPS you alone control: you get a dedicated exit IP that no one else shares, no provider logging your traffic, and a jurisdiction you chose. The S1 plan (2 vCPU, 4 GB, from $5/mo) saturates 10 Gbps of WireGuard with room to spare. Pay in Monero, deploy in ~47 seconds, and connect from any desktop or mobile device.

A commercial VPN is a black box. You trust a marketing claim that they keep "no logs," you share one exit IP with thousands of strangers — so that IP lands on Cloudflare CAPTCHAs, Netflix geo-blocks, and reputation blocklists — and you have no idea which jurisdiction the metadata actually sits in. A personal VPN inverts every one of those trade-offs. You run WireGuard on a single-tenant VPS, hold the only keys, and own the exit address outright.

The cost is trivial. WireGuard is a 4,000-line kernel module that does ChaCha20-Poly1305 in software faster than most home links can fill, so a $5/mo S1 instance handles a household of devices without breaking a sweat. The work is one apt install, one config file, and a QR code. This page covers when self-hosting wins, which spec and region to pick, and how the clients connect — then hands you off to the step-by-step setup guide.

Self-hosted WireGuard vs. a commercial VPN

The two approaches solve different problems. A commercial VPN sells you anonymity-in-a-crowd: you blend into a shared pool, which is genuinely useful if your threat model is a single observer watching one IP. A personal VPN sells you control and a clean address. Here is the honest breakdown.

What you gain by self-hosting

  • A dedicated exit IP. Commercial VPN IPs are shared by thousands of users; one abuser gets the whole range flagged. Your VPS IP is yours alone — it passes reputation checks, doesn't trigger Cloudflare CAPTCHAs on every page, and doesn't get geo-blocked by streaming services that ban known VPN ranges.
  • Logs you actually control. A commercial "no-logs policy" is a promise you cannot audit. On your own VPS, WireGuard logs nothing by default — there is no connection log, no journald entry per packet, nothing unless you explicitly enable it. The absence is verifiable because you are root.
  • A jurisdiction you chose. You decide whether your exit traffic egresses from Iceland, Switzerland, Romania, or France (see the next section), instead of accepting wherever the provider happens to rack servers.
  • No identity link. NoKycVPS takes email + password as the entire credential — no ID, no phone, no email verification — and bills in crypto. The endpoint is never tied to a name or card.

What a commercial VPN still does better

  • Crowd-blending. Your personal exit is one IP used by one person. That is a stable fingerprint. If your goal is to be indistinguishable from a crowd rather than to have a clean, controlled address, a shared pool — or Tor — is the better tool.
  • One-click country hopping. Commercial apps switch between 50 countries instantly. With self-hosting you spin up a VPS per region you need (each deploys in ~47s, so this is cheaper than it sounds).

For most people the math is decisive: $5/mo for a private exit you fully control versus $10/mo for a shared one you have to trust. If you want a managed bare-metal exit instead, the dedicated R1 overkills it.

Picking the spec and the jurisdiction

Spec: S1 is plenty

WireGuard is astonishingly light. Encryption runs in the kernel using ChaCha20-Poly1305, which is fast even without AES-NI, and a single core will push multiple gigabits. The bottleneck is almost never CPU — it's your home or mobile uplink. Concretely:

  • S1 (2 vCPU / 4 GB DDR5 / 80 GB NVMe, from $5/mo) — the right answer for a personal or family VPN. Handles dozens of peers and saturates the 10 Gbps unmetered link long before the CPU sweats. Pick this.
  • S2 (4 vCPU / 16 GB / 320 GB, from $15/mo) — only if you're also self-hosting other services on the same box (a homelab exit, Pi-hole DNS, a small relay).

You do not need S3. The /64 IPv6 block included on every plan means each peer can get its own routable v6 address if you want full dual-stack.

Jurisdiction: where your traffic exits

All four regions run the same AMD EPYC hardware; what differs is the law your exit IP sits under. For a VPN exit the relevant question is data-retention and how the operating entity responds to foreign pressure.

  • Reykjavik, Iceland (REK) — no mandatory data retention, the IMMI press-freedom framework, and renewable geothermal power. The default choice for a privacy-first exit.
  • Zurich, Switzerland (ZRH) — strong constitutional privacy under the FADP, outside the 14-Eyes alliance, and Art. 271 of the penal code restricts assisting foreign authorities on Swiss soil.
  • Bucharest, Romania (OTP) — EU connectivity, historically resistant to overbroad takedown pressure, and the lowest latency for Eastern-European and Balkan routing.
  • Paris, France (PAR) — robust EU peering and the cheapest region; best raw throughput to Western Europe.

Regardless of region, root passwords are AES-256 encrypted at rest and the operator acts only on a binding judicial order from a Saint Kitts and Nevis court, notifying you first. A monthly warrant canary is published at /canary. Compare the regions in depth on the offshore hosting pages.

Setting it up and connecting your devices

The full walkthrough lives in the Set up WireGuard on a VPS guide; here is the shape of it so you know what you're signing up for. After your VPS deploys, the server side is three steps.

# 1. Install WireGuard (Debian 12/13, Ubuntu 22.04/24.04)
apt update && apt install -y wireguard

# 2. Generate the server keypair
wg genkey | tee /etc/wireguard/server.key | wg pubkey > /etc/wireguard/server.pub

# 3. Write /etc/wireguard/wg0.conf, enable IP forwarding, NAT, then:
systemctl enable --now wg-quick@wg0

Open the listen port (default UDP 51820) — that's the only inbound rule you need. WireGuard is silent on all other ports and does not respond to unauthenticated packets, so the server has no externally visible service to scan or fingerprint.

Desktop clients

  • Linuxwg-quick up client.conf, or import the .conf into NetworkManager / your DE's network applet.
  • Windows & macOS — the official WireGuard app: import the tunnel .conf file and toggle it on. macOS also ships it on the App Store.

Mobile clients

  • iOS & Android — install the official WireGuard app, tap add tunnel, and scan the QR code the server generates (qrencode -t ansiutf8 < phone.conf). The phone is connected in about ten seconds, no typing keys by hand.

Set AllowedIPs = 0.0.0.0/0, ::/0 in a peer config to route all traffic through the VPS (full tunnel), or list specific subnets for a split tunnel that only sends chosen ranges through the exit. For always-on mobile, add PersistentKeepalive = 25 so the tunnel survives NAT timeouts on cellular networks. When you're ready, order an S1 VPS and follow the guide end to end.

FAQ

Perguntas que merecem resposta

Is an S1 VPS really enough for a WireGuard VPN?
Yes — comfortably. WireGuard's ChaCha20-Poly1305 encryption is so light that a single S1 vCPU can push multiple gigabits, far beyond what any home or mobile uplink can fill. The S1's 2 vCPU and 4 GB leave headroom for dozens of peers on the 10 Gbps unmetered link.
How is this more private than a commercial VPN?
There is no third party in your traffic path to trust or to log you. You are root on a single-tenant VPS, so WireGuard's default zero-logging is verifiable, and your exit IP is yours alone rather than a shared address sitting on reputation blocklists. You also pick the exit jurisdiction yourself.
Can I connect my phone easily?
Yes. The official WireGuard apps for iOS and Android let you scan a QR code generated on the server, which loads the entire tunnel config in seconds — no manual key entry. Add PersistentKeepalive = 25 so the tunnel stays up across cellular NAT timeouts.
Which jurisdiction should I pick for the exit?
Reykjavik (Iceland) is the privacy default: no mandatory data retention and the IMMI press-freedom framework. Choose Zurich for Swiss FADP protection outside the 14-Eyes, Bucharest for low-cost EU routing, or Paris for the cheapest, highest-throughput Western-Europe exit. All four run identical AMD EPYC hardware.
Will my self-hosted VPN IP get blocked like commercial VPN IPs do?
Far less. Commercial VPN ranges are public and shared by thousands of users, so they're widely blocklisted and trigger constant CAPTCHAs. Your VPS exit is a single-tenant IP used only by you, so it passes reputation checks and avoids the streaming geo-blocks aimed at known VPN pools.

Deploy your offshore server.

Escolha uma região. Escolha um plano. Cole uma chave. Pague. Os próximos 47 segundos são por nossa conta.