mirror of
https://github.com/billz/raspap-webgui.git
synced 2023-10-10 13:37:24 +02:00
Progress commit: wg-qr-code
This commit is contained in:
parent
cd045a34b8
commit
6b484d383c
27
app/img/wg-qr-code.php
Normal file
27
app/img/wg-qr-code.php
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
require_once '../../includes/config.php';
|
||||||
|
require_once '../../includes/defaults.php';
|
||||||
|
require_once '../../includes/functions.php';
|
||||||
|
|
||||||
|
// prevent direct file access
|
||||||
|
if (!isset($_SERVER['HTTP_REFERER'])) {
|
||||||
|
header('HTTP/1.0 403 Forbidden');
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
exec("sudo cat " .RASPI_WIREGUARD_PATH.'client.conf', $return);
|
||||||
|
$peer_conf = qr_encode(implode($return));
|
||||||
|
$command = "qrencode -t svg -m 0 -o - " . mb_escapeshellarg($peer_conf);
|
||||||
|
$svg = shell_exec($command);
|
||||||
|
$etag = hash('sha256', $peer_conf);
|
||||||
|
$content_length = strlen($svg);
|
||||||
|
$last_modified = date("Y-m-d H:i:s");
|
||||||
|
|
||||||
|
header("Content-Type: image/svg+xml");
|
||||||
|
header("Content-Length: $content_length");
|
||||||
|
header("Last-Modified: $last_modified");
|
||||||
|
header("ETag: \"$etag\"");
|
||||||
|
header("X-QR-Code-Content: $peer_conf");
|
||||||
|
echo shell_exec($command);
|
||||||
|
|
@ -757,3 +757,11 @@ function getNightmode(){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Sanitizes a string for QR encoding
|
||||||
|
// @param string $str
|
||||||
|
// @return string
|
||||||
|
function qr_encode($str)
|
||||||
|
{
|
||||||
|
return preg_replace('/(?<!\\\)([\":;,])/', '\\\\\1', $str);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -50,6 +50,6 @@ www-data ALL=(ALL) NOPASSWD:/bin/systemctl status wg-quick@wg0
|
|||||||
www-data ALL=(ALL) NOPASSWD:/usr/bin/wg-quick up wg0
|
www-data ALL=(ALL) NOPASSWD:/usr/bin/wg-quick up wg0
|
||||||
www-data ALL=(ALL) NOPASSWD:/usr/bin/wg-quick down wg0
|
www-data ALL=(ALL) NOPASSWD:/usr/bin/wg-quick down wg0
|
||||||
www-data ALL=(ALL) NOPASSWD:/usr/bin/wg
|
www-data ALL=(ALL) NOPASSWD:/usr/bin/wg
|
||||||
www-data ALL=(ALL) NOPASSWD:/bin/cat /etc/wireguard/wg0.conf
|
www-data ALL=(ALL) NOPASSWD:/bin/cat /etc/wireguard/*.conf
|
||||||
www-data ALL=(ALL) NOPASSWD:/bin/cat /etc/wireguard/wg-server-public.key
|
www-data ALL=(ALL) NOPASSWD:/bin/cat /etc/wireguard/wg-server-public.key
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@
|
|||||||
|
|
||||||
<div class="col-md-6 mt-5">
|
<div class="col-md-6 mt-5">
|
||||||
<figure class="figure">
|
<figure class="figure">
|
||||||
<img src="app/img/wifi-qr-code.php" class="figure-img img-fluid" alt="RaspAP Wifi QR code" style="width:100%;">
|
<img src="app/img/wg-qr-code.php" class="figure-img img-fluid" alt="RaspAP Wifi QR code" style="width:100%;">
|
||||||
<figcaption class="figure-caption"><?php echo _("Scan this QR code with your client to connect to this RaspAP."); ?></figcaption>
|
<figcaption class="figure-caption"><?php echo _("Scan this QR code with your client to connect to this RaspAP."); ?></figcaption>
|
||||||
</figure>
|
</figure>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user