# Client area

What your customers see after ordering a PUQVPNCP-backed service in WHMCS: the home screen with VPN client details and protocol configs, the traffic statistics page, and email notifications.

# Home screen

### PUQVPNCP module **[WHMCS](https://puqcloud.com/link.php?id=77)**
#####  [Order now](https://puqcloud.com/whmcs-module-puqvpncp.php) | [Download](https://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-PUQVPNCP/) | [COMMUNITY](https://community.puqcloud.com/) | [PUQVPNCP](https://puqvpncp.com/)

The product details page is the **Information** tab — the module's main client-facing view. Everything on it is loaded dynamically from the PUQVPNCP panel via AJAX the moment the page opens.

![Client area — home screen](https://doc.puq.info/uploads/images/gallery/2026-06/embedded-image-qbtfevgw.png)
*12-home-screen-connection.png*

---

## Sidebar

The module replaces the default *Information* sidebar entry with two of its own:

- **Information** — the page documented here.
- **Traffic statistics** — see [Traffic statistics](03-traffic-statistics.md).

![Sidebar entries](https://doc.puq.info/uploads/images/gallery/2026-06/embedded-image-jbcbzvg5.png)
*13-home-screen-sidebar.png*

---

## User manual

If a *Link to instruction* is set in the product configuration, a **User manual** button appears at the top of the page linking to that URL.

---

## Connection status

A live block at the top of the page that polls `/api/v1/client/online` every 5 seconds (paused while the browser tab is hidden) and shows one card per protocol the client is currently connected on:

- **WireGuard** — blue accent, lock icon
- **OpenVPN** — amber accent, shield icon
- **IKEv2** — purple accent, key icon

Each card shows: VPN IP, network, endpoint, last handshake (with relative time suffix) and downloaded/uploaded bytes (humanised B/KB/MB/GB). The header pill is **Online** (green) when at least one protocol reports a session, **Offline** (red) otherwise.

A manual **Refresh** button next to the badge forces an immediate fetch.

---

## One-Time Link (OTL)

The fastest way to get a customer connected on a new device: one secure link that carries **everything** — all protocol configurations, QR codes and credentials — on a page that opens **only once**.

The **Generate One-Time Link** button calls `POST /api/v1/client/{name}/otl` and returns a single-use URL. The card explains the feature up front, and once a link is generated it offers a read-only field with **Copy** and **Open link** buttons, plus a clear warning that the link reveals all connection data and stops working the moment it is opened.

![One-Time Link generated](https://doc.puq.info/uploads/images/gallery/2026-06/embedded-image-ghymby2f.png)
*14-home-screen-otl.png*

> The link is single-use and expires immediately after the first visit — opening it consumes it. Anyone with the link sees the full connection data, so it should be shared only through a trusted channel. Need it again? Just generate a new one. The generate action is POST-only, so an accidental browser prefetch cannot burn the token.

---

## VPN Client

Static card with the panel's authoritative client record:

![VPN Client info](https://doc.puq.info/uploads/images/gallery/2026-06/embedded-image-qoptsjfv.png)
*15-home-screen-vpn-client.png*

- **Client name** — the identifier on the panel
- **VPN IP Address** — assigned IPv4
- **Username** — auth username (used by IKEv2 / OpenVPN)
- **Password** — auth password (shown as `<code>`)
- **Download / Upload limit** — Mbit/s caps or *Unlimited*
- **Protocols** — coloured badges for WireGuard / OpenVPN / IKEv2; only protocols actually enabled on the client's network are shown

A status pill in the top-right reads **Enabled** (green) when the panel reports `status:enable`, **Disabled** (red) otherwise.

---

## WireGuard

Shown when WireGuard is enabled on the client's network:

![WireGuard config + QR](https://doc.puq.info/uploads/images/gallery/2026-06/embedded-image-mucynna3.png)
*16-home-screen-wireguard.png*

- `.conf` text in a monospace block with **Copy Config** and **Download** buttons
- QR code generated by the panel (click to enlarge in a lightbox; close with the × button or `Esc`)

---

## OpenVPN

Shown when OpenVPN is enabled on the client's network:

![OpenVPN profile](https://doc.puq.info/uploads/images/gallery/2026-06/embedded-image-5tlgqijc.png)
*17-home-screen-openvpn.png*

The full `.ovpn` profile text with **Copy Config** and **Download** buttons.

---

## IKEv2

Shown when IKEv2 is enabled on the client's network:

![IKEv2 profile](https://doc.puq.info/uploads/images/gallery/2026-06/embedded-image-luhd2v1j.png)
*18-home-screen-ikev2.png*

The IKEv2 profile (JSON) with a **Download** button.

---

## Traffic statistics

The **Traffic statistics** entry in the sidebar opens a separate page — see [Traffic statistics](03-traffic-statistics.md).


<!-- sync:1bc98473fc62da52 -->

# Email notification

### PUQVPNCP module **[WHMCS](https://puqcloud.com/link.php?id=77)**
#####  [Order now](https://puqcloud.com/whmcs-module-puqvpncp.php) | [Download](https://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-PUQVPNCP/) | [COMMUNITY](https://community.puqcloud.com/) | [PUQVPNCP](https://puqvpncp.com/)

The module can send a **welcome email** the moment a VPN account is provisioned, so the customer receives everything needed to connect without opening a ticket.

## What the welcome email contains

- Connection details — VPN client name, IP address, username and password
- The full **WireGuard configuration** text, ready to paste into a client
- An inline **QR code** for instant mobile import
- A button linking straight to the service management page

## Enabling it

Turn it on per product with **Send welcome email after account provisioning** on the *Module Settings* tab, and choose which template to send (the bundled **PUQ VPNcp - Welcome** by default). See [Welcome Email](../03-installation-and-configuration/06-product-configuration.md#welcome-email) for the full setup, including the one-click template creator and the available merge variables.

The template lives in **Setup → Email Templates → Product/Services** and can be edited freely. If it is missing when the first welcome email is due, the module creates it automatically.

## Resending on demand

An admin can re-send the welcome email at any time from the service's admin tab — see [Email notification (admin)](../05-admin-area/01-product-information.md#email-notification). This works even if the per-product auto-send option is disabled.


<!-- sync:55e4494e455dcaac -->

# Traffic statistics

### PUQVPNCP module **[WHMCS](https://puqcloud.com/link.php?id=77)**
#####  [Order now](https://puqcloud.com/whmcs-module-puqvpncp.php) | [Download](https://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-PUQVPNCP/) | [COMMUNITY](https://community.puqcloud.com/) | [PUQVPNCP](https://puqvpncp.com/)

A dedicated page in the client area showing monthly traffic for the VPN client. Entered from the service sidebar via **Traffic statistics** (`action_m=traffic_statistics`).

![Traffic statistics — chart and totals](https://doc.puq.info/uploads/images/gallery/2026-04/embedded-image-edmpr45k.png)
*19-traffic-statistics.png*

## Controls

- **Year** / **Month** selectors — default to the current month. The Year dropdown lists the last four years.
- **Load** button — refetches data for the chosen period.

## Chart

A line chart rendered with Chart.js showing per-day:

- **Download** (blue line, filled area)
- **Upload** (green line, filled area)

All values are formatted with a human-readable `B / KB / MB / GB / TB` scale on hover and on the Y axis.

## Totals

Two cards below the chart show the aggregated total download (blue) and total upload (green) for the selected month.

## Data source

The page calls `GET /api/v1/client/{name}/traffic/{year}/{month}` on the PUQVPNCP panel every time **Load** is pressed. The module does not cache samples — values come live from the panel each render.


<!-- sync:1babf0bccab77dcf -->

