diff --git a/lib/requestHandler.js b/lib/requestHandler.js index 9618147..c2aafd3 100644 --- a/lib/requestHandler.js +++ b/lib/requestHandler.js @@ -221,7 +221,7 @@ function getWsReqInfo(wsReq) { // TODO 如果是windows机器,url是不是全路径?需要对其过滤,取出 const path = wsReq.url || '/'; - const isEncript = true && wsReq.connection && wsReq.connection.encrypted; + const isEncript = wsReq.connection && wsReq.connection.encrypted; /** * construct the request headers based on original connection, * but delete the `sec-websocket-*` headers as they are already consumed by AnyProxy diff --git a/lib/webInterface.js b/lib/webInterface.js index b039fc9..f450221 100644 --- a/lib/webInterface.js +++ b/lib/webInterface.js @@ -56,7 +56,7 @@ class webInterface extends events.EventEmitter { */ getServer() { const self = this; - const recorder = self.recorder; + const recorder = self.recorder; const ipAddress = ip.address(), // userRule = proxyInstance.proxyRule, webBasePath = 'web'; @@ -68,10 +68,9 @@ class webInterface extends events.EventEmitter { customMenu = ''; // userRule._getCustomMenu(); } catch (e) { } - const myAbsAddress = 'http://' + ipAddress + ':' + self.webPort + '/', - staticDir = path.join(__dirname, '../', webBasePath); - + const staticDir = path.join(__dirname, '../', webBasePath); const app = express(); + app.use(compress()); //invoke gzip app.use((req, res, next) => { res.setHeader('note', 'THIS IS A REQUEST FROM ANYPROXY WEB INTERFACE'); @@ -217,35 +216,32 @@ class webInterface extends events.EventEmitter { //make qr code app.get('/qr', (req, res) => { res.setHeader('Access-Control-Allow-Origin', '*'); - const qr = qrCode.qrcode(4, 'M'), - targetUrl = myAbsAddress; + res.setHeader('Content-Type', 'text/html'); + + const qr = qrCode.qrcode(4, 'M'); + const targetUrl = req.protocol + '://' + req.get('host'); qr.addData(targetUrl); qr.make(); const qrImageTag = qr.createImgTag(4); const resDom = ' __img
click or scan qr code to start client
'.replace(/__url/, targetUrl).replace(/__img/, qrImageTag); - res.setHeader('Content-Type', 'text/html'); res.end(resDom); }); app.get('/api/getQrCode', (req, res) => { res.setHeader('Access-Control-Allow-Origin', '*'); - const qr = qrCode.qrcode(4, 'M'), - targetUrl = myAbsAddress + 'fetchCrtFile'; + + const qr = qrCode.qrcode(4, 'M'); + const targetUrl = req.protocol + '://' + req.get('host') + '/fetchCrtFile'; + const isRootCAFileExists = certMgr.isRootCAFileExists(); qr.addData(targetUrl); qr.make(); - const qrImageTag = qr.createImgTag(4); - // resDom = ' __img
click or scan qr code to download rootCA.crt
'.replace(/__url/,targetUrl).replace(/__img/,qrImageTag); - // res.setHeader("Content-Type", "text/html"); - // res.end(resDom); - - const isRootCAFileExists = certMgr.isRootCAFileExists(); res.json({ status: 'success', url: targetUrl, isRootCAFileExists, - qrImgDom: qrImageTag + qrImgDom: qr.createImgTag(4) }); }); diff --git a/lib/wsServer.js b/lib/wsServer.js index 7ab654a..beb28b2 100644 --- a/lib/wsServer.js +++ b/lib/wsServer.js @@ -72,7 +72,7 @@ class wsServer { clientTracking: true, }); resolve(); - + // the queue of the messages to be delivered let messageQueue = []; // the flat to indicate wheter to broadcast the record @@ -102,7 +102,7 @@ class wsServer { try { data = JSON.stringify(data); } catch (e) { - console.error('==> errorr when do broadcast ', e, data); + console.error('==> error when do broadcast ', e, data); } } for (const client of wss.clients) { diff --git a/test/server/server.js b/test/server/server.js index fcab17f..aae74b9 100644 --- a/test/server/server.js +++ b/test/server/server.js @@ -67,7 +67,7 @@ function KoaServer() { this.logWsRequest = function (wsReq) { const headers = wsReq.headers; const host = headers.host; - const isEncript = true && wsReq.connection && wsReq.connection.encrypted; + const isEncript = wsReq.connection && wsReq.connection.encrypted; const protocol = isEncript ? 'wss' : 'ws'; let key = `${protocol}://${host}${wsReq.url}`; // take proxy data with 'proxy-' + url