---
title: Main page
layout: plain
navbar:
link: Main
icon: home
custom_js:
- https://cdn.jsdelivr.net/npm/ipaddr.js@2.0.1/ipaddr.min.js
- https://cdn.jsdelivr.net/npm/qrious@4.0.2/dist/qrious.min.js
- main.js
params:
- id: server
desc: Server
items:
- id: public_key
name: Public key
placeholder: "Server's public key"
help: |
Query using wg show wg0 public-key
- id: endpoint
name: Endpoint
placeholder: "Server's endpoint in the HOST:PORT format"
help: |
Server's public IP address or a hostname, accessible from the client.
Query the current port using wg show wg0 listen-port
- id: preshared_key
name: Preshared key
placeholder: Preshared key (shared between server and client)
help: |
Generate using wg genpsk
- id: client
desc: Client
items:
- id: public_key
name: Public key
placeholder: "Client's public key"
help: |
Generate both the private and the public keys using wg genkey | tee private.key | wg pubkey > public.key
- id: private_key
name: Private key
placeholder: "Client's private key"
help: |
Unless generated in one go with the public key, generate one using wg genkey
- id: ipv4
name: IPv4
placeholder: IPv4 address and netmask, like 192.168.123.5/24
help: |
IPv4 address to assign to the client and its netmask in the CIDR format.
- id: ipv6
name: IPv6
placeholder: IPv6 address and netmask, like fd01:2345:6789::5/48
help: |
IPv6 address to assign to the client and its netmask in the CIDR format.
---
This page assumes that you have a WireGuard server
configured on interface wg0
.
You can then generate the new client's keys, feed them to this page and it will
show the configuration that can be easily consumed by the new client.
An example configuration (with bogus key values) can be seen here.