From 3e9103152f9ebc93cab96b996c1c08b1f8177aaf Mon Sep 17 00:00:00 2001
From: Tiger Wang <ztw17@ic.ac.uk>
Date: Wed, 8 Jan 2020 12:11:55 +0000
Subject: [PATCH] Use environment variables, update Signalbuddy

---
 src/connection/XMPP.js          | 10 +++++-----
 src/intelligence-exfiltrator.js | 15 ++++++++-------
 src/server.js                   |  9 +++++++++
 3 files changed, 22 insertions(+), 12 deletions(-)

diff --git a/src/connection/XMPP.js b/src/connection/XMPP.js
index fff3cf3..a71fa4b 100644
--- a/src/connection/XMPP.js
+++ b/src/connection/XMPP.js
@@ -52,7 +52,7 @@ export default class XMPPConnection extends EventTarget {
     this.sendOrQueue(presence)
   }
 
-  constructor(channel) {
+  constructor(channel, details) {
     super()
 
     this.username = uuid.v4().toString()
@@ -61,10 +61,10 @@ export default class XMPPConnection extends EventTarget {
     this.queue = []
 
     const xmpp = client({
-      service: "wss://xmpp.lets-draw.live:5281/xmpp-websocket",
-      domain: "xmpp.lets-draw.live",
-      username: "beartest",
-      password: "beartest",
+      service: `wss://${details.host}:${details.port}/xmpp-websocket`,
+      domain: details.host,
+      username: details.username,
+      password: details.password,
     })
 
     this.xmpp = xmpp
diff --git a/src/intelligence-exfiltrator.js b/src/intelligence-exfiltrator.js
index 49569f0..98caa91 100644
--- a/src/intelligence-exfiltrator.js
+++ b/src/intelligence-exfiltrator.js
@@ -2,7 +2,12 @@ import { connect } from "./room.js"
 import XMPP from "./connection/XMPP.js"
 import WebRTCConnection from "./connection/WebRTC.js"
 
-const DEFAULT_ROOM = "imperial"
+const params = new URL(document.location).searchParams
+const requestedRoom = params.get("room")
+const host = params.get("host")
+const port = params.get("port")
+const username = params.get("username")
+const password = params.get("password")
 
 let room = null
 let secureLine = null
@@ -14,7 +19,7 @@ const attributesByXCDPIdentifier = new Map()
 
 const onRoomConnect = (room_) => {
   room = room_
-  secureLine = new XMPP(room.name)
+  secureLine = new XMPP(room.name, { host, port, username, password })
 
   room.addEventListener("addOrUpdatePath", ({ detail: { id, points } }) => {
     if (points.length === 0) {
@@ -208,8 +213,4 @@ window.addEventListener("unload", () => {
   }
 })
 
-const requestedRoom = new URL(document.location).searchParams.get("room")
-connect(
-  requestedRoom || DEFAULT_ROOM,
-  WebRTCConnection,
-).then(onRoomConnect)
+connect(requestedRoom, WebRTCConnection).then(onRoomConnect)
diff --git a/src/server.js b/src/server.js
index d76e14f..d43ff59 100644
--- a/src/server.js
+++ b/src/server.js
@@ -28,6 +28,15 @@ const config = {
       timeout: parseInt(process.env.ICE_TURN_TIMEOUT) || 86400,
     },
   },
+  interop: {
+    host: process.env.SERVER_HOST,
+    xmpp: {
+      host: process.env.XMPP_HOST,
+      port: process.env.XMPP_PORT,
+      username: process.env.XMPP_USERNAME,
+      password: process.env.XMPP_PASSWORD,
+    },
+  },
 }
 
 signalbuddy(server, config)
-- 
GitLab