diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 909c6dead7d33dcc444e7eb2d5a35c015ba79c78..5f294f78bfc8adb9a9cc67eaf70d77ea738ee329 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -8,14 +8,13 @@ variables:
   GIT_SUBMODULE_STRATEGY: recursive
   CMAKE_ARGS_WINDOWS: '-DCMAKE_GENERATOR_PLATFORM=x64 -DCeres_DIR="C:/Program Files/Ceres" -DPORTAUDIO_INCLUDE_DIRS="C:/Build/src/portaudio/include" -DPORTAUDIO_LIBRARY="C:/Build/bin/portaudio/Release/portaudio_x64.lib" -DPYLON_DIR="C:/Program Files/Basler/pylon 6/Development" -DOpenCV_DIR="C:/Build/bin/opencv/install" -DCUDA_TOOLKIT_ROOT_DIR="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.2" -DWITH_OPENVR=TRUE -DWITH_CERES=TRUE'
 
-stages:
- - all
- - deploy
+#stages:
+# - all
+# - deploy
 
 #### Linux
 
-linux:
-  stage: all
+build:
   tags:
     - linux
   variables:
@@ -32,61 +31,61 @@ linux:
     - ninja
     - ninja package
     - ctest --output-on-failure
-    - cd ../SDK/Python
-    - python3 -m unittest discover test
+#    - cd ../SDK/Python
+#    - python3 -m unittest discover test
 
-webserver-deploy:
-  only:
-    - master
-  stage: deploy
-  tags:
-    - linux
-  variables:
-    NODE_SERVER: '10.0.0.9'
-  script:
-    - npm install web-service
-    - browserify web-service/public/js/index.js -o web-service/public/js/bundle.js
-    - rsync -vr --delete web-service/ nodejs@${NODE_SERVER}:/srv/nodejs/web-service
-    - ssh nodejs@${NODE_SERVER} -- "npm install web-service && pm2 restart web-service"
-    - doxygen
-    - rsync -vr --delete doc/ nodejs@${NODE_SERVER}:/srv/nodejs/doc
+#webserver-deploy:
+#  only:
+#    - master
+#  stage: deploy
+#  tags:
+#    - linux
+#  variables:
+#    NODE_SERVER: '10.0.0.9'
+#  script:
+#    - npm install web-service
+#    - browserify web-service/public/js/index.js -o web-service/public/js/bundle.js
+#    - rsync -vr --delete web-service/ nodejs@${NODE_SERVER}:/srv/nodejs/web-service
+#    - ssh nodejs@${NODE_SERVER} -- "npm install web-service && pm2 restart web-service"
+#    - doxygen
+#    - rsync -vr --delete doc/ nodejs@${NODE_SERVER}:/srv/nodejs/doc
 
 ### Windows
 
-.build-windows: &build-windows
-    - call vcvars64.bat
-    - mkdir build
-    - cd build
-    - cmake %CMAKE_ARGS% %CMAKE_ARGS_WINDOWS% -DREALSENSE_DIR="C:/Program Files (x86)/Intel RealSense SDK 2.0" -DOPENVR_DIR="C:/Program Files (x86)/OpenVRSDK" -DOPUS_DIR="C:/Program Files (x86)/Opus" ..
-    - devenv ftl.utu.fi.sln /build Release
-    - rmdir /q /s "%DEPLOY_DIR%/%CI_COMMIT_REF_SLUG%"
-    - mkdir "%DEPLOY_DIR%/%CI_COMMIT_REF_SLUG%"
-    - 'copy "applications\vision\Release\voltu-vision.exe" "%DEPLOY_DIR%\%CI_COMMIT_REF_SLUG%"'
-    - 'copy "applications\gui2\Release\voltu-ui.exe" "%DEPLOY_DIR%\%CI_COMMIT_REF_SLUG%"'
+#.build-windows: &build-windows
+#    - call vcvars64.bat
+#    - mkdir build
+#    - cd build
+#    - cmake %CMAKE_ARGS% %CMAKE_ARGS_WINDOWS% -DREALSENSE_DIR="C:/Program Files (x86)/Intel RealSense SDK 2.0" -DOPENVR_DIR="C:/Program Files (x86)/OpenVRSDK" -DOPUS_DIR="C:/Program Files (x86)/Opus" ..
+#    - devenv ftl.utu.fi.sln /build Release
+#    - rmdir /q /s "%DEPLOY_DIR%/%CI_COMMIT_REF_SLUG%"
+#    - mkdir "%DEPLOY_DIR%/%CI_COMMIT_REF_SLUG%"
+#    - 'copy "applications\vision\Release\voltu-vision.exe" "%DEPLOY_DIR%\%CI_COMMIT_REF_SLUG%"'
+#    - 'copy "applications\gui2\Release\voltu-ui.exe" "%DEPLOY_DIR%\%CI_COMMIT_REF_SLUG%"'
 
