PiVPN

pivpn.io
PiVPN Icon

A simple way to set up a home VPN on any Debian server. Supports OpenVPN and WireGuard with elliptic curve encryption keys up to 512 bit. Supports multiple DNS providers and custom DNS providers - works nicely along-side PiHole.

Open Source

PiVPN Source Code

Author

pivpn

Description

The Simplest VPN installer, designed for Raspberry Pi

#openvpn#openvpn-installer#pivpn#raspberry-pi#vpn-server#wireguard

Homepage

https://pivpn.io

License

MIT

Created

17 Apr 16

Last Updated

26 Feb 26

Latest version

v4.11.1

Primary Language

Shell

Size

2,158 KB

Stars

7,930

Forks

683

Watchers

7,930

Language Usage

Language Usage

Star History

Star History

Recent Commits

  • Michael Woolweaver (06 Nov 25)

    Update condition to check for sources.list files potential fix for #1924

  • MichaIng (13 Sept 25)

    fix(install): consider /lib and /usr/lib both as valid module paths Since Debian Trixie, /usr/lib/modules is correctly considered as valid kernel module path, but 3rd party packages can fomally still ship modules below /lib/modules, or below /usr/lib/modules as well on older Debian versions. Since usrmerge, both are effectively the same directory anyway. Hence always consider both paths. Signed-off-by: MichaIng <micha@dietpi.com>

  • Orazio (16 Aug 25)

    feat(install): rely on journal to read openvpn logs on debian-based distros

  • Orazio (16 Aug 25)

    fix(install): remove existing temporary setup vars file in case it's owned by another user

  • Orazio (16 Aug 25)

    feat(install): increase minimum TLS version to limit ciphersuites reducing attack surface

  • Orazio (16 Aug 25)

    feat(install): update EasyRSA to version 3.2.3

  • Orazio (15 Aug 25)

    fix(install): correct tls-crypt-v2 server key location

  • Orazio (15 Aug 25)

    feat(scripts): reject revoked or malicious clients before TLS auth with tls-crypt-v2 metadata (2.5+)

  • Orazio (14 Aug 25)

    feat(install): generate client-specific tls-crypt keys for better security (2.5+)

  • Orazio (13 Aug 25)

    fix(install): fix Debian 13 (trixie) support and other minor improvements

  • Rafael Alexandre (23 Apr 25)

    add --client-ip/-ip 'auto' option + fix default/empty peer name logic Signed-off-by: Rafael Alexandre <r.alexandre99@gmail.com>

  • Orazio (12 Mar 25)

    Only backup WireGuard folder if it contains files

  • Carlos Colaço (10 Mar 25)

    feat(install): Remove support for EOL OS Debian buster is EOL since June 30th 2024

  • Jacob Fleming (02 Mar 25)

    Fix UFW throwing invalid position error during IPv6 configuration. UFW reports "ERROR: Invalid position at ‘1’" when attempting to insert an IPv6 rule above an IPv4 rule, which breaks IPv6 functionality on setups running UFW. This is fixed by appending the rule below all others.

  • Orazio (20 Feb 25)

    feat(install): support configuring Pi-hole v6

  • peter-skuhra (25 Jan 25)

    feat(scripts): add the option to enter custom Client IP script/wireguard: add the '--client-ip' option to enter any Client IP from a given range when creating a client profile. This gives the user better control over which IP address will be assigned to the client.

  • wlmchen (29 Jul 24)

    Fix Alpine persistence

  • Xavier L (04 Jun 24)

    feat(install): add support for wireguard in containers Adds support for detecting when a host kernel loaded wireguard. The kernel module appears loaded but the information about it may not be available.

  • 4s3ti (13 Apr 24)

    build: Add automated release actions

  • Orazio (13 Apr 24)

    fix(scripts): prevent adding wireguard 'usernames' longer than 15 characters, fixes issue #1816

  • Orazio (13 Apr 24)

    Update maintenance notice

  • Orazio (13 Apr 24)

    feat(install): Mark upcoming Ubuntu 24.04 as explicity supported, drop EOL Debian version

  • Orazio (13 Apr 24)

    Re-enable issues and pull requests

  • 4s3ti (06 Apr 24)

    docs: Add lockdown workflow Add workflow to automatically close any issue or pull request

  • 4s3ti (06 Apr 24)

    chore: Disable bug reports

  • 4s3ti (06 Apr 24)

    docs: Add unmaintained warning

  • Jonathan (05 Apr 24)

    feat(install): Add possibility to use Pi-hole in unattended install (#1825) In unattended install, there is no possibility to specify if user wants to use Pi-hole DNS as DNS. Introducing a --use-pihole argument, user can decide if PiVPN configuration should be aligned to the Pi-hole installation.

  • Orazio (23 Nov 23)

    Updates to subnet generation and client creation (#1782) * refactor(core): allow any subnet and netmask * fix(scripts): prevent adding more clients than the subnet allows * fix(scripts): correctly remove leading zeros from ipv6 quartets * refactor(core): new probabilistic subnet generation with fallback to other RFC1918 subnets

  • Orazio (29 Jan 24)

    fix(install): don't treat http errors as unavailable ipv6

  • 4s3ti (28 Jan 24)

    build: publish-install.yml Publish install script to github pages

PiVPN Website

Website

PIVPN: Simplest way to setup a VPN

Redirects

Redirects to https://www.pivpn.io/

Security Checks

All 66 security checks passed

Server Details

  • IP Address 185.199.109.153
  • Hostname cdn-185-199-109-153.github.com
  • Location California, Pennsylvania, United States of America, NA
  • ISP GitHub Inc.
  • ASN AS54113

Associated Countries

  • US

Safety Score

Website marked as safe

100%

Blacklist Check

www.pivpn.io was found on 0 blacklists

  • ThreatLog
  • OpenPhish
  • PhishTank
  • Phishing.Database
  • PhishStats
  • URLhaus
  • RPiList Not Serious
  • AntiSocial Blacklist
  • PhishFeed
  • NABP Not Recommended Sites
  • Spam404
  • CRDF
  • Artists Against 419
  • CERT Polska
  • PetScams
  • Suspicious Hosting IP
  • Phishunt
  • CoinBlockerLists
  • MetaMask EthPhishing
  • EtherScamDB
  • EtherAddressLookup
  • ViriBack C2 Tracker
  • Bambenek Consulting
  • Badbitcoin
  • SecureReload Phishing List
  • Fake Website Buster
  • TweetFeed
  • CryptoScamDB
  • StopGunScams
  • ThreatFox
  • PhishFort

Website Preview

PiVPN Reviews

More Self-Hosted Network Security

About the Data: PiVPN

API

You can access PiVPN's data programmatically via our API. Simply make a GET request to:

https://api.awesome-privacy.xyz/networking/self-hosted-network-security/pivpn

The REST API is free, no-auth and CORS-enabled. To learn more, view the Swagger Docs or read the API Usage Guide.

About the Data

Beyond the user-submitted YAML you see above, we also augment each listing with additional data dynamically fetched from several sources. To learn more about where the rest of data included in this page comes from, and how it is computed, see the About the Data section of our About page.

Share PiVPN

Help your friends compare Self-Hosted Network Security, and pick privacy-respecting software and services.
Share PiVPN and Awesome Privacy with your network!

View Self-Hosted Network Security (8)