addMessage('Wireguard configuration updated successfully', 'success'); } else { $status->addMessage('Wireguard configuration failed to be updated.', 'danger'); } } elseif (isset($_POST['startwg'])) { $status->addMessage('Attempting to start WireGuard', 'info'); exec('sudo /usr/bin/wg-quick up wg0', $return); foreach ($return as $line) { $status->addMessage($line, 'info'); } } elseif (isset($_POST['stopwg'])) { $status->addMessage('Attempting to stop WireGuard', 'info'); exec('sudo /usr/bin/wg-quick down wg0', $return); foreach ($return as $line) { $status->addMessage($line, 'info'); } } } exec('pidof wg-crypt-wg0 | wc -l', $wgstatus); $serviceStatus = $wgstatus[0] == 0 ? "down" : "up"; $wg_state = ($wgstatus[0] > 0); echo renderTemplate( "wireguard", compact( "status", "wg_state", "serviceStatus", "endpoint_enable", "peer_id", "wg_endpoint", "wg_allowedips", "wg_pkeepalive", "wg_peerpubkey" ) ); }