-windows-vision:
-  except:
-    - master
-  stage: all
-  variables:
-    CMAKE_ARGS: '-DENABLE_PROFILER=TRUE -DWITH_OPTFLOW=TRUE -DBUILD_VISION=TRUE -DBUILD_CALIBRATION=FALSE -DBUILDRECONSTRUCT=FALSE -DBUILDRENDERER=FALSE -DBUILD_TESTING=FALSE -DBUILD_TESTS=FALSE'
-    DEPLOY_DIR: 'C:/Shared/AutoDeploy'
-  tags:
-    - win
-  script:
-    - *build-windows
+#windows-vision:
+#  except:
+#    - master
+#  stage: all
+#  variables:
+#    CMAKE_ARGS: '-DENABLE_PROFILER=TRUE -DWITH_OPTFLOW=TRUE -DBUILD_VISION=TRUE -DBUILD_CALIBRATION=FALSE -DBUILDRECONSTRUCT=FALSE -DBUILDRENDERER=FALSE -DBUILD_TESTING=FALSE -DBUILD_TESTS=FALSE'
+#    DEPLOY_DIR: 'C:/Shared/AutoDeploy'
+#  tags:
+#    - win
+#  script:
+#    - *build-windows
 
-windows-master:
-  only:
-    - master
-  stage: all
-  variables:
-    CMAKE_ARGS: '-DWITH_OPTFLOW=TRUE'
-    DEPLOY_DIR: 'C:/Shared/AutoDeploy'
-  tags:
-    - win
-  script:
-    - *build-windows
+#windows-master:
+#  only:
+#    - master
+#  stage: all
+#  variables:
+#    CMAKE_ARGS: '-DWITH_OPTFLOW=TRUE'
+#    DEPLOY_DIR: 'C:/Shared/AutoDeploy'
+#  tags:
+#    - win
+#  script:
+#    - *build-windows
 
 #    - set PATH=%PATH%;C:/Shared/Deploy
 #    - ctest --output-on-failure --timeout 60
diff --git a/SDK/CPP/tests/CMakeLists.txt b/SDK/CPP/tests/CMakeLists.txt
index d7f25424e60c7d288b9e7076ef1a107648bd0251..a65267dcdea63afbe68817529d4706186f2256cc 100644
--- a/SDK/CPP/tests/CMakeLists.txt
+++ b/SDK/CPP/tests/CMakeLists.txt
@@ -12,5 +12,5 @@ function(add_python_test TEST_NAME TEST_SCRIPT)
 	set_property(TEST ${TEST_NAME} APPEND PROPERTY DEPENDS voltu_sdk)
 endfunction()
 
-add_python_test(Py_TestLoad test_load.py)
-add_python_test(Py_TestIntrinsics test_intrinsics.py)
+#add_python_test(Py_TestLoad test_load.py)
+#add_python_test(Py_TestIntrinsics test_intrinsics.py)
diff --git a/components/net/cpp/src/peer.cpp b/components/net/cpp/src/peer.cpp
index 0dad3b02b3b31b0bef3d8a69fb62a3b58d5583f2..9848a96ecdef7a7f17829eb571166c397f9cdf52 100644
--- a/components/net/cpp/src/peer.cpp
+++ b/components/net/cpp/src/peer.cpp
@@ -647,10 +647,18 @@ int Peer::_send() {
 		const iovec *sendvec = send_buf_.vector();
 		size_t size = send_buf_.vector_size();
 		char buf[20];
+
+		const uint8_t masking_key[4] = { 0x12, 0x34, 0x56, 0x78 }; // TODO: Move
 		
-		// Calculate total size of message
+		// Calculate total size of message and mask it.
 		for (size_t i=1; i < size; i++) {
-			len += sendvec[i].iov_len;
+			const size_t mlen = sendvec[i].iov_len;
+			char *buf = (char*)sendvec[i].iov_base;
+			// TODO: Make this more efficient.
+			for (size_t j = 0; j != mlen; ++j) {
+                buf[j] ^= masking_key[(len + j)&0x3];
+            }
+			len += mlen;
 		}
 
 		if (sendvec[0].iov_len != 0) {
@@ -658,7 +666,7 @@ int Peer::_send() {
 		}
 		
 		// Pack correct websocket header into buffer
-		int rc = ws_prepare(wsheader_type::BINARY_FRAME, false, len, buf, 20);
+		int rc = ws_prepare(wsheader_type::BINARY_FRAME, true, len, buf, 20);
 		if (rc == -1) return -1;
 		
 		// Patch the first io vector to be ws header