Skip to content

Server Installation

Quick Install

The universal installer handles everything:

curl -fsSL https://assets.rvpn.org/install.sh | sudo bash -s -- --setup --server

Available Binaries

Binary Platform
rvpn-server-x86_64-linux-gnu Linux x86_64 (glibc, most VPS)
rvpn-server-aarch64-linux-gnu Linux ARM64 (glibc)
rvpn-server-armv7-linux Linux ARMv7 (Raspberry Pi etc.)
rvpn-server-x86_64-linux-static Linux x86_64 (static/musl)
rvpn-server-aarch64-linux-static Linux ARM64 (static/musl)
rvpn-server-x86_64-freebsd FreeBSD x86_64
rvpn-server-macos-universal macOS Universal (arm64 + x86_64)

If you're unsure which to use on Linux, start with x86_64-linux-gnu. Use the -static variant if you encounter glibc version errors.


Manual Install

Linux (x86_64)

curl -LO https://assets.rvpn.org/1.0.2/rvpn-server-x86_64-linux-gnu
curl -LO https://assets.rvpn.org/1.0.2/rvpn-server-x86_64-linux-gnu.sha256
sha256sum -c rvpn-server-x86_64-linux-gnu.sha256
chmod +x rvpn-server-x86_64-linux-gnu
sudo mv rvpn-server-x86_64-linux-gnu /usr/local/bin/rvpn-server

FreeBSD

fetch https://assets.rvpn.org/1.0.2/rvpn-server-x86_64-freebsd
chmod +x rvpn-server-x86_64-freebsd
sudo mv rvpn-server-x86_64-freebsd /usr/local/bin/rvpn-server

macOS

curl -LO https://assets.rvpn.org/1.0.2/rvpn-server-macos-universal
chmod +x rvpn-server-macos-universal
sudo mv rvpn-server-macos-universal /usr/local/bin/rvpn-server
xattr -d com.apple.quarantine /usr/local/bin/rvpn-server

Security note: Official macOS binaries are signed by PDG Global Limited. If you download a binary from another source that is not signed by us, do not use it.


System Requirements

Port Access

r-vpn listens on port 443 by default:

# UFW
sudo ufw allow 443/tcp

# iptables
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

IP Forwarding

Required for TUN full-tunnel mode:

echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

NAT Configuration (TUN Mode)

For TUN mode (full-tunnel VPN), the server acts as a NAT gateway for client traffic:

Linux (iptables)

sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT

FreeBSD (pf)

# Enable IP forwarding
sudo sysctl -w net.inet.ip.forwarding=1

# Add to /etc/pf.conf:
# nat on vtnet0 from 10.200.0.0/24 to any -> (vtnet0)

macOS

macOS does not support server-side NAT for VPN tunnels. For macOS servers, use SOCKS5 mode or run rvpn-server inside a Linux VM.