@@ -99,31 +99,31 @@ document.addEventListener('DOMContentLoaded', function() {
99
99
100
100
$ ( 'version-text' ) . innerHTML = 'v' + clientVersion ;
101
101
102
+ // Determine platform
102
103
chrome . runtime . getPlatformInfo ( function ( platformInfo ) {
103
104
if ( ! chrome . runtime . lastError ) {
104
105
let os = platformInfo . os ;
105
106
platform = ( os === "cros" ? pfChr : ( os === "linux" ? pfLin : ( os === "mac" ? pfMac : ( os === "win" ? pfWin : pfUnk ) ) ) ) ;
106
107
}
107
108
} ) ;
108
109
109
- if ( $ ( 'wx-allow' ) . checked ) {
110
- enableWX ( ) ;
111
- }
112
-
110
+ // Restore settings from storage (if possible)
113
111
if ( chrome . storage ) {
114
112
chrome . storage . sync . get ( 's_port' , function ( result ) { $ ( 'bpc-port' ) . value = result . s_port || '6009' ; } ) ;
115
113
chrome . storage . sync . get ( 's_url' , function ( result ) { $ ( 'bpc-url' ) . value = result . s_url || 'localhost' ; } ) ;
116
114
chrome . storage . sync . get ( 'sm0' , function ( result ) { $ ( 'sm0' ) . value = result . sm0 || '255' ; } ) ;
117
115
chrome . storage . sync . get ( 'sm1' , function ( result ) { $ ( 'sm1' ) . value = result . sm1 || '255' ; } ) ;
118
116
chrome . storage . sync . get ( 'sm2' , function ( result ) { $ ( 'sm2' ) . value = result . sm2 || '255' ; } ) ;
119
117
chrome . storage . sync . get ( 'sm3' , function ( result ) { $ ( 'sm3' ) . value = result . sm3 || '0' ; } ) ;
118
+ chrome . storage . sync . get ( 'en_wx' , function ( result ) { $ ( 'wx-allow' ) . checked = ( result . en_wx !== undefined ) ? result . en_wx : true ; } ) ;
120
119
} else {
121
120
$ ( 'bpc-port' ) . value = '6009' ;
122
121
$ ( 'bpc-url' ) . value = 'localhost' ;
123
122
$ ( 'sm0' ) . value = '255' ;
124
123
$ ( 'sm1' ) . value = '255' ;
125
124
$ ( 'sm2' ) . value = '255' ;
126
125
$ ( 'sm3' ) . value = '0' ;
126
+ $ ( 'wx-allow' ) . checked = true ;
127
127
}
128
128
129
129
$ ( 'open-browser' ) . onclick = function ( ) {
@@ -173,13 +173,16 @@ document.addEventListener('DOMContentLoaded', function() {
173
173
verboseLogging = $ ( 'bpc-trace' ) . checked ;
174
174
} ;
175
175
176
+ // Enable/disable wireless (WX) port scanning; save setting
176
177
$ ( 'wx-allow' ) . onclick = function ( ) {
177
- var wx_enabled = $ ( 'wx-allow' ) . checked ;
178
- if ( wx_enabled ) {
178
+ if ( $ ( 'wx-allow' ) . checked ) {
179
179
enableWX ( ) ;
180
180
} else {
181
181
disableWX ( ) ;
182
182
}
183
+ if ( chrome . storage ) {
184
+ chrome . storage . sync . set ( { 'en_wx' : $ ( 'wx-allow' ) . checked } , function ( ) { } ) ;
185
+ }
183
186
} ;
184
187
185
188
$ ( 'wmt' ) . onclick = function ( ) {
@@ -213,15 +216,17 @@ document.addEventListener('DOMContentLoaded', function() {
213
216
} ) ;
214
217
215
218
function connect ( ) {
216
- connect_ws ( $ ( 'bpc-port' ) . value , $ ( 'bpc-url' ) . value ) ;
217
- scanWPorts ( ) ;
218
- wScannerInterval = setInterval ( scanWPorts , 6010 ) ; // 6010: Scan at different intervals than send processes
219
+ //Connect via websocket to browser and enable wired and wireless port scanning
220
+ connect_ws ( $ ( 'bpc-port' ) . value , $ ( 'bpc-url' ) . value ) ;
221
+ enableW ( ) ;
222
+ enableWX ( ) ;
219
223
}
220
224
221
225
function disconnect ( ) {
222
- closeSockets ( ) ;
223
- clearInterval ( wScannerInterval ) ;
224
- wScannerInterval = null ;
226
+ //Disconnect from browser and disable wired and wireless port scanning
227
+ closeSockets ( ) ;
228
+ disableW ( ) ;
229
+ disableWX ( ) ;
225
230
}
226
231
227
232
function updateStatus ( connected ) {
@@ -263,18 +268,6 @@ function connect_ws(ws_port, url_path) {
263
268
server . listen ( port ) ;
264
269
isServer = true ;
265
270
266
- // Do we need this?
267
- /*
268
- server.addEventListener('request', function(req) {
269
- var url = req.headers.url;
270
- if (url == '/')
271
- url = '/index.html';
272
- // Serve the pages of this chrome application.
273
- req.serveUrl(url);
274
- return true;
275
- });
276
- */
277
-
278
271
wsServer . addEventListener ( 'request' , function ( req ) {
279
272
var socket = req . accept ( ) ;
280
273
@@ -331,59 +324,42 @@ function connect_ws(ws_port, url_path) {
331
324
return true ;
332
325
} ) ;
333
326
}
327
+ }
334
328
329
+ function enableW ( ) {
330
+ //Enable periodic wired port scanning
331
+ if ( ! wScannerInterval ) {
332
+ scanWPorts ( ) ;
333
+ wScannerInterval = setInterval ( scanWPorts , 6010 ) ; // 6010: Scan at different intervals than send processes
334
+ }
335
+ }
335
336
336
- //document.addEventListener('DOMContentLoaded', function() {
337
-
338
- /*
339
- log('This is a test of an HTTP and WebSocket server. This application is ' +
340
- 'serving its own source code on port ' + port + '. Each client ' +
341
- 'connects to the server on a WebSocket and all messages received on ' +
342
- 'one WebSocket are echoed to all connected clients - i.e. a chat ' +
343
- 'server. Enjoy!');
344
- // FIXME: Wait for 1s so that HTTP Server socket is listening...
345
- setTimeout(function() {
346
- //var url_path = 'localhost';
347
- var address = isServer ? 'ws://' + url_path + ':' + port + '/' :
348
- window.location.href.replace('http', 'ws');
349
- var ws = new WebSocket(address);
350
- ws.addEventListener('open', function() {
351
- log('Connected');
352
- });
353
- ws.addEventListener('close', function() {
354
- log('Connection lost');
355
- $('input').disabled = true;
356
- });
357
- ws.addEventListener('message', function(e) {
358
- if(e.data.bread) {
359
- log('got some bread!');
360
- } else {
361
- log(e.data);
362
- }
363
- });
364
- $('input').addEventListener('keydown', function(e) {
365
- if (ws && ws.readyState == 1 && e.keyCode == 13) {
366
- ws.send(this.value);
367
- this.value = '';
368
- }
369
- });
370
- }, 1000);
371
-
372
- */
373
-
374
- //});
337
+ function disableW ( ) {
338
+ //Disable wired port scanning
339
+ if ( wScannerInterval ) {
340
+ clearInterval ( wScannerInterval ) ;
341
+ wScannerInterval = null ;
342
+ }
375
343
}
376
344
377
345
function enableWX ( ) {
378
- scanWXPorts ( ) ;
379
- wScannerInterval = setInterval ( scanWXPorts , 3500 ) ;
346
+ //Enable periodic wireless port scanning (if allowed)
347
+ if ( $ ( 'wx-allow' ) . checked ) {
348
+ if ( ! wxScannerInterval ) {
349
+ scanWXPorts ( ) ;
350
+ wxScannerInterval = setInterval ( scanWXPorts , 3500 ) ;
351
+ }
352
+ }
380
353
}
381
354
382
355
function disableWX ( ) {
383
- if ( wScannerInterval ) {
384
- clearInterval ( wScannerInterval ) ;
385
- $ ( 'wx-list' ) . innerHTML = '' ;
356
+ //Disable wireless port scanning
357
+ if ( wxScannerInterval ) {
358
+ clearInterval ( wxScannerInterval ) ;
359
+ wxScannerInterval = null ;
386
360
}
361
+ $ ( 'wx-list' ) . innerHTML = '' ;
362
+ deleteAllWirelessPorts ( ) ;
387
363
}
388
364
389
365
function scanWPorts ( ) {
@@ -410,7 +386,6 @@ function scanWXPorts() {
410
386
// Generate list of current wireless ports
411
387
discoverWirelessPorts ( ) ;
412
388
ageWirelessPorts ( ) ;
413
- displayWirelessPorts ( ) ;
414
389
}
415
390
416
391
function sendPortList ( socket ) {
0 commit comments