diff -ur ws.o/lib/BufferUtil.js ws/lib/BufferUtil.js
--- ws.o/lib/BufferUtil.js	2015-01-29 12:38:37.000000000 +0200
+++ ws/lib/BufferUtil.js	2016-12-25 12:18:43.433989800 +0200
@@ -7,6 +7,9 @@
  */
 
 try {
+// XXX shachar/vladimir: add compiled version for android/windows/darwin
+if (process.env.ZNODE_DEP_SCAN)
+    throw new Error('compiled dep missing');
   module.exports = require('bufferutil');
 } catch (e) {
   module.exports = require('./BufferUtil.fallback');
diff -ur ws.o/lib/Validation.js ws/lib/Validation.js
--- ws.o/lib/Validation.js	2015-01-29 12:38:37.000000000 +0200
+++ ws/lib/Validation.js	2016-12-25 12:18:48.049989739 +0200
@@ -7,6 +7,9 @@
  */
 
 try {
+// XXX shachar/vladimir: add compiled version for android/windows/darwin
+if (process.env.ZNODE_DEP_SCAN)
+    throw new Error('compiled dep missing');
   module.exports = require('utf-8-validate');
 } catch (e) {
   module.exports = require('./Validation.fallback');
diff -ur ws.o/lib/WebSocket.js ws/lib/WebSocket.js
--- ws.o/lib/WebSocket.js	2017-07-17 19:06:57.686191621 +0300
+++ ws/lib/WebSocket.js	2017-07-17 19:08:40.018195077 +0300
@@ -561,7 +561,8 @@
     ciphers: null,
     rejectUnauthorized: null,
     perMessageDeflate: true,
-    localAddress: null
+    localAddress: null,
+    servername: null,
   }).merge(options);
 
   if (options.value.protocolVersion !== 8 && options.value.protocolVersion !== 13) {
@@ -610,7 +611,8 @@
       'Host': headerHost,
       'Sec-WebSocket-Version': options.value.protocolVersion,
       'Sec-WebSocket-Key': key
-    }
+    },
+    servername: options.value.servername,
   };
 
   // If we have basic auth.
