From 141279ccc512cd7f1d750216635a2140a57e0467 Mon Sep 17 00:00:00 2001 From: Jose Jimenez Date: Sun, 22 Feb 2026 21:15:26 +0100 Subject: [PATCH 1/3] Initial skeleton --- package.json | 2 +- src/gui/gui.html | 102 +++++++++++++++++++++++++++++++++++ src/gui/gui.js | 2 + src/gui/styles.css | 69 ++++++++++++++++++++++++ index.html => src/index.html | 1 + main.js => src/main.js | 2 +- 6 files changed, 176 insertions(+), 2 deletions(-) create mode 100644 src/gui/gui.html create mode 100644 src/gui/gui.js create mode 100644 src/gui/styles.css rename index.html => src/index.html (90%) rename main.js => src/main.js (92%) diff --git a/package.json b/package.json index bd16eda..503a6a9 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "license": "MIT", "author": "Jose Jimenez", "type": "commonjs", - "main": "main.js", + "main": "src/main.js", "scripts": { "start": "electron .", "test": "test", diff --git a/src/gui/gui.html b/src/gui/gui.html new file mode 100644 index 0000000..a98a9ab --- /dev/null +++ b/src/gui/gui.html @@ -0,0 +1,102 @@ + + + + + + + + + Wireguard GUI + + +

Wireguard GUI!

+
+
+
+

Server Side

+
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ +
+
+
+
+ +
+ +
+
+
+
+
+

Client Side

+
+ + +
+ + + +
+ + +
+ + +
+
+
+
+
+ +
+ +
+
+
+
+ + + + diff --git a/src/gui/gui.js b/src/gui/gui.js new file mode 100644 index 0000000..b49f43f --- /dev/null +++ b/src/gui/gui.js @@ -0,0 +1,2 @@ +console.log("GUI works"); +// Complete Wireguard conf yielding diff --git a/src/gui/styles.css b/src/gui/styles.css new file mode 100644 index 0000000..f0f6d63 --- /dev/null +++ b/src/gui/styles.css @@ -0,0 +1,69 @@ +#gui-wrapper { + width: 100%; + height: 80vh; + display: flex; + flex-direction: row; + justify-content: space-between; +} + +.side-wrapper { + height: 100%; + display: flex; + flex-direction: column; + justify-content: flex-start; + border-radius: 0.5rem; + border: 1px solid black; + gap: 2rem; + margin: 0.3rem; +} + +#left-side-wrapper { + width: 100%; + height: 100%; + + .conf-server-form { + width: 90%; + margin: 1rem; + > form { + display: flex; + flex-direction: column; + } + } + .conf-server { + height: 100%; + width: 90%; + margin: 1rem; + > form { + display: flex; + flex-direction: column; + } + } +} + +#right-side-wrapper { + width: 60%; + + .conf-client-form { + height: 100%; + width: 90%; + margin: 1rem; + + > form { + display: flex; + flex-direction: column; + } + } + .conf-server { + height: 100%; + width: 90%; + margin: 1rem; + > form { + display: flex; + flex-direction: column; + } + } +} + +.conf-server-input { + min-height: 100%; +} diff --git a/index.html b/src/index.html similarity index 90% rename from index.html rename to src/index.html index 4a39eea..1585d04 100644 --- a/index.html +++ b/src/index.html @@ -16,5 +16,6 @@

Trying out electron rendering for Wireguard GUI!

👋

+

CLICK

diff --git a/main.js b/src/main.js similarity index 92% rename from main.js rename to src/main.js index a40f5cd..3e25cf6 100644 --- a/main.js +++ b/src/main.js @@ -6,7 +6,7 @@ const createWindow = () => { height: 600, }); - win.loadFile("index.html"); + win.loadFile("src/gui/gui.html"); }; app.whenReady().then(() => { From bda9183264056352ddad95fc6e9120a89ca34341 Mon Sep 17 00:00:00 2001 From: Jose Jimenez Date: Sun, 22 Feb 2026 22:43:09 +0100 Subject: [PATCH 2/3] Functional logic added --- README.md | 68 +++ docs/Screenshot01.png | Bin 0 -> 75901 bytes docs/Screenshot02.png | Bin 0 -> 196831 bytes src/gui/gui.html | 343 ++++++++++++---- src/gui/gui.js | 932 +++++++++++++++++++++++++++++++++++++++++- src/gui/styles.css | 772 +++++++++++++++++++++++++++++++--- wireguard-icon.svg | 7 + 7 files changed, 1981 insertions(+), 141 deletions(-) create mode 100644 README.md create mode 100644 docs/Screenshot01.png create mode 100644 docs/Screenshot02.png create mode 100644 wireguard-icon.svg diff --git a/README.md b/README.md new file mode 100644 index 0000000..beff5d0 --- /dev/null +++ b/README.md @@ -0,0 +1,68 @@ +# WireGuard GUI + +A desktop application for generating WireGuard server and client configuration files through a graphical interface, built with [Electron](https://www.electronjs.org/). + +Instead of hand-editing `.conf` files, you fill in a form and get ready-to-use WireGuard configs, including all the `iptables` rules, instantly. + +## Getting Started + +### Prerequisites + +- [Node.js](https://nodejs.org/) v18 or later +- npm + +### Install and run + +```bash +npm install +npm start +``` + +## Usage + +1. Fill in the **Server** panel on the left -> interface, address, port, keys, and any optional settings +2. Add one or more clients with the **New client** button on the right +3. Fill in each client's keys and toggle internet access as needed +4. Click **Sync** -> both config previews update immediately +5. Use the **Copy** button on either panel to copy the config text to your clipboard +6. Use **Save JSON** in the header to persist the full setup, and **Load** to restore it later + +### Field reference + +**Server** + +| Field | Description | +| --------------------- | ------------------------------------------------------ | +| Network interface | WireGuard interface name, e.g. `wg0` | +| Server address | Internal VPN address in CIDR, e.g. `10.0.0.1/24` | +| Listen port | UDP port WireGuard listens on, e.g. `51820` | +| LAN between clients | Allows peers to reach each other directly | +| Forwarded ports | Comma-separated list of ports to DNAT into the VPN | +| Private / Public key | WireGuard base64 key pair for the server | +| Public address | Hostname or IP clients use to reach the server | +| Running in Docker | Uses the Docker host interface in iptables rules | +| Docker host interface | The physical interface on the Docker host, e.g. `eth0` | + +**Client** (per peer) + +| Field | Description | +| -------------------- | --------------------------------------------------------- | +| Client name | Label used in tabs and config comments | +| Internet traffic | When on, routes all traffic through the VPN (`0.0.0.0/0`) | +| Private / Public key | WireGuard base64 key pair for this client | + +### Key generation + +WireGuard keys can be generated on the server with: + +```bash +wg genkey | tee privatekey | wg pubkey > publickey +``` + +--- + +## Screenshots + + + + diff --git a/docs/Screenshot01.png b/docs/Screenshot01.png new file mode 100644 index 0000000000000000000000000000000000000000..87556efae9a15af9519c4301fc94ebc2ac157e43 GIT binary patch literal 75901 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 R{q*Y@vXTlCm9Gqf{ug`iml6N~ literal 0 HcmV?d00001 diff --git a/docs/Screenshot02.png b/docs/Screenshot02.png new file mode 100644 index 0000000000000000000000000000000000000000..ec59285957da8bb8c78b81b75ebaf7d9487f50e2 GIT binary patch literal 196831 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

hE%79p7^u(6q3h^Pzcv0MQZ&5D+j? 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

1ur`pr<3y2&7&UQ4224vrUQ%L;czmWe5IcZ{<3 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 - + - - + + - Wireguard GUI + WireGuard GUI -

Wireguard GUI!

-
-
-
-

Server Side

-
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- -
-
-
-
- -
- -
-
+ +
+
+ WireGuard + WireGuard GUI
-
-
-

Client Side

-
- - -
- - - -
- - -
- - -
-
-
-
-
- -
- + + +
+ + Sync +
-
+ - + +
+ +
+
+ SERVER +

Server Configuration

+
+ +
+ +
+ + +
+ + +
+
+ + +
+
+ + +
+ + + +
+ + + Disabled +
+
+ + + Comma-separated list +
+ + + +
+ + +
+
+ + +
+ + + +
+ + + Used as Endpoint in client configs +
+ + + +
+ + + No +
+ +
+ + +
+
+ wg0.conf + +
+
+# Fill in server fields and click Sync
+
+
+
+ + +
+
+ CLIENT +

Client Configuration

+
+ +
+ +
+
+ +
+ + +
+
+ + + + +

Add a client to get started

+
+
+ + +
+
+ client.conf + + +
+
+# No client selected
+
+
+
+
+ + diff --git a/src/gui/gui.js b/src/gui/gui.js index b49f43f..bbf9803 100644 --- a/src/gui/gui.js +++ b/src/gui/gui.js @@ -1,2 +1,930 @@ -console.log("GUI works"); -// Complete Wireguard conf yielding +// WireGuard GUI — gui.js +// State management, validation, config generation + +/***************************************************************************** + * State + *****************************************************************************/ + +let state = { + server: { + iface: "", + address: "", + port: "", + lanBetweenClients: false, + allowedPorts: "", + privateKey: "", + publicKey: "", + publicAddress: "", + docker: false, + dockerIface: "", + }, + clients: [], +}; + +let activeClientId = null; +let clientCounter = 0; + +/***************************************************************************** + * Validation index + * Each entry: { regex, hint, optional, isBool } + * - isBool: skips regex check entirely (checkboxes) + * - optional: empty string is accepted as valid + * - extra: additional predicate run after regex passes + *****************************************************************************/ + +const SERVER_VALIDATORS = { + iface: { + regex: /^[a-zA-Z][a-zA-Z0-9_-]{0,14}$/, + hint: "Interface name: letters, numbers, dash, underscore (max 15 chars)", + }, + address: { + regex: /^(\d{1,3}\.){3}\d{1,3}\/\d{1,2}$/, + hint: "CIDR notation required, e.g. 10.0.0.1/24", + extra: (v) => { + const [ip, prefix] = v.split("/"); + const parts = ip.split(".").map(Number); + return ( + parts.every((p) => p >= 0 && p <= 255) && +prefix >= 0 && +prefix <= 32 + ); + }, + }, + port: { + regex: /^\d{1,5}$/, + hint: "Port number between 1 and 65535", + extra: (v) => +v >= 1 && +v <= 65535, + }, + lanBetweenClients: { isBool: true }, + allowedPorts: { + regex: /^(\d{1,5}(\s*,\s*\d{1,5})*)?$/, + hint: "Comma-separated port numbers, e.g. 22, 80, 443", + optional: true, + }, + privateKey: { + regex: /^[A-Za-z0-9+/]{43}=$/, + hint: "WireGuard base64 private key (44 chars ending in =)", + }, + publicKey: { + regex: /^[A-Za-z0-9+/]{43}=$/, + hint: "WireGuard base64 public key (44 chars ending in =)", + }, + publicAddress: { + regex: /^[a-zA-Z0-9.-]+$/, + hint: "Hostname or IP address, e.g. vpn.example.com or 203.0.113.1", + }, + docker: { isBool: true }, + dockerIface: { + regex: /^[a-zA-Z][a-zA-Z0-9_-]{0,14}$/, + hint: "Docker host interface name, e.g. eth0 or enp1s0", + optional: true, + }, +}; + +const CLIENT_VALIDATORS = { + name: { + regex: /^.{1,32}$/, + hint: "Client name required (max 32 chars)", + }, + internetTraffic: { isBool: true }, + privateKey: { + regex: /^[A-Za-z0-9+/]{43}=$/, + hint: "WireGuard base64 private key (44 chars ending in =)", + }, + publicKey: { + regex: /^[A-Za-z0-9+/]{43}=$/, + hint: "WireGuard base64 public key (44 chars ending in =)", + }, +}; + +/***************************************************************************** + * Validation helpers + *****************************************************************************/ + +/** + * Runs the validator spec for a single field against a given value. + * + * Looks up the field key in the provided validators map and applies, in order: + * the isBool shortcut, the optional-empty shortcut, the regex test, and any + * extra predicate. Returns a result object so the caller can decide how to + * surface the error. + * + * @param {Object} validators - One of SERVER_VALIDATORS or CLIENT_VALIDATORS. + * @param {string} fieldKey - Key matching an entry in the validators map. + * @param {string} value - Current field value to test. + * @returns {{ valid: boolean, hint?: string }} + */ +function validateValue(validators, fieldKey, value) { + const spec = validators[fieldKey]; + if (!spec) return { valid: true }; + if (spec.isBool) return { valid: true }; + if (spec.optional && (value === "" || value === undefined || value === null)) + return { valid: true }; + if (!spec.regex) return { valid: true }; + if (!spec.regex.test(String(value))) return { valid: false, hint: spec.hint }; + if (spec.extra && !spec.extra(value)) + return { valid: false, hint: spec.hint }; + return { valid: true }; +} + +/** + * Applies or clears visual validation state on an input element. + * + * Toggles the field-invalid / field-valid CSS classes and injects or removes + * a .field-hint inside the parent .field-row. Safe to call repeatedly; + * it updates the existing hint element rather than appending duplicates. + * + * @param {HTMLInputElement} inputEl - The input to decorate. + * @param {boolean} valid - Whether the current value is valid. + * @param {string} [hint] - Error message shown below the input. + */ +function markField(inputEl, valid, hint) { + const wrapper = inputEl.closest(".field-row") || inputEl.parentElement; + const existingHint = wrapper.querySelector(".field-hint"); + + inputEl.classList.toggle("field-invalid", !valid); + inputEl.classList.toggle("field-valid", valid); + + if (!valid && hint) { + if (!existingHint) { + const hintEl = document.createElement("span"); + hintEl.className = "field-hint"; + hintEl.textContent = hint; + wrapper.appendChild(hintEl); + } else { + existingHint.textContent = hint; + } + } else if (existingHint) { + existingHint.remove(); + } +} + +/***************************************************************************** + * IP utilities + *****************************************************************************/ + +/** Returns the host part of a CIDR string, e.g. "10.0.0.1/24" -> "10.0.0.1". */ +function parseBaseIP(cidr) { + return cidr ? cidr.split("/")[0] : ""; +} + +/** Returns the prefix length of a CIDR string, defaulting to "24". */ +function parsePrefix(cidr) { + return cidr && cidr.includes("/") ? cidr.split("/")[1] : "24"; +} + +/** Converts a dotted-decimal IPv4 string to a 32-bit unsigned integer. */ +function ipToInt(ip) { + return ip.split(".").reduce((acc, oct) => (acc << 8) + parseInt(oct, 10), 0); +} + +/** Converts a 32-bit unsigned integer back to a dotted-decimal IPv4 string. */ +function intToIp(int) { + return [ + (int >>> 24) & 255, + (int >>> 16) & 255, + (int >>> 8) & 255, + int & 255, + ].join("."); +} + +/** + * Returns the network base address for a CIDR, e.g. "10.0.0.3/24" -> "10.0.0.0/24". + * Used to build the AllowedIPs line in client configs. + * + * @param {string} cidr - e.g. "10.0.0.1/24" + * @returns {string} - e.g. "10.0.0.0/24" + */ +function getNetworkAddress(cidr) { + const [ip, prefix] = cidr.split("/"); + const mask = prefix === "0" ? 0 : (~0 << (32 - +prefix)) >>> 0; + return intToIp((ipToInt(ip) & mask) >>> 0) + "/" + prefix; +} + +/** + * Derives the IP address to assign to a specific client. + * + * Clients are allocated sequentially from the server's own address. + * e.g. if the server is 10.0.0.1/24, client 1 gets 10.0.0.2/24, + * client 2 gets 10.0.0.3/24, and so on. + * + * @param {string} serverCIDR - Server address in CIDR notation. + * @param {number} clientIndex - 1-based index of the client. + * @returns {string} - Client CIDR, e.g. "10.0.0.2/24". + */ +function getClientIP(serverCIDR, clientIndex) { + const [ip] = serverCIDR.split("/"); + const prefix = parsePrefix(serverCIDR); + const parts = ip.split(".").map(Number); + parts[3] = parts[3] + clientIndex; + return parts.join(".") + "/" + prefix; +} + +/***************************************************************************** + * Config generators + *****************************************************************************/ + +/** + * Builds the complete wg0.conf text for the server side. + * + * Assembles the [Interface] block with all iptables PostUp/PostDown rules, + * then appends a [Peer] block for every client that has a public key set. + * Rules vary based on: NAT/internet forwarding (always on), LAN-between-clients + * flag, per-port DNAT forwards, and whether the server runs inside Docker + * (which changes the outbound interface used in iptables rules). + * + * @returns {string} Full .conf file content, or a placeholder comment if + * required fields are missing. + */ +function generateServerConf() { + const s = state.server; + if (!s.iface || !s.address || !s.port || !s.privateKey) { + return "# Fill in required server fields (Interface, Address, Port, Private Key) and click Sync"; + } + + // When running in Docker the host's physical interface is used for iptables + // rules rather than the WireGuard interface itself. + const outIface = s.docker && s.dockerIface ? s.dockerIface : s.iface; + const ports = s.allowedPorts + ? s.allowedPorts + .split(",") + .map((p) => p.trim()) + .filter(Boolean) + : []; + const serverIP = parseBaseIP(s.address); + + let lines = []; + + lines.push("[Interface]"); + lines.push(`Address = ${s.address}`); + lines.push("SaveConfig = false"); + lines.push(""); + + lines.push("# Internet access for VPN clients"); + lines.push( + `PostUp = iptables -A FORWARD -i ${s.iface} -o ${outIface} -j ACCEPT`, + ); + lines.push( + `PostUp = iptables -A FORWARD -i ${outIface} -o ${s.iface} -m state --state RELATED,ESTABLISHED -j ACCEPT`, + ); + lines.push( + `PostUp = iptables -t nat -A POSTROUTING -o ${outIface} -j MASQUERADE`, + ); + + if (s.lanBetweenClients) { + lines.push(""); + lines.push("# Allow VPN clients to talk to each other"); + lines.push( + `PostUp = iptables -A FORWARD -i ${s.iface} -o ${s.iface} -j ACCEPT`, + ); + } + + ports.forEach((port) => { + lines.push(""); + lines.push(`# Port ${port} forward`); + lines.push( + `PostUp = iptables -t nat -A PREROUTING -i ${outIface} -p tcp --dport ${port} -j DNAT --to-destination ${serverIP}:${port}`, + ); + lines.push( + `PostUp = iptables -A FORWARD -i ${outIface} -o ${s.iface} -p tcp --dport ${port} -j ACCEPT`, + ); + }); + + lines.push(""); + lines.push("# Cleanup"); + lines.push( + `PostDown = iptables -D FORWARD -i ${s.iface} -o ${outIface} -j ACCEPT`, + ); + lines.push( + `PostDown = iptables -D FORWARD -i ${outIface} -o ${s.iface} -m state --state RELATED,ESTABLISHED -j ACCEPT`, + ); + lines.push( + `PostDown = iptables -t nat -D POSTROUTING -o ${outIface} -j MASQUERADE`, + ); + + if (s.lanBetweenClients) { + lines.push( + `PostDown = iptables -D FORWARD -i ${s.iface} -o ${s.iface} -j ACCEPT`, + ); + } + + ports.forEach((port) => { + lines.push( + `PostDown = iptables -t nat -D PREROUTING -i ${outIface} -p tcp --dport ${port} -j DNAT --to-destination ${serverIP}:${port}`, + ); + lines.push( + `PostDown = iptables -D FORWARD -i ${outIface} -o ${s.iface} -p tcp --dport ${port} -j ACCEPT`, + ); + }); + + lines.push(""); + lines.push(`ListenPort = ${s.port}`); + lines.push(`PrivateKey = ${s.privateKey}`); + + state.clients.forEach((client, idx) => { + if (!client.publicKey) return; + const clientAddr = getClientIP(s.address, idx + 1); + const clientIP = parseBaseIP(clientAddr); + lines.push(""); + lines.push(`# ${client.name || "Client " + (idx + 1)}`); + lines.push("[Peer]"); + lines.push(`PublicKey = ${client.publicKey}`); + lines.push(`AllowedIPs = ${clientIP}/32`); + lines.push( + `#Endpoint = ${s.publicAddress || ""}:${s.port}`, + ); + }); + + return lines.join("\n"); +} + +/** + * Builds the client-side .conf text for a single peer. + * + * The AllowedIPs line differs based on the client's internetTraffic flag: + * when true, 0.0.0.0/0 is included so all traffic routes through the VPN; + * when false, only the VPN subnet is routed (LAN-only access). + * + * @param {Object} client - Client object from state.clients. + * @param {number} clientIndex - 0-based index in state.clients, used to + * derive this client's VPN IP address. + * @returns {string} Full .conf file content. + */ +function generateClientConf(client, clientIndex) { + const s = state.server; + if (!client) return ""; + + const clientAddr = getClientIP(s.address, clientIndex + 1); + const networkBase = s.address ? getNetworkAddress(s.address) : "10.0.0.0/24"; + const allowedIPs = client.internetTraffic + ? `${networkBase}, 0.0.0.0/0` + : networkBase; + + let lines = []; + lines.push("# Client configuration"); + lines.push("[Interface]"); + lines.push(`Address = ${clientAddr || "/"}`); + lines.push("DNS = 1.1.1.1"); + lines.push(`PrivateKey = ${client.privateKey || ""}`); + lines.push(""); + lines.push("# Server configuration"); + lines.push("[Peer]"); + lines.push(`PublicKey = ${s.publicKey || ""}`); + lines.push(`AllowedIPs = ${allowedIPs}`); + lines.push( + `Endpoint = ${s.publicAddress || ""}:${s.port || ""}`, + ); + lines.push("PersistentKeepalive = 25"); + + return lines.join("\n"); +} + +/***************************************************************************** + * DOM helpers + *****************************************************************************/ + +/** Shorthand for document.getElementById. */ +function $(id) { + return document.getElementById(id); +} + +/** Reads all server form inputs into a plain object matching the state shape. */ +function getServerFormValues() { + return { + iface: $("s-iface").value.trim(), + address: $("s-address").value.trim(), + port: $("s-port").value.trim(), + lanBetweenClients: $("s-lan").checked, + allowedPorts: $("s-ports").value.trim(), + privateKey: $("s-privkey").value.trim(), + publicKey: $("s-pubkey").value.trim(), + publicAddress: $("s-pubaddr").value.trim(), + docker: $("s-docker").checked, + dockerIface: $("s-docker-iface").value.trim(), + }; +} + +/** + * Reads the currently visible client form inputs. + * Returns safe defaults when the form elements don't exist (no active client). + */ +function getActiveClientFormValues() { + return { + name: $("c-name") ? $("c-name").value.trim() : "", + internetTraffic: $("c-internet") ? $("c-internet").checked : true, + privateKey: $("c-privkey") ? $("c-privkey").value.trim() : "", + publicKey: $("c-pubkey") ? $("c-pubkey").value.trim() : "", + }; +} + +/** + * Writes server state back into all form inputs and updates toggle labels. + * Called after loading a JSON config file. + */ +function populateServerForm() { + const s = state.server; + $("s-iface").value = s.iface; + $("s-address").value = s.address; + $("s-port").value = s.port; + $("s-lan").checked = s.lanBetweenClients; + $("s-ports").value = s.allowedPorts; + $("s-privkey").value = s.privateKey; + $("s-pubkey").value = s.publicKey; + $("s-pubaddr").value = s.publicAddress; + $("s-docker").checked = s.docker; + $("s-docker-iface").value = s.dockerIface; + + const lanLabel = $("s-lan-label"); + if (lanLabel) + lanLabel.textContent = s.lanBetweenClients ? "Enabled" : "Disabled"; + const dockerLabel = $("s-docker-label"); + if (dockerLabel) dockerLabel.textContent = s.docker ? "Yes" : "No"; + + toggleDockerField(); +} + +/** Shows or hides the Docker host interface row based on the Docker checkbox. */ +function toggleDockerField() { + const dockerRow = $("docker-iface-row"); + if (dockerRow) { + dockerRow.style.display = $("s-docker").checked ? "flex" : "none"; + } +} + +/***************************************************************************** + * Client panel + *****************************************************************************/ + +/** + * Re-renders the client tab strip from state.clients. + * + * Creates one button per client. The active tab gets the .active class. + * Each tab includes an x delete button that stops click propagation so it + * doesn't also trigger the tab-switch handler. + */ +function renderClientTabs() { + const tabsEl = $("client-tabs"); + tabsEl.innerHTML = ""; + + state.clients.forEach((client) => { + const tab = document.createElement("button"); + tab.className = + "client-tab" + (client.id === activeClientId ? " active" : ""); + tab.textContent = client.name || "Client"; + tab.title = client.name; + tab.addEventListener("click", () => { + saveActiveClient(); + activeClientId = client.id; + renderClientTabs(); + renderClientForm(); + updateClientConf(); + }); + + const del = document.createElement("span"); + del.className = "tab-del"; + del.textContent = "x"; + del.title = "Remove client"; + del.addEventListener("click", (e) => { + e.stopPropagation(); + removeClient(client.id); + }); + + tab.appendChild(del); + tabsEl.appendChild(tab); + }); +} + +/** + * Renders the client form area for the currently active client. + * + * Injects HTML for all client fields, then wires up live validation listeners + * and the name-change handler that keeps the tab label in sync. Shows an + * empty-state placeholder when no client is selected. + */ +function renderClientForm() { + const formEl = $("client-form-area"); + + if (!activeClientId || state.clients.length === 0) { + formEl.innerHTML = `
+ + + +

Add a client to get started

+
`; + return; + } + + const client = state.clients.find((c) => c.id === activeClientId); + if (!client) return; + + formEl.innerHTML = ` +
+ + +
+
+ + + ${client.internetTraffic ? "Allowed" : "Blocked"} +
+
+ + +
+
+ + +
+ `; + + // Live validation for text fields + const cFields = { + "c-name": "name", + "c-privkey": "privateKey", + "c-pubkey": "publicKey", + }; + Object.entries(cFields).forEach(([elId, fieldKey]) => { + const el = $(elId); + if (!el) return; + el.addEventListener("input", () => { + const result = validateValue( + CLIENT_VALIDATORS, + fieldKey, + el.value.trim(), + ); + markField(el, result.valid, result.hint); + }); + }); + + // Keep the toggle label in sync with the checkbox + const internetToggle = $("c-internet"); + if (internetToggle) { + internetToggle.addEventListener("change", () => { + const label = internetToggle + .closest(".toggle-row") + .querySelector(".toggle-label"); + label.textContent = internetToggle.checked ? "Allowed" : "Blocked"; + }); + } + + // Reflect name changes immediately in the tab strip + const nameInput = $("c-name"); + if (nameInput) { + nameInput.addEventListener("input", () => { + const clientRef = state.clients.find((c) => c.id === activeClientId); + if (clientRef) { + clientRef.name = nameInput.value.trim() || "Client"; + renderClientTabs(); + } + }); + } +} + +/** Flushes the currently visible client form values into the matching state.clients entry. */ +function saveActiveClient() { + if (!activeClientId) return; + const client = state.clients.find((c) => c.id === activeClientId); + if (!client) return; + Object.assign(client, getActiveClientFormValues()); +} + +/** Creates a new client entry with defaults, appends it to state, and activates it. */ +function addClient() { + saveActiveClient(); + clientCounter++; + const newClient = { + id: "client-" + clientCounter, + name: "Client " + clientCounter, + internetTraffic: true, + privateKey: "", + publicKey: "", + }; + state.clients.push(newClient); + activeClientId = newClient.id; + renderClientTabs(); + renderClientForm(); + updateClientConf(); +} + +/** Removes a client by id, falls back the active selection, and redraws. */ +function removeClient(id) { + state.clients = state.clients.filter((c) => c.id !== id); + if (activeClientId === id) { + activeClientId = + state.clients.length > 0 + ? state.clients[state.clients.length - 1].id + : null; + } + renderClientTabs(); + renderClientForm(); + syncAll(); +} + +/***************************************************************************** + * Validation pass + *****************************************************************************/ + +/** + * Validates every server form field and marks each input accordingly. + * Maps element IDs to their validator key and current value, then delegates + * to validateValue + markField for each. + * + * @returns {boolean} True if all fields are valid. + */ +function validateServerForm() { + const s = getServerFormValues(); + let allValid = true; + + const fieldMap = { + "s-iface": ["iface", s.iface], + "s-address": ["address", s.address], + "s-port": ["port", s.port], + "s-ports": ["allowedPorts", s.allowedPorts], + "s-privkey": ["privateKey", s.privateKey], + "s-pubkey": ["publicKey", s.publicKey], + "s-pubaddr": ["publicAddress", s.publicAddress], + "s-docker-iface": ["dockerIface", s.dockerIface], + }; + + Object.entries(fieldMap).forEach(([elId, [fieldKey, value]]) => { + const el = $(elId); + if (!el) return; + const result = validateValue(SERVER_VALIDATORS, fieldKey, value); + markField(el, result.valid, result.hint); + if (!result.valid) allValid = false; + }); + + return allValid; +} + +/** + * Validates the active client's fields and marks each input accordingly. + * No-ops cleanly when no client is selected. + * + * @returns {boolean} True if all fields are valid (or no client is active). + */ +function validateActiveClientForm() { + if (!activeClientId) return true; + saveActiveClient(); + + const client = state.clients.find((c) => c.id === activeClientId); + if (!client) return true; + let allValid = true; + + const fieldMap = { + "c-name": ["name", client.name], + "c-privkey": ["privateKey", client.privateKey], + "c-pubkey": ["publicKey", client.publicKey], + }; + + Object.entries(fieldMap).forEach(([elId, [fieldKey, value]]) => { + const el = $(elId); + if (!el) return; + const result = validateValue(CLIENT_VALIDATORS, fieldKey, value); + markField(el, result.valid, result.hint); + if (!result.valid) allValid = false; + }); + + return allValid; +} + +/***************************************************************************** + * Sync and update + *****************************************************************************/ + +/** + * Main sync handler called by the Sync button. + * + * Commits form values to state, runs validation on both panels, regenerates + * both config outputs, and flashes the button green on success. + */ +function syncAll() { + state.server = getServerFormValues(); + saveActiveClient(); + + const serverOk = validateServerForm(); + validateActiveClientForm(); + + updateServerConf(); + updateClientConf(); + + const btn = $("sync-btn"); + if (serverOk) { + btn.classList.add("synced"); + setTimeout(() => btn.classList.remove("synced"), 1200); + } +} + +function updateServerConf() { + const el = $("server-conf-output"); + if (el) el.textContent = generateServerConf(); +} + +function updateClientConf() { + const el = $("client-conf-output"); + const titleEl = $("client-conf-name"); + if (!el) return; + + if (!activeClientId || state.clients.length === 0) { + el.textContent = "# No client selected"; + if (titleEl) titleEl.textContent = ""; + return; + } + + const idx = state.clients.findIndex((c) => c.id === activeClientId); + const client = state.clients[idx]; + el.textContent = generateClientConf(client, idx); + if (titleEl) titleEl.textContent = client.name || "Client"; +} + +/***************************************************************************** + * Copy, download, load + *****************************************************************************/ + +/** + * Copies the text content of a config output element to the clipboard and + * briefly updates the button label to give visual confirmation. + * + * @param {string} outputId - ID of the
 element containing the config.
+ * @param {string} btnId    - ID of the button to flash "Copied!".
+ */
+function copyConf(outputId, btnId) {
+  const text = $(outputId)?.textContent || "";
+  if (!text) return;
+  navigator.clipboard.writeText(text).then(() => {
+    const btn = $(btnId);
+    const orig = btn.textContent;
+    btn.textContent = "Copied!";
+    btn.classList.add("copied");
+    setTimeout(() => {
+      btn.textContent = orig;
+      btn.classList.remove("copied");
+    }, 1500);
+  });
+}
+
+/**
+ * Serialises the current state (server + all clients) to a timestamped JSON
+ * file and triggers a browser download.
+ */
+function downloadConfig() {
+  state.server = getServerFormValues();
+  saveActiveClient();
+
+  const payload = {
+    exportedAt: new Date().toISOString(),
+    server: state.server,
+    clients: state.clients,
+  };
+
+  const blob = new Blob([JSON.stringify(payload, null, 2)], {
+    type: "application/json",
+  });
+  const url = URL.createObjectURL(blob);
+  const a = document.createElement("a");
+  a.href = url;
+  a.download = `wireguard-config-${Date.now()}.json`;
+  a.click();
+  URL.revokeObjectURL(url);
+}
+
+/**
+ * Opens a file picker for a previously saved JSON config, parses it, merges
+ * it into state, and fully re-renders the UI. Shows a toast on success or
+ * failure.
+ */
+function loadConfigFromFile() {
+  const input = document.createElement("input");
+  input.type = "file";
+  input.accept = ".json,application/json";
+  input.addEventListener("change", (e) => {
+    const file = e.target.files[0];
+    if (!file) return;
+    const reader = new FileReader();
+    reader.onload = (ev) => {
+      try {
+        const data = JSON.parse(ev.target.result);
+        if (data.server) state.server = { ...state.server, ...data.server };
+        if (Array.isArray(data.clients)) state.clients = data.clients;
+        if (state.clients.length > 0) {
+          activeClientId = state.clients[state.clients.length - 1].id;
+          clientCounter = state.clients.length;
+        }
+        populateServerForm();
+        renderClientTabs();
+        renderClientForm();
+        syncAll();
+        showToast("Configuration loaded");
+      } catch {
+        showToast("Failed to parse JSON file", true);
+      }
+    };
+    reader.readAsText(file);
+  });
+  input.click();
+}
+
+/*****************************************************************************
+ * Toast
+ *****************************************************************************/
+
+/**
+ * Displays a transient notification at the bottom-right of the screen.
+ *
+ * @param {string}  msg       - Message to display.
+ * @param {boolean} [isError] - If true, renders with error styling.
+ */
+function showToast(msg, isError = false) {
+  const toast = document.createElement("div");
+  toast.className = "toast" + (isError ? " toast-error" : "");
+  toast.textContent = msg;
+  document.body.appendChild(toast);
+  requestAnimationFrame(() => toast.classList.add("toast-show"));
+  setTimeout(() => {
+    toast.classList.remove("toast-show");
+    setTimeout(() => toast.remove(), 300);
+  }, 2500);
+}
+
+/*****************************************************************************
+ * Utility
+ *****************************************************************************/
+
+/** Escapes a string for safe injection into HTML attribute values. */
+function escHtml(str) {
+  return String(str || "")
+    .replace(/&/g, "&")
+    .replace(/"/g, """)
+    .replace(//g, ">");
+}
+
+/*****************************************************************************
+ * Init
+ *****************************************************************************/
+
+/**
+ * Bootstraps the application once the DOM is ready.
+ *
+ * Wires up all event listeners: live validation for server inputs, toggle
+ * label updates, the Sync button, client add button, copy/download/load
+ * buttons. Then performs an initial render so the UI is in a consistent
+ * state before the user interacts.
+ */
+function init() {
+  // Map element ID -> validator key for all server text inputs
+  const serverFieldMap = {
+    "s-iface": "iface",
+    "s-address": "address",
+    "s-port": "port",
+    "s-ports": "allowedPorts",
+    "s-privkey": "privateKey",
+    "s-pubkey": "publicKey",
+    "s-pubaddr": "publicAddress",
+    "s-docker-iface": "dockerIface",
+  };
+
+  Object.entries(serverFieldMap).forEach(([elId, fieldKey]) => {
+    const el = $(elId);
+    if (!el) return;
+    el.addEventListener("input", () => {
+      const result = validateValue(
+        SERVER_VALIDATORS,
+        fieldKey,
+        el.value.trim(),
+      );
+      markField(el, result.valid, result.hint);
+    });
+  });
+
+  $("s-lan").addEventListener("change", () => {
+    const label = $("s-lan-label");
+    if (label) label.textContent = $("s-lan").checked ? "Enabled" : "Disabled";
+  });
+
+  $("s-docker").addEventListener("change", () => {
+    const label = $("s-docker-label");
+    if (label) label.textContent = $("s-docker").checked ? "Yes" : "No";
+    toggleDockerField();
+  });
+  toggleDockerField();
+
+  $("sync-btn").addEventListener("click", syncAll);
+  $("add-client-btn").addEventListener("click", addClient);
+  $("copy-server-btn").addEventListener("click", () =>
+    copyConf("server-conf-output", "copy-server-btn"),
+  );
+  $("copy-client-btn").addEventListener("click", () =>
+    copyConf("client-conf-output", "copy-client-btn"),
+  );
+  $("download-btn").addEventListener("click", downloadConfig);
+  $("load-btn").addEventListener("click", loadConfigFromFile);
+
+  renderClientTabs();
+  renderClientForm();
+  updateServerConf();
+  updateClientConf();
+}
+
+document.addEventListener("DOMContentLoaded", init);
diff --git a/src/gui/styles.css b/src/gui/styles.css
index f0f6d63..5e76aac 100644
--- a/src/gui/styles.css
+++ b/src/gui/styles.css
@@ -1,69 +1,735 @@
-#gui-wrapper {
-  width: 100%;
-  height: 80vh;
-  display: flex;
-  flex-direction: row;
-  justify-content: space-between;
+/* WireGuard GUI — styles.css
+   Soft sage-and-cream palette, Fira Mono for config output */
+
+/*****************************************************************************
+ * Custom properties
+ *****************************************************************************/
+
+:root {
+  /* Palette */
+  --sage-50: #f4f7f4;
+  --sage-100: #e8efe8;
+  --sage-200: #cfdecf;
+  --sage-300: #a8c5a8;
+  --sage-400: #7aa87a;
+  --sage-500: #5a8f5a;
+  --sage-600: #437043;
+
+  --cream-50: #fdfcf8;
+  --cream-100: #f9f6ee;
+  --cream-200: #f0ead8;
+
+  --slate-50: #f5f6f8;
+  --slate-100: #e8eaee;
+  --slate-200: #cdd1da;
+  --slate-400: #8b93a5;
+  --slate-600: #4a5568;
+  --slate-700: #374151;
+  --slate-800: #1f2937;
+  --slate-900: #111827;
+
+  --rose-100: #ffe4e6;
+  --rose-500: #f43f5e;
+  --rose-600: #e11d48;
+
+  --sky-100: #e0f2fe;
+  --sky-500: #0ea5e9;
+
+  /* Semantic */
+  --bg: var(--cream-50);
+  --bg-panel: #ffffff;
+  --bg-section: var(--sage-50);
+  --bg-output: var(--slate-800);
+
+  --border: var(--slate-100);
+  --border-mid: var(--slate-200);
+
+  --text-primary: var(--slate-800);
+  --text-secondary: var(--slate-600);
+  --text-muted: var(--slate-400);
+  --text-output: #d4e6c3;
+
+  --accent: var(--sage-500);
+  --accent-light: var(--sage-100);
+  --accent-hover: var(--sage-600);
+
+  --invalid-bg: var(--rose-100);
+  --invalid-border: var(--rose-500);
+  --invalid-text: var(--rose-600);
+
+  --valid-border: var(--sage-400);
+
+  /* Sizing */
+  --header-h: 52px;
+  --radius-sm: 6px;
+  --radius-md: 10px;
+  --radius-lg: 16px;
+
+  /* Typography */
+  --font-ui: "Mulish", system-ui, sans-serif;
+  --font-display: "Syne", system-ui, sans-serif;
+  --font-mono: "Fira Mono", "Fira Code", monospace;
+
+  /* Transitions */
+  --ease: cubic-bezier(0.25, 0.46, 0.45, 0.94);
 }
 
-.side-wrapper {
+/*****************************************************************************
+ * Reset
+ *****************************************************************************/
+
+*,
+*::before,
+*::after {
+  box-sizing: border-box;
+  margin: 0;
+  padding: 0;
+}
+
+html,
+body {
   height: 100%;
+  overflow: hidden;
+}
+
+body {
+  font-family: var(--font-ui);
+  background: var(--bg);
+  color: var(--text-primary);
+  font-size: 13px;
+  line-height: 1.5;
   display: flex;
   flex-direction: column;
-  justify-content: flex-start;
-  border-radius: 0.5rem;
-  border: 1px solid black;
-  gap: 2rem;
-  margin: 0.3rem;
 }
 
-#left-side-wrapper {
+/*****************************************************************************
+ * Header
+ *****************************************************************************/
+
+.app-header {
+  height: var(--header-h);
+  min-height: var(--header-h);
+  background: var(--bg-panel);
+  border-bottom: 1px solid var(--border);
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  padding: 0 1.25rem;
+  gap: 1rem;
+  flex-shrink: 0;
+  -webkit-app-region: drag;
+}
+
+/* Buttons inside the draggable header must opt back out */
+.app-header > * {
+  -webkit-app-region: no-drag;
+}
+
+.app-header-left {
+  display: flex;
+  align-items: center;
+  gap: 0.6rem;
+}
+
+.logo-icon {
+  width: 22px;
+  height: 22px;
+  color: var(--accent);
+  flex-shrink: 0;
+}
+
+.app-title {
+  font-family: var(--font-display);
+  font-size: 15px;
+  font-weight: 700;
+  color: var(--slate-800);
+  letter-spacing: -0.02em;
+}
+
+.app-title em {
+  font-style: normal;
+  color: var(--accent);
+}
+
+.app-header-right {
+  display: flex;
+  align-items: center;
+  gap: 0.5rem;
+}
+
+/*****************************************************************************
+ * Main layout
+ *****************************************************************************/
+
+.gui-layout {
+  flex: 1 1 0;
+  display: flex;
+  flex-direction: row;
+  overflow: hidden;
+  min-height: 0;
+}
+
+/*****************************************************************************
+ * Panels
+ *****************************************************************************/
+
+.panel {
+  flex: 1 1 0;
+  display: flex;
+  flex-direction: column;
+  min-width: 0;
+  overflow: hidden;
+  border-right: 1px solid var(--border);
+}
+
+.panel:last-child {
+  border-right: none;
+}
+
+.panel-header {
+  padding: 0.9rem 1.25rem 0.7rem;
+  border-bottom: 1px solid var(--border);
+  display: flex;
+  align-items: center;
+  gap: 0.6rem;
+  background: var(--bg-panel);
+  flex-shrink: 0;
+}
+
+.panel-header h2 {
+  font-family: var(--font-display);
+  font-size: 13px;
+  font-weight: 600;
+  letter-spacing: 0.01em;
+  color: var(--text-secondary);
+}
+
+.panel-badge {
+  font-family: var(--font-mono);
+  font-size: 9px;
+  font-weight: 500;
+  letter-spacing: 0.1em;
+  padding: 2px 7px;
+  border-radius: 4px;
+}
+
+.badge-server {
+  background: var(--sage-100);
+  color: var(--sage-600);
+  border: 1px solid var(--sage-200);
+}
+
+.badge-client {
+  background: var(--sky-100);
+  color: var(--sky-500);
+  border: 1px solid #bae6fd;
+}
+
+.panel-body {
+  flex: 1 1 0;
+  display: flex;
+  flex-direction: column;
+  overflow: hidden;
+  min-height: 0;
+}
+
+/*****************************************************************************
+ * Form section
+ *****************************************************************************/
+
+.form-section {
+  flex: 0 0 auto;
+  padding: 1rem 1.25rem 0.5rem;
+  background: var(--bg-panel);
+  overflow-y: auto;
+  max-height: 46%;
+  border-bottom: 1px solid var(--border);
+}
+
+.section-label {
+  font-family: var(--font-display);
+  font-size: 10px;
+  font-weight: 700;
+  letter-spacing: 0.12em;
+  text-transform: uppercase;
+  color: var(--text-muted);
+  margin-bottom: 0.5rem;
+}
+
+/*****************************************************************************
+ * Fields
+ *****************************************************************************/
+
+.field-row {
+  display: flex;
+  flex-direction: column;
+  gap: 3px;
+  margin-bottom: 0.55rem;
+  position: relative;
+}
+
+.field-row label {
+  font-size: 11.5px;
+  font-weight: 600;
+  color: var(--text-secondary);
+  letter-spacing: 0.01em;
+}
+
+.field-row input[type="text"],
+.field-row input[type="password"] {
   width: 100%;
-  height: 100%;
+  height: 30px;
+  padding: 0 0.6rem;
+  border: 1.5px solid var(--border-mid);
+  border-radius: var(--radius-sm);
+  background: var(--bg);
+  color: var(--text-primary);
+  font-family: var(--font-ui);
+  font-size: 12.5px;
+  transition:
+    border-color 0.15s var(--ease),
+    box-shadow 0.15s var(--ease),
+    background 0.15s;
+  outline: none;
+}
 
-  .conf-server-form {
-      width: 90%;
-      margin: 1rem;
-    > form {
-      display: flex;
-      flex-direction: column;
-    }
+.field-row input:focus {
+  border-color: var(--accent);
+  box-shadow: 0 0 0 3px rgba(90, 143, 90, 0.12);
+  background: #fff;
+}
+
+.mono-input {
+  font-family: var(--font-mono) !important;
+  font-size: 11.5px !important;
+}
+
+.key-input {
+  font-size: 10.5px !important;
+  letter-spacing: 0.02em;
+}
+
+/* Validation states */
+.field-invalid {
+  border-color: var(--invalid-border) !important;
+  background: var(--invalid-bg) !important;
+}
+
+.field-invalid:focus {
+  box-shadow: 0 0 0 3px rgba(244, 63, 94, 0.12) !important;
+}
+
+.field-valid {
+  border-color: var(--valid-border) !important;
+}
+
+.field-hint {
+  font-size: 10.5px;
+  color: var(--invalid-text);
+  font-weight: 500;
+  display: block;
+  margin-top: 1px;
+}
+
+.field-sub {
+  font-size: 10px;
+  color: var(--text-muted);
+  margin-top: 1px;
+}
+
+/*****************************************************************************
+ * Toggle switch
+ *****************************************************************************/
+
+.toggle-row {
+  flex-direction: row !important;
+  align-items: center;
+  gap: 8px !important;
+}
+
+.toggle-row label:first-child {
+  flex: 1;
+}
+
+.toggle-switch {
+  position: relative;
+  display: inline-block;
+  width: 34px;
+  height: 18px;
+  flex-shrink: 0;
+}
+
+.toggle-switch input {
+  opacity: 0;
+  width: 0;
+  height: 0;
+  position: absolute;
+}
+
+.toggle-slider {
+  position: absolute;
+  inset: 0;
+  background: var(--slate-200);
+  border-radius: 999px;
+  cursor: pointer;
+  transition: background 0.2s var(--ease);
+}
+
+.toggle-slider::before {
+  content: "";
+  position: absolute;
+  height: 12px;
+  width: 12px;
+  left: 3px;
+  top: 3px;
+  border-radius: 50%;
+  background: white;
+  transition: transform 0.2s var(--ease);
+  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
+}
+
+.toggle-switch input:checked + .toggle-slider {
+  background: var(--accent);
+}
+
+.toggle-switch input:checked + .toggle-slider::before {
+  transform: translateX(16px);
+}
+
+.toggle-label {
+  font-size: 11px;
+  color: var(--text-muted);
+  font-weight: 500;
+  min-width: 45px;
+}
+
+/*****************************************************************************
+ * Config output
+ *****************************************************************************/
+
+.conf-output-section {
+  flex: 1 1 0;
+  display: flex;
+  flex-direction: column;
+  min-height: 0;
+  background: var(--bg-output);
+}
+
+.conf-output-header {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  padding: 0.45rem 0.9rem;
+  background: rgba(255, 255, 255, 0.05);
+  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
+  flex-shrink: 0;
+}
+
+.conf-output-title {
+  font-family: var(--font-mono);
+  font-size: 10.5px;
+  color: rgba(255, 255, 255, 0.45);
+  letter-spacing: 0.05em;
+}
+
+.conf-client-name {
+  font-family: var(--font-mono);
+  font-size: 10.5px;
+  color: rgba(255, 255, 255, 0.7);
+  letter-spacing: 0.04em;
+  margin-left: auto;
+  margin-right: 0.6rem;
+}
+
+.conf-output {
+  flex: 1 1 0;
+  overflow-y: auto;
+  overflow-x: auto;
+  padding: 0.9rem 1rem;
+  margin: 0;
+  font-family: var(--font-mono);
+  font-size: 11.5px;
+  line-height: 1.7;
+  color: var(--text-output);
+  white-space: pre;
+  background: transparent;
+  border: none;
+  outline: none;
+}
+
+.conf-output::-webkit-scrollbar {
+  width: 6px;
+  height: 6px;
+}
+.conf-output::-webkit-scrollbar-track {
+  background: transparent;
+}
+.conf-output::-webkit-scrollbar-thumb {
+  background: rgba(255, 255, 255, 0.12);
+  border-radius: 999px;
+}
+
+.form-section::-webkit-scrollbar {
+  width: 4px;
+}
+.form-section::-webkit-scrollbar-track {
+  background: transparent;
+}
+.form-section::-webkit-scrollbar-thumb {
+  background: var(--slate-200);
+  border-radius: 999px;
+}
+
+/*****************************************************************************
+ * Client tabs
+ *****************************************************************************/
+
+.client-tabs-bar {
+  display: flex;
+  align-items: center;
+  gap: 0.5rem;
+  padding: 0.6rem 1.25rem 0;
+  background: var(--bg-panel);
+  border-bottom: 1px solid var(--border);
+  flex-shrink: 0;
+  flex-wrap: wrap;
+}
+
+.client-tabs {
+  display: flex;
+  flex-wrap: wrap;
+  gap: 0.3rem;
+  flex: 1;
+}
+
+.client-tab {
+  display: flex;
+  align-items: center;
+  gap: 4px;
+  padding: 4px 10px;
+  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
+  border: 1.5px solid var(--border-mid);
+  border-bottom: none;
+  background: var(--bg);
+  color: var(--text-secondary);
+  font-family: var(--font-ui);
+  font-size: 11.5px;
+  font-weight: 600;
+  cursor: pointer;
+  transition: all 0.15s var(--ease);
+  max-width: 120px;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  margin-bottom: -1px;
+}
+
+.client-tab:hover {
+  background: var(--sage-50);
+  color: var(--accent);
+}
+
+.client-tab.active {
+  background: var(--bg-panel);
+  color: var(--accent);
+  border-color: var(--sage-300);
+  border-bottom-color: var(--bg-panel);
+  z-index: 1;
+}
+
+.tab-del {
+  display: inline-flex;
+  align-items: center;
+  justify-content: center;
+  width: 14px;
+  height: 14px;
+  border-radius: 50%;
+  font-size: 13px;
+  line-height: 1;
+  color: var(--text-muted);
+  flex-shrink: 0;
+  margin-left: 2px;
+  transition:
+    background 0.1s,
+    color 0.1s;
+}
+
+.tab-del:hover {
+  background: var(--rose-100);
+  color: var(--rose-600);
+}
+
+/*****************************************************************************
+ * Buttons
+ *****************************************************************************/
+
+.btn {
+  display: inline-flex;
+  align-items: center;
+  gap: 5px;
+  padding: 6px 12px;
+  border-radius: var(--radius-sm);
+  border: 1.5px solid transparent;
+  font-family: var(--font-ui);
+  font-size: 12px;
+  font-weight: 600;
+  cursor: pointer;
+  transition: all 0.15s var(--ease);
+  letter-spacing: 0.01em;
+  white-space: nowrap;
+}
+
+.btn svg {
+  width: 13px;
+  height: 13px;
+  flex-shrink: 0;
+}
+
+.btn-primary {
+  background: var(--accent);
+  color: white;
+  border-color: var(--accent);
+}
+
+.btn-primary:hover {
+  background: var(--accent-hover);
+  border-color: var(--accent-hover);
+  transform: translateY(-1px);
+  box-shadow: 0 3px 8px rgba(90, 143, 90, 0.3);
+}
+
+.btn-primary:active {
+  transform: translateY(0);
+}
+
+.btn-primary.synced {
+  background: var(--sage-400);
+  animation: pulse-green 0.4s var(--ease);
+}
+
+@keyframes pulse-green {
+  0% {
+    box-shadow: 0 0 0 0 rgba(90, 143, 90, 0.5);
   }
-  .conf-server {
-    height: 100%;
-    width: 90%;
-    margin: 1rem;
-    > form {
-      display: flex;
-      flex-direction: column;
-    }
+  100% {
+    box-shadow: 0 0 0 8px rgba(90, 143, 90, 0);
   }
 }
 
-#right-side-wrapper {
-  width: 60%;
-
-  .conf-client-form {
-    height: 100%;
-    width: 90%;
-    margin: 1rem;
-
-    > form {
-      display: flex;
-      flex-direction: column;
-    }
-  }
-  .conf-server {
-    height: 100%;
-    width: 90%;
-    margin: 1rem;
-    > form {
-      display: flex;
-      flex-direction: column;
-    }
-  }
+.btn-ghost {
+  background: transparent;
+  color: var(--text-secondary);
+  border-color: var(--border-mid);
 }
 
-.conf-server-input {
-  min-height: 100%;
+.btn-ghost:hover {
+  background: var(--sage-50);
+  color: var(--accent);
+  border-color: var(--sage-300);
+}
+
+.btn-ghost.copied {
+  color: var(--accent);
+  border-color: var(--sage-300);
+  background: var(--sage-50);
+}
+
+.btn-sm {
+  padding: 3px 9px;
+  font-size: 11px;
+}
+
+.btn-add {
+  display: inline-flex;
+  align-items: center;
+  gap: 4px;
+  padding: 4px 10px;
+  border-radius: var(--radius-sm);
+  border: 1.5px dashed var(--sage-300);
+  background: transparent;
+  color: var(--accent);
+  font-family: var(--font-ui);
+  font-size: 11.5px;
+  font-weight: 600;
+  cursor: pointer;
+  transition: all 0.15s var(--ease);
+  white-space: nowrap;
+}
+
+.btn-add svg {
+  width: 13px;
+  height: 13px;
+}
+
+.btn-add:hover {
+  background: var(--sage-50);
+  border-color: var(--accent);
+  transform: translateY(-1px);
+}
+
+/*****************************************************************************
+ * Empty state
+ *****************************************************************************/
+
+.empty-client {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+  gap: 0.75rem;
+  padding: 2rem;
+  color: var(--text-muted);
+  text-align: center;
+  flex: 1;
+}
+
+.empty-client svg {
+  opacity: 0.4;
+  color: var(--sage-400);
+}
+
+.empty-client p {
+  font-size: 12.5px;
+  color: var(--text-muted);
+}
+
+/*****************************************************************************
+ * Toast
+ *****************************************************************************/
+
+.toast {
+  position: fixed;
+  bottom: 1.5rem;
+  right: 1.5rem;
+  background: var(--slate-800);
+  color: white;
+  padding: 0.65rem 1.1rem;
+  border-radius: var(--radius-md);
+  font-size: 12.5px;
+  font-weight: 500;
+  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
+  opacity: 0;
+  transform: translateY(8px);
+  transition:
+    opacity 0.25s var(--ease),
+    transform 0.25s var(--ease);
+  z-index: 1000;
+}
+
+.toast-show {
+  opacity: 1;
+  transform: translateY(0);
+}
+
+.toast-error {
+  background: var(--rose-600);
+}
+
+/*****************************************************************************
+ * Scrollbars (global Firefox fallback)
+ *****************************************************************************/
+
+* {
+  scrollbar-width: thin;
+  scrollbar-color: var(--slate-200) transparent;
 }
diff --git a/wireguard-icon.svg b/wireguard-icon.svg
new file mode 100644
index 0000000..81823b3
--- /dev/null
+++ b/wireguard-icon.svg
@@ -0,0 +1,7 @@
+
+
\ No newline at end of file

From a11a7a1e771b66e1866bc8c08c0c055f4f777bd8 Mon Sep 17 00:00:00 2001
From: Jose Jimenez 
Date: Sun, 22 Feb 2026 22:47:38 +0100
Subject: [PATCH 3/3] Comments update

---
 src/gui/gui.html | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/src/gui/gui.html b/src/gui/gui.html
index 83aa5fb..f9c40d1 100644
--- a/src/gui/gui.html
+++ b/src/gui/gui.html
@@ -16,7 +16,6 @@
     WireGuard GUI
   
   
-    
     
WireGuard @@ -71,7 +70,6 @@
-
@@ -81,7 +79,6 @@
-
@@ -233,7 +230,6 @@
-