diff --git a/net/wireguard/src/opnsense/mvc/app/controllers/OPNsense/Wireguard/Api/ClientController.php b/net/wireguard/src/opnsense/mvc/app/controllers/OPNsense/Wireguard/Api/ClientController.php
index 3ebd24dfd..ae7d84660 100644
--- a/net/wireguard/src/opnsense/mvc/app/controllers/OPNsense/Wireguard/Api/ClientController.php
+++ b/net/wireguard/src/opnsense/mvc/app/controllers/OPNsense/Wireguard/Api/ClientController.php
@@ -41,23 +41,28 @@ class ClientController extends ApiMutableModelControllerBase
{
return $this->searchBase('clients.client', array("enabled", "name", "pubkey", "tunneladdress", "serveraddress", "serverport"));
}
+
public function getClientAction($uuid = null)
{
$this->sessionClose();
return $this->getBase('client', 'clients.client', $uuid);
}
+
public function addClientAction()
{
return $this->addBase('client', 'clients.client');
}
+
public function delClientAction($uuid)
{
return $this->delBase('clients.client', $uuid);
}
+
public function setClientAction($uuid)
{
return $this->setBase('client', 'clients.client', $uuid);
}
+
public function toggleClientAction($uuid)
{
return $this->toggleBase('clients.client', $uuid);
diff --git a/net/wireguard/src/opnsense/mvc/app/controllers/OPNsense/Wireguard/Api/ServerController.php b/net/wireguard/src/opnsense/mvc/app/controllers/OPNsense/Wireguard/Api/ServerController.php
index 78e653c9e..5bf57767a 100644
--- a/net/wireguard/src/opnsense/mvc/app/controllers/OPNsense/Wireguard/Api/ServerController.php
+++ b/net/wireguard/src/opnsense/mvc/app/controllers/OPNsense/Wireguard/Api/ServerController.php
@@ -38,13 +38,20 @@ class ServerController extends ApiMutableModelControllerBase
public function searchServerAction()
{
- return $this->searchBase('servers.server', array("enabled", "name", "networks", "pubkey", "port", "tunneladdress"));
+ $search = $this->searchBase('servers.server', array("enabled", "instance", "peers", "name", "networks", "pubkey", "port", "tunneladdress"));
+ // prepend "wg" to all instance IDs to use as interface name
+ foreach ($search["rows"] as $key => $server) {
+ $search["rows"][$key]["interface"] = "wg" . $server["instance"];
+ }
+ return $search;
}
+
public function getServerAction($uuid = null)
{
$this->sessionClose();
return $this->getBase('server', 'servers.server', $uuid);
}
+
public function addServerAction($uuid = null)
{
if ($this->request->isPost() && $this->request->hasPost("server")) {
@@ -66,10 +73,12 @@ class ServerController extends ApiMutableModelControllerBase
}
return array("result" => "failed");
}
+
public function delServerAction($uuid)
{
return $this->delBase('servers.server', $uuid);
}
+
public function setServerAction($uuid = null)
{
if ($this->request->isPost() && $this->request->hasPost("server")) {
@@ -91,6 +100,7 @@ class ServerController extends ApiMutableModelControllerBase
}
return array("result" => "failed");
}
+
public function toggleServerAction($uuid)
{
return $this->toggleBase('servers.server', $uuid);
diff --git a/net/wireguard/src/opnsense/mvc/app/controllers/OPNsense/Wireguard/forms/dialogEditWireguardClient.xml b/net/wireguard/src/opnsense/mvc/app/controllers/OPNsense/Wireguard/forms/dialogEditWireguardClient.xml
index 7cfca02ce..231e9c692 100644
--- a/net/wireguard/src/opnsense/mvc/app/controllers/OPNsense/Wireguard/forms/dialogEditWireguardClient.xml
+++ b/net/wireguard/src/opnsense/mvc/app/controllers/OPNsense/Wireguard/forms/dialogEditWireguardClient.xml
@@ -21,7 +21,7 @@
client.psktext
- Shared secret (PSK) for this peer.
+ Shared secret (PSK) for this peer. You can generate a key using "wg genpsk" on a client with WireGuard installed.client.tunneladdress
@@ -45,8 +45,8 @@
client.keepalive
-
+
text
- Set persistent keepalive interval.
+ Set persistent keepalive interval in seconds.
diff --git a/net/wireguard/src/opnsense/mvc/app/controllers/OPNsense/Wireguard/forms/dialogEditWireguardServer.xml b/net/wireguard/src/opnsense/mvc/app/controllers/OPNsense/Wireguard/forms/dialogEditWireguardServer.xml
index 3667908a8..eff1f9504 100644
--- a/net/wireguard/src/opnsense/mvc/app/controllers/OPNsense/Wireguard/forms/dialogEditWireguardServer.xml
+++ b/net/wireguard/src/opnsense/mvc/app/controllers/OPNsense/Wireguard/forms/dialogEditWireguardServer.xml
@@ -15,19 +15,19 @@
server.instanceinfo
- Set the instance number needed for interface calculation. It has to be unique for each instance.
+ This is the instance number to give the wg interface a unique name (wgX).server.pubkeytext
- Public key of this instance. After saving you will see here your public key.
+ Public key of this instance. You can specify your own one, or a key will be generated after saving.server.privkeytext
- Private key of this instance. After saving you will see here your private key, please keep it safe.
+ Private key of this instance. You can specify your own one, or a key will be generated after saving. Please keep this key safe.server.port
diff --git a/net/wireguard/src/opnsense/mvc/app/views/OPNsense/Wireguard/general.volt b/net/wireguard/src/opnsense/mvc/app/views/OPNsense/Wireguard/general.volt
index 60c1c6c39..8b0accd2d 100644
--- a/net/wireguard/src/opnsense/mvc/app/views/OPNsense/Wireguard/general.volt
+++ b/net/wireguard/src/opnsense/mvc/app/views/OPNsense/Wireguard/general.volt
@@ -30,7 +30,7 @@