# pivpn/pivpn

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/pivpn-pivpn).**

8,010 stars · 685 forks · Shell · MIT

## Links

- GitHub: https://github.com/pivpn/pivpn
- Homepage: https://pivpn.io
- awesome-repositories: https://awesome-repositories.com/repository/pivpn-pivpn.md

## Topics

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

## Description

PiVPN is an automated VPN deployer and server manager designed to establish secure gateways for remote network access. It provides a command-line tool for the installation and configuration of WireGuard and OpenVPN servers on Linux systems, with specific optimizations for single-board computers like the Raspberry Pi.

The project distinguishes itself through a wrapper-based management interface that abstracts complex server commands into simplified operations. This includes automated handling of firewall rules, port forwarding, and package installation, as well as the ability to export client connection profiles via QR codes for mobile devices.

The software covers a broad range of administrative capabilities, including client profile provisioning, certificate lifecycle management, and the revocation of access for specific users. It also manages network traffic through split-tunneling configuration, DNS routing, and static IP assignment, while supporting system maintenance via configuration backups and setup diagnostics.

Deployment is handled through shell-based installation scripts, with support for unattended setups using configuration files and automated deployment on cloud instances.

## Tags

### Development Tools & Productivity

- [Script-Based Command Wrappers](https://awesome-repositories.com/f/development-tools-productivity/shell-configuration-management/reusable-command-blocks/command-abstractions/script-based-command-wrappers.md) — Provides a high-level command-line interface that wraps complex server commands into simple user operations.
- [VPN Configuration QR Codes](https://awesome-repositories.com/f/development-tools-productivity/qr-code-generators/vpn-configuration-qr-codes.md) — Transforms connection profiles into scannable QR codes for rapid import into mobile VPN applications. ([source](https://docs.pivpn.io/wireguard/))

### DevOps & Infrastructure

- [VPN Installers](https://awesome-repositories.com/f/devops-infrastructure/deployment-management/installation-package-management/automated-installers/vpn-installers.md) — Includes automated scripts for the end-to-end deployment and configuration of VPN server software on Linux.
- [OpenVPN Deployments](https://awesome-repositories.com/f/devops-infrastructure/openvpn-deployments.md) — Provides automated installation and configuration of OpenVPN servers with customized encryption and ports.
- [VPN Deployment Automation](https://awesome-repositories.com/f/devops-infrastructure/vpn-deployment-automation.md) — Automates the provisioning of VPN servers including firewall rule configuration and package installation.
- [Automated Server Installations](https://awesome-repositories.com/f/devops-infrastructure/automated-server-installations.md) — Automates server software installation using configuration files to bypass interactive prompts for headless deployments. ([source](https://docs.pivpn.io/install/))
- [Configuration-Driven Deployments](https://awesome-repositories.com/f/devops-infrastructure/configuration-driven-deployments.md) — Uses structured configuration files to automate the parameterization and deployment of the VPN server.
- [Shell Bootstrapping Scripts](https://awesome-repositories.com/f/devops-infrastructure/installer-scripting/shell-bootstrapping-scripts.md) — Executes a series of bash scripts to automate the deployment and configuration of network software on Linux.
- [Linux Deployment Utilities](https://awesome-repositories.com/f/devops-infrastructure/linux-deployment-utilities.md) — Installs and configures VPN software on Linux systems, including firewall adjustments for traffic forwarding. ([source](https://docs.pivpn.io/))

### Networking & Communication

- [Remote Access](https://awesome-repositories.com/f/networking-communication/remote-access.md) — Provides a secure gateway to allow remote access to local network resources from external locations.
- [VPN Client Configuration Generators](https://awesome-repositories.com/f/networking-communication/vpn-client-configuration-generators.md) — Generates protocol-specific configuration files and profiles to onboard clients to the VPN.
- [WireGuard VPN Orchestrators](https://awesome-repositories.com/f/networking-communication/wireguard-vpn-orchestrators.md) — Automates WireGuard tunnel deployment and the generation of client configuration profiles.
- [DNS Forwarding Routing](https://awesome-repositories.com/f/networking-communication/dns-forwarding-routing.md) — Directs clients to use specific DNS servers for name resolution, such as local ad-blocking instances. ([source](https://docs.pivpn.io/openvpn/))
- [Local Network Only Routing](https://awesome-repositories.com/f/networking-communication/traffic-routing/local-network-only-routing.md) — Configures the server to grant clients access to the local network while blocking general internet traffic. ([source](https://docs.pivpn.io/openvpn/))
- [Split Tunneling](https://awesome-repositories.com/f/networking-communication/traffic-routing/split-tunneling.md) — Defines allowed IP ranges in client configurations to selectively route traffic through the secure connection. ([source](https://docs.pivpn.io/wireguard/))

### Security & Cryptography

- [Client Certificate Generators](https://awesome-repositories.com/f/security-cryptography/certificate-authorities/client-certificate-generators.md) — Generates password-protected or password-less configuration files and certificates for client connectivity. ([source](https://docs.pivpn.io/openvpn/))
- [Certificate-Based Authentication](https://awesome-repositories.com/f/security-cryptography/identity-access-management/identity-management/server-authenticity-verification/certificate-based-authentication.md) — Implements identity verification using public key infrastructure and digital certificates to secure VPN connections.
- [Network Encryption Configurations](https://awesome-repositories.com/f/security-cryptography/network-encryption-configurations.md) — Sets up network security using public keys and certificates to encrypt data between clients and the server. ([source](https://docs.pivpn.io/))
- [Certificate Revocation](https://awesome-repositories.com/f/security-cryptography/session-token-refreshers/token-invalidation/certificate-revocation.md) — Invalidates specific client certificates to prevent compromised devices or unauthorized users from connecting. ([source](https://docs.pivpn.io/openvpn/))

### System Administration & Monitoring

- [Client Profile Tracking](https://awesome-repositories.com/f/system-administration-monitoring/user-profile-management/client-profile-tracking.md) — Manages the creation, removal, and tracking of client connection profiles and associated keys. ([source](https://docs.pivpn.io/wireguard/))
- [VPN Server Managers](https://awesome-repositories.com/f/system-administration-monitoring/vpn-server-managers.md) — Provides a management interface for creating client profiles, managing certificates, and revoking access.
- [Server Network Configurations](https://awesome-repositories.com/f/system-administration-monitoring/administrative-operations/linux-system-administration/networking/server-service-binding/server-network-configurations.md) — Defines server ports, communication protocols, and DNS settings during the initial installation process. ([source](https://docs.pivpn.io/))

### Hardware & IoT

- [Single-Board Computer Network Tools](https://awesome-repositories.com/f/hardware-iot/single-board-computer-network-tools.md) — Provides optimized deployment scripts for establishing secure network gateways on Raspberry Pi hardware.
