Skip to content

Commit 051fe46

Browse files
committed
cleaner_screencap
1 parent 88117c0 commit 051fe46

File tree

4 files changed

+34
-1
lines changed

4 files changed

+34
-1
lines changed

app.js

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
var path = require('path')
55
var config = require('read-config')(path.join(__dirname, 'config.json'))
66
// var logger = require('morgan')
7-
// var validator = require('validator')
7+
var validator = require('validator')
88
var myutil = require('./util')
99

1010
var session = require('express-session')({
@@ -33,6 +33,28 @@ app.get('/', function (req, res, next) {
3333
app.get('/rdp/host/:host?', function (req, res, next) {
3434
req.session.host = req.params.host
3535
res.sendFile(__dirname + '/client/html/client.html')
36+
req.session.rdp = {
37+
host: (validator.isIP(req.params.host + '') && req.params.host) ||
38+
(validator.isFQDN(req.params.host) && req.params.host) ||
39+
(/^(([a-z]|[A-Z]|[0-9]|[!^(){}\-_~])+)?\w$/.test(req.params.host) &&
40+
req.params.host) || config.rdp.host,
41+
port: (validator.isInt(req.query.port + '', {min: 1, max: 65535}) &&
42+
req.query.port) || config.rdp.port,
43+
header: {
44+
name: req.query.header || config.header.text,
45+
background: req.query.headerBackground || config.header.background
46+
},
47+
algorithms: config.algorithms,
48+
allowreplay: validator.isBoolean(req.headers.allowreplay + '') || false,
49+
log: {
50+
screencapture: config.logging.logScreenOnMouseclicks || false
51+
},
52+
readyTimeout: (validator.isInt(req.query.readyTimeout + '', {min: 1, max: 300000}) &&
53+
req.query.readyTimeout) || config.rdp.readyTimeout
54+
}
55+
req.session.rdp.header.name && validator.escape(req.session.rdp.header.name)
56+
req.session.rdp.header.background &&
57+
validator.escape(req.session.rdp.header.background)
3658
})
3759

3860
// Express error handling

client/js/client.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,8 @@
153153
}).on('rdp-bitmap', function (bitmap) {
154154
console.log('[WebRDP] bitmap update bpp : ' + bitmap.bitsPerPixel)
155155
self.render.update(bitmap)
156+
}).on('title', function (data) {
157+
document.title = data
156158
}).on('headerBackground', function (data) {
157159
document.getElementById('header').style.backgroundColor = data
158160
}).on('header', function (data) {

config.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@
1212
"port": 3389,
1313
"readyTimeout": 20000
1414
},
15+
"logging": {
16+
"logScreenOnMouseclicks": true,
17+
"logKeypress": false
18+
},
1519
"useminified": false,
1620
"header": {
1721
"text": null,

socket/index.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,11 @@ module.exports = function (socket) {
7979
// clean older connection
8080
rdpClient.close()
8181
}
82+
console.log('WebRDP Login: user=' + socket.request.session.username + ' from=' + socket.handshake.address + ' host=' + socket.request.session.rdp.host + ' port=' + socket.request.session.rdp.port + ' sessionID=' + socket.request.sessionID + '/' + socket.id + ' allowreplay=' + socket.request.session.rdp.allowreplay)
83+
socket.emit('title', 'rdp://' + socket.request.session.rdp.host)
84+
socket.request.session.rdp.header.background && socket.emit('headerBackground', socket.request.session.rdp.header.background)
85+
socket.request.session.rdp.header.name && socket.emit('header', socket.request.session.rdp.header.name)
86+
8287
socket.emit('headerBackground', 'green')
8388
socket.emit('header', '//HEADER//')
8489

0 commit comments

Comments
 (0)