Version 1.0.16

This commit is contained in:
Ylian Saint-Hilaire 2022-05-04 13:48:09 -07:00
parent 491a6b918e
commit f24c38a7b2
4 changed files with 2001 additions and 1780 deletions

View File

@ -1,6 +1,6 @@
{
"name": "meshcentral",
"version": "1.0.15",
"version": "1.0.16",
"keywords": [
"Remote Device Management",
"Remote Device Monitoring",

1
public/scripts/agent-rdp-0.0.1-min.js vendored Normal file
View File

@ -0,0 +1 @@
var CreateRDPDesktop=function(e){var s={};function a(e){return(!0===s.m.SwapMouse?[2,0,1,0,0]:[1,0,2,0,0])[e]}function i(e){s.State!=e&&(s.State=e,null!=s.onStateChanged&&s.onStateChanged(s,s.State))}function n(e){var t=s.Canvas.canvas.height/s.CanvasId.clientHeight,a=s.Canvas.canvas.width/s.CanvasId.clientWidth,n=function(e){var t=Array(2);for(t[0]=t[1]=0;e;)t[0]+=e.offsetLeft,t[1]+=e.offsetTop,e=e.offsetParent;return t}(s.Canvas.canvas),a=(e.pageX-n[0])*a,t=(e.pageY-n[1])*t;return e.addx&&(a+=e.addx),e.addy&&(t+=e.addy),{x:a,y:t}}return s.m={},s.State=0,s.canvas=Q(e),"string"==typeof(s.CanvasId=e)&&(s.CanvasId=Q(e)),s.Canvas=s.CanvasId.getContext("2d"),s.ScreenWidth=s.width=1280,s.ScreenHeight=s.height=1024,s.Start=function(e,t,a){i(1),s.nodeid=e,s.port=t;var n={savepass:(s.credentials=a).savecred,useServerCreds:a.servercred,width:a.width,height:a.height,flags:a.flags};a.width&&a.height&&(n.width=s.ScreenWidth=s.width=a.width,n.height=s.ScreenHeight=s.height=a.height,delete a.width,delete a.height),s.render=new Mstsc.Canvas.create(s.canvas),s.socket=new WebSocket("wss://"+window.location.host+"/mstscrelay.ashx"),s.socket.binaryType="arraybuffer",s.socket.onopen=function(){i(2),s.socket.send(JSON.stringify(["infos",{ip:s.nodeid,port:s.port,screen:{width:s.width,height:s.height},domain:a.domain,username:a.username,password:a.password,options:n,locale:Mstsc.locale()}]))},s.socket.onmessage=function(e){if("string"==typeof e.data){var t=JSON.parse(e.data);switch(t[0]){case"rdp-connect":i(3),s.rotation=0,s.Canvas.setTransform(1,0,0,1,0,0),s.Canvas.canvas.width=s.ScreenWidth,s.Canvas.canvas.height=s.ScreenHeight,s.Canvas.fillRect(0,0,s.ScreenWidth,s.ScreenHeight),null!=s.m.onScreenSizeChange&&s.m.onScreenSizeChange(s,s.ScreenWidth,s.ScreenHeight,s.CanvasId);break;case"rdp-bitmap":if(null==s.bitmapData)break;var a=t[1];a.data=s.bitmapData,delete s.bitmapData,s.render.update(a);break;case"rdp-close":s.Stop();break;case"rdp-error":a=t[1];console.log("[mstsc.js] error : "+a.code+"("+a.message+")"),s.Stop()}}else s.bitmapData=e.data},s.socket.onclose=function(){i(0)},i(1)},s.Stop=function(){s.Canvas.fillRect(0,0,s.ScreenWidth,s.ScreenHeight),s.socket&&s.socket.close()},s.m.mousemove=function(e){if(s.socket&&3==s.State){var t=n(e);if(!(t.x<0||t.y<0||t.x>s.ScreenWidth||t.y>s.ScreenHeight))return s.mouseNagleData=["mouse",t.x,t.y,0,!1],null==s.mouseNagleTimer&&(s.mouseNagleTimer=setTimeout(function(){s.socket.send(JSON.stringify(s.mouseNagleData)),s.mouseNagleTimer=null},50)),e.preventDefault(),!1}},s.m.mouseup=function(e){if(s.socket&&3==s.State){var t=n(e);if(!(t.x<0||t.y<0||t.x>s.ScreenWidth||t.y>s.ScreenHeight))return null!=s.mouseNagleTimer&&(clearTimeout(s.mouseNagleTimer),s.mouseNagleTimer=null),s.socket.send(JSON.stringify(["mouse",t.x,t.y,a(e.button),!1])),e.preventDefault(),!1}},s.m.mousedown=function(e){if(s.socket&&3==s.State){var t=n(e);if(!(t.x<0||t.y<0||t.x>s.ScreenWidth||t.y>s.ScreenHeight))return null!=s.mouseNagleTimer&&(clearTimeout(s.mouseNagleTimer),s.mouseNagleTimer=null),s.socket.send(JSON.stringify(["mouse",t.x,t.y,a(e.button),!0])),e.preventDefault(),!1}},s.m.handleKeyUp=function(e){if(s.socket&&3==s.State)return s.socket.send(JSON.stringify(["scancode",Mstsc.scancode(e),!1])),e.preventDefault(),!1},s.m.handleKeyDown=function(e){if(s.socket&&3==s.State)return s.socket.send(JSON.stringify(["scancode",Mstsc.scancode(e),!0])),e.preventDefault(),!1},s.m.mousedblclick=function(){},s.m.handleKeyPress=function(){},s.m.setRotation=function(){},s}

File diff suppressed because it is too large Load Diff

View File

@ -688,8 +688,9 @@
<div id=deskarea4 class="areaFoot">
<div class="toright2">
<span id="DeskLatency" title="Desktop Session Latency"></span>
<span id="DeskTimer" title="Session time"></span>
<input id=DeskToolsButton type=button value=Tools style="margin-right:4px" title="Toggle tools view" onkeypress="return false" onkeydown="return false" onclick="toggleDeskTools()" />
<span id="DeskTimer" style="line-height:22px" title="Session time"></span>
<input id=DeskToolsButton type=button value=Tools title="Toggle tools view" onkeypress="return false" onkeydown="return false" onclick="toggleDeskTools()" />
<span>&nbsp</span>
<span id=DeskChatButton class="deskarea" title="Open chat window to this computer"><img class="desktopButtons" src='images/icon-chat.png' onclick=deviceChat(event) height=16 width=16 style=padding-top:2px /></span>
<span id=DeskNotifyButton title="Display a notification on the remote computer"><img class="desktopButtons" src='images/icon-notify.png' onclick=deviceToastFunction() height=16 width=16 style=padding-top:2px /></span>
<span id=DeskLockButton title="Lock the remote computer"><img src='images/icon-lock.png' class="desktopButtons" onclick=deviceLockFunction() height=16 width=16 /></span>
@ -1358,7 +1359,7 @@
</select>
</div>
<div>
<div>Optimizations</div>
<div>Options</div>
<div id="d7rdpflags" style="display:block">
<label style="display:block"><input type="checkbox" id="d7rdp1" />Disable Wallpaper</label>
<label style="display:block"><input type="checkbox" id="d7rdp2" />Disable Full Window Drag</label>