From 2d7c3e5aea38d6afa3c030dd24d43a9fb8bb8ee6 Mon Sep 17 00:00:00 2001
From: OttoMao <ottomao@gmail.com>
Date: Fri, 9 Jan 2015 16:16:08 +0800
Subject: [PATCH] support qr code for rootCA.crt

---
 web/index.html |  7 ++++---
 webServer.js   | 15 +++++++++++++++
 2 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/web/index.html b/web/index.html
index 0cac75c..daadda3 100644
--- a/web/index.html
+++ b/web/index.html
@@ -21,10 +21,11 @@
 		<div class="ctrlWrapper">
 			<a href="#" class="J_statusBtn"><span class="topBtn"><i class="uk-icon-stop"></i>Stop</span></a>
 			<a href="#" class="J_statusBtn btn_disable"><span class="topBtn"><i class="uk-icon-play"></i>Resume</span></a>
-			<a href="#" class="J_clearBtn"><span class="topBtn"><i class="uk-icon-eraser"></i>Clear Logs(Ctrl+X)</span></a>
+			<a href="#" class="J_clearBtn"><span class="topBtn"><i class="uk-icon-eraser"></i>Clear(Ctrl+X)</span></a>
 			<span class="sep">|</span>
-			<a href="/fetchCrtFile" target="_blank"><span class="topBtn"><i class="uk-icon-certificate"></i>Fetch rootCA.crt</span></a>
-			<a href="#"><span class="topBtn"><i class="uk-icon-cog"></i>Others</span></a>
+			<a href="/fetchCrtFile" target="_blank"><span class="topBtn"><i class="uk-icon-certificate"></i>Download rootCA.crt</span></a>
+			<a href="/qr_root" class="J_fetchRootQR" target="_blank"><span class="topBtn"><i class="uk-icon-certificate"></i>QRCode of rootCA.crt</span></a>
+			<!-- <a href="#"><span class="topBtn"><i class="uk-icon-cog"></i>Others</span></a> -->
 
 			<!-- <a href="http://localhost:{{proxyConfigPort}}"><span class="topBtn"><i class="uk-icon-cog"></i>Config Local Response(beta)</span></a> -->
 			<span class="sep">|</span>
diff --git a/webServer.js b/webServer.js
index 827220d..1843f55 100644
--- a/webServer.js
+++ b/webServer.js
@@ -76,6 +76,21 @@ function proxyWebServer(port,webSocketPort,proxyConfigPort,ruleSummary,ipAddress
         res.end(resDom);
     });
 
+    app.get("/qr_root",function(req,res){
+        var qr        = qrCode.qrcode(4, 'M'),
+            targetUrl = myAbsAddress + "fetchCrtFile",
+            qrImageTag,
+            resDom;
+
+        qr.addData(targetUrl);
+        qr.make();
+        qrImageTag = qr.createImgTag(4);
+
+        resDom = '<a href="__url"> __img <br> click or scan qr code to download rootCA.crt </a>'.replace(/__url/,targetUrl).replace(/__img/,qrImageTag);
+        res.setHeader("Content-Type", "text/html");
+        res.end(resDom);
+    });
+
     app.use(function(req,res,next){
         var indexHTML       = fs.readFileSync(__dirname + "/web/index.html",{encoding:"utf8"});