mirror of
				https://github.com/billz/raspap-webgui.git
				synced 2025-03-01 10:31:47 +00:00 
			
		
		
		
	Progress commit: wg-qr-code
This commit is contained in:
		
							
								
								
									
										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 down wg0 | ||||
| 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 | ||||
|  | ||||
|   | ||||
| @@ -49,7 +49,7 @@ | ||||
|  | ||||
|     <div class="col-md-6 mt-5"> | ||||
|       <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> | ||||
|       </figure> | ||||
|     </div> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user