New MeshAgents (except macOS and FreeBSD + Many fixes + MessageBox feature.
Ylian Saint-Hilaire committed
May 18, 2020 at 17:57 UTC
0c1fbc43693e2e07cd2e562eefa3c403284652ca
29 files changed
+1602
-1500
MeshCentralServer.njsproj
+1
@@ -449,6 +449,7 @@
449
<Content Include="public\translate.bat" />
450
<Content Include="public\translator.htm" />
451
<Content Include="readme.md" />
452
+ <Content Include="sample-config-advanced.json" />
453
<Content Include="sample-config.json" />
454
<Content Include="SourceFileList.txt" />
455
<Content Include="translate\readme.txt" />
agents/MeshCmd-signed.exe
Binary files a/agents/MeshCmd-signed.exe and b/agents/MeshCmd-signed.exe differ
agents/MeshCmd64-signed.exe
Binary files a/agents/MeshCmd64-signed.exe and b/agents/MeshCmd64-signed.exe differ
agents/MeshService-signed.exe
Binary files a/agents/MeshService-signed.exe and b/agents/MeshService-signed.exe differ
agents/MeshService.exe
Binary files a/agents/MeshService.exe and b/agents/MeshService.exe differ
agents/MeshService64-signed.exe
Binary files a/agents/MeshService64-signed.exe and b/agents/MeshService64-signed.exe differ
agents/MeshService64.exe
Binary files a/agents/MeshService64.exe and b/agents/MeshService64.exe differ
agents/meshagent_arm
Binary files a/agents/meshagent_arm and b/agents/meshagent_arm differ
agents/meshagent_arm-linaro
Binary files a/agents/meshagent_arm-linaro and b/agents/meshagent_arm-linaro differ
agents/meshagent_arm64
Binary files a/agents/meshagent_arm64 and b/agents/meshagent_arm64 differ
agents/meshagent_armhf
Binary files a/agents/meshagent_armhf and b/agents/meshagent_armhf differ
agents/meshagent_mips
Binary files a/agents/meshagent_mips and b/agents/meshagent_mips differ
agents/meshagent_pogo
Binary files a/agents/meshagent_pogo and b/agents/meshagent_pogo differ
agents/meshagent_poky
Binary files a/agents/meshagent_poky and b/agents/meshagent_poky differ
agents/meshagent_poky64
Binary files a/agents/meshagent_poky64 and b/agents/meshagent_poky64 differ
agents/meshagent_x86
Binary files a/agents/meshagent_x86 and b/agents/meshagent_x86 differ
agents/meshagent_x86-64
Binary files a/agents/meshagent_x86-64 and b/agents/meshagent_x86-64 differ
agents/meshagent_x86-64_nokvm
Binary files a/agents/meshagent_x86-64_nokvm and b/agents/meshagent_x86-64_nokvm differ
agents/meshagent_x86_nokvm
Binary files a/agents/meshagent_x86_nokvm and b/agents/meshagent_x86_nokvm differ
agents/meshcore.js
+9
@@ -683,6 +683,15 @@ function createMeshCore(agent) {
683
}
684
break;
685
}
686
+ case 'messagebox': {
687
+ // Display a message box
688
+ if (data.title && data.msg) {
689
+ MeshServerLog("Displaying message box, title=" + data.title + ", message=" + data.msg, data);
690
+ data.msg = data.msg.split('\r').join('\\r').split('\n').join('\\n');
691
+ try { require('message-box').create(data.title, data.msg, 120); } catch (ex) { }
692
+ }
693
+ break;
694
+ }
695
case 'ps': {
696
// Return the list of running processes
697
if (data.sessionid) {
docs/MeshCentral2 Install Guide v0.0.9.odt
Binary files a/docs/MeshCentral2 Install Guide v0.0.9.odt and b/docs/MeshCentral2 Install Guide v0.0.9.odt differ
public/scripts/agent-desktop-0.0.2-min.js
+1
-1
@@ -1 +1 @@
1
-var CreateAgentRemoteDesktop=function(e,t){var g={};"string"==typeof(g.CanvasId=e)&&(g.CanvasId=Q(e)),g.Canvas=g.CanvasId.getContext("2d"),g.scrolldiv=t,g.State=0,g.PendingOperations=[],g.tilesReceived=0,g.TilesDrawn=0,g.KillDraw=0,g.ipad=!1,g.tabletKeyboardVisible=!1,g.LastX=0,g.LastY=0,g.touchenabled=0,g.submenuoffset=0,g.touchtimer=null,g.TouchArray={},g.connectmode=0,g.connectioncount=0,g.rotation=0,g.protocol=2,g.debugmode=0,g.firstUpKeys=[],g.stopInput=!1,g.localKeyMap=!0,g.pressedKeys=[],g.sessionid=0,g.username,g.oldie=!1,g.CompressionLevel=50,g.ScalingLevel=1024,g.FrameRateTimer=100,g.FirstDraw=!1,g.ScreenWidth=960,g.ScreenHeight=700,g.width=960,g.height=960,g.displays=null,g.selectedDisplay=null,g.onScreenSizeChange=null,g.onMessage=null,g.onConnectCountChanged=null,g.onDebugMessage=null,g.onTouchEnabledChanged=null,g.onDisplayinfo=null;var v=!(g.accumulator=null),p="default";g.mouseCursorActive=function(e){v!=e&&(v=e,g.CanvasId.style.cursor=1==e?p:"default")};var f=["default","progress","crosshair","pointer","help","text","no-drop","move","nesw-resize","ns-resize","nwse-resize","w-resize","alias","wait","none","not-allowed","col-resize","row-resize","copy","zoom-in","zoom-out"];g.Start=function(){g.State=0,g.accumulator=null},g.Stop=function(){g.setRotation(0),g.UnGrabKeyInput(),g.UnGrabMouseInput(),g.touchenabled=0,null!=g.onScreenSizeChange&&g.onScreenSizeChange(g,g.ScreenWidth,g.ScreenHeight,g.CanvasId),g.Canvas.clearRect(0,0,g.CanvasId.width,g.CanvasId.height)},g.xxStateChange=function(e){if(g.State!=e)switch(g.State=e,g.CanvasId.style.cursor="default",e){case 0:g.Stop()}},g.send=function(e){1<g.debugmode&&console.log("KSend("+e.length+"): "+rstr2hex(e)),null!=g.parent&&g.parent.send(e)},g.ProcessPictureMsg=function(e,t,n){var o=new Image;o.xcount=g.tilesReceived++;var a=g.tilesReceived;o.src="data:image/jpeg;base64,"+btoa(e.substring(4,e.length)),o.onload=function(){if(null!=g.Canvas&&g.KillDraw<a&&0!=g.State)for(g.PendingOperations.push([a,2,o,t,n]);g.DoPendingOperations(););},o.error=function(){console.log("DecodeTileError")}},g.DoPendingOperations=function(){if(0==g.PendingOperations.length)return!1;for(var e=0;e<g.PendingOperations.length;e++){var t=g.PendingOperations[e];if(t[0]==g.TilesDrawn+1)return 1==t[1]?g.ProcessCopyRectMsg(t[2]):2==t[1]&&(g.Canvas.drawImage(t[2],g.rotX(t[3],t[4]),g.rotY(t[3],t[4])),delete t[2]),g.PendingOperations.splice(e,1),delete t,g.TilesDrawn++,g.TilesDrawn==g.tilesReceived&&g.KillDraw<g.TilesDrawn&&(g.KillDraw=g.TilesDrawn=g.tilesReceived=0),!0}return g.oldie&&0<g.PendingOperations.length&&g.TilesDrawn++,!1},g.ProcessCopyRectMsg=function(e){var t=((255&e.charCodeAt(0))<<8)+(255&e.charCodeAt(1)),n=((255&e.charCodeAt(2))<<8)+(255&e.charCodeAt(3)),o=((255&e.charCodeAt(4))<<8)+(255&e.charCodeAt(5)),a=((255&e.charCodeAt(6))<<8)+(255&e.charCodeAt(7)),r=((255&e.charCodeAt(8))<<8)+(255&e.charCodeAt(9)),s=((255&e.charCodeAt(10))<<8)+(255&e.charCodeAt(11));g.Canvas.drawImage(Canvas.canvas,t,n,r,s,o,a,r,s)},g.SendUnPause=function(){g.send(String.fromCharCode(0,8,0,5,0))},g.SendPause=function(){g.send(String.fromCharCode(0,8,0,5,1))},g.SendCompressionLevel=function(e,t,n,o){t&&(g.CompressionLevel=t),n&&(g.ScalingLevel=n),o&&(g.FrameRateTimer=o),g.send(String.fromCharCode(0,5,0,10,e,g.CompressionLevel)+g.shortToStr(g.ScalingLevel)+g.shortToStr(g.FrameRateTimer))},g.SendRefresh=function(){g.send(String.fromCharCode(0,6,0,4))},g.ProcessScreenMsg=function(e,t){for(0<g.debugmode&&console.log("ScreenSize: "+e+" x "+t),g.Canvas.setTransform(1,0,0,1,0,0),g.rotation=0,g.FirstDraw=!0,g.ScreenWidth=g.width=e,g.ScreenHeight=g.height=t,g.KillDraw=g.tilesReceived;0<g.PendingOperations.length;)g.PendingOperations.shift();g.SendCompressionLevel(1),g.SendUnPause(),null!=g.onScreenSizeChange&&g.onScreenSizeChange(g,g.ScreenWidth,g.ScreenHeight,g.CanvasId)},g.ProcessData=function(e){for(var t=0;t<e.length;){var n=g.ProcessDataEx(e.substring(t));if(null==n||0==n)break;t+=n}},g.ProcessDataEx=function(e){if(null!=g.accumulator&&(e=g.accumulator+e,g.accumulator=null),1<g.debugmode&&console.log("KRecv("+e.length+"): "+rstr2hex(e.substring(0,Math.min(e.length,40)))),!(e.length<4)){var t=null,n=0,o=0,a=ReadShort(e,0),r=ReadShort(e,2),s=0;if(null!=g.recordedData&&(g.recordedData.push(S(2,1,e.length)),g.recordedData.push(e)),27==a&&8==r){if(e.length<12)return;if(a=ReadShort(e,8),(r=ReadInt(e,4))+8>e.length)return void(g.accumulator=e);e=e.substring(8),s=8}if(r!=e.length&&0<g.debugmode&&console.log(r,e.length,r==e.length),18<=a&&65!=a&&88!=a)return console.error("Invalid KVM command "+a+" of size "+r),console.log("Invalid KVM data",e.length,rstr2hex(e.substring(0,40))+"..."),void(g.parent&&g.parent.setConsoleMessage&&g.parent.setConsoleMessage("Received invalid network data",5));if(!(r>e.length)){switch(3!=a&&4!=a&&7!=a||(n=((255&(t=e.substring(4,r)).charCodeAt(0))<<8)+(255&t.charCodeAt(1)),o=((255&t.charCodeAt(2))<<8)+(255&t.charCodeAt(3)),0<g.debugmode&&console.log("CMD"+a+" at X="+n+" Y="+o)),a){case 3:g.FirstDraw&&g.onResize(),g.ProcessPictureMsg(t,n,o);break;case 4:g.FirstDraw&&g.onResize(),g.TilesDrawn==g.tilesReceived?g.ProcessCopyRectMsg(t):g.PendingOperations.push([++tilesReceived,1,t]);break;case 7:g.ProcessScreenMsg(n,o),g.SendKeyMsgKC(g.KeyAction.UP,16),g.SendKeyMsgKC(g.KeyAction.UP,17),g.SendKeyMsgKC(g.KeyAction.UP,18),g.SendKeyMsgKC(g.KeyAction.UP,91),g.SendKeyMsgKC(g.KeyAction.UP,92),g.SendKeyMsgKC(g.KeyAction.UP,16),g.send(String.fromCharCode(0,14,0,4));break;case 11:var i=0,c={},u=((255&e.charCodeAt(4))<<8)+(255&e.charCodeAt(5));if(0<u){i=((255&e.charCodeAt(6+2*u))<<8)+(255&e.charCodeAt(7+2*u));for(var l=0;l<u;l++){var d=((255&e.charCodeAt(6+2*l))<<8)+(255&e.charCodeAt(7+2*l));c[d]=65535==d?"All Displays":"Display "+d}}g.displays=c,g.selectedDisplay=i,null!=g.onDisplayinfo&&g.onDisplayinfo(g,c,i);break;case 12:break;case 14:g.touchenabled=1,g.TouchArray={},null!=g.onTouchEnabledChanged&&g.onTouchEnabledChanged(g.touchenabled);break;case 15:g.TouchArray={};break;case 16:g.connectioncount=ReadInt(e,4),null!=g.onConnectCountChanged&&g.onConnectCountChanged(g.connectioncount,g);break;case 17:null!=g.onMessage&&g.onMessage(e.substring(4,r),g);break;case 65:"."!=(e=e.substring(4))[0]?(console.log(e),g.parent&&g.parent.setConsoleMessage&&g.parent.setConsoleMessage(e)):console.log("KVM: "+e.substring(1));break;case 88:if(5!=r)break;var h=e.charCodeAt(4);f.length<h&&(h=0),p=f[h],v&&(g.CanvasId.style.cursor=p)}return r+s}g.accumulator=e}},g.MouseButton={NONE:0,LEFT:2,RIGHT:8,MIDDLE:32},g.KeyAction={NONE:0,DOWN:1,UP:2,SCROLL:3,EXUP:4,EXDOWN:5,DBLCLICK:6},g.InputType={KEY:1,MOUSE:2,CTRLALTDEL:10,TOUCH:15},g.Alternate=0;var o={Pause:19,CapsLock:20,Space:32,Quote:222,Minus:189,NumpadMultiply:106,NumpadAdd:107,PrintScreen:44,Comma:188,NumpadSubtract:109,NumpadDecimal:110,Period:190,Slash:191,NumpadDivide:111,Semicolon:186,Equal:187,OSLeft:91,BracketLeft:219,OSRight:91,Backslash:220,BracketRight:221,ContextMenu:93,Backquote:192,NumLock:144,ScrollLock:145,Backspace:8,Tab:9,Enter:13,NumpadEnter:13,Escape:27,Delete:46,Home:36,PageUp:33,PageDown:34,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,End:35,Insert:45,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,ShiftLeft:16,ShiftRight:16,ControlLeft:17,ControlRight:17,AltLeft:18,AltRight:18,MetaLeft:91,MetaRight:92,VolumeMute:181};function S(e,t,n){var o=Date.now();return"number"==typeof n?(g.recordedSize+=n,g.shortToStr(e)+g.shortToStr(t)+g.intToStr(n)+g.intToStr(o>>32)+g.intToStr(32&o)):(g.recordedSize+=n.length,g.shortToStr(e)+g.shortToStr(t)+g.intToStr(n.length)+g.intToStr(o>>32)+g.intToStr(32&o)+n)}return g.SendKeyMsg=function(e,t){var n;null!=e&&((t=t||window.event).code&&0==g.localKeyMap?null!=(n=function(e){return e.code.startsWith("Key")&&4==e.code.length?e.code.charCodeAt(3):e.code.startsWith("Digit")&&6==e.code.length?e.code.charCodeAt(5):e.code.startsWith("Numpad")&&7==e.code.length?e.code.charCodeAt(6)+48:o[e.code]}(t))&&g.SendKeyMsgKC(e,n):(59==(n=t.keyCode)?n=186:173==n?n=189:61==n&&(n=187),g.SendKeyMsgKC(e,n)))},g.SendMessage=function(e){3==g.State&&g.send(String.fromCharCode(0,17)+g.shortToStr(4+e.length)+e)},g.SendKeyMsgKC=function(e,t){if(3==g.State)if("object"==typeof e)for(var n in e)g.SendKeyMsgKC(e[n][0],e[n][1]);else{if(1==e)-1==g.pressedKeys.indexOf(t)&&g.pressedKeys.unshift(t);else if(2==e){-1!=(n=g.pressedKeys.indexOf(t))&&g.pressedKeys.splice(n,1)}g.send(String.fromCharCode(0,g.InputType.KEY,0,6,e-1,t))}},g.sendcad=function(){g.SendCtrlAltDelMsg()},g.SendCtrlAltDelMsg=function(){3==g.State&&g.send(String.fromCharCode(0,g.InputType.CTRLALTDEL,0,4))},g.SendEscKey=function(){3==g.State&&g.send(String.fromCharCode(0,g.InputType.KEY,0,6,0,27,0,g.InputType.KEY,0,6,1,27))},g.SendStartMsg=function(){g.SendKeyMsgKC(g.KeyAction.EXDOWN,91),g.SendKeyMsgKC(g.KeyAction.EXUP,91)},g.SendCharmsMsg=function(){g.SendKeyMsgKC(g.KeyAction.EXDOWN,91),g.SendKeyMsgKC(g.KeyAction.DOWN,67),g.SendKeyMsgKC(g.KeyAction.UP,67),g.SendKeyMsgKC(g.KeyAction.EXUP,91)},g.SendTouchMsg1=function(e,t,n,o){3==g.State&&g.send(String.fromCharCode(0,g.InputType.TOUCH)+g.shortToStr(14)+String.fromCharCode(1,e)+g.intToStr(t)+g.shortToStr(n)+g.shortToStr(o))},g.SendTouchMsg2=function(e,t){var n,o="";for(var a in g.TouchArray)a==e?n=t:1==g.TouchArray[a].f?(n=65542,g.TouchArray[a].f=3,"START"+a):2==g.TouchArray[a].f?(n=262144,"STOP"+a):n=131078,o+=String.fromCharCode(a)+g.intToStr(n)+g.shortToStr(g.TouchArray[a].x)+g.shortToStr(g.TouchArray[a].y),2==g.TouchArray[a].f&&delete g.TouchArray[a];3==g.State&&g.send(String.fromCharCode(0,g.InputType.TOUCH)+g.shortToStr(5+o.length)+String.fromCharCode(2)+o),0==Object.keys(g.TouchArray).length&&null!=g.touchtimer&&(clearInterval(g.touchtimer),g.touchtimer=null)},g.SendMouseMsg=function(e,t){if(3==g.State&&null!=e&&null!=g.Canvas){if(!t)t=window.event;var n=g.Canvas.canvas.height/g.CanvasId.clientHeight,o=g.Canvas.canvas.width/g.CanvasId.clientWidth,a=g.GetPositionOfControl(g.Canvas.canvas),r=(t.pageX-a[0])*o,s=(t.pageY-a[1])*n;if(t.addx&&(r+=t.addx),t.addy&&(s+=t.addy),0<=r&&r<=g.Canvas.canvas.width&&0<=s&&s<=g.Canvas.canvas.height){var i=0,c=0;e==g.KeyAction.UP||e==g.KeyAction.DOWN?t.which?i=1==t.which?g.MouseButton.LEFT:2==t.which?g.MouseButton.MIDDLE:g.MouseButton.RIGHT:t.button&&(i=0==t.button?g.MouseButton.LEFT:1==t.button?g.MouseButton.MIDDLE:g.MouseButton.RIGHT):e==g.KeyAction.SCROLL&&(t.detail?c=120*t.detail*-1:t.wheelDelta&&(c=3*t.wheelDelta));var u="";u=e==g.KeyAction.DBLCLICK?String.fromCharCode(0,g.InputType.MOUSE,0,10,0,136,r/256&255,255&r,s/256&255,255&s):e==g.KeyAction.SCROLL?String.fromCharCode(0,g.InputType.MOUSE,0,12,0,0,r/256&255,255&r,s/256&255,255&s,c/256&255,255&c):String.fromCharCode(0,g.InputType.MOUSE,0,10,0,e==g.KeyAction.DOWN?i:2*i&255,r/256&255,255&r,s/256&255,255&s),g.Action==g.KeyAction.NONE?0==g.Alternate||g.ipad?(g.send(u),g.Alternate=1):g.Alternate=0:g.send(u)}}},g.GetDisplayNumbers=function(){g.send(String.fromCharCode(0,11,0,4))},g.SetDisplay=function(e){g.send(String.fromCharCode(0,12,0,6,e>>8,255&e))},g.intToStr=function(e){return String.fromCharCode(e>>24&255,e>>16&255,e>>8&255,255&e)},g.shortToStr=function(e){return String.fromCharCode(e>>8&255,255&e)},g.onResize=function(){0!=g.ScreenWidth&&0!=g.ScreenHeight&&(g.Canvas.canvas.width==g.ScreenWidth&&g.Canvas.canvas.height==g.ScreenHeight||(g.FirstDraw&&(g.Canvas.canvas.width=g.ScreenWidth,g.Canvas.canvas.height=g.ScreenHeight,g.Canvas.fillRect(0,0,g.ScreenWidth,g.ScreenHeight),null!=g.onScreenSizeChange&&g.onScreenSizeChange(g,g.ScreenWidth,g.ScreenHeight,g.CanvasId)),g.FirstDraw=!1))},g.xxMouseInputGrab=!1,g.xxKeyInputGrab=!1,g.xxMouseMove=function(e){return 3==g.State&&g.SendMouseMsg(g.KeyAction.NONE,e),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},g.xxMouseUp=function(e){return 3==g.State&&g.SendMouseMsg(g.KeyAction.UP,e),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},g.xxMouseDown=function(e){return 3==g.State&&g.SendMouseMsg(g.KeyAction.DOWN,e),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},g.xxMouseDblClick=function(e){return 3==g.State&&g.SendMouseMsg(g.KeyAction.DBLCLICK,e),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},g.xxDOMMouseScroll=function(e){return 3!=g.State||(g.SendMouseMsg(g.KeyAction.SCROLL,e),!1)},g.xxMouseWheel=function(e){return 3!=g.State||(g.SendMouseMsg(g.KeyAction.SCROLL,e),!1)},g.xxKeyUp=function(e){return 3==g.State&&g.SendKeyMsg(g.KeyAction.UP,e),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},g.xxKeyDown=function(e){return 3==g.State&&g.SendKeyMsg(g.KeyAction.DOWN,e),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},g.xxKeyPress=function(e){return e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},g.handleKeys=function(e){return 1!=g.stopInput&&3==desktop.State&&g.xxKeyPress(e)},g.handleKeyUp=function(e){if(1==g.stopInput||3!=desktop.State)return!1;if(g.firstUpKeys.length<5&&(g.firstUpKeys.push(e.keyCode),5==g.firstUpKeys.length)){var t=g.firstUpKeys.join(",");"16,17,91,91,16"!=t&&"16,17,18,91,92"!=t||(g.stopInput=!0)}return g.xxKeyUp(e)},g.handleKeyDown=function(e){return 1!=g.stopInput&&3==desktop.State&&g.xxKeyDown(e)},g.handleReleaseKeys=function(){var e=JSON.parse(JSON.stringify(g.pressedKeys));for(var t in e)g.SendKeyMsgKC(g.KeyAction.UP,e[t])},g.mousedblclick=function(e){return 1!=g.stopInput&&g.xxMouseDblClick(e)},g.mousedown=function(e){return 1!=g.stopInput&&g.xxMouseDown(e)},g.mouseup=function(e){return 1!=g.stopInput&&g.xxMouseUp(e)},g.mousemove=function(e){return 1!=g.stopInput&&g.xxMouseMove(e)},g.mousewheel=function(e){return 1!=g.stopInput&&g.xxMouseWheel(e)},g.xxMsTouchEvent=function(e){if(4!=e.originalEvent.pointerType){if(e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),"MSPointerDown"==e.type||"MSPointerMove"==e.type||"MSPointerUp"==e.type){var t=0,n=e.originalEvent.pointerId%256,o=e.offsetX*(Canvas.canvas.width/g.CanvasId.clientWidth),a=e.offsetY*(Canvas.canvas.height/g.CanvasId.clientHeight);"MSPointerDown"==e.type?t=65542:"MSPointerMove"==e.type?t=131078:"MSPointerUp"==e.type&&(t=262144),g.TouchArray[n]||(g.TouchArray[n]={x:o,y:a}),g.SendTouchMsg2(n,t),"MSPointerUp"==e.type&&delete g.TouchArray[n]}else alert(e.type);return!0}},g.xxTouchStart=function(e){if(3==g.State)if(e.preventDefault&&e.preventDefault(),0==g.touchenabled||1==g.touchenabled){if(1<e.originalEvent.touches.length)return;var t=e.originalEvent.touches[0];e.which=1,g.LastX=e.pageX=t.pageX,g.LastY=e.pageY=t.pageY,g.SendMouseMsg(KeyAction.DOWN,e)}else{var n=g.GetPositionOfControl(Canvas.canvas);for(var o in e.originalEvent.changedTouches)if(e.originalEvent.changedTouches[o].identifier){var a=e.originalEvent.changedTouches[o].identifier%256;g.TouchArray[a]||(g.TouchArray[a]={x:(e.originalEvent.touches[o].pageX-n[0])*(Canvas.canvas.width/g.CanvasId.clientWidth),y:(e.originalEvent.touches[o].pageY-n[1])*(Canvas.canvas.height/g.CanvasId.clientHeight),f:1})}0<Object.keys(g.TouchArray).length&&null==touchtimer&&(g.touchtimer=setInterval(function(){g.SendTouchMsg2(256,0)},50))}},g.xxTouchMove=function(e){if(3==g.State)if(e.preventDefault&&e.preventDefault(),0==g.touchenabled||1==g.touchenabled){if(1<e.originalEvent.touches.length)return;var t=e.originalEvent.touches[0];e.which=1,g.LastX=e.pageX=t.pageX,g.LastY=e.pageY=t.pageY,g.SendMouseMsg(g.KeyAction.NONE,e)}else{var n=g.GetPositionOfControl(Canvas.canvas);for(var o in e.originalEvent.changedTouches)if(e.originalEvent.changedTouches[o].identifier){var a=e.originalEvent.changedTouches[o].identifier%256;g.TouchArray[a]&&(g.TouchArray[a].x=(e.originalEvent.touches[o].pageX-n[0])*(g.Canvas.canvas.width/g.CanvasId.clientWidth),g.TouchArray[a].y=(e.originalEvent.touches[o].pageY-n[1])*(g.Canvas.canvas.height/g.CanvasId.clientHeight))}}},g.xxTouchEnd=function(e){if(3==g.State)if(e.preventDefault&&e.preventDefault(),0==g.touchenabled||1==g.touchenabled){if(1<e.originalEvent.touches.length)return;e.which=1,e.pageX=LastX,e.pageY=LastY,g.SendMouseMsg(KeyAction.UP,e)}else for(var t in e.originalEvent.changedTouches)if(e.originalEvent.changedTouches[t].identifier){var n=e.originalEvent.changedTouches[t].identifier%256;g.TouchArray[n]&&(g.TouchArray[n].f=2)}},g.GrabMouseInput=function(){if(1!=g.xxMouseInputGrab){var e=g.CanvasId;e.onmousemove=g.xxMouseMove,e.onmouseup=g.xxMouseUp,e.onmousedown=g.xxMouseDown,e.touchstart=g.xxTouchStart,e.touchmove=g.xxTouchMove,e.touchend=g.xxTouchEnd,e.MSPointerDown=g.xxMsTouchEvent,e.MSPointerMove=g.xxMsTouchEvent,e.MSPointerUp=g.xxMsTouchEvent,navigator.userAgent.match(/mozilla/i)?e.DOMMouseScroll=g.xxDOMMouseScroll:e.onmousewheel=g.xxMouseWheel,g.xxMouseInputGrab=!0}},g.UnGrabMouseInput=function(){if(0!=g.xxMouseInputGrab){var e=g.CanvasId;e.onmousemove=null,e.onmouseup=null,e.onmousedown=null,e.touchstart=null,e.touchmove=null,e.touchend=null,e.MSPointerDown=null,e.MSPointerMove=null,e.MSPointerUp=null,navigator.userAgent.match(/mozilla/i)?e.DOMMouseScroll=null:e.onmousewheel=null,g.xxMouseInputGrab=!1}},g.GrabKeyInput=function(){1!=g.xxKeyInputGrab&&(document.onkeyup=g.xxKeyUp,document.onkeydown=g.xxKeyDown,document.onkeypress=g.xxKeyPress,g.xxKeyInputGrab=!0)},g.UnGrabKeyInput=function(){0!=g.xxKeyInputGrab&&(document.onkeyup=null,document.onkeydown=null,document.onkeypress=null,g.xxKeyInputGrab=!1)},g.GetPositionOfControl=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},g.crotX=function(e,t){return 0==g.rotation?e:1==g.rotation?t:2==g.rotation?g.Canvas.canvas.width-e:3==g.rotation?g.Canvas.canvas.height-t:void 0},g.crotY=function(e,t){return 0==g.rotation?t:1==g.rotation?g.Canvas.canvas.width-e:2==g.rotation?g.Canvas.canvas.height-t:3==g.rotation?e:void 0},g.rotX=function(e,t){return 0==g.rotation||1==g.rotation?e:2==g.rotation?e-g.Canvas.canvas.width:3==g.rotation?e-g.Canvas.canvas.height:void 0},g.rotY=function(e,t){return 0==g.rotation||3==g.rotation?t:1==g.rotation?t-g.Canvas.canvas.width:2==g.rotation?t-g.Canvas.canvas.height:void 0},g.tcanvas=null,g.setRotation=function(e){for(;e<0;)e+=4;var t=e%4;if(t==g.rotation)return!0;var n=g.Canvas.canvas.width,o=g.Canvas.canvas.height;1!=g.rotation&&3!=g.rotation||(n=g.Canvas.canvas.height,o=g.Canvas.canvas.width),null==g.tcanvas&&(g.tcanvas=document.createElement("canvas"));var a=g.tcanvas.getContext("2d");return a.setTransform(1,0,0,1,0,0),a.canvas.width=n,a.canvas.height=o,a.rotate(-90*g.rotation*Math.PI/180),0==g.rotation&&a.drawImage(g.Canvas.canvas,0,0),1==g.rotation&&a.drawImage(g.Canvas.canvas,-g.Canvas.canvas.width,0),2==g.rotation&&a.drawImage(g.Canvas.canvas,-g.Canvas.canvas.width,-g.Canvas.canvas.height),3==g.rotation&&a.drawImage(g.Canvas.canvas,0,-g.Canvas.canvas.height),0!=g.rotation&&2!=g.rotation||(g.Canvas.canvas.height=n,g.Canvas.canvas.width=o),1!=g.rotation&&3!=g.rotation||(g.Canvas.canvas.height=o,g.Canvas.canvas.width=n),g.Canvas.setTransform(1,0,0,1,0,0),g.Canvas.rotate(90*t*Math.PI/180),g.rotation=t,g.Canvas.drawImage(g.tcanvas,g.rotX(0,0),g.rotY(0,0)),g.ScreenWidth=g.Canvas.canvas.width,g.ScreenHeight=g.Canvas.canvas.height,null!=g.onScreenSizeChange&&g.onScreenSizeChange(g,g.ScreenWidth,g.ScreenHeight,g.CanvasId),!0},g.StartRecording=function(){null==g.recordedData&&g.CanvasId.toBlob(function(e){var s=new FileReader;s.readAsArrayBuffer(e),s.onload=function(e){for(var t="",n=new Uint8Array(s.result),o=n.byteLength,a=0;a<o;a++)t+=String.fromCharCode(n[a]);g.recordedData=[],g.recordedStart=Date.now(),g.recordedSize=0,g.recordedData.push(S(1,0,JSON.stringify({magic:"MeshCentralRelaySession",ver:1,time:(new Date).toLocaleString(),protocol:2}))),g.recordedData.push(S(2,1,g.shortToStr(7)+g.shortToStr(8)+g.shortToStr(g.ScreenWidth)+g.shortToStr(g.ScreenHeight)));var r=4+t.length;65e3<r?g.recordedData.push(S(2,1,g.shortToStr(27)+g.shortToStr(8)+g.intToStr(r)+g.shortToStr(3)+g.shortToStr(0)+g.shortToStr(0)+g.shortToStr(0)+t)):g.recordedData.push(S(2,1,g.shortToStr(3)+g.shortToStr(r)+g.shortToStr(0)+g.shortToStr(0)+t))}})},g.StopRecording=function(){if(null!=g.recordedData){var e=g.recordedData;return e.push(S(3,0,"MeshCentralMCREC")),delete g.recordedData,delete g.recordedStart,delete g.recordedSize,e}},g.MuchTheSame=function(e,t){return Math.abs(e-t)<4},g.Debug=function(e){console.log(e)},g.getIEVersion=function(){var e=-1;if("Microsoft Internet Explorer"==navigator.appName){var t=navigator.userAgent;null!=new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})").exec(t)&&(e=parseFloat(RegExp.$1))}return e},g.haltEvent=function(e){return e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},g}
\ No newline at end of file
1
+var CreateAgentRemoteDesktop=function(e,n){var h={};"string"==typeof(h.CanvasId=e)&&(h.CanvasId=Q(e)),h.Canvas=h.CanvasId.getContext("2d"),h.scrolldiv=n,h.State=0,h.PendingOperations=[],h.tilesReceived=0,h.TilesDrawn=0,h.KillDraw=0,h.ipad=!1,h.tabletKeyboardVisible=!1,h.LastX=0,h.LastY=0,h.touchenabled=0,h.submenuoffset=0,h.touchtimer=null,h.TouchArray={},h.connectmode=0,h.connectioncount=0,h.rotation=0,h.protocol=2,h.debugmode=0,h.firstUpKeys=[],h.stopInput=!1,h.localKeyMap=!0,h.pressedKeys=[],h.sessionid=0,h.username,h.oldie=!1,h.CompressionLevel=50,h.ScalingLevel=1024,h.FrameRateTimer=100,h.FirstDraw=!1,h.ScreenWidth=960,h.ScreenHeight=700,h.width=960,h.height=960,h.displays=null,h.selectedDisplay=null,h.onScreenSizeChange=null,h.onMessage=null,h.onConnectCountChanged=null,h.onDebugMessage=null,h.onTouchEnabledChanged=null,h.onDisplayinfo=null;var g=!(h.accumulator=null),p="default";h.mouseCursorActive=function(e){g!=e&&(g=e,h.CanvasId.style.cursor=1==e?p:"default")};var v=["default","progress","crosshair","pointer","help","text","no-drop","move","nesw-resize","ns-resize","nwse-resize","w-resize","alias","wait","none","not-allowed","col-resize","row-resize","copy","zoom-in","zoom-out"];h.Start=function(){h.State=0,h.accumulator=null},h.Stop=function(){h.setRotation(0),h.UnGrabKeyInput(),h.UnGrabMouseInput(),h.touchenabled=0,null!=h.onScreenSizeChange&&h.onScreenSizeChange(h,h.ScreenWidth,h.ScreenHeight,h.CanvasId),h.Canvas.clearRect(0,0,h.CanvasId.width,h.CanvasId.height)},h.xxStateChange=function(e){if(h.State!=e)switch(h.State=e,h.CanvasId.style.cursor="default",e){case 0:h.Stop()}},h.send=function(e){1<h.debugmode&&console.log("KSend("+e.length+"): "+rstr2hex(e)),null!=h.parent&&h.parent.send(e)},h.ProcessPictureMsg=function(e,n,t){var o=new Image;o.xcount=h.tilesReceived++;for(var a=h.tilesReceived,r=e.slice(4),i=0,s=[];5e4<r.byteLength-i;)s.push(String.fromCharCode.apply(null,r.slice(i,i+5e4))),i+=5e4;0<i?s.push(String.fromCharCode.apply(null,r.slice(i))):s.push(String.fromCharCode.apply(null,r)),o.src="data:image/jpeg;base64,"+btoa(s.join("")),o.onload=function(){if(null!=h.Canvas&&h.KillDraw<a&&0!=h.State)for(h.PendingOperations.push([a,2,o,n,t]);h.DoPendingOperations(););else h.PendingOperations.push([a,0])},o.error=function(){console.log("DecodeTileError")}},h.DoPendingOperations=function(){if(0==h.PendingOperations.length)return!1;for(var e=0;e<h.PendingOperations.length;e++){var n=h.PendingOperations[e];if(n[0]==h.TilesDrawn+1)return 1==n[1]?h.ProcessCopyRectMsg(n[2]):2==n[1]&&(h.Canvas.drawImage(n[2],h.rotX(n[3],n[4]),h.rotY(n[3],n[4])),delete n[2]),h.PendingOperations.splice(e,1),delete n,h.TilesDrawn++,h.TilesDrawn==h.tilesReceived&&h.KillDraw<h.TilesDrawn&&(h.KillDraw=h.TilesDrawn=h.tilesReceived=0),!0}return h.oldie&&0<h.PendingOperations.length&&h.TilesDrawn++,!1},h.ProcessCopyRectMsg=function(e){var n=((255&e.charCodeAt(0))<<8)+(255&e.charCodeAt(1)),t=((255&e.charCodeAt(2))<<8)+(255&e.charCodeAt(3)),o=((255&e.charCodeAt(4))<<8)+(255&e.charCodeAt(5)),a=((255&e.charCodeAt(6))<<8)+(255&e.charCodeAt(7)),r=((255&e.charCodeAt(8))<<8)+(255&e.charCodeAt(9)),i=((255&e.charCodeAt(10))<<8)+(255&e.charCodeAt(11));h.Canvas.drawImage(Canvas.canvas,n,t,r,i,o,a,r,i)},h.SendUnPause=function(){h.send(String.fromCharCode(0,8,0,5,0))},h.SendPause=function(){h.send(String.fromCharCode(0,8,0,5,1))},h.SendCompressionLevel=function(e,n,t,o){n&&(h.CompressionLevel=n),t&&(h.ScalingLevel=t),o&&(h.FrameRateTimer=o),h.send(String.fromCharCode(0,5,0,10,e,h.CompressionLevel)+h.shortToStr(h.ScalingLevel)+h.shortToStr(h.FrameRateTimer))},h.SendRefresh=function(){h.send(String.fromCharCode(0,6,0,4))},h.ProcessScreenMsg=function(e,n){for(0<h.debugmode&&console.log("ScreenSize: "+e+" x "+n),h.Canvas.setTransform(1,0,0,1,0,0),h.rotation=0,h.FirstDraw=!0,h.ScreenWidth=h.width=e,h.ScreenHeight=h.height=n,h.KillDraw=h.tilesReceived;0<h.PendingOperations.length;)h.PendingOperations.shift();h.SendCompressionLevel(1),h.SendUnPause(),null!=h.onScreenSizeChange&&h.onScreenSizeChange(h,h.ScreenWidth,h.ScreenHeight,h.CanvasId)},h.ProcessBinaryCommand=function(e,n,t){var o,a;switch(3!=e&&4!=e&&7!=e||(o=(t[4]<<8)+t[5],a=(t[6]<<8)+t[7]),e){case 3:h.FirstDraw&&h.onResize(),h.ProcessPictureMsg(t.slice(4),o,a);break;case 7:h.ProcessScreenMsg(o,a),h.SendKeyMsgKC(h.KeyAction.UP,16),h.SendKeyMsgKC(h.KeyAction.UP,17),h.SendKeyMsgKC(h.KeyAction.UP,18),h.SendKeyMsgKC(h.KeyAction.UP,91),h.SendKeyMsgKC(h.KeyAction.UP,92),h.SendKeyMsgKC(h.KeyAction.UP,16),h.send(String.fromCharCode(0,14,0,4));break;case 11:var r=0,i={},s=(t[4]<<8)+t[5];if(0<s){r=(t[6+2*s]<<8)+t[7+2*s];for(var c=0;c<s;c++){var u=(t[6+2*c]<<8)+t[7+2*c];i[u]=65535==u?"All Displays":"Display "+u}}h.displays=i,h.selectedDisplay=r,null!=h.onDisplayinfo&&h.onDisplayinfo(h,i,r);break;case 12:break;case 14:h.touchenabled=1,h.TouchArray={},null!=h.onTouchEnabledChanged&&h.onTouchEnabledChanged(h.touchenabled);break;case 15:h.TouchArray={};break;case 17:var l=String.fromCharCode.apply(null,data.slice(4));h.Debug("Got KVM Message: "+l),null!=h.onMessage&&h.onMessage(l,h);break;case 65:"."!=(l=String.fromCharCode.apply(null,data.slice(4)))[0]?(console.log(l),h.parent&&h.parent.setConsoleMessage&&h.parent.setConsoleMessage(l)):console.log("KVM: "+l.substring(1));break;case 88:if(5!=n)break;var d=t[4];v.length<d&&(d=0),p=v[d],g&&(h.CanvasId.style.cursor=p);break;default:console.log("Unknown command",e,n)}},h.MouseButton={NONE:0,LEFT:2,RIGHT:8,MIDDLE:32},h.KeyAction={NONE:0,DOWN:1,UP:2,SCROLL:3,EXUP:4,EXDOWN:5,DBLCLICK:6},h.InputType={KEY:1,MOUSE:2,CTRLALTDEL:10,TOUCH:15},h.Alternate=0;var o={Pause:19,CapsLock:20,Space:32,Quote:222,Minus:189,NumpadMultiply:106,NumpadAdd:107,PrintScreen:44,Comma:188,NumpadSubtract:109,NumpadDecimal:110,Period:190,Slash:191,NumpadDivide:111,Semicolon:186,Equal:187,OSLeft:91,BracketLeft:219,OSRight:91,Backslash:220,BracketRight:221,ContextMenu:93,Backquote:192,NumLock:144,ScrollLock:145,Backspace:8,Tab:9,Enter:13,NumpadEnter:13,Escape:27,Delete:46,Home:36,PageUp:33,PageDown:34,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,End:35,Insert:45,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,ShiftLeft:16,ShiftRight:16,ControlLeft:17,ControlRight:17,AltLeft:18,AltRight:18,MetaLeft:91,MetaRight:92,VolumeMute:181};function s(e,n,t){var o=Date.now();return"number"==typeof t?(h.recordedSize+=t,h.shortToStr(e)+h.shortToStr(n)+h.intToStr(t)+h.intToStr(o>>32)+h.intToStr(32&o)):(h.recordedSize+=t.length,h.shortToStr(e)+h.shortToStr(n)+h.intToStr(t.length)+h.intToStr(o>>32)+h.intToStr(32&o)+t)}return h.SendKeyMsg=function(e,n){var t;null!=e&&((n=n||window.event).code&&0==h.localKeyMap?null!=(t=function(e){return e.code.startsWith("Key")&&4==e.code.length?e.code.charCodeAt(3):e.code.startsWith("Digit")&&6==e.code.length?e.code.charCodeAt(5):e.code.startsWith("Numpad")&&7==e.code.length?e.code.charCodeAt(6)+48:o[e.code]}(n))&&h.SendKeyMsgKC(e,t):(59==(t=n.keyCode)?t=186:173==t?t=189:61==t&&(t=187),h.SendKeyMsgKC(e,t)))},h.SendMessage=function(e){3==h.State&&h.send(String.fromCharCode(0,17)+h.shortToStr(4+e.length)+e)},h.SendKeyMsgKC=function(e,n){if(3==h.State)if("object"==typeof e)for(var t in e)h.SendKeyMsgKC(e[t][0],e[t][1]);else{if(1==e)-1==h.pressedKeys.indexOf(n)&&h.pressedKeys.unshift(n);else if(2==e){-1!=(t=h.pressedKeys.indexOf(n))&&h.pressedKeys.splice(t,1)}h.send(String.fromCharCode(0,h.InputType.KEY,0,6,e-1,n))}},h.sendcad=function(){h.SendCtrlAltDelMsg()},h.SendCtrlAltDelMsg=function(){3==h.State&&h.send(String.fromCharCode(0,h.InputType.CTRLALTDEL,0,4))},h.SendEscKey=function(){3==h.State&&h.send(String.fromCharCode(0,h.InputType.KEY,0,6,0,27,0,h.InputType.KEY,0,6,1,27))},h.SendStartMsg=function(){h.SendKeyMsgKC(h.KeyAction.EXDOWN,91),h.SendKeyMsgKC(h.KeyAction.EXUP,91)},h.SendCharmsMsg=function(){h.SendKeyMsgKC(h.KeyAction.EXDOWN,91),h.SendKeyMsgKC(h.KeyAction.DOWN,67),h.SendKeyMsgKC(h.KeyAction.UP,67),h.SendKeyMsgKC(h.KeyAction.EXUP,91)},h.SendTouchMsg1=function(e,n,t,o){3==h.State&&h.send(String.fromCharCode(0,h.InputType.TOUCH)+h.shortToStr(14)+String.fromCharCode(1,e)+h.intToStr(n)+h.shortToStr(t)+h.shortToStr(o))},h.SendTouchMsg2=function(e,n){var t,o="";for(var a in h.TouchArray)a==e?t=n:1==h.TouchArray[a].f?(t=65542,h.TouchArray[a].f=3,"START"+a):2==h.TouchArray[a].f?(t=262144,"STOP"+a):t=131078,o+=String.fromCharCode(a)+h.intToStr(t)+h.shortToStr(h.TouchArray[a].x)+h.shortToStr(h.TouchArray[a].y),2==h.TouchArray[a].f&&delete h.TouchArray[a];3==h.State&&h.send(String.fromCharCode(0,h.InputType.TOUCH)+h.shortToStr(5+o.length)+String.fromCharCode(2)+o),0==Object.keys(h.TouchArray).length&&null!=h.touchtimer&&(clearInterval(h.touchtimer),h.touchtimer=null)},h.SendMouseMsg=function(e,n){if(3==h.State&&null!=e&&null!=h.Canvas){if(!n)n=window.event;var t=h.Canvas.canvas.height/h.CanvasId.clientHeight,o=h.Canvas.canvas.width/h.CanvasId.clientWidth,a=h.GetPositionOfControl(h.Canvas.canvas),r=(n.pageX-a[0])*o,i=(n.pageY-a[1])*t;if(n.addx&&(r+=n.addx),n.addy&&(i+=n.addy),0<=r&&r<=h.Canvas.canvas.width&&0<=i&&i<=h.Canvas.canvas.height){var s=0,c=0;e==h.KeyAction.UP||e==h.KeyAction.DOWN?n.which?s=1==n.which?h.MouseButton.LEFT:2==n.which?h.MouseButton.MIDDLE:h.MouseButton.RIGHT:n.button&&(s=0==n.button?h.MouseButton.LEFT:1==n.button?h.MouseButton.MIDDLE:h.MouseButton.RIGHT):e==h.KeyAction.SCROLL&&(n.detail?c=120*n.detail*-1:n.wheelDelta&&(c=3*n.wheelDelta));var u="";u=e==h.KeyAction.DBLCLICK?String.fromCharCode(0,h.InputType.MOUSE,0,10,0,136,r/256&255,255&r,i/256&255,255&i):e==h.KeyAction.SCROLL?String.fromCharCode(0,h.InputType.MOUSE,0,12,0,0,r/256&255,255&r,i/256&255,255&i,c/256&255,255&c):String.fromCharCode(0,h.InputType.MOUSE,0,10,0,e==h.KeyAction.DOWN?s:2*s&255,r/256&255,255&r,i/256&255,255&i),h.Action==h.KeyAction.NONE?0==h.Alternate||h.ipad?(h.send(u),h.Alternate=1):h.Alternate=0:h.send(u)}}},h.GetDisplayNumbers=function(){h.send(String.fromCharCode(0,11,0,4))},h.SetDisplay=function(e){h.send(String.fromCharCode(0,12,0,6,e>>8,255&e))},h.intToStr=function(e){return String.fromCharCode(e>>24&255,e>>16&255,e>>8&255,255&e)},h.shortToStr=function(e){return String.fromCharCode(e>>8&255,255&e)},h.onResize=function(){0!=h.ScreenWidth&&0!=h.ScreenHeight&&(h.Canvas.canvas.width==h.ScreenWidth&&h.Canvas.canvas.height==h.ScreenHeight||(h.FirstDraw&&(h.Canvas.canvas.width=h.ScreenWidth,h.Canvas.canvas.height=h.ScreenHeight,h.Canvas.fillRect(0,0,h.ScreenWidth,h.ScreenHeight),null!=h.onScreenSizeChange&&h.onScreenSizeChange(h,h.ScreenWidth,h.ScreenHeight,h.CanvasId)),h.FirstDraw=!1))},h.xxMouseInputGrab=!1,h.xxKeyInputGrab=!1,h.xxMouseMove=function(e){return 3==h.State&&h.SendMouseMsg(h.KeyAction.NONE,e),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},h.xxMouseUp=function(e){return 3==h.State&&h.SendMouseMsg(h.KeyAction.UP,e),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},h.xxMouseDown=function(e){return 3==h.State&&h.SendMouseMsg(h.KeyAction.DOWN,e),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},h.xxMouseDblClick=function(e){return 3==h.State&&h.SendMouseMsg(h.KeyAction.DBLCLICK,e),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},h.xxDOMMouseScroll=function(e){return 3!=h.State||(h.SendMouseMsg(h.KeyAction.SCROLL,e),!1)},h.xxMouseWheel=function(e){return 3!=h.State||(h.SendMouseMsg(h.KeyAction.SCROLL,e),!1)},h.xxKeyUp=function(e){return 3==h.State&&h.SendKeyMsg(h.KeyAction.UP,e),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},h.xxKeyDown=function(e){return 3==h.State&&h.SendKeyMsg(h.KeyAction.DOWN,e),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},h.xxKeyPress=function(e){return e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},h.handleKeys=function(e){return 1!=h.stopInput&&3==desktop.State&&h.xxKeyPress(e)},h.handleKeyUp=function(e){if(1==h.stopInput||3!=desktop.State)return!1;if(h.firstUpKeys.length<5&&(h.firstUpKeys.push(e.keyCode),5==h.firstUpKeys.length)){var n=h.firstUpKeys.join(",");"16,17,91,91,16"!=n&&"16,17,18,91,92"!=n||(h.stopInput=!0)}return h.xxKeyUp(e)},h.handleKeyDown=function(e){return 1!=h.stopInput&&3==desktop.State&&h.xxKeyDown(e)},h.handleReleaseKeys=function(){var e=JSON.parse(JSON.stringify(h.pressedKeys));for(var n in e)h.SendKeyMsgKC(h.KeyAction.UP,e[n])},h.mousedblclick=function(e){return 1!=h.stopInput&&h.xxMouseDblClick(e)},h.mousedown=function(e){return 1!=h.stopInput&&h.xxMouseDown(e)},h.mouseup=function(e){return 1!=h.stopInput&&h.xxMouseUp(e)},h.mousemove=function(e){return 1!=h.stopInput&&h.xxMouseMove(e)},h.mousewheel=function(e){return 1!=h.stopInput&&h.xxMouseWheel(e)},h.xxMsTouchEvent=function(e){if(4!=e.originalEvent.pointerType){if(e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),"MSPointerDown"==e.type||"MSPointerMove"==e.type||"MSPointerUp"==e.type){var n=0,t=e.originalEvent.pointerId%256,o=e.offsetX*(Canvas.canvas.width/h.CanvasId.clientWidth),a=e.offsetY*(Canvas.canvas.height/h.CanvasId.clientHeight);"MSPointerDown"==e.type?n=65542:"MSPointerMove"==e.type?n=131078:"MSPointerUp"==e.type&&(n=262144),h.TouchArray[t]||(h.TouchArray[t]={x:o,y:a}),h.SendTouchMsg2(t,n),"MSPointerUp"==e.type&&delete h.TouchArray[t]}else alert(e.type);return!0}},h.xxTouchStart=function(e){if(3==h.State)if(e.preventDefault&&e.preventDefault(),0==h.touchenabled||1==h.touchenabled){if(1<e.originalEvent.touches.length)return;var n=e.originalEvent.touches[0];e.which=1,h.LastX=e.pageX=n.pageX,h.LastY=e.pageY=n.pageY,h.SendMouseMsg(KeyAction.DOWN,e)}else{var t=h.GetPositionOfControl(Canvas.canvas);for(var o in e.originalEvent.changedTouches)if(e.originalEvent.changedTouches[o].identifier){var a=e.originalEvent.changedTouches[o].identifier%256;h.TouchArray[a]||(h.TouchArray[a]={x:(e.originalEvent.touches[o].pageX-t[0])*(Canvas.canvas.width/h.CanvasId.clientWidth),y:(e.originalEvent.touches[o].pageY-t[1])*(Canvas.canvas.height/h.CanvasId.clientHeight),f:1})}0<Object.keys(h.TouchArray).length&&null==touchtimer&&(h.touchtimer=setInterval(function(){h.SendTouchMsg2(256,0)},50))}},h.xxTouchMove=function(e){if(3==h.State)if(e.preventDefault&&e.preventDefault(),0==h.touchenabled||1==h.touchenabled){if(1<e.originalEvent.touches.length)return;var n=e.originalEvent.touches[0];e.which=1,h.LastX=e.pageX=n.pageX,h.LastY=e.pageY=n.pageY,h.SendMouseMsg(h.KeyAction.NONE,e)}else{var t=h.GetPositionOfControl(Canvas.canvas);for(var o in e.originalEvent.changedTouches)if(e.originalEvent.changedTouches[o].identifier){var a=e.originalEvent.changedTouches[o].identifier%256;h.TouchArray[a]&&(h.TouchArray[a].x=(e.originalEvent.touches[o].pageX-t[0])*(h.Canvas.canvas.width/h.CanvasId.clientWidth),h.TouchArray[a].y=(e.originalEvent.touches[o].pageY-t[1])*(h.Canvas.canvas.height/h.CanvasId.clientHeight))}}},h.xxTouchEnd=function(e){if(3==h.State)if(e.preventDefault&&e.preventDefault(),0==h.touchenabled||1==h.touchenabled){if(1<e.originalEvent.touches.length)return;e.which=1,e.pageX=LastX,e.pageY=LastY,h.SendMouseMsg(KeyAction.UP,e)}else for(var n in e.originalEvent.changedTouches)if(e.originalEvent.changedTouches[n].identifier){var t=e.originalEvent.changedTouches[n].identifier%256;h.TouchArray[t]&&(h.TouchArray[t].f=2)}},h.GrabMouseInput=function(){if(1!=h.xxMouseInputGrab){var e=h.CanvasId;e.onmousemove=h.xxMouseMove,e.onmouseup=h.xxMouseUp,e.onmousedown=h.xxMouseDown,e.touchstart=h.xxTouchStart,e.touchmove=h.xxTouchMove,e.touchend=h.xxTouchEnd,e.MSPointerDown=h.xxMsTouchEvent,e.MSPointerMove=h.xxMsTouchEvent,e.MSPointerUp=h.xxMsTouchEvent,navigator.userAgent.match(/mozilla/i)?e.DOMMouseScroll=h.xxDOMMouseScroll:e.onmousewheel=h.xxMouseWheel,h.xxMouseInputGrab=!0}},h.UnGrabMouseInput=function(){if(0!=h.xxMouseInputGrab){var e=h.CanvasId;e.onmousemove=null,e.onmouseup=null,e.onmousedown=null,e.touchstart=null,e.touchmove=null,e.touchend=null,e.MSPointerDown=null,e.MSPointerMove=null,e.MSPointerUp=null,navigator.userAgent.match(/mozilla/i)?e.DOMMouseScroll=null:e.onmousewheel=null,h.xxMouseInputGrab=!1}},h.GrabKeyInput=function(){1!=h.xxKeyInputGrab&&(document.onkeyup=h.xxKeyUp,document.onkeydown=h.xxKeyDown,document.onkeypress=h.xxKeyPress,h.xxKeyInputGrab=!0)},h.UnGrabKeyInput=function(){0!=h.xxKeyInputGrab&&(document.onkeyup=null,document.onkeydown=null,document.onkeypress=null,h.xxKeyInputGrab=!1)},h.GetPositionOfControl=function(e){var n=Array(2);for(n[0]=n[1]=0;e;)n[0]+=e.offsetLeft,n[1]+=e.offsetTop,e=e.offsetParent;return n},h.crotX=function(e,n){return 0==h.rotation?e:1==h.rotation?n:2==h.rotation?h.Canvas.canvas.width-e:3==h.rotation?h.Canvas.canvas.height-n:void 0},h.crotY=function(e,n){return 0==h.rotation?n:1==h.rotation?h.Canvas.canvas.width-e:2==h.rotation?h.Canvas.canvas.height-n:3==h.rotation?e:void 0},h.rotX=function(e,n){return 0==h.rotation||1==h.rotation?e:2==h.rotation?e-h.Canvas.canvas.width:3==h.rotation?e-h.Canvas.canvas.height:void 0},h.rotY=function(e,n){return 0==h.rotation||3==h.rotation?n:1==h.rotation?n-h.Canvas.canvas.width:2==h.rotation?n-h.Canvas.canvas.height:void 0},h.tcanvas=null,h.setRotation=function(e){for(;e<0;)e+=4;var n=e%4;if(n==h.rotation)return!0;var t=h.Canvas.canvas.width,o=h.Canvas.canvas.height;1!=h.rotation&&3!=h.rotation||(t=h.Canvas.canvas.height,o=h.Canvas.canvas.width),null==h.tcanvas&&(h.tcanvas=document.createElement("canvas"));var a=h.tcanvas.getContext("2d");return a.setTransform(1,0,0,1,0,0),a.canvas.width=t,a.canvas.height=o,a.rotate(-90*h.rotation*Math.PI/180),0==h.rotation&&a.drawImage(h.Canvas.canvas,0,0),1==h.rotation&&a.drawImage(h.Canvas.canvas,-h.Canvas.canvas.width,0),2==h.rotation&&a.drawImage(h.Canvas.canvas,-h.Canvas.canvas.width,-h.Canvas.canvas.height),3==h.rotation&&a.drawImage(h.Canvas.canvas,0,-h.Canvas.canvas.height),0!=h.rotation&&2!=h.rotation||(h.Canvas.canvas.height=t,h.Canvas.canvas.width=o),1!=h.rotation&&3!=h.rotation||(h.Canvas.canvas.height=o,h.Canvas.canvas.width=t),h.Canvas.setTransform(1,0,0,1,0,0),h.Canvas.rotate(90*n*Math.PI/180),h.rotation=n,h.Canvas.drawImage(h.tcanvas,h.rotX(0,0),h.rotY(0,0)),h.ScreenWidth=h.Canvas.canvas.width,h.ScreenHeight=h.Canvas.canvas.height,null!=h.onScreenSizeChange&&h.onScreenSizeChange(h,h.ScreenWidth,h.ScreenHeight,h.CanvasId),!0},h.StartRecording=function(){null==h.recordedData&&h.CanvasId.toBlob(function(e){var i=new FileReader;i.readAsArrayBuffer(e),i.onload=function(e){for(var n="",t=new Uint8Array(i.result),o=t.byteLength,a=0;a<o;a++)n+=String.fromCharCode(t[a]);h.recordedData=[],h.recordedStart=Date.now(),h.recordedSize=0,h.recordedData.push(s(1,0,JSON.stringify({magic:"MeshCentralRelaySession",ver:1,time:(new Date).toLocaleString(),protocol:2}))),h.recordedData.push(s(2,1,h.shortToStr(7)+h.shortToStr(8)+h.shortToStr(h.ScreenWidth)+h.shortToStr(h.ScreenHeight)));var r=4+n.length;65e3<r?h.recordedData.push(s(2,1,h.shortToStr(27)+h.shortToStr(8)+h.intToStr(r)+h.shortToStr(3)+h.shortToStr(0)+h.shortToStr(0)+h.shortToStr(0)+n)):h.recordedData.push(s(2,1,h.shortToStr(3)+h.shortToStr(r)+h.shortToStr(0)+h.shortToStr(0)+n))}})},h.StopRecording=function(){if(null!=h.recordedData){var e=h.recordedData;return e.push(s(3,0,"MeshCentralMCREC")),delete h.recordedData,delete h.recordedStart,delete h.recordedSize,e}},h.MuchTheSame=function(e,n){return Math.abs(e-n)<4},h.Debug=function(e){console.log(e)},h.getIEVersion=function(){var e=-1;if("Microsoft Internet Explorer"==navigator.appName){var n=navigator.userAgent;null!=new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})").exec(n)&&(e=parseFloat(RegExp.$1))}return e},h.haltEvent=function(e){return e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},h}
\ No newline at end of file
public/scripts/agent-desktop-0.0.2.js
+10
-5
@@ -107,14 +107,18 @@ var CreateAgentRemoteDesktop = function (canvasid, scrolldiv) {
107
//if (obj.targetnode != null) obj.Debug("ProcessPictureMsg " + X + "," + Y + " - " + obj.targetnode.substring(0, 8));
108
var tile = new Image();
109
tile.xcount = obj.tilesReceived++;
110
- //console.log('Tile #' + tile.xcount);
111
- var r = obj.tilesReceived;
112
- tile.src = "data:image/jpeg;base64," + btoa(String.fromCharCode.apply(null, data.slice(4)));
110
+ var r = obj.tilesReceived, tdata = data.slice(4), ptr = 0, strs = [];
111
+ // String.fromCharCode.apply() can't handle very large argument count, so we have to split like this.
112
+ while ((tdata.byteLength - ptr) > 50000) { strs.push(String.fromCharCode.apply(null, tdata.slice(ptr, ptr + 50000))); ptr += 50000; }
113
+ if (ptr > 0) { strs.push(String.fromCharCode.apply(null, tdata.slice(ptr))); } else { strs.push(String.fromCharCode.apply(null, tdata)); }
114
+ tile.src = "data:image/jpeg;base64," + btoa(strs.join(''));
115
tile.onload = function () {
116
//console.log('DecodeTile #' + this.xcount);
115
- if (obj.Canvas != null && obj.KillDraw < r && obj.State != 0) {
117
+ if ((obj.Canvas != null) && (obj.KillDraw < r) && (obj.State != 0)) {
118
obj.PendingOperations.push([r, 2, tile, X, Y]);
119
while (obj.DoPendingOperations()) { }
120
+ } else {
121
+ obj.PendingOperations.push([r, 0]);
122
}
123
}
124
tile.error = function () { console.log('DecodeTileError'); }
@@ -130,7 +134,7 @@ var CreateAgentRemoteDesktop = function (canvasid, scrolldiv) {
134
obj.PendingOperations.splice(i, 1);
135
delete Msg;
136
obj.TilesDrawn++;
133
- if (obj.TilesDrawn == obj.tilesReceived && obj.KillDraw < obj.TilesDrawn) { obj.KillDraw = obj.TilesDrawn = obj.tilesReceived = 0; }
137
+ if ((obj.TilesDrawn == obj.tilesReceived) && (obj.KillDraw < obj.TilesDrawn)) { obj.KillDraw = obj.TilesDrawn = obj.tilesReceived = 0; }
138
return true;
139
}
140
}
@@ -164,6 +168,7 @@ var CreateAgentRemoteDesktop = function (canvasid, scrolldiv) {
168
if (level) { obj.CompressionLevel = level; }
169
if (scaling) { obj.ScalingLevel = scaling; }
170
if (frametimer) { obj.FrameRateTimer = frametimer; }
171
+ //console.log('SendCompressionLevel', obj.CompressionLevel, obj.ScalingLevel, obj.FrameRateTimer);
172
obj.send(String.fromCharCode(0x00, 0x05, 0x00, 0x0A, type, obj.CompressionLevel) + obj.shortToStr(obj.ScalingLevel) + obj.shortToStr(obj.FrameRateTimer));
173
}
174
public/scripts/agent-redir-ws-0.1.1-min.js
+1
-1
@@ -1 +1 @@
1
-var CreateAgentRedirect=function(e,t,n,o,a,r){var c={};function s(){1==c.webSwitchOk&&1==c.webRtcActive&&(c.latency.current=-1,c.sendCtrlMsg('{"ctrlChannel":"102938","type":"webrtc0"}'),c.sendCtrlMsg('{"ctrlChannel":"102938","type":"webrtc1"}'),null!=c.onStateChanged&&c.onStateChanged(c,c.State))}((c.m=t).parent=c).meshserver=e,c.authCookie=o,c.rauthCookie=a,c.State=0,c.nodeid=null,c.options=null,c.socket=null,c.connectstate=-1,c.tunnelid=Math.random().toString(36).substring(2),c.protocol=t.protocol,c.onStateChanged=null,c.ctrlMsgAllowed=!0,c.attemptWebRTC=!1,c.webRtcActive=!1,c.webSwitchOk=!1,c.webchannel=null,c.webrtc=null,c.debugmode=0,c.serverIsRecording=!1,c.latency={lastSend:null,current:-1,callback:null},null==r&&(r="/"),c.consoleMessage=null,c.onConsoleMessageChange=null,c.metadata=null,c.onMetadataChange=null,c.Start=function(e){var t=window.location.protocol.replace("http","ws")+"//"+window.location.host+window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/meshrelay.ashx?browser=1&p="+c.protocol+"&nodeid="+e+"&id="+c.tunnelid;null!=o&&""!=o&&(t+="&auth="+o),null!=urlargs&&null!=urlargs.slowrelay&&(t+="&slowrelay="+urlargs.slowrelay),c.nodeid=e,c.connectstate=0,c.socket=new WebSocket(t),c.socket.onopen=c.xxOnSocketConnected,c.socket.onmessage=c.xxOnMessage,c.socket.onerror=function(e){},c.socket.onclose=c.xxOnSocketClosed,c.xxStateChange(1);var n="*"+r+"meshrelay.ashx?p="+c.protocol+"&nodeid="+e+"&id="+c.tunnelid;null!=a&&""!=a&&(n+="&rauth="+a),c.meshserver.send({action:"msg",type:"tunnel",nodeid:c.nodeid,value:n,usage:c.protocol})},c.xxOnSocketConnected=function(){1==c.debugmode&&console.log("onSocketConnected"),c.xxStateChange(2)},c.xxOnControlCommand=function(e){var t;try{t=JSON.parse(e)}catch(e){return}"102938"==t.ctrlChannel?("undefined"!=typeof args&&args.redirtrace&&console.log("RedirRecv",t),"console"==t.type?c.setConsoleMessage(t.msg,t.msgid,t.msgargs,t.timeout):"metadata"==t.type?(c.metadata=t,c.onMetadataChange&&c.onMetadataChange(c.metadata)):"rtt"==t.type&&"number"==typeof t.time?(c.latency.current=(new Date).getTime()-t.time,null!=c.latency.callbacks&&c.latency.callback(c.latency.current)):null!=c.webrtc&&("answer"==t.type?c.webrtc.setRemoteDescription(new RTCSessionDescription(t),function(){},c.xxCloseWebRTC):"webrtc0"==t.type?(c.webSwitchOk=!0,s()):"webrtc1"==t.type?c.sendCtrlMsg('{"ctrlChannel":"102938","type":"webrtc2"}'):t.type)):c.xxOnSocketData(e)},c.setConsoleMessage=function(e,t,n,o){c.consoleMessage!=e&&(c.consoleMessage=e,c.consoleMessageId=t,c.consoleMessageArgs=n,c.consoleMessageTimeout=o,c.onConsoleMessageChange&&c.onConsoleMessageChange(c,c.consoleMessage,c.consoleMessageId))},c.sendCtrlMsg=function(e){if(1==c.ctrlMsgAllowed){"undefined"!=typeof args&&args.redirtrace&&console.log("RedirSend",typeof e,e);try{c.socket.send(e)}catch(e){}}},c.xxOnMessage=function(e){if(c.State<3&&("c"==e.data||"cr"==e.data)){if("cr"==e.data&&(c.serverIsRecording=!0),null!=c.options){delete c.options.action,c.options.type="options";try{c.sendCtrlMsg(JSON.stringify(c.options))}catch(e){}}try{c.socket.send(c.protocol)}catch(e){}if(c.xxStateChange(3),1==c.attemptWebRTC){"undefined"!=typeof RTCPeerConnection?c.webrtc=new RTCPeerConnection(null):"undefined"!=typeof webkitRTCPeerConnection&&(c.webrtc=new webkitRTCPeerConnection(null)),null!=c.webrtc&&c.webrtc.createDataChannel&&(c.webchannel=c.webrtc.createDataChannel("DataChannel",{}),c.webchannel.onmessage=c.xxOnMessage,c.webchannel.onopen=function(){c.webRtcActive=!0,s()},c.webchannel.onclose=function(e){c.webRtcActive&&c.Stop()},c.webrtc.onicecandidate=function(e){if(null==e.candidate)try{c.sendCtrlMsg(JSON.stringify(c.webrtcoffer))}catch(e){}else c.webrtcoffer.sdp+="a="+e.candidate.candidate+"\r\n"},c.webrtc.oniceconnectionstatechange=function(){null!=c.webrtc&&("disconnected"==c.webrtc.iceConnectionState?1==c.webRtcActive?c.Stop():c.xxCloseWebRTC():"failed"==c.webrtc.iceConnectionState&&c.xxCloseWebRTC())},c.webrtc.createOffer(function(e){c.webrtcoffer=e,c.webrtc.setLocalDescription(e,function(){},c.xxCloseWebRTC)},c.xxCloseWebRTC,{mandatory:{OfferToReceiveAudio:!1,OfferToReceiveVideo:!1}}))}}else if("string"!=typeof e.data){if("object"==typeof e.data){if(1==i)return void d.push(e.data);if(l.readAsBinaryString&&null==c.m.ProcessBinaryData)i=!0,l.readAsBinaryString(new Blob([e.data]));else if(l.readAsArrayBuffer)i=!0,l.readAsArrayBuffer(e.data);else{for(var t="",n=new Uint8Array(e.data),o=n.byteLength,a=0;a<o;a++)t+=String.fromCharCode(n[a]);c.xxOnSocketData(t)}}else c.xxOnSocketData(e.data);if(1!=c.webRtcActive){var r=(new Date).getTime();(null==c.latency.lastSend||5e3<r-c.latency.lastSend)&&(c.latency.lastSend=r,c.sendCtrlMsg('{"ctrlChannel":"102938","type":"rtt","time":'+r+"}"))}}else c.xxOnControlCommand(e.data)};var l=new FileReader,i=!1,d=[];return l.readAsBinaryString&&null==c.m.ProcessBinaryData?l.onload=function(e){c.xxOnSocketData(e.target.result),0==d.length?i=!1:l.readAsBinaryString(new Blob([d.shift()]))}:l.readAsArrayBuffer&&(l.onloadend=function(e){c.xxOnSocketData(e.target.result),0==d.length?i=!1:l.readAsArrayBuffer(d.shift())}),c.xxOnSocketData=function(e){if(e&&-1!=c.connectstate){if("object"==typeof e){if(c.m.ProcessBinaryData)return c.m.ProcessBinaryData(e);for(var t="",n=new Uint8Array(e),o=n.byteLength,a=0;a<o;a++)t+=String.fromCharCode(n[a]);e=t}else if("string"!=typeof e)return;return"undefined"!=typeof args&&args.redirtrace&&console.log("RedirRecv",typeof e,e.length,"{"==e[0]?e:rstr2hex(e).substring(0,64)),c.m.ProcessData(e)}},c.sendText=function(e){"string"!=typeof e&&(e=JSON.stringify(e)),c.send(encode_utf8(e))},c.send=function(e){"undefined"!=typeof args&&args.redirtrace&&console.log("RedirSend",typeof e,e.length,"{"==e[0]?e:rstr2hex(e).substring(0,64));try{if(null!=c.socket&&c.socket.readyState==WebSocket.OPEN)if("string"==typeof e)if(1==c.debugmode){for(var t=new Uint8Array(e.length),n=[],o=0;o<e.length;++o)t[o]=e.charCodeAt(o),n.push(e.charCodeAt(o));1==c.webRtcActive?c.webchannel.send(t.buffer):c.socket.send(t.buffer)}else{for(t=new Uint8Array(e.length),o=0;o<e.length;++o)t[o]=e.charCodeAt(o);1==c.webRtcActive?c.webchannel.send(t.buffer):c.socket.send(t.buffer)}else 1==c.webRtcActive?c.webchannel.send(e):c.socket.send(e)}catch(e){}},c.xxOnSocketClosed=function(){c.Stop(1)},c.xxStateChange=function(e){c.State!=e&&(c.State=e,c.m.xxStateChange(c.State),null!=c.onStateChanged&&c.onStateChanged(c,c.State))},c.xxCloseWebRTC=function(){if(null!=c.webchannel){try{c.webchannel.close()}catch(e){}c.webchannel=null}if(null!=c.webrtc){try{c.webrtc.close()}catch(e){}c.webrtc=null}c.webRtcActive=!1},c.Stop=function(e){if(1==c.debugmode&&console.log("stop",e),c.xxCloseWebRTC(),c.connectstate=-1,null!=c.socket){try{1==c.socket.readyState&&(c.sendCtrlMsg('{"ctrlChannel":"102938","type":"close"}'),c.socket.close())}catch(e){}c.socket=null}c.xxStateChange(0)},c}
\ No newline at end of file
1
+var CreateAgentRedirect=function(e,t,n,o,a,c){var s={};function l(){1==s.webSwitchOk&&1==s.webRtcActive&&(s.latency.current=-1,s.sendCtrlMsg('{"ctrlChannel":"102938","type":"webrtc0"}'),s.sendCtrlMsg('{"ctrlChannel":"102938","type":"webrtc1"}'),null!=s.onStateChanged&&s.onStateChanged(s,s.State))}((s.m=t).parent=s).meshserver=e,s.authCookie=o,s.rauthCookie=a,s.State=0,s.nodeid=null,s.options=null,s.socket=null,s.connectstate=-1,s.tunnelid=Math.random().toString(36).substring(2),s.protocol=t.protocol,s.onStateChanged=null,s.ctrlMsgAllowed=!0,s.attemptWebRTC=!1,s.webRtcActive=!1,s.webSwitchOk=!1,s.webchannel=null,s.webrtc=null,s.debugmode=0,s.serverIsRecording=!1,s.latency={lastSend:null,current:-1,callback:null},null==c&&(c="/"),s.consoleMessage=null,s.onConsoleMessageChange=null,s.metadata=null,s.onMetadataChange=null,s.Start=function(e){var t=window.location.protocol.replace("http","ws")+"//"+window.location.host+window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/meshrelay.ashx?browser=1&p="+s.protocol+"&nodeid="+e+"&id="+s.tunnelid;null!=o&&""!=o&&(t+="&auth="+o),null!=urlargs&&null!=urlargs.slowrelay&&(t+="&slowrelay="+urlargs.slowrelay),s.nodeid=e,s.connectstate=0,s.socket=new WebSocket(t),s.socket.binaryType="arraybuffer",s.socket.onopen=s.xxOnSocketConnected,s.socket.onmessage=s.xxOnMessage,s.socket.onerror=function(e){},s.socket.onclose=s.xxOnSocketClosed,s.xxStateChange(1);var n="*"+c+"meshrelay.ashx?p="+s.protocol+"&nodeid="+e+"&id="+s.tunnelid;null!=a&&""!=a&&(n+="&rauth="+a),s.meshserver.send({action:"msg",type:"tunnel",nodeid:s.nodeid,value:n,usage:s.protocol})},s.xxOnSocketConnected=function(){1==s.debugmode&&console.log("onSocketConnected"),s.xxStateChange(2)},s.xxOnControlCommand=function(e){var t;try{t=JSON.parse(e)}catch(e){return}"102938"==t.ctrlChannel?("undefined"!=typeof args&&args.redirtrace&&console.log("RedirRecv",t),"console"==t.type?s.setConsoleMessage(t.msg,t.msgid,t.msgargs,t.timeout):"metadata"==t.type?(s.metadata=t,s.onMetadataChange&&s.onMetadataChange(s.metadata)):"rtt"==t.type&&"number"==typeof t.time?(s.latency.current=(new Date).getTime()-t.time,null!=s.latency.callbacks&&s.latency.callback(s.latency.current)):null!=s.webrtc&&("answer"==t.type?s.webrtc.setRemoteDescription(new RTCSessionDescription(t),function(){},s.xxCloseWebRTC):"webrtc0"==t.type?(s.webSwitchOk=!0,l()):"webrtc1"==t.type?s.sendCtrlMsg('{"ctrlChannel":"102938","type":"webrtc2"}'):t.type)):s.m.ProcessData(e)},s.setConsoleMessage=function(e,t,n,o){s.consoleMessage!=e&&(s.consoleMessage=e,s.consoleMessageId=t,s.consoleMessageArgs=n,s.consoleMessageTimeout=o,s.onConsoleMessageChange&&s.onConsoleMessageChange(s,s.consoleMessage,s.consoleMessageId))},s.sendCtrlMsg=function(e){if(1==s.ctrlMsgAllowed){"undefined"!=typeof args&&args.redirtrace&&console.log("RedirSend",typeof e,e);try{s.socket.send(e)}catch(e){}}},s.xxOnMessage=function(e){if(s.State<3&&("c"==e.data||"cr"==e.data)){if("cr"==e.data&&(s.serverIsRecording=!0),null!=s.options){delete s.options.action,s.options.type="options";try{s.sendCtrlMsg(JSON.stringify(s.options))}catch(e){}}try{s.socket.send(s.protocol)}catch(e){}if(s.xxStateChange(3),1==s.attemptWebRTC){"undefined"!=typeof RTCPeerConnection?s.webrtc=new RTCPeerConnection(null):"undefined"!=typeof webkitRTCPeerConnection&&(s.webrtc=new webkitRTCPeerConnection(null)),null!=s.webrtc&&s.webrtc.createDataChannel&&(s.webchannel=s.webrtc.createDataChannel("DataChannel",{}),s.webchannel.binaryType="arraybuffer",s.webchannel.onmessage=s.xxOnMessage,s.webchannel.onopen=function(){s.webRtcActive=!0,l()},s.webchannel.onclose=function(e){s.webRtcActive&&s.Stop()},s.webrtc.onicecandidate=function(e){if(null==e.candidate)try{s.sendCtrlMsg(JSON.stringify(s.webrtcoffer))}catch(e){}else s.webrtcoffer.sdp+="a="+e.candidate.candidate+"\r\n"},s.webrtc.oniceconnectionstatechange=function(){null!=s.webrtc&&("disconnected"==s.webrtc.iceConnectionState?1==s.webRtcActive?s.Stop():s.xxCloseWebRTC():"failed"==s.webrtc.iceConnectionState&&s.xxCloseWebRTC())},s.webrtc.createOffer(function(e){s.webrtcoffer=e,s.webrtc.setLocalDescription(e,function(){},s.xxCloseWebRTC)},s.xxCloseWebRTC,{mandatory:{OfferToReceiveAudio:!1,OfferToReceiveVideo:!1}}))}}else if("string"==typeof e.data)s.xxOnControlCommand(e.data);else if(s.m.ProcessBinaryCommand)if(0!=u){var t=new Uint8Array(e.data);if(g.push(t),u+=t.byteLength,d<=u){var n=new Uint8Array(u),o=0;for(var a in g)n.set(g[a],o),o+=g[a].byteLength;s.m.ProcessBinaryCommand(i,d,n),u=d=i=0,g=[]}}else{var c=((t=new Uint8Array(e.data))[0]<<8)+t[1],r=(t[2]<<8)+t[3];27==c&&8==r&&(c=(t[8]<<8)+t[9],r=(t[5]<<16)+(t[6]<<8)+t[7],t=t.slice(8)),r!=t.byteLength?(i=c,d=r,u=t.byteLength,g=[t]):s.m.ProcessBinaryCommand(c,r,t)}else s.m.ProcessBinaryData?s.m.ProcessBinaryData(new Uint8Array(e.data)):s.m.ProcessData(String.fromCharCode.apply(null,new Uint8Array(e.data)))};var i=0,d=0,u=0,g=[];return s.sendText=function(e){"string"!=typeof e&&(e=JSON.stringify(e)),s.send(encode_utf8(e))},s.send=function(e){"undefined"!=typeof args&&args.redirtrace&&console.log("RedirSend",typeof e,e.length,"{"==e[0]?e:rstr2hex(e).substring(0,64));try{if(null!=s.socket&&s.socket.readyState==WebSocket.OPEN)if("string"==typeof e)if(1==s.debugmode){for(var t=new Uint8Array(e.length),n=[],o=0;o<e.length;++o)t[o]=e.charCodeAt(o),n.push(e.charCodeAt(o));1==s.webRtcActive?s.webchannel.send(t.buffer):s.socket.send(t.buffer)}else{for(t=new Uint8Array(e.length),o=0;o<e.length;++o)t[o]=e.charCodeAt(o);1==s.webRtcActive?s.webchannel.send(t.buffer):s.socket.send(t.buffer)}else 1==s.webRtcActive?s.webchannel.send(e):s.socket.send(e)}catch(e){}},s.xxOnSocketClosed=function(){s.Stop(1)},s.xxStateChange=function(e){s.State!=e&&(s.State=e,s.m.xxStateChange(s.State),null!=s.onStateChanged&&s.onStateChanged(s,s.State))},s.xxCloseWebRTC=function(){if(null!=s.webchannel){try{s.webchannel.close()}catch(e){}s.webchannel=null}if(null!=s.webrtc){try{s.webrtc.close()}catch(e){}s.webrtc=null}s.webRtcActive=!1},s.Stop=function(e){if(1==s.debugmode&&console.log("stop",e),s.xxCloseWebRTC(),s.connectstate=-1,null!=s.socket){try{1==s.socket.readyState&&(s.sendCtrlMsg('{"ctrlChannel":"102938","type":"close"}'),s.socket.close())}catch(e){}s.socket=null}s.xxStateChange(0)},s}
\ No newline at end of file
public/scripts/agent-redir-ws-0.1.1.js
+30
-4
@@ -74,7 +74,7 @@ var CreateAgentRedirect = function (meshserver, module, serverPublicNamePort, au
74
obj.xxOnControlCommand = function (msg) {
75
var controlMsg;
76
try { controlMsg = JSON.parse(msg); } catch (e) { return; }
77
- if (controlMsg.ctrlChannel != '102938') { obj.xxOnSocketData(msg); return; }
77
+ if (controlMsg.ctrlChannel != '102938') { obj.m.ProcessData(msg); return; }
78
//console.log(controlMsg);
79
if ((typeof args != 'undefined') && args.redirtrace) { console.log('RedirRecv', controlMsg); }
80
if (controlMsg.type == 'console') {
@@ -168,15 +168,38 @@ var CreateAgentRedirect = function (meshserver, module, serverPublicNamePort, au
168
}
169
170
// Control messages, most likely WebRTC setup
171
+ //console.log('New data', e.data.byteLength);
172
if (typeof e.data == 'string') {
173
obj.xxOnControlCommand(e.data);
174
} else {
175
// Send the data to the module
176
if (obj.m.ProcessBinaryCommand) {
177
// Send as Binary Command
177
- var view = new Uint8Array(e.data), cmd = (view[0] << 8) + view[1], cmdsize = (view[2] << 8) + view[3];
178
- if ((cmd == 27) && (cmdsize == 8)) { cmd = (view[8] << 8) + view[9]; cmdsize = (view[5] << 16) + (view[6] << 8) + view[7]; view = view.slice(8); }
179
- if (cmdsize != view.byteLength) { console.log('REDIR-ERROR', cmd, cmdsize, view.byteLength); } else { obj.m.ProcessBinaryCommand(cmd, cmdsize, view); }
178
+ if (cmdAccLen != 0) {
179
+ // Accumulator is active
180
+ var view = new Uint8Array(e.data);
181
+ cmdAcc.push(view);
182
+ cmdAccLen += view.byteLength;
183
+ //console.log('Accumulating', cmdAccLen);
184
+ if (cmdAccCmdSize <= cmdAccLen) {
185
+ var tmp = new Uint8Array(cmdAccLen), tmpPtr = 0;
186
+ for (var i in cmdAcc) { tmp.set(cmdAcc[i], tmpPtr); tmpPtr += cmdAcc[i].byteLength; }
187
+ //console.log('AccumulatorCompleted');
188
+ obj.m.ProcessBinaryCommand(cmdAccCmd, cmdAccCmdSize, tmp);
189
+ cmdAccCmd = 0, cmdAccCmdSize = 0, cmdAccLen = 0, cmdAcc = [];
190
+ }
191
+ } else {
192
+ // Accumulator is not active
193
+ var view = new Uint8Array(e.data), cmd = (view[0] << 8) + view[1], cmdsize = (view[2] << 8) + view[3];
194
+ if ((cmd == 27) && (cmdsize == 8)) { cmd = (view[8] << 8) + view[9]; cmdsize = (view[5] << 16) + (view[6] << 8) + view[7]; view = view.slice(8); }
195
+ //console.log(cmdsize, view.byteLength);
196
+ if (cmdsize != view.byteLength) {
197
+ //console.log('AccumulatorRequired', cmd, cmdsize, view.byteLength);
198
+ cmdAccCmd = cmd; cmdAccCmdSize = cmdsize; cmdAccLen = view.byteLength, cmdAcc = [view];
199
+ } else {
200
+ obj.m.ProcessBinaryCommand(cmd, cmdsize, view);
201
+ }
202
+ }
203
} else if (obj.m.ProcessBinaryData) {
204
// Send as Binary
205
obj.m.ProcessBinaryData(new Uint8Array(e.data));
@@ -187,6 +210,9 @@ var CreateAgentRedirect = function (meshserver, module, serverPublicNamePort, au
210
}
211
};
212
213
+ // Command accumulator, this is used for WebRTC fragmentation
214
+ var cmdAccCmd = 0, cmdAccCmdSize = 0, cmdAccLen = 0, cmdAcc = [];
215
+
216
obj.sendText = function (x) {
217
if (typeof x != 'string') { x = JSON.stringify(x); } // Turn into a string if needed
218
obj.send(encode_utf8(x)); // Encode UTF8 correctly
sample-config-advanced.json
new
+264
@@ -0,0 +1,264 @@
1
+{
2
+ "__comment__" : "This is a sample configuration file, all values and sections that start with underscore (_) are ignored. Edit a section and remove the _ in front of the name. Refer to the user's guide for details.",
3
+ "settings": {
4
+ "_Cert": "myserver.mydomain.com",
5
+ "_MongoDb": "mongodb://127.0.0.1:27017",
6
+ "_MongoDbName": "meshcentral",
7
+ "_MongoDbChangeStream": true,
8
+ "_MongoDumpPath": "C:\\Program Files\\MongoDB\\Server\\4.2\\bin\\mongodump.exe",
9
+ "_WANonly": true,
10
+ "_LANonly": true,
11
+ "_SessionTime": 30,
12
+ "_SessionKey": "MyReallySecretPassword1",
13
+ "_SessionSameSite": "strict",
14
+ "_DbEncryptKey": "MyReallySecretPassword2",
15
+ "_DbRecordsEncryptKey": "MyReallySecretPassword",
16
+ "_DbRecordsDecryptKey": "MyReallySecretPassword",
17
+ "__DbExpire": "Amount of time to keep various events in the database, in seconds. Below are the default values.",
18
+ "_DbExpire": {
19
+ "events": 1728000,
20
+ "powerevents": 864000,
21
+ "statsevents": 2592000
22
+ },
23
+ "_Port": 443,
24
+ "_AliasPort": 444,
25
+ "_RedirPort": 80,
26
+ "_RedirAliasPort": 80,
27
+ "_AgentPort": 1234,
28
+ "_AgentAliasPort": 1234,
29
+ "_AgentAliasDNS": "agents.myserver.mydomain.com",
30
+ "_ExactPorts": true,
31
+ "_AllowLoginToken": true,
32
+ "_AllowFraming": true,
33
+ "_CookieIpCheck": false,
34
+ "_CookieEncoding": "hex",
35
+ "_WebRTC": false,
36
+ "_Nice404": false,
37
+ "_ClickOnce": false,
38
+ "_SelfUpdate": true,
39
+ "_BrowserPing": 60,
40
+ "_BrowserPong": 60,
41
+ "_AgentPing": 60,
42
+ "_AgentPong": 60,
43
+ "_AgentIdleTimeout": 150,
44
+ "_MeshErrorLogPath": "c:\\tmp",
45
+ "_NpmPath": "c:\\npm.exe",
46
+ "_NpmProxy": "http://1.2.3.4:80",
47
+ "_AllowHighQualityDesktop": true,
48
+ "_DesktopMultiplex": true,
49
+ "_UserAllowedIP": "127.0.0.1,192.168.1.0/24",
50
+ "_UserBlockedIP": "127.0.0.1,::1,192.168.0.100",
51
+ "_AgentAllowedIP": "192.168.0.100/24",
52
+ "_AgentBlockedIP": "127.0.0.1,::1",
53
+ "_AuthLog": "c:\\temp\\auth.log",
54
+ "_LocalDiscovery": {
55
+ "name": "Local server name",
56
+ "info": "Information about this server"
57
+ },
58
+ "_TlsOffload": "127.0.0.1,::1",
59
+ "_TrustedProxy": "127.0.0.1,::1",
60
+ "_MpsPort": 44330,
61
+ "_MpsAliasPort": 4433,
62
+ "_MpsAliasHost": "mps.mydomain.com",
63
+ "_MpsTlsOffload": true,
64
+ "_No2FactorAuth": true,
65
+ "_Log": "main,web,webrequest,cert",
66
+ "_syslog": "meshcentral",
67
+ "_syslogauth": "meshcentral-auth",
68
+ "_syslogjson": "meshcentral-json",
69
+ "_WebRtConfig": {
70
+ "iceServers": [
71
+ { "urls": "stun:stun.services.mozilla.com" },
72
+ { "urls": "stun:stun.l.google.com:19302" }
73
+ ]
74
+ },
75
+ "_AutoBackup": {
76
+ "backupIntervalHours": 24,
77
+ "keepLastDaysBackup": 10,
78
+ "zipPassword": "MyReallySecretPassword3",
79
+ "_backupPath": "C:\\backups"
80
+ },
81
+ "_Redirects": {
82
+ "meshcommander": "https://www.meshcommander.com/"
83
+ },
84
+ "__MaxInvalidLogin": "Time in minutes, max amount of bad logins from a source IP in the time before logins are rejected.",
85
+ "_MaxInvalidLogin": { "time": 10, "count": 10, "coolofftime": 10 },
86
+ "_Plugins": { "enabled": true }
87
+ },
88
+ "_domaindefaults": {
89
+ "__comment__": "Any settings in this section is used as default setting for all domains",
90
+ "Title": "MyDefaultTitle",
91
+ "Footer": "Default page footer",
92
+ "NewAccounts": false
93
+ },
94
+ "_domains": {
95
+ "": {
96
+ "Title": "MyServer",
97
+ "Title2": "Servername",
98
+ "_TitlePicture": "title-sample.png",
99
+ "_UserQuota": 1048576,
100
+ "_MeshQuota": 248576,
101
+ "Minify": true,
102
+ "_NewAccounts": true,
103
+ "_UserNameIsEmail": true,
104
+ "_NewAccountEmailDomains": [ "sample.com" ],
105
+ "_NewAccountsRights": [ "nonewgroups", "notools" ],
106
+ "_ManageAllDeviceGroups": [ "admin" ],
107
+ "_WelcomeText": "Sample Text on Login Page.",
108
+ "_WelcomePicture": "mainwelcome.jpg",
109
+ "___Hide__": "Sum of: 1 = Hide header, 2 = Hide tab, 4 = Hide footer, 8 = Hide title, 16 = Hide left bar",
110
+ "_Hide": 4,
111
+ "_Footer": "<a href='https://twitter.com/mytwitter'>Twitter</a>",
112
+ "_CertUrl": "https://192.168.2.106:443/",
113
+ "_PasswordRequirements": { "min": 8, "max": 128, "upper": 1, "lower": 1, "numeric": 1, "nonalpha": 1, "reset": 90, "force2factor": true, "skip2factor": "127.0.0.1,192.168.2.0/24" },
114
+ "_AgentInviteCodes": true,
115
+ "_AgentNoProxy": true,
116
+ "_GeoLocation": true,
117
+ "_UserAllowedIP": "127.0.0.1,192.168.1.0/24",
118
+ "_UserBlockedIP": "127.0.0.1,::1,192.168.0.100",
119
+ "_AgentAllowedIP": "192.168.0.100/24",
120
+ "_AgentBlockedIP": "127.0.0.1,::1",
121
+ "___UserSessionIdleTimeout__" : "Number of user idle minutes before auto-disconnect",
122
+ "_UserSessionIdleTimeout" : 30,
123
+ "__UserConsentFlags__" : "Set to: 1 for desktop, 2 for terminal, 3 for files, 7 for all",
124
+ "_UserConsentFlags" : 7,
125
+ "_UrlSwitching": false,
126
+ "_DesktopPrivacyBarText": "Your privacy bar message",
127
+ "_Limits": {
128
+ "_MaxDevices": 100,
129
+ "_MaxUserAccounts": 100,
130
+ "_MaxUserSessions": 100,
131
+ "_MaxAgentSessions": 100,
132
+ "MaxSingleUserSessions": 10
133
+ },
134
+ "_AmtAcmActivation": {
135
+ "log": "amtactivation.log",
136
+ "certs": {
137
+ "mycertname": {
138
+ "certfiles": [ "amtacm-leafcert.crt", "amtacm-intermediate1.crt", "amtacm-intermediate2.crt", "amtacm-rootcert.crt" ],
139
+ "keyfile": "amtacm-leafcert.key"
140
+ }
141
+ }
142
+ },
143
+ "_Redirects": {
144
+ "meshcommander": "https://www.meshcommander.com/"
145
+ },
146
+ "_yubikey": { "id": "0000", "secret": "xxxxxxxxxxxxxxxxxxxxx", "_proxy": "http://myproxy.domain.com:80" },
147
+ "_httpheaders": {
148
+ "Strict-Transport-Security": "max-age=360000",
149
+ "x-frame-options": "SAMEORIGIN",
150
+ "Content-Security-Policy": "default-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; img-src 'self' data:; style-src 'self' 'unsafe-inline'; frame-src 'self'; media-src 'self'"
151
+ },
152
+ "_agentConfig": [ "webSocketMaskOverride=1" ],
153
+ "_SessionRecording": {
154
+ "_filepath": "C:\\temp",
155
+ "_index": true,
156
+ "_maxRecordings": 10,
157
+ "_maxRecordingSizeMegabytes": 3,
158
+ "__protocols__": "Is an array: 1 = Terminal, 2 = Desktop, 5 = Files, 100 = Intel AMT WSMAN, 101 = Intel AMT Redirection",
159
+ "protocols": [ 1, 2, 101 ]
160
+ },
161
+ "_authStrategies": {
162
+ "__comment__" : "This section is used to allow users to login using other accounts. You will need to get an API key from the services and register callback URL's",
163
+ "twitter": {
164
+ "__callbackurl": "https://server/auth-twitter-callback",
165
+ "clientid": "xxxxxxxxxxxxxxxxxxxxxxx",
166
+ "clientsecret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
167
+ },
168
+ "google": {
169
+ "__callbackurl": "https://server/auth-google-callback",
170
+ "clientid": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com",
171
+ "clientsecret": "xxxxxxxxxxxxxxxxxxxxxxx"
172
+ },
173
+ "github": {
174
+ "__callbackurl": "https://server/auth-github-callback",
175
+ "clientid": "xxxxxxxxxxxxxxxxxxxxxxx",
176
+ "clientsecret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
177
+ },
178
+ "reddit": {
179
+ "__callbackurl": "https://server/auth-reddit-callback",
180
+ "clientid": "xxxxxxxxxxxxxxxxxxxxxxx",
181
+ "clientsecret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
182
+ }
183
+ }
184
+ },
185
+ "_customer1": {
186
+ "_DNS": "customer1.myserver.com",
187
+ "_Title": "Customer1",
188
+ "_Title2": "TestServer",
189
+ "_NewAccounts": 1,
190
+ "_Auth": "sspi",
191
+ "__Auth": "ldap",
192
+ "_LDAPUserName": "gecos",
193
+ "_LDAPUserKey": "uid",
194
+ "_LDAPUserEmail": "otherMail",
195
+ "_LDAPPptions": {
196
+ "URL": "test",
197
+ "anne": {
198
+ "gecos": "Anne O'Nyme",
199
+ "displayName": "O Nyme anne",
200
+ "uid": "anneonyme",
201
+ "mail": "anneonyme@example.com",
202
+ "email": "anneonyme@example.com",
203
+ "otherMail": [ "other.anneonyme@example.com", "anneonyme@example.com" ]
204
+ },
205
+ "so": {
206
+ "displayName": "Sticker Sophie",
207
+ "gecos": "Sophie Sticker",
208
+ "uid": "ssticker",
209
+ "mail": "ssticker@example.com",
210
+ "email": "ssticker@example.com",
211
+ "otherMail": [ "other.ssticker@example.com", "ssticker@example.com" ]
212
+ }
213
+ },
214
+ "__LDAPOptions": {
215
+ "URL": "ldap://1.2.3.4:389",
216
+ "BindDN": "CN=svc_meshcentral,CN=Users,DC=meshcentral,DC=local",
217
+ "BindCredentials": "Password.1",
218
+ "SearchBase": "DC=meshcentral,DC=local",
219
+ "SearchFilter": "(sAMAccountName={{username}})"
220
+ },
221
+ "_Footer": "Test",
222
+ "_CertUrl": "https://192.168.2.106:443/"
223
+ },
224
+ "_info": {
225
+ "_share": "C:\\ExtraWebSite"
226
+ }
227
+ },
228
+ "_letsencrypt": {
229
+ "__comment__": "Requires NodeJS 8.x or better, Go to https://letsdebug.net/ first before trying Let's Encrypt.",
230
+ "email": "myemail@myserver.com",
231
+ "names": "myserver.com,customer1.myserver.com",
232
+ "production": false
233
+ },
234
+ "_peers": {
235
+ "serverId": "server1",
236
+ "servers": {
237
+ "server1": { "url": "wss://192.168.2.133:443/" },
238
+ "server2": { "url": "wss://192.168.1.106:443/" }
239
+ }
240
+ },
241
+ "_smtp": {
242
+ "host": "smtp.myserver.com",
243
+ "port": 25,
244
+ "from": "myemail@myserver.com",
245
+ "__tls__": "When 'tls' is set to true, TLS is used immidiatly when connecting. For SMTP servers that use TLSSTART, set this to 'false' and TLS will still be used.",
246
+ "tls": false,
247
+ "___tlscertcheck__": "When set to false, the TLS certificate of the SMTP server is not checked.",
248
+ "_tlscertcheck": false,
249
+ "__tlsstrict__": "When set to true, TLS cypher setup is more limited, SSLv2 and SSLv3 are not allowed.",
250
+ "_tlsstrict": true
251
+ },
252
+ "_sms": {
253
+ "provider": "twilio",
254
+ "sid": "ACxxxxxxxxx",
255
+ "auth": "xxxxxxx",
256
+ "from": "+1-555-555-5555"
257
+ },
258
+ "__sms": {
259
+ "provider": "plivo",
260
+ "id": "xxxxxxx",
261
+ "token": "xxxxxxx",
262
+ "from": "1-555-555-5555"
263
+ }
264
+}
sample-config.json
+10
-246
@@ -1,265 +1,29 @@
1
{
2
- "__comment__" : "This is a sample configuration file, all values and sections that start with underscore (_) are ignored. Edit a section and remove the _ in front of the name. Refer to the user's guide for details.",
2
+ "__comment1__" : "This is a simple configuration file, all values and sections that start with underscore (_) are ignored. Edit a section and remove the _ in front of the name. Refer to the user's guide for details.",
3
+ "__comment2__" : "See node_modules/meshcentral/sample-config-advanced.json for a more advanced example.",
4
"settings": {
5
"_Cert": "myserver.mydomain.com",
5
- "_MongoDb": "mongodb://127.0.0.1:27017",
6
- "_MongoDbName": "meshcentral",
7
- "_MongoDbChangeStream": true,
8
- "_MongoDumpPath": "C:\\Program Files\\MongoDB\\Server\\4.2\\bin\\mongodump.exe",
6
"_WANonly": true,
7
"_LANonly": true,
11
- "_SessionTime": 30,
8
"_SessionKey": "MyReallySecretPassword1",
13
- "_SessionSameSite": "strict",
14
- "_DbEncryptKey": "MyReallySecretPassword2",
15
- "_DbRecordsEncryptKey": "MyReallySecretPassword",
16
- "_DbRecordsDecryptKey": "MyReallySecretPassword",
17
- "__DbExpire": "Amount of time to keep various events in the database, in seconds. Below are the default values.",
18
- "_DbExpire": {
19
- "events": 1728000,
20
- "powerevents": 864000,
21
- "statsevents": 2592000
22
- },
9
"_Port": 443,
24
- "_AliasPort": 444,
10
+ "_AliasPort": 443,
11
"_RedirPort": 80,
26
- "_RedirAliasPort": 80,
27
- "_AgentPort": 1234,
28
- "_AgentAliasPort": 1234,
29
- "_AgentAliasDNS": "agents.myserver.mydomain.com",
30
- "_ExactPorts": true,
31
- "_AllowLoginToken": true,
32
- "_AllowFraming": true,
33
- "_CookieIpCheck": false,
34
- "_CookieEncoding": "hex",
35
- "_WebRTC": false,
36
- "_Nice404": false,
37
- "_ClickOnce": false,
38
- "_SelfUpdate": true,
39
- "_BrowserPing": 60,
40
- "_BrowserPong": 60,
41
- "_AgentPing": 60,
42
- "_AgentPong": 60,
43
- "_AgentIdleTimeout": 150,
44
- "_MeshErrorLogPath": "c:\\tmp",
45
- "_NpmPath": "c:\\npm.exe",
46
- "_NpmProxy": "http://1.2.3.4:80",
47
- "_AllowHighQualityDesktop": true,
48
- "_DesktopMultiplex": true,
49
- "_UserAllowedIP": "127.0.0.1,192.168.1.0/24",
50
- "_UserBlockedIP": "127.0.0.1,::1,192.168.0.100",
51
- "_AgentAllowedIP": "192.168.0.100/24",
52
- "_AgentBlockedIP": "127.0.0.1,::1",
53
- "_AuthLog": "c:\\temp\\auth.log",
54
- "_LocalDiscovery": {
55
- "name": "Local server name",
56
- "info": "Information about this server"
57
- },
58
- "_TlsOffload": "127.0.0.1,::1",
59
- "_TrustedProxy": "127.0.0.1,::1",
60
- "_MpsPort": 44330,
61
- "_MpsAliasPort": 4433,
62
- "_MpsAliasHost": "mps.mydomain.com",
63
- "_MpsTlsOffload": true,
64
- "_No2FactorAuth": true,
65
- "_Log": "main,web,webrequest,cert",
66
- "_syslog": "meshcentral",
67
- "_syslogauth": "meshcentral-auth",
68
- "_syslogjson": "meshcentral-json",
69
- "_WebRtConfig": {
70
- "iceServers": [
71
- { "urls": "stun:stun.services.mozilla.com" },
72
- { "urls": "stun:stun.l.google.com:19302" }
73
- ]
74
- },
75
- "_AutoBackup": {
76
- "backupIntervalHours": 24,
77
- "keepLastDaysBackup": 10,
78
- "zipPassword": "MyReallySecretPassword3",
79
- "_backupPath": "C:\\backups"
80
- },
81
- "_Redirects": {
82
- "meshcommander": "https://www.meshcommander.com/"
83
- },
84
- "__MaxInvalidLogin": "Time in minutes, max amount of bad logins from a source IP in the time before logins are rejected.",
85
- "_MaxInvalidLogin": { "time": 10, "count": 10, "coolofftime": 10 },
86
- "_Plugins": { "enabled": true }
12
+ "_RedirAliasPort": 80
13
},
88
- "_domaindefaults": {
89
- "__comment__": "Any settings in this section is used as default setting for all domains",
90
- "Title": "MyDefaultTitle",
91
- "Footer": "Default page footer",
92
- "NewAccounts": false
93
- },
94
- "_domains": {
14
+ "domains": {
15
"": {
96
- "Title": "MyServer",
97
- "Title2": "Servername",
98
- "_TitlePicture": "title-sample.png",
99
- "_UserQuota": 1048576,
100
- "_MeshQuota": 248576,
101
- "Minify": true,
16
+ "_Title": "MyServer",
17
+ "_Title2": "Servername",
18
+ "_Minify": true,
19
"_NewAccounts": true,
103
- "_UserNameIsEmail": true,
104
- "_NewAccountEmailDomains": [ "sample.com" ],
105
- "_NewAccountsRights": [ "nonewgroups", "notools" ],
106
- "_ManageAllDeviceGroups": [ "admin" ],
107
- "_WelcomeText": "Sample Text on Login Page.",
108
- "_WelcomePicture": "mainwelcome.jpg",
109
- "___Hide__": "Sum of: 1 = Hide header, 2 = Hide tab, 4 = Hide footer, 8 = Hide title, 16 = Hide left bar",
110
- "_Hide": 4,
111
- "_Footer": "<a href='https://twitter.com/mytwitter'>Twitter</a>",
112
- "_CertUrl": "https://192.168.2.106:443/",
113
- "_PasswordRequirements": { "min": 8, "max": 128, "upper": 1, "lower": 1, "numeric": 1, "nonalpha": 1, "reset": 90, "force2factor": true, "skip2factor": "127.0.0.1,192.168.2.0/24" },
114
- "_AgentInviteCodes": true,
115
- "_AgentNoProxy": true,
116
- "_GeoLocation": true,
117
- "_UserAllowedIP": "127.0.0.1,192.168.1.0/24",
118
- "_UserBlockedIP": "127.0.0.1,::1,192.168.0.100",
119
- "_AgentAllowedIP": "192.168.0.100/24",
120
- "_AgentBlockedIP": "127.0.0.1,::1",
121
- "___UserSessionIdleTimeout__" : "Number of user idle minutes before auto-disconnect",
122
- "_UserSessionIdleTimeout" : 30,
123
- "__UserConsentFlags__" : "Set to: 1 for desktop, 2 for terminal, 3 for files, 7 for all",
124
- "_UserConsentFlags" : 7,
125
- "_UrlSwitching": false,
126
- "_DesktopPrivacyBarText": "Your privacy bar message",
127
- "_Limits": {
128
- "_MaxDevices": 100,
129
- "_MaxUserAccounts": 100,
130
- "_MaxUserSessions": 100,
131
- "_MaxAgentSessions": 100,
132
- "MaxSingleUserSessions": 10
133
- },
134
- "_AmtAcmActivation": {
135
- "log": "amtactivation.log",
136
- "certs": {
137
- "mycertname": {
138
- "certfiles": [ "amtacm-leafcert.crt", "amtacm-intermediate1.crt", "amtacm-intermediate2.crt", "amtacm-rootcert.crt" ],
139
- "keyfile": "amtacm-leafcert.key"
140
- }
141
- }
142
- },
143
- "_Redirects": {
144
- "meshcommander": "https://www.meshcommander.com/"
145
- },
146
- "_yubikey": { "id": "0000", "secret": "xxxxxxxxxxxxxxxxxxxxx", "_proxy": "http://myproxy.domain.com:80" },
147
- "_httpheaders": {
148
- "Strict-Transport-Security": "max-age=360000",
149
- "x-frame-options": "SAMEORIGIN",
150
- "Content-Security-Policy": "default-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; img-src 'self' data:; style-src 'self' 'unsafe-inline'; frame-src 'self'; media-src 'self'"
151
- },
152
- "_agentConfig": [ "webSocketMaskOverride=1" ],
153
- "_SessionRecording": {
154
- "_filepath": "C:\\temp",
155
- "_index": true,
156
- "_maxRecordings": 10,
157
- "_maxRecordingSizeMegabytes": 3,
158
- "__protocols__": "Is an array: 1 = Terminal, 2 = Desktop, 5 = Files, 100 = Intel AMT WSMAN, 101 = Intel AMT Redirection",
159
- "protocols": [ 1, 2, 101 ]
160
- },
161
- "_authStrategies": {
162
- "__comment__" : "This section is used to allow users to login using other accounts. You will need to get an API key from the services and register callback URL's",
163
- "twitter": {
164
- "__callbackurl": "https://server/auth-twitter-callback",
165
- "clientid": "xxxxxxxxxxxxxxxxxxxxxxx",
166
- "clientsecret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
167
- },
168
- "google": {
169
- "__callbackurl": "https://server/auth-google-callback",
170
- "clientid": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com",
171
- "clientsecret": "xxxxxxxxxxxxxxxxxxxxxxx"
172
- },
173
- "github": {
174
- "__callbackurl": "https://server/auth-github-callback",
175
- "clientid": "xxxxxxxxxxxxxxxxxxxxxxx",
176
- "clientsecret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
177
- },
178
- "reddit": {
179
- "__callbackurl": "https://server/auth-reddit-callback",
180
- "clientid": "xxxxxxxxxxxxxxxxxxxxxxx",
181
- "clientsecret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
182
- }
183
- }
184
- },
185
- "_customer1": {
186
- "_DNS": "customer1.myserver.com",
187
- "_Title": "Customer1",
188
- "_Title2": "TestServer",
189
- "_NewAccounts": 1,
190
- "_Auth": "sspi",
191
- "__Auth": "ldap",
192
- "_LDAPUserName": "gecos",
193
- "_LDAPUserKey": "uid",
194
- "_LDAPUserEmail": "otherMail",
195
- "_LDAPPptions": {
196
- "URL": "test",
197
- "anne": {
198
- "gecos": "Anne O'Nyme",
199
- "displayName": "O Nyme anne",
200
- "uid": "anneonyme",
201
- "mail": "anneonyme@example.com",
202
- "email": "anneonyme@example.com",
203
- "otherMail": [ "other.anneonyme@example.com", "anneonyme@example.com" ]
204
- },
205
- "so": {
206
- "displayName": "Sticker Sophie",
207
- "gecos": "Sophie Sticker",
208
- "uid": "ssticker",
209
- "mail": "ssticker@example.com",
210
- "email": "ssticker@example.com",
211
- "otherMail": [ "other.ssticker@example.com", "ssticker@example.com" ]
212
- }
213
- },
214
- "__LDAPOptions": {
215
- "URL": "ldap://1.2.3.4:389",
216
- "BindDN": "CN=svc_meshcentral,CN=Users,DC=meshcentral,DC=local",
217
- "BindCredentials": "Password.1",
218
- "SearchBase": "DC=meshcentral,DC=local",
219
- "SearchFilter": "(sAMAccountName={{username}})"
220
- },
221
- "_Footer": "Test",
222
- "_CertUrl": "https://192.168.2.106:443/"
223
- },
224
- "_info": {
225
- "_share": "C:\\ExtraWebSite"
20
+ "_UserNameIsEmail": true
21
}
22
},
23
"_letsencrypt": {
229
- "__comment__": "Requires NodeJS 10.12 or better, Go to https://letsdebug.net/ first before trying Let's Encrypt.",
24
+ "__comment__": "Requires NodeJS 8.x or better, Go to https://letsdebug.net/ first before trying Let's Encrypt.",
25
"email": "myemail@myserver.com",
26
"names": "myserver.com,customer1.myserver.com",
232
- "rsaKeySize": 3072,
27
"production": false
234
- },
235
- "_peers": {
236
- "serverId": "server1",
237
- "servers": {
238
- "server1": { "url": "wss://192.168.2.133:443/" },
239
- "server2": { "url": "wss://192.168.1.106:443/" }
240
- }
241
- },
242
- "_smtp": {
243
- "host": "smtp.myserver.com",
244
- "port": 25,
245
- "from": "myemail@myserver.com",
246
- "__tls__": "When 'tls' is set to true, TLS is used immidiatly when connecting. For SMTP servers that use TLSSTART, set this to 'false' and TLS will still be used.",
247
- "tls": false,
248
- "___tlscertcheck__": "When set to false, the TLS certificate of the SMTP server is not checked.",
249
- "_tlscertcheck": false,
250
- "__tlsstrict__": "When set to true, TLS cypher setup is more limited, SSLv2 and SSLv3 are not allowed.",
251
- "_tlsstrict": true
252
- },
253
- "_sms": {
254
- "provider": "twilio",
255
- "sid": "ACxxxxxxxxx",
256
- "auth": "xxxxxxx",
257
- "from": "+1-555-555-5555"
258
- },
259
- "__sms": {
260
- "provider": "plivo",
261
- "id": "xxxxxxx",
262
- "token": "xxxxxxx",
263
- "from": "1-555-555-5555"
28
}
29
}
translate/translate.json
+1260
-1241
@@ -14,8 +14,8 @@
14
"ru": " + CIRA",
15
"zh-chs": " + CIRA",
16
"xloc": [
17
- "default.handlebars->25->1180",
18
- "default.handlebars->25->1182"
17
+ "default.handlebars->25->1184",
18
+ "default.handlebars->25->1186"
19
]
20
},
21
{
@@ -174,7 +174,7 @@
174
"ru": " Может быть использована подсказка пароля, но не рекоммендуется.",
175
"zh-chs": " 可以使用密碼提示,但不建議使用。",
176
"xloc": [
177
- "default.handlebars->25->1106"
177
+ "default.handlebars->25->1110"
178
]
179
},
180
{
@@ -191,8 +191,8 @@
191
"ru": " Для добавления в группу устройств, пользователь должен зайти на сервер хотя бы один раз.",
192
"zh-chs": " 用戶需要先登錄到該服務器一次,然後才能將其添加到設備組。",
193
"xloc": [
194
- "default.handlebars->25->1255",
195
- "default.handlebars->25->1561"
194
+ "default.handlebars->25->1259",
195
+ "default.handlebars->25->1565"
196
]
197
},
198
{
@@ -375,7 +375,7 @@
375
"ru": "* Оставьте пустым для установления случайного пароля каждому устройству.",
376
"zh-chs": "*保留空白以為每個設備分配一個隨機密碼。",
377
"xloc": [
378
- "default.handlebars->25->1227"
378
+ "default.handlebars->25->1231"
379
]
380
},
381
{
@@ -408,7 +408,7 @@
408
"zh-chs": ",",
409
"xloc": [
410
"default-mobile.handlebars->9->349",
411
- "default.handlebars->25->1321"
411
+ "default.handlebars->25->1325"
412
]
413
},
414
{
@@ -443,7 +443,7 @@
443
"ru": ", MQTT онлайн",
444
"zh-chs": ",MQTT在線",
445
"xloc": [
446
- "default.handlebars->25->849"
446
+ "default.handlebars->25->853"
447
]
448
},
449
{
@@ -460,7 +460,7 @@
460
"ru": ", Soft-KVM",
461
"zh-chs": ",軟KVM",
462
"xloc": [
463
- "default.handlebars->25->695"
463
+ "default.handlebars->25->699"
464
]
465
},
466
{
@@ -479,9 +479,9 @@
479
"xloc": [
480
"default-mobile.handlebars->9->251",
481
"default-mobile.handlebars->9->260",
482
- "default.handlebars->25->702",
483
- "default.handlebars->25->733",
484
- "default.handlebars->25->745",
482
+ "default.handlebars->25->706",
483
+ "default.handlebars->25->737",
484
+ "default.handlebars->25->749",
485
"xterm.handlebars->9->6"
486
]
487
},
@@ -558,7 +558,7 @@
558
"en": ", {0} watching",
559
"nl": ", {0} kijken",
560
"xloc": [
561
- "default.handlebars->25->696"
561
+ "default.handlebars->25->700"
562
]
563
},
564
{
@@ -615,9 +615,9 @@
615
"xloc": [
616
"default-mobile.handlebars->9->262",
617
"default-mobile.handlebars->9->77",
618
- "default.handlebars->25->1362",
619
- "default.handlebars->25->1706",
620
- "default.handlebars->25->747"
618
+ "default.handlebars->25->1366",
619
+ "default.handlebars->25->1710",
620
+ "default.handlebars->25->751"
621
]
622
},
623
{
@@ -666,7 +666,7 @@
666
"ru": "1 активная сессия",
667
"zh-chs": "1個活動會話",
668
"xloc": [
669
- "default.handlebars->25->1624"
669
+ "default.handlebars->25->1628"
670
]
671
},
672
{
@@ -685,14 +685,14 @@
685
"xloc": [
686
"default-mobile.handlebars->9->353",
687
"default-mobile.handlebars->9->87",
688
- "default.handlebars->25->1381"
688
+ "default.handlebars->25->1385"
689
]
690
},
691
{
692
"en": "1 connection",
693
"nl": "1 verbinding",
694
"xloc": [
695
- "default.handlebars->25->698"
695
+ "default.handlebars->25->702"
696
]
697
},
698
{
@@ -728,7 +728,7 @@
728
"ru": "1 группа",
729
"zh-chs": "1組",
730
"xloc": [
731
- "default.handlebars->25->1589"
731
+ "default.handlebars->25->1593"
732
]
733
},
734
{
@@ -800,7 +800,7 @@
800
"ru": "Еще 1 пользователь не показан, используйте поиск чтобы найти пользователей...",
801
"zh-chs": "未再顯示1個用戶,請使用搜索框查找用戶...",
802
"xloc": [
803
- "default.handlebars->25->1416"
803
+ "default.handlebars->25->1420"
804
]
805
},
806
{
@@ -855,7 +855,7 @@
855
"default-mobile.handlebars->9->114",
856
"default-mobile.handlebars->9->117",
857
"default-mobile.handlebars->9->120",
858
- "default.handlebars->25->1420",
858
+ "default.handlebars->25->1424",
859
"default.handlebars->25->210",
860
"default.handlebars->25->213",
861
"default.handlebars->25->216",
@@ -1127,8 +1127,8 @@
1127
"ru": "двухфакторная аутентификация включена",
1128
"zh-chs": "啟用第二因素身份驗證",
1129
"xloc": [
1130
- "default.handlebars->25->1433",
1131
- "default.handlebars->25->1611"
1130
+ "default.handlebars->25->1437",
1131
+ "default.handlebars->25->1615"
1132
]
1133
},
1134
{
@@ -1492,7 +1492,7 @@
1492
"ru": "7-дневная статистика работы",
1493
"zh-chs": "7天電源狀態",
1494
"xloc": [
1495
- "default.handlebars->25->630"
1495
+ "default.handlebars->25->634"
1496
]
1497
},
1498
{
@@ -1839,7 +1839,7 @@
1839
"ru": "Отказано в доступе",
1840
"zh-chs": "拒絕訪問",
1841
"xloc": [
1842
- "default.handlebars->25->850"
1842
+ "default.handlebars->25->854"
1843
]
1844
},
1845
{
@@ -1874,7 +1874,7 @@
1874
"ru": "Доступ к файлам сервера",
1875
"zh-chs": "訪問服務器文件",
1876
"xloc": [
1877
- "default.handlebars->25->1567"
1877
+ "default.handlebars->25->1571"
1878
]
1879
},
1880
{
@@ -1949,8 +1949,8 @@
1949
"default-mobile.handlebars->9->62",
1950
"default-mobile.handlebars->9->64",
1951
"default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->p3AccountActions->p2AccountSecurity->1->0",
1952
- "default.handlebars->25->1115",
1953
- "default.handlebars->25->1117",
1952
+ "default.handlebars->25->1119",
1953
+ "default.handlebars->25->1121",
1954
"default.handlebars->25->461",
1955
"default.handlebars->25->463"
1956
]
@@ -1998,8 +1998,8 @@
1998
"ru": "Аккаунт заблокирован",
1999
"zh-chs": "帐户已被锁定",
2000
"xloc": [
2001
- "default.handlebars->25->1435",
2002
- "default.handlebars->25->1564"
2001
+ "default.handlebars->25->1439",
2002
+ "default.handlebars->25->1568"
2003
]
2004
},
2005
{
@@ -2087,7 +2087,7 @@
2087
"ru": "Действиe",
2088
"zh-chs": "行動",
2089
"xloc": [
2090
- "default.handlebars->25->855",
2090
+ "default.handlebars->25->859",
2091
"default.handlebars->container->column_l->p42->p42tbl->1->0->8"
2092
]
2093
},
@@ -2105,8 +2105,8 @@
2105
"ru": "Файл действий",
2106
"zh-chs": "動作文件",
2107
"xloc": [
2108
- "default.handlebars->25->671",
2109
- "default.handlebars->25->673"
2108
+ "default.handlebars->25->675",
2109
+ "default.handlebars->25->677"
2110
]
2111
},
2112
{
@@ -2183,7 +2183,7 @@
2183
"default-mobile.handlebars->9->202",
2184
"default.handlebars->25->483",
2185
"default.handlebars->25->485",
2186
- "default.handlebars->25->813"
2186
+ "default.handlebars->25->817"
2187
]
2188
},
2189
{
@@ -2200,8 +2200,8 @@
2200
"ru": "Активация",
2201
"zh-chs": "激活",
2202
"xloc": [
2203
- "default.handlebars->25->1193",
2204
- "default.handlebars->25->1195",
2203
+ "default.handlebars->25->1197",
2204
+ "default.handlebars->25->1199",
2205
"default.handlebars->25->236",
2206
"default.handlebars->25->238"
2207
]
@@ -2237,7 +2237,7 @@
2237
"ru": "Добавить агент",
2238
"zh-chs": "添加代理",
2239
"xloc": [
2240
- "default.handlebars->25->1197",
2240
+ "default.handlebars->25->1201",
2241
"default.handlebars->25->240"
2242
]
2243
},
@@ -2272,8 +2272,8 @@
2272
"ru": "Добавить устройство",
2273
"zh-chs": "添加設備",
2274
"xloc": [
2275
- "default.handlebars->25->1541",
2276
- "default.handlebars->25->1657"
2275
+ "default.handlebars->25->1545",
2276
+ "default.handlebars->25->1661"
2277
]
2278
},
2279
{
@@ -2290,7 +2290,7 @@
2290
"ru": "Добавить событие к устройству",
2291
"zh-chs": "添加設備事件",
2292
"xloc": [
2293
- "default.handlebars->25->613"
2293
+ "default.handlebars->25->615"
2294
]
2295
},
2296
{
@@ -2307,9 +2307,9 @@
2307
"ru": "Добавить группу устройств",
2308
"zh-chs": "添加設備組",
2309
"xloc": [
2310
- "default.handlebars->25->1287",
2311
- "default.handlebars->25->1535",
2312
- "default.handlebars->25->1645",
2310
+ "default.handlebars->25->1291",
2311
+ "default.handlebars->25->1539",
2312
+ "default.handlebars->25->1649",
2313
"default.handlebars->25->198"
2314
]
2315
},
@@ -2324,7 +2324,7 @@
2324
"nl": "Machtigingen voor apparaatgroep toevoegen",
2325
"zh-chs": "添加设备组权限",
2326
"xloc": [
2327
- "default.handlebars->25->1284"
2327
+ "default.handlebars->25->1288"
2328
]
2329
},
2330
{
@@ -2340,8 +2340,8 @@
2340
"ru": "Добавить разрешения для устройства",
2341
"zh-chs": "添加设备权限",
2342
"xloc": [
2343
- "default.handlebars->25->1289",
2344
- "default.handlebars->25->1291"
2343
+ "default.handlebars->25->1293",
2344
+ "default.handlebars->25->1295"
2345
]
2346
},
2347
{
@@ -2426,7 +2426,7 @@
2426
"ru": "Добавить участие",
2427
"zh-chs": "添加會員",
2428
"xloc": [
2429
- "default.handlebars->25->1675"
2429
+ "default.handlebars->25->1679"
2430
]
2431
},
2432
{
@@ -2464,8 +2464,8 @@
2464
"default.handlebars->25->135",
2465
"default.handlebars->25->138",
2466
"default.handlebars->25->139",
2467
- "default.handlebars->25->883",
2468
- "default.handlebars->25->884"
2467
+ "default.handlebars->25->887",
2468
+ "default.handlebars->25->888"
2469
]
2470
},
2471
{
@@ -2483,7 +2483,7 @@
2483
"zh-chs": "添加用戶",
2484
"xloc": [
2485
"default-mobile.handlebars->9->299",
2486
- "default.handlebars->25->570"
2486
+ "default.handlebars->25->572"
2487
]
2488
},
2489
{
@@ -2499,7 +2499,7 @@
2499
"ru": "Добавить разрешения для пользовательских устройств",
2500
"zh-chs": "添加用户设备权限",
2501
"xloc": [
2502
- "default.handlebars->25->1294"
2502
+ "default.handlebars->25->1298"
2503
]
2504
},
2505
{
@@ -2516,10 +2516,10 @@
2516
"ru": "Добавить группу пользователей",
2517
"zh-chs": "添加用戶組",
2518
"xloc": [
2519
- "default.handlebars->25->1187",
2520
- "default.handlebars->25->1286",
2521
- "default.handlebars->25->1651",
2522
- "default.handlebars->25->571"
2519
+ "default.handlebars->25->1191",
2520
+ "default.handlebars->25->1290",
2521
+ "default.handlebars->25->1655",
2522
+ "default.handlebars->25->573"
2523
]
2524
},
2525
{
@@ -2533,7 +2533,7 @@
2533
"nl": "Gebruikersmachtigingen voor apparaatgroep toevoegen",
2534
"zh-chs": "添加用户组设备权限",
2535
"xloc": [
2536
- "default.handlebars->25->1296"
2536
+ "default.handlebars->25->1300"
2537
]
2538
},
2539
{
@@ -2578,8 +2578,8 @@
2578
"ru": "Добавить пользователей",
2579
"zh-chs": "添加用戶",
2580
"xloc": [
2581
- "default.handlebars->25->1186",
2582
- "default.handlebars->25->1530"
2581
+ "default.handlebars->25->1190",
2582
+ "default.handlebars->25->1534"
2583
]
2584
},
2585
{
@@ -2596,7 +2596,7 @@
2596
"ru": "Добавить пользователей в группу устройств",
2597
"zh-chs": "將用戶添加到設備組",
2598
"xloc": [
2599
- "default.handlebars->25->1283"
2599
+ "default.handlebars->25->1287"
2600
]
2601
},
2602
{
@@ -2613,7 +2613,7 @@
2613
"ru": "Добавить пользователей в группу",
2614
"zh-chs": "將用戶添加到用戶組",
2615
"xloc": [
2616
- "default.handlebars->25->1563"
2616
+ "default.handlebars->25->1567"
2617
]
2618
},
2619
{
@@ -2664,7 +2664,7 @@
2664
"ru": "Добавить новый Intel® AMT компьютер, находящийся в интернете.",
2665
"zh-chs": "添加位於互聯網上的新英特爾®AMT計算機。",
2666
"xloc": [
2667
- "default.handlebars->25->1188",
2667
+ "default.handlebars->25->1192",
2668
"default.handlebars->25->229"
2669
]
2670
},
@@ -2682,7 +2682,7 @@
2682
"ru": "Добавить новый Intel® AMT компьютер, находящийся в локальной сети.",
2683
"zh-chs": "添加位於本地網絡上的新英特爾®AMT計算機。",
2684
"xloc": [
2685
- "default.handlebars->25->1190",
2685
+ "default.handlebars->25->1194",
2686
"default.handlebars->25->231"
2687
]
2688
},
@@ -2714,7 +2714,7 @@
2714
"nl": "Voeg een nieuwe computer toe aan deze apparaatgroep door de mesh-agent te installeren.",
2715
"zh-chs": "通过安装网状代理,将新计算机添加到该设备组。",
2716
"xloc": [
2717
- "default.handlebars->25->1196",
2717
+ "default.handlebars->25->1200",
2718
"default.handlebars->25->239"
2719
]
2720
},
@@ -2766,7 +2766,7 @@
2766
"ru": "Режим управления администратора (ACM)",
2767
"zh-chs": "管理員控制模式(ACM)",
2768
"xloc": [
2769
- "default.handlebars->25->815"
2769
+ "default.handlebars->25->819"
2770
]
2771
},
2772
{
@@ -2783,7 +2783,7 @@
2783
"ru": "Учетные данные администратора",
2784
"zh-chs": "管理員憑證",
2785
"xloc": [
2786
- "default.handlebars->25->821"
2786
+ "default.handlebars->25->825"
2787
]
2788
},
2789
{
@@ -2818,7 +2818,7 @@
2818
"ru": "Области администратора",
2819
"zh-chs": "管理領域",
2820
"xloc": [
2821
- "default.handlebars->25->1593"
2821
+ "default.handlebars->25->1597"
2822
]
2823
},
2824
{
@@ -2853,7 +2853,7 @@
2853
"ru": "Административные области",
2854
"zh-chs": "行政領域",
2855
"xloc": [
2856
- "default.handlebars->25->1486"
2856
+ "default.handlebars->25->1490"
2857
]
2858
},
2859
{
@@ -2870,7 +2870,7 @@
2870
"ru": "Администратор",
2871
"zh-chs": "管理員",
2872
"xloc": [
2873
- "default.handlebars->25->1427"
2873
+ "default.handlebars->25->1431"
2874
]
2875
},
2876
{
@@ -2887,7 +2887,7 @@
2887
"ru": "Африканский",
2888
"zh-chs": "南非語",
2889
"xloc": [
2890
- "default.handlebars->25->886"
2890
+ "default.handlebars->25->890"
2891
]
2892
},
2893
{
@@ -2907,8 +2907,8 @@
2907
"default-mobile.handlebars->9->144",
2908
"default-mobile.handlebars->9->197",
2909
"default-mobile.handlebars->9->213",
2910
- "default.handlebars->25->1348",
2911
- "default.handlebars->25->1356",
2910
+ "default.handlebars->25->1352",
2911
+ "default.handlebars->25->1360",
2912
"default.handlebars->25->177",
2913
"default.handlebars->25->383",
2914
"default.handlebars->container->column_l->p15->consoleTable->1->6->1->1->1->0->p15outputselecttd->p15outputselect->1"
@@ -2928,8 +2928,8 @@
2928
"ru": "Агент + Intel AMT",
2929
"zh-chs": "代理+英特爾AMT",
2930
"xloc": [
2931
- "default.handlebars->25->1350",
2932
- "default.handlebars->25->1358"
2931
+ "default.handlebars->25->1354",
2932
+ "default.handlebars->25->1362"
2933
]
2934
},
2935
{
@@ -2964,7 +2964,7 @@
2964
"zh-chs": "代理控制台",
2965
"xloc": [
2966
"default-mobile.handlebars->9->334",
2967
- "default.handlebars->25->1304"
2967
+ "default.handlebars->25->1308"
2968
]
2969
},
2970
{
@@ -2981,7 +2981,7 @@
2981
"ru": "Счетчик ошибок агента",
2982
"zh-chs": "座席錯誤計數器",
2983
"xloc": [
2984
- "default.handlebars->25->1716"
2984
+ "default.handlebars->25->1720"
2985
]
2986
},
2987
{
@@ -3050,7 +3050,7 @@
3050
"ru": "Сессии агентов",
3051
"zh-chs": "座席會議",
3052
"xloc": [
3053
- "default.handlebars->25->1732"
3053
+ "default.handlebars->25->1736"
3054
]
3055
},
3056
{
@@ -3085,7 +3085,7 @@
3085
"ru": "Типы агента",
3086
"zh-chs": "代理類型",
3087
"xloc": [
3088
- "default.handlebars->25->1354",
3088
+ "default.handlebars->25->1358",
3089
"default.handlebars->container->column_l->p21->3->1->meshOsChartDiv->1"
3090
]
3091
},
@@ -3104,8 +3104,8 @@
3104
"zh-chs": "代理已連接",
3105
"xloc": [
3106
"default.handlebars->25->144",
3107
- "default.handlebars->25->561",
3108
- "default.handlebars->25->562"
3107
+ "default.handlebars->25->563",
3108
+ "default.handlebars->25->564"
3109
]
3110
},
3111
{
@@ -3139,7 +3139,7 @@
3139
"ru": "Агент оффлайн",
3140
"zh-chs": "代理離線",
3141
"xloc": [
3142
- "default.handlebars->25->848"
3142
+ "default.handlebars->25->852"
3143
]
3144
},
3145
{
@@ -3156,7 +3156,7 @@
3156
"ru": "Агент онлайн",
3157
"zh-chs": "代理在線",
3158
"xloc": [
3159
- "default.handlebars->25->847"
3159
+ "default.handlebars->25->851"
3160
]
3161
},
3162
{
@@ -3173,7 +3173,7 @@
3173
"ru": "Агенты",
3174
"zh-chs": "代理商",
3175
"xloc": [
3176
- "default.handlebars->25->1745"
3176
+ "default.handlebars->25->1749"
3177
]
3178
},
3179
{
@@ -3190,7 +3190,7 @@
3190
"ru": "Албанский",
3191
"zh-chs": "阿爾巴尼亞語",
3192
"xloc": [
3193
- "default.handlebars->25->887"
3193
+ "default.handlebars->25->891"
3194
]
3195
},
3196
{
@@ -3240,9 +3240,9 @@
3240
"ru": "Фокусирование всех",
3241
"zh-chs": "全部聚焦",
3242
"xloc": [
3243
- "default.handlebars->25->703",
3244
- "default.handlebars->25->705",
3245
- "default.handlebars->25->706"
3243
+ "default.handlebars->25->707",
3244
+ "default.handlebars->25->709",
3245
+ "default.handlebars->25->710"
3246
]
3247
},
3248
{
@@ -3259,8 +3259,8 @@
3259
"ru": "Разрешить пользователям управлять этой группой и устройствами этой группы.",
3260
"zh-chs": "允許用戶管理此設備組和該組中的設備。",
3261
"xloc": [
3262
- "default.handlebars->25->1253",
3263
- "default.handlebars->25->1560"
3262
+ "default.handlebars->25->1257",
3263
+ "default.handlebars->25->1564"
3264
]
3265
},
3266
{
@@ -3276,7 +3276,7 @@
3276
"ru": "Разрешить пользователям управлять этим устройством.",
3277
"zh-chs": "允许用户管理此设备。",
3278
"xloc": [
3279
- "default.handlebars->25->1254"
3279
+ "default.handlebars->25->1258"
3280
]
3281
},
3282
{
@@ -3329,7 +3329,7 @@
3329
"ru": "Поменять (F10 = ESC+0)",
3330
"zh-chs": "備用(F10 = ESC + 0)",
3331
"xloc": [
3332
- "default.handlebars->25->738"
3332
+ "default.handlebars->25->742"
3333
]
3334
},
3335
{
@@ -3363,8 +3363,8 @@
3363
"ru": "Всегда уведомлять",
3364
"zh-chs": "始終通知",
3365
"xloc": [
3366
- "default.handlebars->25->1167",
3367
- "default.handlebars->25->1602",
3366
+ "default.handlebars->25->1171",
3367
+ "default.handlebars->25->1606",
3368
"default.handlebars->25->519"
3369
]
3370
},
@@ -3382,8 +3382,8 @@
3382
"ru": "Всегда запрашивать",
3383
"zh-chs": "總是提示",
3384
"xloc": [
3385
- "default.handlebars->25->1168",
3386
- "default.handlebars->25->1603",
3385
+ "default.handlebars->25->1172",
3386
+ "default.handlebars->25->1607",
3387
"default.handlebars->25->520"
3388
]
3389
},
@@ -3583,7 +3583,7 @@
3583
"ru": "Арабский (Алжир)",
3584
"zh-chs": "阿拉伯文(阿爾及利亞)",
3585
"xloc": [
3586
- "default.handlebars->25->889"
3586
+ "default.handlebars->25->893"
3587
]
3588
},
3589
{
@@ -3600,7 +3600,7 @@
3600
"ru": "Арабский (Бахрейн)",
3601
"zh-chs": "阿拉伯文(巴林)",
3602
"xloc": [
3603
- "default.handlebars->25->890"
3603
+ "default.handlebars->25->894"
3604
]
3605
},
3606
{
@@ -3617,7 +3617,7 @@
3617
"ru": "Арабский (Египет)",
3618
"zh-chs": "阿拉伯文(埃及)",
3619
"xloc": [
3620
- "default.handlebars->25->891"
3620
+ "default.handlebars->25->895"
3621
]
3622
},
3623
{
@@ -3634,7 +3634,7 @@
3634
"ru": "Арабский (Ирак)",
3635
"zh-chs": "阿拉伯文(伊拉克)",
3636
"xloc": [
3637
- "default.handlebars->25->892"
3637
+ "default.handlebars->25->896"
3638
]
3639
},
3640
{
@@ -3651,7 +3651,7 @@
3651
"ru": "Арабский (Иордания)",
3652
"zh-chs": "阿拉伯語(約旦)",
3653
"xloc": [
3654
- "default.handlebars->25->893"
3654
+ "default.handlebars->25->897"
3655
]
3656
},
3657
{
@@ -3668,7 +3668,7 @@
3668
"ru": "Арабский (Кувейт)",
3669
"zh-chs": "阿拉伯文(科威特)",
3670
"xloc": [
3671
- "default.handlebars->25->894"
3671
+ "default.handlebars->25->898"
3672
]
3673
},
3674
{
@@ -3685,7 +3685,7 @@
3685
"ru": "Арабский (Ливан)",
3686
"zh-chs": "阿拉伯語(黎巴嫩)",
3687
"xloc": [
3688
- "default.handlebars->25->895"
3688
+ "default.handlebars->25->899"
3689
]
3690
},
3691
{
@@ -3702,7 +3702,7 @@
3702
"ru": "Арабский (Ливия)",
3703
"zh-chs": "阿拉伯文(利比亞)",
3704
"xloc": [
3705
- "default.handlebars->25->896"
3705
+ "default.handlebars->25->900"
3706
]
3707
},
3708
{
@@ -3719,7 +3719,7 @@
3719
"ru": "Арабский (Марокко)",
3720
"zh-chs": "阿拉伯文(摩洛哥)",
3721
"xloc": [
3722
- "default.handlebars->25->897"
3722
+ "default.handlebars->25->901"
3723
]
3724
},
3725
{
@@ -3736,7 +3736,7 @@
3736
"ru": "Арабский (Оман)",
3737
"zh-chs": "阿拉伯文(阿曼)",
3738
"xloc": [
3739
- "default.handlebars->25->898"
3739
+ "default.handlebars->25->902"
3740
]
3741
},
3742
{
@@ -3753,7 +3753,7 @@
3753
"ru": "Арабский (Катар)",
3754
"zh-chs": "阿拉伯語(卡塔爾)",
3755
"xloc": [
3756
- "default.handlebars->25->899"
3756
+ "default.handlebars->25->903"
3757
]
3758
},
3759
{
@@ -3770,7 +3770,7 @@
3770
"ru": "Арабский (Саудовская Аравия)",
3771
"zh-chs": "阿拉伯語(沙特阿拉伯)",
3772
"xloc": [
3773
- "default.handlebars->25->900"
3773
+ "default.handlebars->25->904"
3774
]
3775
},
3776
{
@@ -3787,7 +3787,7 @@
3787
"ru": "Арабский (стандартный)",
3788
"zh-chs": "阿拉伯語(標準)",
3789
"xloc": [
3790
- "default.handlebars->25->888"
3790
+ "default.handlebars->25->892"
3791
]
3792
},
3793
{
@@ -3804,7 +3804,7 @@
3804
"ru": "Арабский (Сирия)",
3805
"zh-chs": "阿拉伯語(敘利亞)",
3806
"xloc": [
3807
- "default.handlebars->25->901"
3807
+ "default.handlebars->25->905"
3808
]
3809
},
3810
{
@@ -3821,7 +3821,7 @@
3821
"ru": "Арабский (Тунис)",
3822
"zh-chs": "阿拉伯文(突尼斯)",
3823
"xloc": [
3824
- "default.handlebars->25->902"
3824
+ "default.handlebars->25->906"
3825
]
3826
},
3827
{
@@ -3838,7 +3838,7 @@
3838
"ru": "Арабский (О.А.Э.)",
3839
"zh-chs": "阿拉伯文(阿聯酋)",
3840
"xloc": [
3841
- "default.handlebars->25->903"
3841
+ "default.handlebars->25->907"
3842
]
3843
},
3844
{
@@ -3855,7 +3855,7 @@
3855
"ru": "Арабский (Йемен)",
3856
"zh-chs": "阿拉伯文(也門)",
3857
"xloc": [
3858
- "default.handlebars->25->904"
3858
+ "default.handlebars->25->908"
3859
]
3860
},
3861
{
@@ -3872,7 +3872,7 @@
3872
"ru": "Арагонский",
3873
"zh-chs": "阿拉貢人",
3874
"xloc": [
3875
- "default.handlebars->25->905"
3875
+ "default.handlebars->25->909"
3876
]
3877
},
3878
{
@@ -3889,7 +3889,7 @@
3889
"ru": "Архитектура",
3890
"zh-chs": "建築",
3891
"xloc": [
3892
- "default.handlebars->25->789"
3892
+ "default.handlebars->25->793"
3893
]
3894
},
3895
{
@@ -3924,7 +3924,7 @@
3924
"zh-chs": "您確定要刪除組{0}嗎?刪除設備組還將刪除該組中有關設備的所有信息。",
3925
"xloc": [
3926
"default-mobile.handlebars->9->305",
3927
- "default.handlebars->25->1231"
3927
+ "default.handlebars->25->1235"
3928
]
3929
},
3930
{
@@ -3941,7 +3941,7 @@
3941
"ru": "Вы действительно хотите удалить устройство \\\"{0}\\\"?",
3942
"zh-chs": "您確定要刪除節點{0}嗎?",
3943
"xloc": [
3944
- "default.handlebars->25->652"
3944
+ "default.handlebars->25->656"
3945
]
3946
},
3947
{
@@ -3958,7 +3958,7 @@
3958
"ru": "Вы действительно хотите деинсталировать выбранного агента?",
3959
"zh-chs": "您確定要卸載所選代理嗎?",
3960
"xloc": [
3961
- "default.handlebars->25->641"
3961
+ "default.handlebars->25->645"
3962
]
3963
},
3964
{
@@ -3975,7 +3975,7 @@
3975
"ru": "Вы действительно хотите деинсталлировать выбранных {0} агентов?",
3976
"zh-chs": "您確定要卸載所選的{0}代理嗎?",
3977
"xloc": [
3978
- "default.handlebars->25->640"
3978
+ "default.handlebars->25->644"
3979
]
3980
},
3981
{
@@ -3992,7 +3992,7 @@
3992
"ru": "Вы уверенны, что {0} плагин: {1}",
3993
"zh-chs": "您確定要{0}插件嗎:{1}",
3994
"xloc": [
3995
- "default.handlebars->25->1785"
3995
+ "default.handlebars->25->1789"
3996
]
3997
},
3998
{
@@ -4009,7 +4009,7 @@
4009
"ru": "Армянский",
4010
"zh-chs": "亞美尼亞人",
4011
"xloc": [
4012
- "default.handlebars->25->906"
4012
+ "default.handlebars->25->910"
4013
]
4014
},
4015
{
@@ -4054,7 +4054,7 @@
4054
"ru": "Ассамский",
4055
"zh-chs": "阿薩姆語",
4056
"xloc": [
4057
- "default.handlebars->25->907"
4057
+ "default.handlebars->25->911"
4058
]
4059
},
4060
{
@@ -4071,7 +4071,7 @@
4071
"ru": "Астурии",
4072
"zh-chs": "阿斯圖里亞斯人",
4073
"xloc": [
4074
- "default.handlebars->25->908"
4074
+ "default.handlebars->25->912"
4075
]
4076
},
4077
{
@@ -4088,7 +4088,7 @@
4088
"ru": "Приложение аутентификации",
4089
"zh-chs": "身份驗證應用",
4090
"xloc": [
4091
- "default.handlebars->25->1606"
4091
+ "default.handlebars->25->1610"
4092
]
4093
},
4094
{
@@ -4111,8 +4111,8 @@
4111
"default-mobile.handlebars->9->42",
4112
"default.handlebars->25->109",
4113
"default.handlebars->25->114",
4114
- "default.handlebars->25->872",
4115
- "default.handlebars->25->874"
4114
+ "default.handlebars->25->876",
4115
+ "default.handlebars->25->878"
4116
]
4117
},
4118
{
@@ -4180,7 +4180,7 @@
4180
"ru": "Автоудаление",
4181
"zh-chs": "自動刪除",
4182
"xloc": [
4183
- "default.handlebars->25->1155"
4183
+ "default.handlebars->25->1159"
4184
]
4185
},
4186
{
@@ -4234,7 +4234,7 @@
4234
"ru": "Азербайджанский",
4235
"zh-chs": "阿塞拜疆",
4236
"xloc": [
4237
- "default.handlebars->25->909"
4237
+ "default.handlebars->25->913"
4238
]
4239
},
4240
{
@@ -4251,7 +4251,7 @@
4251
"ru": "BIOS",
4252
"zh-chs": "的BIOS",
4253
"xloc": [
4254
- "default.handlebars->25->827"
4254
+ "default.handlebars->25->831"
4255
]
4256
},
4257
{
@@ -4348,8 +4348,8 @@
4348
"ru": "Фоновый и интерактивный",
4349
"zh-chs": "背景與互動",
4350
"xloc": [
4351
- "default.handlebars->25->1331",
4352
- "default.handlebars->25->1338",
4351
+ "default.handlebars->25->1335",
4352
+ "default.handlebars->25->1342",
4353
"default.handlebars->25->308"
4354
]
4355
},
@@ -4367,8 +4367,8 @@
4367
"ru": "Только фоновый",
4368
"zh-chs": "僅背景",
4369
"xloc": [
4370
- "default.handlebars->25->1332",
4371
- "default.handlebars->25->1339",
4370
+ "default.handlebars->25->1336",
4371
+ "default.handlebars->25->1343",
4372
"default.handlebars->25->309",
4373
"default.handlebars->25->331"
4374
]
@@ -4404,7 +4404,7 @@
4404
"ru": "Резервные коды",
4405
"zh-chs": "備用碼",
4406
"xloc": [
4407
- "default.handlebars->25->1608"
4407
+ "default.handlebars->25->1612"
4408
]
4409
},
4410
{
@@ -4421,7 +4421,7 @@
4421
"ru": "Плохой ключ",
4422
"zh-chs": "錯誤的簽名",
4423
"xloc": [
4424
- "default.handlebars->25->1723"
4424
+ "default.handlebars->25->1727"
4425
]
4426
},
4427
{
@@ -4438,7 +4438,7 @@
4438
"ru": "Плохой веб-сертификат",
4439
"zh-chs": "錯誤的網絡證書",
4440
"xloc": [
4441
- "default.handlebars->25->1722"
4441
+ "default.handlebars->25->1726"
4442
]
4443
},
4444
{
@@ -4455,7 +4455,7 @@
4455
"ru": "Баскский",
4456
"zh-chs": "巴斯克",
4457
"xloc": [
4458
- "default.handlebars->25->910"
4458
+ "default.handlebars->25->914"
4459
]
4460
},
4461
{
@@ -4489,7 +4489,7 @@
4489
"ru": "Белорусский",
4490
"zh-chs": "白俄羅斯語",
4491
"xloc": [
4492
- "default.handlebars->25->912"
4492
+ "default.handlebars->25->916"
4493
]
4494
},
4495
{
@@ -4506,7 +4506,7 @@
4506
"ru": "Бенгальский",
4507
"zh-chs": "孟加拉",
4508
"xloc": [
4509
- "default.handlebars->25->913"
4509
+ "default.handlebars->25->917"
4510
]
4511
},
4512
{
@@ -4542,7 +4542,7 @@
4542
"ru": "Боснийский",
4543
"zh-chs": "波斯尼亞人",
4544
"xloc": [
4545
- "default.handlebars->25->914"
4545
+ "default.handlebars->25->918"
4546
]
4547
},
4548
{
@@ -4559,7 +4559,7 @@
4559
"ru": "Бретонский",
4560
"zh-chs": "布列塔尼",
4561
"xloc": [
4562
- "default.handlebars->25->915"
4562
+ "default.handlebars->25->919"
4563
]
4564
},
4565
{
@@ -4576,7 +4576,7 @@
4576
"ru": "Отправить сообщение",
4577
"zh-chs": "廣播",
4578
"xloc": [
4579
- "default.handlebars->25->1528",
4579
+ "default.handlebars->25->1532",
4580
"default.handlebars->container->column_l->p4->3->1->0->3->1"
4581
]
4582
},
@@ -4594,7 +4594,7 @@
4594
"ru": "Отправить сообщение",
4595
"zh-chs": "廣播消息",
4596
"xloc": [
4597
- "default.handlebars->25->1470"
4597
+ "default.handlebars->25->1474"
4598
]
4599
},
4600
{
@@ -4611,7 +4611,7 @@
4611
"ru": "Отправить сообщение всем подключенным пользователям.",
4612
"zh-chs": "向所有連接的用戶廣播消息。",
4613
"xloc": [
4614
- "default.handlebars->25->1469"
4614
+ "default.handlebars->25->1473"
4615
]
4616
},
4617
{
@@ -4628,7 +4628,7 @@
4628
"ru": "Болгарский",
4629
"zh-chs": "保加利亞語",
4630
"xloc": [
4631
- "default.handlebars->25->911"
4631
+ "default.handlebars->25->915"
4632
]
4633
},
4634
{
@@ -4645,7 +4645,7 @@
4645
"ru": "Бирманский",
4646
"zh-chs": "緬甸人",
4647
"xloc": [
4648
- "default.handlebars->25->916"
4648
+ "default.handlebars->25->920"
4649
]
4650
},
4651
{
@@ -4681,8 +4681,8 @@
4681
"zh-chs": "CIRA",
4682
"xloc": [
4683
"default-mobile.handlebars->9->145",
4684
- "default.handlebars->25->1219",
4685
- "default.handlebars->25->1224",
4684
+ "default.handlebars->25->1223",
4685
+ "default.handlebars->25->1228",
4686
"default.handlebars->25->179",
4687
"default.handlebars->25->385"
4688
]
@@ -4701,7 +4701,7 @@
4701
"ru": "CIRA Сервер",
4702
"zh-chs": "CIRA服務器",
4703
"xloc": [
4704
- "default.handlebars->25->1773"
4704
+ "default.handlebars->25->1777"
4705
]
4706
},
4707
{
@@ -4718,7 +4718,7 @@
4718
"ru": "CIRA Сервер команды",
4719
"zh-chs": "CIRA服務器命令",
4720
"xloc": [
4721
- "default.handlebars->25->1774"
4721
+ "default.handlebars->25->1778"
4722
]
4723
},
4724
{
@@ -4734,7 +4734,7 @@
4734
"ru": "CPU",
4735
"zh-chs": "CPU",
4736
"xloc": [
4737
- "default.handlebars->25->833"
4737
+ "default.handlebars->25->837"
4738
]
4739
},
4740
{
@@ -4751,7 +4751,7 @@
4751
"ru": "Загрузка CPU",
4752
"zh-chs": "CPU負載",
4753
"xloc": [
4754
- "default.handlebars->25->1737"
4754
+ "default.handlebars->25->1741"
4755
]
4756
},
4757
{
@@ -4768,7 +4768,7 @@
4768
"ru": "Загрузка CPU за последние 15 минут",
4769
"zh-chs": "最近15分鐘的CPU負載",
4770
"xloc": [
4771
- "default.handlebars->25->1740"
4771
+ "default.handlebars->25->1744"
4772
]
4773
},
4774
{
@@ -4785,7 +4785,7 @@
4785
"ru": "Загрузка CPU за последние 5 минут",
4786
"zh-chs": "最近5分鐘的CPU負載",
4787
"xloc": [
4788
- "default.handlebars->25->1739"
4788
+ "default.handlebars->25->1743"
4789
]
4790
},
4791
{
@@ -4802,7 +4802,7 @@
4802
"ru": "Загрузка CPU за последнюю минуту",
4803
"zh-chs": "最後一分鐘的CPU負載",
4804
"xloc": [
4805
- "default.handlebars->25->1738"
4805
+ "default.handlebars->25->1742"
4806
]
4807
},
4808
{
@@ -4819,8 +4819,8 @@
4819
"ru": "CR+LF",
4820
"zh-chs": "CR +低頻",
4821
"xloc": [
4822
- "default.handlebars->25->731",
4823
- "default.handlebars->25->740",
4822
+ "default.handlebars->25->735",
4823
+ "default.handlebars->25->744",
4824
"default.handlebars->container->column_l->p12->termTable->1->1->6->1->1->terminalSettingsButtons"
4825
]
4826
},
@@ -4838,8 +4838,8 @@
4838
"ru": "Формат CSV",
4839
"zh-chs": "CSV格式",
4840
"xloc": [
4841
- "default.handlebars->25->1402",
4842
- "default.handlebars->25->1461",
4841
+ "default.handlebars->25->1406",
4842
+ "default.handlebars->25->1465",
4843
"default.handlebars->25->412"
4844
]
4845
},
@@ -4857,7 +4857,7 @@
4857
"ru": "Ошибка вызова",
4858
"zh-chs": "通話錯誤",
4859
"xloc": [
4860
- "default.handlebars->25->1786"
4860
+ "default.handlebars->25->1790"
4861
]
4862
},
4863
{
@@ -4876,7 +4876,7 @@
4876
"xloc": [
4877
"default-mobile.handlebars->9->51",
4878
"default-mobile.handlebars->dialog->idx_dlgButtonBar",
4879
- "default.handlebars->25->1136",
4879
+ "default.handlebars->25->1140",
4880
"default.handlebars->container->dialog->idx_dlgButtonBar",
4881
"login-mobile.handlebars->dialog->idx_dlgButtonBar",
4882
"login.handlebars->dialog->idx_dlgButtonBar",
@@ -4894,8 +4894,8 @@
4894
"nl": "Capaciteit",
4895
"zh-chs": "容量",
4896
"xloc": [
4897
- "default.handlebars->25->841",
4898
- "default.handlebars->25->843"
4897
+ "default.handlebars->25->845",
4898
+ "default.handlebars->25->847"
4899
]
4900
},
4901
{
@@ -4912,7 +4912,7 @@
4912
"ru": "Объем / Скорость",
4913
"zh-chs": "容量/速度",
4914
"xloc": [
4915
- "default.handlebars->25->836"
4915
+ "default.handlebars->25->840"
4916
]
4917
},
4918
{
@@ -4929,7 +4929,7 @@
4929
"ru": "Каталонский",
4930
"zh-chs": "加泰羅尼亞語",
4931
"xloc": [
4932
- "default.handlebars->25->917"
4932
+ "default.handlebars->25->921"
4933
]
4934
},
4935
{
@@ -4963,7 +4963,7 @@
4963
"ru": "Чаморро",
4964
"zh-chs": "查莫羅",
4965
"xloc": [
4966
- "default.handlebars->25->918"
4966
+ "default.handlebars->25->922"
4967
]
4968
},
4969
{
@@ -4994,7 +4994,7 @@
4994
"ru": "Смена email для {0}",
4995
"zh-chs": "更改{0}的電子郵件",
4996
"xloc": [
4997
- "default.handlebars->25->1634"
4997
+ "default.handlebars->25->1638"
4998
]
4999
},
5000
{
@@ -5011,9 +5011,9 @@
5011
"ru": "Смена группы",
5012
"zh-chs": "變更組",
5013
"xloc": [
5014
- "default.handlebars->25->542",
5015
- "default.handlebars->25->649",
5016
- "default.handlebars->25->650"
5014
+ "default.handlebars->25->544",
5015
+ "default.handlebars->25->653",
5016
+ "default.handlebars->25->654"
5017
]
5018
},
5019
{
@@ -5031,8 +5031,8 @@
5031
"zh-chs": "更改密碼",
5032
"xloc": [
5033
"default-mobile.handlebars->9->59",
5034
- "default.handlebars->25->1112",
5035
- "default.handlebars->25->1623"
5034
+ "default.handlebars->25->1116",
5035
+ "default.handlebars->25->1627"
5036
]
5037
},
5038
{
@@ -5049,7 +5049,7 @@
5049
"ru": "Смена пароля для {0}",
5050
"zh-chs": "更改{0}的密碼",
5051
"xloc": [
5052
- "default.handlebars->25->1641"
5052
+ "default.handlebars->25->1645"
5053
]
5054
},
5055
{
@@ -5119,7 +5119,7 @@
5119
"ru": "Изменить пароль для этого пользователя",
5120
"zh-chs": "更改該用戶的密碼",
5121
"xloc": [
5122
- "default.handlebars->25->1622"
5122
+ "default.handlebars->25->1626"
5123
]
5124
},
5125
{
@@ -5153,7 +5153,7 @@
5153
"ru": "Измените адрес электронной почты вашей учетной записи здесь.",
5154
"zh-chs": "在此處更改您的帳戶電子郵件地址。",
5155
"xloc": [
5156
- "default.handlebars->25->1099"
5156
+ "default.handlebars->25->1103"
5157
]
5158
},
5159
{
@@ -5170,7 +5170,7 @@
5170
"ru": "Измените пароль своей учетной записи, введя старый пароль и дважды новый пароль в поля ниже.",
5171
"zh-chs": "在下面的框中兩次輸入舊密碼和新密碼,以更改帳戶密碼。",
5172
"xloc": [
5173
- "default.handlebars->25->1105"
5173
+ "default.handlebars->25->1109"
5174
]
5175
},
5176
{
@@ -5187,7 +5187,7 @@
5187
"ru": "Изменение языка потребует перезагрузить страницу.",
5188
"zh-chs": "更改語言將需要刷新頁面。",
5189
"xloc": [
5190
- "default.handlebars->25->1084"
5190
+ "default.handlebars->25->1088"
5191
]
5192
},
5193
{
@@ -5204,9 +5204,9 @@
5204
"ru": "Чат",
5205
"zh-chs": "聊天室",
5206
"xloc": [
5207
- "default.handlebars->25->1419",
5208
- "default.handlebars->25->591",
5209
- "default.handlebars->25->610"
5207
+ "default.handlebars->25->1423",
5208
+ "default.handlebars->25->593",
5209
+ "default.handlebars->25->612"
5210
]
5211
},
5212
{
@@ -5225,8 +5225,8 @@
5225
"xloc": [
5226
"default-mobile.handlebars->9->326",
5227
"default-mobile.handlebars->9->344",
5228
- "default.handlebars->25->1281",
5229
- "default.handlebars->25->1315"
5228
+ "default.handlebars->25->1285",
5229
+ "default.handlebars->25->1319"
5230
]
5231
},
5232
{
@@ -5243,7 +5243,7 @@
5243
"ru": "Чеченский",
5244
"zh-chs": "車臣",
5245
"xloc": [
5246
- "default.handlebars->25->919"
5246
+ "default.handlebars->25->923"
5247
]
5248
},
5249
{
@@ -5324,8 +5324,8 @@
5324
"ru": "Проверка...",
5325
"zh-chs": "檢查...",
5326
"xloc": [
5327
- "default.handlebars->25->1780",
5328
- "default.handlebars->25->885"
5327
+ "default.handlebars->25->1784",
5328
+ "default.handlebars->25->889"
5329
]
5330
},
5331
{
@@ -5342,7 +5342,7 @@
5342
"ru": "Китайский",
5343
"zh-chs": "中文",
5344
"xloc": [
5345
- "default.handlebars->25->920"
5345
+ "default.handlebars->25->924"
5346
]
5347
},
5348
{
@@ -5359,7 +5359,7 @@
5359
"ru": "Китайский (Гонконг)",
5360
"zh-chs": "中文(香港)",
5361
"xloc": [
5362
- "default.handlebars->25->921"
5362
+ "default.handlebars->25->925"
5363
]
5364
},
5365
{
@@ -5376,7 +5376,7 @@
5376
"ru": "Китайский (КНР)",
5377
"zh-chs": "中文(中國)",
5378
"xloc": [
5379
- "default.handlebars->25->922"
5379
+ "default.handlebars->25->926"
5380
]
5381
},
5382
{
@@ -5393,7 +5393,7 @@
5393
"ru": "Упрощенный китайский)",
5394
"zh-chs": "简体中文)",
5395
"xloc": [
5396
- "default.handlebars->25->1082"
5396
+ "default.handlebars->25->1086"
5397
]
5398
},
5399
{
@@ -5410,7 +5410,7 @@
5410
"ru": "Китайский (Сингапур)",
5411
"zh-chs": "中文(新加坡)",
5412
"xloc": [
5413
- "default.handlebars->25->923"
5413
+ "default.handlebars->25->927"
5414
]
5415
},
5416
{
@@ -5427,7 +5427,7 @@
5427
"ru": "Китайский (Тайвань)",
5428
"zh-chs": "中文(台灣)",
5429
"xloc": [
5430
- "default.handlebars->25->924"
5430
+ "default.handlebars->25->928"
5431
]
5432
},
5433
{
@@ -5462,7 +5462,7 @@
5462
"ru": "Чувашский",
5463
"zh-chs": "楚瓦什",
5464
"xloc": [
5465
- "default.handlebars->25->925"
5465
+ "default.handlebars->25->929"
5466
]
5467
},
5468
{
@@ -5502,11 +5502,11 @@
5502
"default-mobile.handlebars->9->283",
5503
"default-mobile.handlebars->9->285",
5504
"default-mobile.handlebars->9->287",
5505
- "default.handlebars->25->1396",
5506
- "default.handlebars->25->766",
5507
- "default.handlebars->25->768",
5505
+ "default.handlebars->25->1400",
5506
"default.handlebars->25->770",
5507
"default.handlebars->25->772",
5508
+ "default.handlebars->25->774",
5509
+ "default.handlebars->25->776",
5510
"default.handlebars->container->column_l->p15->consoleTable->1->6->1->1->1->0->7",
5511
"default.handlebars->container->column_l->p41->3->1",
5512
"messenger.handlebars->xbottom"
@@ -5540,7 +5540,7 @@
5540
"nl": "Wis alle meldingen",
5541
"zh-chs": "全部清除",
5542
"xloc": [
5543
- "default.handlebars->25->1710"
5543
+ "default.handlebars->25->1714"
5544
]
5545
},
5546
{
@@ -5557,7 +5557,7 @@
5557
"ru": "Очистить ядро",
5558
"zh-chs": "清除核心",
5559
"xloc": [
5560
- "default.handlebars->25->857"
5560
+ "default.handlebars->25->861"
5561
]
5562
},
5563
{
@@ -5590,7 +5590,7 @@
5590
"ru": "Очистить это уведомление",
5591
"zh-chs": "清除此通知",
5592
"xloc": [
5593
- "default.handlebars->25->1709"
5593
+ "default.handlebars->25->1713"
5594
]
5595
},
5596
{
@@ -5635,8 +5635,8 @@
5635
"nl": "Klik hier om de apparaatgroepsnaam te bewerken",
5636
"zh-chs": "单击此处编辑设备组名称",
5637
"xloc": [
5638
- "default.handlebars->25->1147",
5639
- "default.handlebars->25->1352"
5638
+ "default.handlebars->25->1151",
5639
+ "default.handlebars->25->1356"
5640
]
5641
},
5642
{
@@ -5666,7 +5666,7 @@
5666
"nl": "Klik hier om de gebruikersgroepsnaam te bewerken",
5667
"zh-chs": "单击此处编辑用户组名称",
5668
"xloc": [
5669
- "default.handlebars->25->1520"
5669
+ "default.handlebars->25->1524"
5670
]
5671
},
5672
{
@@ -5716,7 +5716,7 @@
5716
"zh-chs": "單擊確定將驗證郵件發送到:",
5717
"xloc": [
5718
"default-mobile.handlebars->9->44",
5719
- "default.handlebars->25->1096"
5719
+ "default.handlebars->25->1100"
5720
]
5721
},
5722
{
@@ -5750,7 +5750,7 @@
5750
"ru": "Режим управления клиентом (CCM)",
5751
"zh-chs": "客戶端控制模式(CCM)",
5752
"xloc": [
5753
- "default.handlebars->25->814"
5753
+ "default.handlebars->25->818"
5754
]
5755
},
5756
{
@@ -5767,8 +5767,8 @@
5767
"ru": "Клиент инициировал удаленный доступ",
5768
"zh-chs": "客戶端啟動的遠程訪問",
5769
"xloc": [
5770
- "default.handlebars->25->1218",
5771
- "default.handlebars->25->1223"
5770
+ "default.handlebars->25->1222",
5771
+ "default.handlebars->25->1227"
5772
]
5773
},
5774
{
@@ -5805,7 +5805,7 @@
5805
"default-mobile.handlebars->9->26",
5806
"default.handlebars->25->121",
5807
"default.handlebars->25->129",
5808
- "default.handlebars->25->724"
5808
+ "default.handlebars->25->728"
5809
]
5810
},
5811
{
@@ -5840,8 +5840,8 @@
5840
"ru": "Общие группы устройств",
5841
"zh-chs": "通用設備組",
5842
"xloc": [
5843
- "default.handlebars->25->1536",
5844
- "default.handlebars->25->1646"
5843
+ "default.handlebars->25->1540",
5844
+ "default.handlebars->25->1650"
5845
]
5846
},
5847
{
@@ -5858,8 +5858,8 @@
5858
"ru": "Общие устройства",
5859
"zh-chs": "通用設備",
5860
"xloc": [
5861
- "default.handlebars->25->1542",
5862
- "default.handlebars->25->1658"
5861
+ "default.handlebars->25->1546",
5862
+ "default.handlebars->25->1662"
5863
]
5864
},
5865
{
@@ -5877,7 +5877,7 @@
5877
"zh-chs": "將{1}入口{2}中的{0}限製到此位置?",
5878
"xloc": [
5879
"default-mobile.handlebars->9->96",
5880
- "default.handlebars->25->1391"
5880
+ "default.handlebars->25->1395"
5881
]
5882
},
5883
{
@@ -5896,14 +5896,14 @@
5896
"xloc": [
5897
"default-mobile.handlebars->9->243",
5898
"default-mobile.handlebars->9->306",
5899
- "default.handlebars->25->1232",
5900
- "default.handlebars->25->1445",
5901
- "default.handlebars->25->1512",
5902
- "default.handlebars->25->1556",
5903
- "default.handlebars->25->1644",
5899
+ "default.handlebars->25->1236",
5900
+ "default.handlebars->25->1449",
5901
+ "default.handlebars->25->1516",
5902
+ "default.handlebars->25->1560",
5903
+ "default.handlebars->25->1648",
5904
"default.handlebars->25->409",
5905
- "default.handlebars->25->644",
5906
- "default.handlebars->25->653"
5905
+ "default.handlebars->25->648",
5906
+ "default.handlebars->25->657"
5907
]
5908
},
5909
{
@@ -5921,7 +5921,7 @@
5921
"zh-chs": "確認將1個副本複製到此位置?",
5922
"xloc": [
5923
"default-mobile.handlebars->9->276",
5924
- "default.handlebars->25->761"
5924
+ "default.handlebars->25->765"
5925
]
5926
},
5927
{
@@ -5939,7 +5939,7 @@
5939
"zh-chs": "確認{0}個條目的副本到此位置?",
5940
"xloc": [
5941
"default-mobile.handlebars->9->275",
5942
- "default.handlebars->25->760"
5942
+ "default.handlebars->25->764"
5943
]
5944
},
5945
{
@@ -5953,7 +5953,7 @@
5953
"nl": "Bevestig verwijdering geselecteerde account(s)?",
5954
"zh-chs": "确认删除选定的帐户?",
5955
"xloc": [
5956
- "default.handlebars->25->1444"
5956
+ "default.handlebars->25->1448"
5957
]
5958
},
5959
{
@@ -5984,7 +5984,7 @@
5984
"nl": "Bevestig verwijdering geselecteerde gebruikersgroep(en)?",
5985
"zh-chs": "确认删除选定的用户组?",
5986
"xloc": [
5987
- "default.handlebars->25->1511"
5987
+ "default.handlebars->25->1515"
5988
]
5989
},
5990
{
@@ -6001,7 +6001,7 @@
6001
"ru": "Подтвердить удаление пользователя {0}?",
6002
"zh-chs": "確認刪除用戶{0}?",
6003
"xloc": [
6004
- "default.handlebars->25->1643"
6004
+ "default.handlebars->25->1647"
6005
]
6006
},
6007
{
@@ -6015,7 +6015,7 @@
6015
"nl": "Bevestig lidmaatschap verwijderen van gebruiker \\\"{0}\\\"?",
6016
"zh-chs": "确认删除用户\\“ {0} \\”的成员身份?",
6017
"xloc": [
6018
- "default.handlebars->25->1559"
6018
+ "default.handlebars->25->1563"
6019
]
6020
},
6021
{
@@ -6029,7 +6029,7 @@
6029
"nl": "Bevestig lidmaatschap verwijdering van gebruikergroep \\\"{0}\\\"?",
6030
"zh-chs": "确认删除用户组 “{0}” 的成员身份?",
6031
"xloc": [
6032
- "default.handlebars->25->1673"
6032
+ "default.handlebars->25->1677"
6033
]
6034
},
6035
{
@@ -6047,7 +6047,7 @@
6047
"zh-chs": "確認將1個入口移動到此位置?",
6048
"xloc": [
6049
"default-mobile.handlebars->9->278",
6050
- "default.handlebars->25->763"
6050
+ "default.handlebars->25->767"
6051
]
6052
},
6053
{
@@ -6065,7 +6065,7 @@
6065
"zh-chs": "確認將{0}個條目移到此位置?",
6066
"xloc": [
6067
"default-mobile.handlebars->9->277",
6068
- "default.handlebars->25->762"
6068
+ "default.handlebars->25->766"
6069
]
6070
},
6071
{
@@ -6082,7 +6082,7 @@
6082
"ru": "Подтвердить перезапись?",
6083
"zh-chs": "確認覆蓋?",
6084
"xloc": [
6085
- "default.handlebars->25->1390"
6085
+ "default.handlebars->25->1394"
6086
]
6087
},
6088
{
@@ -6096,8 +6096,8 @@
6096
"nl": "Bevestig verwijdering van toegangsrechten voor apparaat \\\"{0}\\\"?",
6097
"zh-chs": "确认删除设备“ {0} ”的访问权限?",
6098
"xloc": [
6099
- "default.handlebars->25->1549",
6100
- "default.handlebars->25->1664"
6099
+ "default.handlebars->25->1553",
6100
+ "default.handlebars->25->1668"
6101
]
6102
},
6103
{
@@ -6111,8 +6111,8 @@
6111
"nl": "Bevestig verwijdering van toegangsrechten voor apparaatgroep \\\"{0}\\\"?",
6112
"zh-chs": "是否确认删除设备组“ {0}”的访问权限?",
6113
"xloc": [
6114
- "default.handlebars->25->1551",
6115
- "default.handlebars->25->1677"
6114
+ "default.handlebars->25->1555",
6115
+ "default.handlebars->25->1681"
6116
]
6117
},
6118
{
@@ -6126,7 +6126,7 @@
6126
"nl": "Bevestig verwijdering van toegangsrechten voor gebruiker \\\"{0}\\\"?",
6127
"zh-chs": "确认删除用户\\“ {0} \\”的访问权限?",
6128
"xloc": [
6129
- "default.handlebars->25->1666"
6129
+ "default.handlebars->25->1670"
6130
]
6131
},
6132
{
@@ -6140,7 +6140,7 @@
6140
"nl": "Bevestig verwijdering van toegangsrechten voor gebruikergroep \\\"{0}\\\"?",
6141
"zh-chs": "确认删除用户组“ {0}”的访问权限?",
6142
"xloc": [
6143
- "default.handlebars->25->1669"
6143
+ "default.handlebars->25->1673"
6144
]
6145
},
6146
{
@@ -6154,8 +6154,8 @@
6154
"nl": "Verwijdering van toegangsrechten bevestigen?",
6155
"zh-chs": "确认删除访问权限?",
6156
"xloc": [
6157
- "default.handlebars->25->1667",
6158
- "default.handlebars->25->1670"
6157
+ "default.handlebars->25->1671",
6158
+ "default.handlebars->25->1674"
6159
]
6160
},
6161
{
@@ -6173,7 +6173,7 @@
6173
"zh-chs": "確認刪除身份驗證器應用程序兩步登錄?",
6174
"xloc": [
6175
"default-mobile.handlebars->9->43",
6176
- "default.handlebars->25->875"
6176
+ "default.handlebars->25->879"
6177
]
6178
},
6179
{
@@ -6228,7 +6228,7 @@
6228
"nl": "Bevestig de verwijdering van rechten voor gebruiker \\\"{0}\\\"?",
6229
"zh-chs": "确认删除用户“ {0} ”的权限?",
6230
"xloc": [
6231
- "default.handlebars->25->1324"
6231
+ "default.handlebars->25->1328"
6232
]
6233
},
6234
{
@@ -6242,7 +6242,7 @@
6242
"nl": "Bevestig de verwijdering van rechten voor de gebruikergroep \\\"{0}\\\"?",
6243
"zh-chs": "确认删除用户组“ {0} ”的权限?",
6244
"xloc": [
6245
- "default.handlebars->25->1326"
6245
+ "default.handlebars->25->1330"
6246
]
6247
},
6248
{
@@ -6290,8 +6290,8 @@
6290
"default-mobile.handlebars->9->258",
6291
"default-mobile.handlebars->container->page_content->column_l->p10->p10desktop->deskarea1->1->3",
6292
"default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->0->1->3",
6293
- "default.handlebars->25->1171",
6294
- "default.handlebars->25->743",
6293
+ "default.handlebars->25->1175",
6294
+ "default.handlebars->25->747",
6295
"default.handlebars->container->column_l->p11->deskarea0->deskarea1->3->connectbutton1span",
6296
"default.handlebars->container->column_l->p12->termTable->1->1->0->1->3->connectbutton2span",
6297
"default.handlebars->container->column_l->p13->p13toolbar->1->0->1->3",
@@ -6330,8 +6330,8 @@
6330
"ru": "Подключиться к серверу",
6331
"zh-chs": "連接到服務器",
6332
"xloc": [
6333
- "default.handlebars->25->1222",
6334
- "default.handlebars->25->1226"
6333
+ "default.handlebars->25->1226",
6334
+ "default.handlebars->25->1230"
6335
]
6336
},
6337
{
@@ -6402,7 +6402,7 @@
6402
"ru": "Подключено Intel® AMT",
6403
"zh-chs": "連接的英特爾®AMT",
6404
"xloc": [
6405
- "default.handlebars->25->1728"
6405
+ "default.handlebars->25->1732"
6406
]
6407
},
6408
{
@@ -6419,7 +6419,7 @@
6419
"ru": "Подключенные пользователи",
6420
"zh-chs": "關聯用戶",
6421
"xloc": [
6422
- "default.handlebars->25->1733"
6422
+ "default.handlebars->25->1737"
6423
]
6424
},
6425
{
@@ -6436,7 +6436,7 @@
6436
"ru": "Подключено сейчас",
6437
"zh-chs": "現在已連接",
6438
"xloc": [
6439
- "default.handlebars->25->793"
6439
+ "default.handlebars->25->797"
6440
]
6441
},
6442
{
@@ -6476,7 +6476,7 @@
6476
"default.handlebars->25->204",
6477
"default.handlebars->25->207",
6478
"default.handlebars->25->226",
6479
- "default.handlebars->25->784",
6479
+ "default.handlebars->25->788",
6480
"default.handlebars->25->9",
6481
"xterm.handlebars->9->2"
6482
]
@@ -6495,7 +6495,7 @@
6495
"ru": "Подключений ",
6496
"zh-chs": "連接數",
6497
"xloc": [
6498
- "default.handlebars->25->1744"
6498
+ "default.handlebars->25->1748"
6499
]
6500
},
6501
{
@@ -6512,7 +6512,7 @@
6512
"ru": "Ретранслятор подключения",
6513
"zh-chs": "連接繼電器",
6514
"xloc": [
6515
- "default.handlebars->25->1772"
6515
+ "default.handlebars->25->1776"
6516
]
6517
},
6518
{
@@ -6564,7 +6564,7 @@
6564
"zh-chs": "連接性",
6565
"xloc": [
6566
"default-mobile.handlebars->9->218",
6567
- "default.handlebars->25->1359",
6567
+ "default.handlebars->25->1363",
6568
"default.handlebars->25->195",
6569
"default.handlebars->25->533",
6570
"default.handlebars->container->column_l->p21->3->1->meshConnChartDiv->1"
@@ -6584,8 +6584,8 @@
6584
"ru": "Консоль",
6585
"zh-chs": "安慰",
6586
"xloc": [
6587
- "default.handlebars->25->586",
6588
- "default.handlebars->25->605",
6587
+ "default.handlebars->25->588",
6588
+ "default.handlebars->25->607",
6589
"default.handlebars->container->topbar->1->1->MainSubMenuSpan->MainSubMenu->1->0->MainDevConsole",
6590
"default.handlebars->container->topbar->1->1->ServerSubMenuSpan->ServerSubMenu->1->0->ServerConsole",
6591
"default.handlebars->contextMenu->cxconsole"
@@ -6621,8 +6621,8 @@
6621
"ru": "контроль",
6622
"zh-chs": "控制",
6623
"xloc": [
6624
- "default.handlebars->25->585",
6625
- "default.handlebars->25->604"
6624
+ "default.handlebars->25->587",
6625
+ "default.handlebars->25->606"
6626
]
6627
},
6628
{
@@ -6639,7 +6639,7 @@
6639
"ru": "Cookie-кодировщик",
6640
"zh-chs": "Cookie編碼器",
6641
"xloc": [
6642
- "default.handlebars->25->1758"
6642
+ "default.handlebars->25->1762"
6643
]
6644
},
6645
{
@@ -6765,8 +6765,8 @@
6765
"ru": "Скопировать ссылку в буфер обмена",
6766
"zh-chs": "複製鏈接到剪貼板",
6767
"xloc": [
6768
- "default.handlebars->25->1364",
6769
- "default.handlebars->25->1378",
6768
+ "default.handlebars->25->1368",
6769
+ "default.handlebars->25->1382",
6770
"default.handlebars->25->321"
6771
]
6772
},
@@ -6944,7 +6944,7 @@
6944
"ru": "Основной сервер",
6945
"zh-chs": "核心服務器",
6946
"xloc": [
6947
- "default.handlebars->25->1757"
6947
+ "default.handlebars->25->1761"
6948
]
6949
},
6950
{
@@ -6961,7 +6961,7 @@
6961
"ru": "Kорсиканский",
6962
"zh-chs": "科西嘉人",
6963
"xloc": [
6964
- "default.handlebars->25->926"
6964
+ "default.handlebars->25->930"
6965
]
6966
},
6967
{
@@ -6978,7 +6978,7 @@
6978
"ru": "Создать учетную запись",
6979
"zh-chs": "創建帳號",
6980
"xloc": [
6981
- "default.handlebars->25->1482",
6981
+ "default.handlebars->25->1486",
6982
"login-mobile.handlebars->container->page_content->column_l->1->1->0->1->createpanel->1->1->9->1->12->1->1",
6983
"login.handlebars->container->column_l->centralTable->1->0->logincell->createpanel->1->9->1->12->1->1"
6984
]
@@ -7014,7 +7014,7 @@
7014
"ru": "Создать группу пользователей",
7015
"zh-chs": "創建用戶組",
7016
"xloc": [
7017
- "default.handlebars->25->1517"
7017
+ "default.handlebars->25->1521"
7018
]
7019
},
7020
{
@@ -7031,7 +7031,7 @@
7031
"ru": "Создайте новую группу устройств, используя параметры ниже.",
7032
"zh-chs": "使用以下選項創建一個新的設備組。",
7033
"xloc": [
7034
- "default.handlebars->25->1119"
7034
+ "default.handlebars->25->1123"
7035
]
7036
},
7037
{
@@ -7065,7 +7065,7 @@
7065
"ru": "Создайте сразу несколько учетных записей, импортировав файл JSON в следующем формате:",
7066
"zh-chs": "通過導入以下格式的JSON文件一次創建多個帳戶:",
7067
"xloc": [
7068
- "default.handlebars->25->1452"
7068
+ "default.handlebars->25->1456"
7069
]
7070
},
7071
{
@@ -7100,7 +7100,7 @@
7100
"ru": "Создано",
7101
"zh-chs": "創建",
7102
"xloc": [
7103
- "default.handlebars->25->1582"
7103
+ "default.handlebars->25->1586"
7104
]
7105
},
7106
{
@@ -7135,7 +7135,7 @@
7135
"ru": "Кри (Канадский язык)",
7136
"zh-chs": "克里",
7137
"xloc": [
7138
- "default.handlebars->25->927"
7138
+ "default.handlebars->25->931"
7139
]
7140
},
7141
{
@@ -7152,7 +7152,7 @@
7152
"ru": "Хорватский",
7153
"zh-chs": "克羅地亞語",
7154
"xloc": [
7155
- "default.handlebars->25->928"
7155
+ "default.handlebars->25->932"
7156
]
7157
},
7158
{
@@ -7293,7 +7293,7 @@
7293
"ru": "Чешский",
7294
"zh-chs": "捷克文",
7295
"xloc": [
7296
- "default.handlebars->25->929"
7296
+ "default.handlebars->25->933"
7297
]
7298
},
7299
{
@@ -7327,7 +7327,7 @@
7327
"ru": "Датский",
7328
"zh-chs": "丹麥文",
7329
"xloc": [
7330
- "default.handlebars->25->930"
7330
+ "default.handlebars->25->934"
7331
]
7332
},
7333
{
@@ -7344,7 +7344,7 @@
7344
"ru": "DataChannel",
7345
"zh-chs": "數據通道",
7346
"xloc": [
7347
- "default.handlebars->25->694"
7347
+ "default.handlebars->25->698"
7348
]
7349
},
7350
{
@@ -7361,7 +7361,7 @@
7361
"ru": "Дата & Время",
7362
"zh-chs": "日期和時間",
7363
"xloc": [
7364
- "default.handlebars->25->1087"
7364
+ "default.handlebars->25->1091"
7365
]
7366
},
7367
{
@@ -7378,7 +7378,7 @@
7378
"ru": "День",
7379
"zh-chs": "天",
7380
"xloc": [
7381
- "default.handlebars->25->628"
7381
+ "default.handlebars->25->632"
7382
]
7383
},
7384
{
@@ -7395,7 +7395,7 @@
7395
"ru": "Деактивировать режим управления клиентом (CCM)",
7396
"zh-chs": "停用客戶端控制模式(CCM)",
7397
"xloc": [
7398
- "default.handlebars->25->1210"
7398
+ "default.handlebars->25->1214"
7399
]
7400
},
7401
{
@@ -7434,9 +7434,9 @@
7434
"default-mobile.handlebars->9->91",
7435
"default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->2->1->1",
7436
"default-mobile.handlebars->container->page_content->column_l->p5->p5myfiles->p5toolbar->1->0->1->1",
7437
- "default.handlebars->25->1385",
7437
+ "default.handlebars->25->1389",
7438
"default.handlebars->25->439",
7439
- "default.handlebars->25->753",
7439
+ "default.handlebars->25->757",
7440
"default.handlebars->container->column_l->p13->p13toolbar->1->2->1->3",
7441
"default.handlebars->container->column_l->p5->p5toolbar->1->0->p5filehead->3",
7442
"default.handlebars->container->dialog->idx_dlgButtonBar->5",
@@ -7460,7 +7460,7 @@
7460
"zh-chs": "刪除帳戶",
7461
"xloc": [
7462
"default-mobile.handlebars->9->53",
7463
- "default.handlebars->25->1104"
7463
+ "default.handlebars->25->1108"
7464
]
7465
},
7466
{
@@ -7474,7 +7474,7 @@
7474
"nl": "Verwijder accounts",
7475
"zh-chs": "删除帐号",
7476
"xloc": [
7477
- "default.handlebars->25->1446"
7477
+ "default.handlebars->25->1450"
7478
]
7479
},
7480
{
@@ -7492,7 +7492,7 @@
7492
"zh-chs": "刪除裝置",
7493
"xloc": [
7494
"default-mobile.handlebars->9->222",
7495
- "default.handlebars->25->544"
7495
+ "default.handlebars->25->546"
7496
]
7497
},
7498
{
@@ -7511,8 +7511,8 @@
7511
"xloc": [
7512
"default-mobile.handlebars->9->304",
7513
"default-mobile.handlebars->9->307",
7514
- "default.handlebars->25->1203",
7515
- "default.handlebars->25->1233"
7514
+ "default.handlebars->25->1207",
7515
+ "default.handlebars->25->1237"
7516
]
7517
},
7518
{
@@ -7530,7 +7530,7 @@
7530
"zh-chs": "刪除節點",
7531
"xloc": [
7532
"default-mobile.handlebars->9->241",
7533
- "default.handlebars->25->654"
7533
+ "default.handlebars->25->658"
7534
]
7535
},
7536
{
@@ -7564,7 +7564,7 @@
7564
"ru": "Удалить пользователя",
7565
"zh-chs": "刪除用戶",
7566
"xloc": [
7567
- "default.handlebars->25->1621"
7567
+ "default.handlebars->25->1625"
7568
]
7569
},
7570
{
@@ -7581,8 +7581,8 @@
7581
"ru": "Удалить группу пользователей",
7582
"zh-chs": "刪除用戶組",
7583
"xloc": [
7584
- "default.handlebars->25->1547",
7585
- "default.handlebars->25->1557"
7584
+ "default.handlebars->25->1551",
7585
+ "default.handlebars->25->1561"
7586
]
7587
},
7588
{
@@ -7596,7 +7596,7 @@
7596
"nl": "Gebruikersgroepen verwijderen",
7597
"zh-chs": "删除用户组",
7598
"xloc": [
7599
- "default.handlebars->25->1513"
7599
+ "default.handlebars->25->1517"
7600
]
7601
},
7602
{
@@ -7613,7 +7613,7 @@
7613
"ru": "Удалить пользователя {0}",
7614
"zh-chs": "刪除用戶{0}",
7615
"xloc": [
7616
- "default.handlebars->25->1642"
7616
+ "default.handlebars->25->1646"
7617
]
7618
},
7619
{
@@ -7631,7 +7631,7 @@
7631
"zh-chs": "刪除帳戶",
7632
"xloc": [
7633
"default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->p3AccountActions->p2AccountActions->3->9->0",
7634
- "default.handlebars->25->1442",
7634
+ "default.handlebars->25->1446",
7635
"default.handlebars->container->column_l->p2->p2info->p2AccountActions->3->p2AccountPassActions->7"
7636
]
7637
},
@@ -7663,7 +7663,7 @@
7663
"nl": "Verwijder groep",
7664
"zh-chs": "删除群组",
7665
"xloc": [
7666
- "default.handlebars->25->1509"
7666
+ "default.handlebars->25->1513"
7667
]
7668
},
7669
{
@@ -7699,8 +7699,8 @@
7699
"xloc": [
7700
"default-mobile.handlebars->9->270",
7701
"default-mobile.handlebars->9->93",
7702
- "default.handlebars->25->1387",
7703
- "default.handlebars->25->755"
7702
+ "default.handlebars->25->1391",
7703
+ "default.handlebars->25->759"
7704
]
7705
},
7706
{
@@ -7717,7 +7717,7 @@
7717
"ru": "Удалить группу пользователей {0}?",
7718
"zh-chs": "刪除用戶組{0}?",
7719
"xloc": [
7720
- "default.handlebars->25->1555"
7720
+ "default.handlebars->25->1559"
7721
]
7722
},
7723
{
@@ -7736,8 +7736,8 @@
7736
"xloc": [
7737
"default-mobile.handlebars->9->269",
7738
"default-mobile.handlebars->9->92",
7739
- "default.handlebars->25->1386",
7740
- "default.handlebars->25->754"
7739
+ "default.handlebars->25->1390",
7740
+ "default.handlebars->25->758"
7741
]
7742
},
7743
{
@@ -7767,7 +7767,7 @@
7767
"ko": "거부",
7768
"zh-chs": "被拒绝",
7769
"xloc": [
7770
- "default.handlebars->25->690"
7770
+ "default.handlebars->25->694"
7771
]
7772
},
7773
{
@@ -7850,18 +7850,18 @@
7850
"default-mobile.handlebars->9->296",
7851
"default-mobile.handlebars->9->309",
7852
"default-mobile.handlebars->9->70",
7853
- "default.handlebars->25->1124",
7854
- "default.handlebars->25->1152",
7855
- "default.handlebars->25->1235",
7856
- "default.handlebars->25->1516",
7857
- "default.handlebars->25->1523",
7858
- "default.handlebars->25->1524",
7859
- "default.handlebars->25->1553",
7853
+ "default.handlebars->25->1128",
7854
+ "default.handlebars->25->1156",
7855
+ "default.handlebars->25->1239",
7856
+ "default.handlebars->25->1520",
7857
+ "default.handlebars->25->1527",
7858
+ "default.handlebars->25->1528",
7859
+ "default.handlebars->25->1557",
7860
"default.handlebars->25->478",
7861
"default.handlebars->25->479",
7862
- "default.handlebars->25->685",
7862
+ "default.handlebars->25->689",
7863
"default.handlebars->25->78",
7864
- "default.handlebars->25->799",
7864
+ "default.handlebars->25->803",
7865
"default.handlebars->container->column_l->p42->p42tbl->1->0->3"
7866
]
7867
},
@@ -7893,8 +7893,8 @@
7893
"ru": "Рабочий стол",
7894
"zh-chs": "桌面",
7895
"xloc": [
7896
- "default.handlebars->25->1240",
7897
- "default.handlebars->25->1687",
7896
+ "default.handlebars->25->1244",
7897
+ "default.handlebars->25->1691",
7898
"default.handlebars->25->445",
7899
"default.handlebars->container->topbar->1->1->MainSubMenuSpan->MainSubMenu->1->0->MainDevDesktop",
7900
"default.handlebars->contextMenu->cxdesktop"
@@ -7931,8 +7931,8 @@
7931
"ru": "Уведомление на рабочем столе",
7932
"zh-chs": "桌面通知",
7933
"xloc": [
7934
- "default.handlebars->25->1162",
7935
- "default.handlebars->25->1597",
7934
+ "default.handlebars->25->1166",
7935
+ "default.handlebars->25->1601",
7936
"default.handlebars->25->514"
7937
]
7938
},
@@ -7950,8 +7950,8 @@
7950
"ru": "Запрос рабочего стола",
7951
"zh-chs": "桌面提示",
7952
"xloc": [
7953
- "default.handlebars->25->1161",
7954
- "default.handlebars->25->1596",
7953
+ "default.handlebars->25->1165",
7954
+ "default.handlebars->25->1600",
7955
"default.handlebars->25->513"
7956
]
7957
},
@@ -7969,8 +7969,8 @@
7969
"ru": "Запрос рабочего стола + панель инструментов",
7970
"zh-chs": "桌面提示+工具欄",
7971
"xloc": [
7972
- "default.handlebars->25->1159",
7973
- "default.handlebars->25->1594",
7972
+ "default.handlebars->25->1163",
7973
+ "default.handlebars->25->1598",
7974
"default.handlebars->25->511"
7975
]
7976
},
@@ -8002,8 +8002,8 @@
8002
"ru": "Панель инструментов рабочего стола",
8003
"zh-chs": "桌面工具欄",
8004
"xloc": [
8005
- "default.handlebars->25->1160",
8006
- "default.handlebars->25->1595",
8005
+ "default.handlebars->25->1164",
8006
+ "default.handlebars->25->1599",
8007
"default.handlebars->25->512"
8008
]
8009
},
@@ -8074,8 +8074,8 @@
8074
"ru": "Устройство",
8075
"zh-chs": "設備",
8076
"xloc": [
8077
- "default.handlebars->25->1262",
8078
- "default.handlebars->25->1661",
8077
+ "default.handlebars->25->1266",
8078
+ "default.handlebars->25->1665",
8079
"default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->9->devListToolbarSort->sortselect->5"
8080
]
8081
},
@@ -8094,7 +8094,7 @@
8094
"zh-chs": "設備動作",
8095
"xloc": [
8096
"default-mobile.handlebars->9->234",
8097
- "default.handlebars->25->627"
8097
+ "default.handlebars->25->631"
8098
]
8099
},
8100
{
@@ -8111,13 +8111,13 @@
8111
"ru": "Группа устройства",
8112
"zh-chs": "設備組",
8113
"xloc": [
8114
- "default.handlebars->25->1257",
8115
- "default.handlebars->25->1260",
8114
"default.handlebars->25->1261",
8117
- "default.handlebars->25->1539",
8118
- "default.handlebars->25->1545",
8119
- "default.handlebars->25->1649",
8120
- "default.handlebars->25->1696"
8115
+ "default.handlebars->25->1264",
8116
+ "default.handlebars->25->1265",
8117
+ "default.handlebars->25->1543",
8118
+ "default.handlebars->25->1549",
8119
+ "default.handlebars->25->1653",
8120
+ "default.handlebars->25->1700"
8121
]
8122
},
8123
{
@@ -8135,7 +8135,7 @@
8135
"zh-chs": "設備組用戶",
8136
"xloc": [
8137
"default-mobile.handlebars->9->350",
8138
- "default.handlebars->25->1322"
8138
+ "default.handlebars->25->1326"
8139
]
8140
},
8141
{
@@ -8153,11 +8153,11 @@
8153
"zh-chs": "設備組",
8154
"xloc": [
8155
"default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->3",
8156
- "default.handlebars->25->1411",
8157
- "default.handlebars->25->1503",
8158
- "default.handlebars->25->1526",
8159
- "default.handlebars->25->1591",
8160
- "default.handlebars->25->1731",
8156
+ "default.handlebars->25->1415",
8157
+ "default.handlebars->25->1507",
8158
+ "default.handlebars->25->1530",
8159
+ "default.handlebars->25->1595",
8160
+ "default.handlebars->25->1735",
8161
"default.handlebars->container->column_l->p2->p2info->7"
8162
]
8163
},
@@ -8192,7 +8192,13 @@
8192
"ru": "Местонахождение устройства",
8193
"zh-chs": "設備位置",
8194
"xloc": [
8195
- "default.handlebars->25->655"
8195
+ "default.handlebars->25->659"
8196
+ ]
8197
+ },
8198
+ {
8199
+ "en": "Device Message",
8200
+ "xloc": [
8201
+ "default.handlebars->25->620"
8202
]
8203
},
8204
{
@@ -8210,9 +8216,9 @@
8216
"zh-chs": "設備名稱",
8217
"xloc": [
8218
"default-mobile.handlebars->9->245",
8213
- "default.handlebars->25->1695",
8219
+ "default.handlebars->25->1699",
8220
"default.handlebars->25->244",
8215
- "default.handlebars->25->683",
8221
+ "default.handlebars->25->687",
8222
"player.handlebars->3->9"
8223
]
8224
},
@@ -8230,7 +8236,7 @@
8236
"ru": "Уведомление устройства",
8237
"zh-chs": "設備通知",
8238
"xloc": [
8233
- "default.handlebars->25->618"
8239
+ "default.handlebars->25->622"
8240
]
8241
},
8242
{
@@ -8264,8 +8270,8 @@
8270
"ru": "Подключения устройств.",
8271
"zh-chs": "設備連接。",
8272
"xloc": [
8267
- "default.handlebars->25->1092",
8268
- "default.handlebars->25->1343"
8273
+ "default.handlebars->25->1096",
8274
+ "default.handlebars->25->1347"
8275
]
8276
},
8277
{
@@ -8282,8 +8288,8 @@
8288
"ru": "Отключения устройств.",
8289
"zh-chs": "設備斷開連接。",
8290
"xloc": [
8285
- "default.handlebars->25->1093",
8286
- "default.handlebars->25->1344"
8291
+ "default.handlebars->25->1097",
8292
+ "default.handlebars->25->1348"
8293
]
8294
},
8295
{
@@ -8300,7 +8306,7 @@
8306
"ru": "Примечания могут быть просмотрены и изменены другими администраторами.",
8307
"zh-chs": "其他設備組管理員可以查看和更改設備組註釋。",
8308
"xloc": [
8303
- "default.handlebars->25->616"
8309
+ "default.handlebars->25->618"
8310
]
8311
},
8312
{
@@ -8593,8 +8599,8 @@
8599
"nl": "Apparaten",
8600
"zh-chs": "设备",
8601
"xloc": [
8596
- "default.handlebars->25->1504",
8597
- "default.handlebars->25->1527"
8602
+ "default.handlebars->25->1508",
8603
+ "default.handlebars->25->1531"
8604
]
8605
},
8606
{
@@ -8630,8 +8636,8 @@
8636
"xloc": [
8637
"default-mobile.handlebars->9->259",
8638
"default-mobile.handlebars->container->page_content->column_l->p10->p10desktop->deskarea1->1->3",
8633
- "default.handlebars->25->1172",
8634
- "default.handlebars->25->744",
8639
+ "default.handlebars->25->1176",
8640
+ "default.handlebars->25->748",
8641
"default.handlebars->container->column_l->p11->deskarea0->deskarea1->3->disconnectbutton1span",
8642
"default.handlebars->container->column_l->p12->termTable->1->1->0->1->3->disconnectbutton2span",
8643
"xterm.handlebars->p11->deskarea0->deskarea1->3"
@@ -8682,6 +8688,12 @@
8688
"xterm.handlebars->9->1"
8689
]
8690
},
8691
+ {
8692
+ "en": "Display a message box on the remote device.",
8693
+ "xloc": [
8694
+ "default.handlebars->25->621"
8695
+ ]
8696
+ },
8697
{
8698
"cs": "Zobrazit upozornění na vzdáleném zařízení",
8699
"de": "Eine Benachrichtigung auf dem entfernten Rechner anzeigen",
@@ -8699,6 +8711,12 @@
8711
"default.handlebars->container->column_l->p11->deskarea0->deskarea4->1"
8712
]
8713
},
8714
+ {
8715
+ "en": "Display a text message on the remote device",
8716
+ "xloc": [
8717
+ "default.handlebars->25->542"
8718
+ ]
8719
+ },
8720
{
8721
"cs": "Zobrazit název skupiny zařízení",
8722
"de": "Gerätegruppenname anzeigen",
@@ -8713,7 +8731,7 @@
8731
"ru": "Отобразить имя группы устройств",
8732
"zh-chs": "顯示設備組名稱",
8733
"xloc": [
8716
- "default.handlebars->25->1091"
8734
+ "default.handlebars->25->1095"
8735
]
8736
},
8737
{
@@ -8730,7 +8748,7 @@
8748
"ru": "Отображаемое имя",
8749
"zh-chs": "顯示名稱",
8750
"xloc": [
8733
- "default.handlebars->25->715"
8751
+ "default.handlebars->25->719"
8752
]
8753
},
8754
{
@@ -8746,7 +8764,7 @@
8764
"ru": "Показать публичную ссылку",
8765
"zh-chs": "显示公共链接",
8766
"xloc": [
8749
- "default.handlebars->25->1363"
8767
+ "default.handlebars->25->1367"
8768
]
8769
},
8770
{
@@ -8763,7 +8781,7 @@
8781
"ru": "Ничего не делать",
8782
"zh-chs": "沒做什麼",
8783
"xloc": [
8766
- "default.handlebars->25->1216"
8784
+ "default.handlebars->25->1220"
8785
]
8786
},
8787
{
@@ -8776,8 +8794,8 @@
8794
"nl": "Niet configureren",
8795
"zh-chs": "不要配置",
8796
"xloc": [
8779
- "default.handlebars->25->1220",
8780
- "default.handlebars->25->1225"
8797
+ "default.handlebars->25->1224",
8798
+ "default.handlebars->25->1229"
8799
]
8800
},
8801
{
@@ -8790,7 +8808,7 @@
8808
"nl": "Maak geen verbinding met de server",
8809
"zh-chs": "不要连接到服务器",
8810
"xloc": [
8793
- "default.handlebars->25->1221"
8811
+ "default.handlebars->25->1225"
8812
]
8813
},
8814
{
@@ -8890,7 +8908,7 @@
8908
"zh-chs": "下載文件",
8909
"xloc": [
8910
"default-mobile.handlebars->9->289",
8893
- "default.handlebars->25->773"
8911
+ "default.handlebars->25->777"
8912
]
8913
},
8914
{
@@ -8924,7 +8942,7 @@
8942
"ru": "Скачать MeshCmd",
8943
"zh-chs": "下載MeshCmd",
8944
"xloc": [
8927
- "default.handlebars->25->675"
8945
+ "default.handlebars->25->679"
8946
]
8947
},
8948
{
@@ -8975,7 +8993,7 @@
8993
"ru": "Скачайте \\\"meshcmd\\\" с файлом команд для маршрутизации трафика к этому устройству через сервер. Не забудьте указать пароль от своей учетной записи в meshaction.txt и сделать другие правки при необходимости.",
8994
"zh-chs": "下載帶有動作文件的“ meshcmd”,以將通過此服務器的流量路由到該設備。確保編輯meshaction.txt並添加您的帳戶密碼或進行任何必要的更改。",
8995
"xloc": [
8978
- "default.handlebars->25->668"
8996
+ "default.handlebars->25->672"
8997
]
8998
},
8999
{
@@ -9043,7 +9061,7 @@
9061
"ru": "Скачать события состояния питания",
9062
"zh-chs": "下載電源事件",
9063
"xloc": [
9046
- "default.handlebars->25->629"
9064
+ "default.handlebars->25->633"
9065
]
9066
},
9067
{
@@ -9111,7 +9129,7 @@
9129
"ru": "Скачать список событий в одном из форматов ниже.",
9130
"zh-chs": "使用以下一種文件格式下載事件列表。",
9131
"xloc": [
9114
- "default.handlebars->25->1401"
9132
+ "default.handlebars->25->1405"
9133
]
9134
},
9135
{
@@ -9128,7 +9146,7 @@
9146
"ru": "Скачать список пользователей в одном из форматов ниже.",
9147
"zh-chs": "使用以下一種文件格式下載用戶列表。",
9148
"xloc": [
9131
- "default.handlebars->25->1460"
9149
+ "default.handlebars->25->1464"
9150
]
9151
},
9152
{
@@ -9211,7 +9229,7 @@
9229
"nl": "Dubbele agent",
9230
"zh-chs": "代理重复",
9231
"xloc": [
9214
- "default.handlebars->25->1727"
9232
+ "default.handlebars->25->1731"
9233
]
9234
},
9235
{
@@ -9245,7 +9263,7 @@
9263
"ru": "Скопировать группу пользователей",
9264
"zh-chs": "重複的用戶組",
9265
"xloc": [
9248
- "default.handlebars->25->1518"
9266
+ "default.handlebars->25->1522"
9267
]
9268
},
9269
{
@@ -9276,8 +9294,8 @@
9294
"ru": "Длительность",
9295
"zh-chs": "持續時間",
9296
"xloc": [
9279
- "default.handlebars->25->1681",
9280
- "default.handlebars->25->1701",
9297
+ "default.handlebars->25->1685",
9298
+ "default.handlebars->25->1705",
9299
"player.handlebars->3->2"
9300
]
9301
},
@@ -9295,7 +9313,7 @@
9313
"ru": "Во время активации агент будет иметь доступ к паролю администратора.",
9314
"zh-chs": "在激活期間,代理將有權訪問管理員密碼信息。",
9315
"xloc": [
9298
- "default.handlebars->25->1230"
9316
+ "default.handlebars->25->1234"
9317
]
9318
},
9319
{
@@ -9312,7 +9330,7 @@
9330
"ru": "Голландский (Бельгийский)",
9331
"zh-chs": "荷蘭語(比利時)",
9332
"xloc": [
9315
- "default.handlebars->25->932"
9333
+ "default.handlebars->25->936"
9334
]
9335
},
9336
{
@@ -9329,7 +9347,7 @@
9347
"ru": "Голландский (Стандартный)",
9348
"zh-chs": "荷蘭語(標準)",
9349
"xloc": [
9332
- "default.handlebars->25->931"
9350
+ "default.handlebars->25->935"
9351
]
9352
},
9353
{
@@ -9520,7 +9538,7 @@
9538
"zh-chs": "編輯裝置",
9539
"xloc": [
9540
"default-mobile.handlebars->9->250",
9523
- "default.handlebars->25->688"
9541
+ "default.handlebars->25->692"
9542
]
9543
},
9544
{
@@ -9540,10 +9558,10 @@
9558
"default-mobile.handlebars->9->310",
9559
"default-mobile.handlebars->9->312",
9560
"default-mobile.handlebars->9->330",
9543
- "default.handlebars->25->1236",
9544
- "default.handlebars->25->1266",
9545
- "default.handlebars->25->1288",
9546
- "default.handlebars->25->1300"
9561
+ "default.handlebars->25->1240",
9562
+ "default.handlebars->25->1270",
9563
+ "default.handlebars->25->1292",
9564
+ "default.handlebars->25->1304"
9565
]
9566
},
9567
{
@@ -9560,7 +9578,7 @@
9578
"ru": "Редактировать функции группы устройств",
9579
"zh-chs": "編輯設備組功能",
9580
"xloc": [
9563
- "default.handlebars->25->1252"
9581
+ "default.handlebars->25->1256"
9582
]
9583
},
9584
{
@@ -9577,8 +9595,8 @@
9595
"ru": "Редактировать права группы устройств",
9596
"zh-chs": "編輯設備組權限",
9597
"xloc": [
9580
- "default.handlebars->25->1285",
9581
- "default.handlebars->25->1297"
9598
+ "default.handlebars->25->1289",
9599
+ "default.handlebars->25->1301"
9600
]
9601
},
9602
{
@@ -9595,7 +9613,7 @@
9613
"ru": "Редактировать согласие пользователя группы устройств",
9614
"zh-chs": "編輯設備組用戶同意",
9615
"xloc": [
9598
- "default.handlebars->25->1237"
9616
+ "default.handlebars->25->1241"
9617
]
9618
},
9619
{
@@ -9613,7 +9631,7 @@
9631
"zh-chs": "編輯設備說明",
9632
"xloc": [
9633
"default-mobile.handlebars->9->324",
9616
- "default.handlebars->25->1279"
9634
+ "default.handlebars->25->1283"
9635
]
9636
},
9637
{
@@ -9629,8 +9647,8 @@
9647
"ru": "Изменить разрешения устройства",
9648
"zh-chs": "编辑设备权限",
9649
"xloc": [
9632
- "default.handlebars->25->1290",
9633
- "default.handlebars->25->1292"
9650
+ "default.handlebars->25->1294",
9651
+ "default.handlebars->25->1296"
9652
]
9653
},
9654
{
@@ -9644,7 +9662,7 @@
9662
"nl": "Gebruikerstoestemming apparaat bewerken",
9663
"zh-chs": "编辑设备用户同意",
9664
"xloc": [
9647
- "default.handlebars->25->1239"
9665
+ "default.handlebars->25->1243"
9666
]
9667
},
9668
{
@@ -9660,7 +9678,7 @@
9678
"ru": "Редактировать группу",
9679
"zh-chs": "编辑组",
9680
"xloc": [
9663
- "default.handlebars->25->595"
9681
+ "default.handlebars->25->597"
9682
]
9683
},
9684
{
@@ -9680,7 +9698,7 @@
9698
"default-mobile.handlebars->9->240",
9699
"default.handlebars->25->493",
9700
"default.handlebars->25->496",
9683
- "default.handlebars->25->636"
9701
+ "default.handlebars->25->640"
9702
]
9703
},
9704
{
@@ -9698,7 +9716,7 @@
9716
"zh-chs": "編輯筆記",
9717
"xloc": [
9718
"default-mobile.handlebars->9->337",
9701
- "default.handlebars->25->1307"
9719
+ "default.handlebars->25->1311"
9720
]
9721
},
9722
{
@@ -9712,7 +9730,7 @@
9730
"nl": "Gebruikerstoestemming bewerken",
9731
"zh-chs": "编辑用户同意",
9732
"xloc": [
9715
- "default.handlebars->25->1238"
9733
+ "default.handlebars->25->1242"
9734
]
9735
},
9736
{
@@ -9729,7 +9747,7 @@
9747
"ru": "Редактировать права пользователя для группы устройств",
9748
"zh-chs": "編輯用戶設備組權限",
9749
"xloc": [
9732
- "default.handlebars->25->1298"
9750
+ "default.handlebars->25->1302"
9751
]
9752
},
9753
{
@@ -9745,7 +9763,7 @@
9763
"ru": "Изменить разрешения для пользовательских устройств",
9764
"zh-chs": "编辑用户设备权限",
9765
"xloc": [
9748
- "default.handlebars->25->1293"
9766
+ "default.handlebars->25->1297"
9767
]
9768
},
9769
{
@@ -9762,7 +9780,7 @@
9780
"ru": "Редактировать группу пользователей",
9781
"zh-chs": "編輯用戶組",
9782
"xloc": [
9765
- "default.handlebars->25->1554"
9783
+ "default.handlebars->25->1558"
9784
]
9785
},
9786
{
@@ -9776,7 +9794,7 @@
9794
"nl": "Gebruikersmachtigingen voor apparaatgroep bewerken",
9795
"zh-chs": "编辑用户组设备权限",
9796
"xloc": [
9779
- "default.handlebars->25->1295"
9797
+ "default.handlebars->25->1299"
9798
]
9799
},
9800
{
@@ -9811,11 +9829,11 @@
9829
"zh-chs": "電子郵件",
9830
"xloc": [
9831
"default-mobile.handlebars->9->47",
9814
- "default.handlebars->25->1472",
9815
- "default.handlebars->25->1576",
9816
- "default.handlebars->25->1577",
9817
- "default.handlebars->25->1616",
9818
- "default.handlebars->25->1630",
9832
+ "default.handlebars->25->1476",
9833
+ "default.handlebars->25->1580",
9834
+ "default.handlebars->25->1581",
9835
+ "default.handlebars->25->1620",
9836
+ "default.handlebars->25->1634",
9837
"default.handlebars->25->292",
9838
"login-mobile.handlebars->5->42",
9839
"login-mobile.handlebars->container->page_content->column_l->1->1->0->1->tokenpanel->1->7->1->4->1->3",
@@ -9838,7 +9856,7 @@
9856
"zh-chs": "電郵地址變更",
9857
"xloc": [
9858
"default-mobile.handlebars->9->48",
9841
- "default.handlebars->25->1100"
9859
+ "default.handlebars->25->1104"
9860
]
9861
},
9862
{
@@ -9856,7 +9874,7 @@
9874
"zh-chs": "郵件認證",
9875
"xloc": [
9876
"default-mobile.handlebars->9->37",
9859
- "default.handlebars->25->869"
9877
+ "default.handlebars->25->873"
9878
]
9879
},
9880
{
@@ -9901,7 +9919,7 @@
9919
"zh-chs": "電子郵件驗證",
9920
"xloc": [
9921
"default-mobile.handlebars->9->46",
9904
- "default.handlebars->25->1098"
9922
+ "default.handlebars->25->1102"
9923
]
9924
},
9925
{
@@ -9931,7 +9949,7 @@
9949
"ru": "Электронная почта не подтверждена",
9950
"zh-chs": "邮件未验证",
9951
"xloc": [
9934
- "default.handlebars->25->1430"
9952
+ "default.handlebars->25->1434"
9953
]
9954
},
9955
{
@@ -9948,8 +9966,8 @@
9966
"ru": "Email подтвержден",
9967
"zh-chs": "電子郵件已驗證",
9968
"xloc": [
9951
- "default.handlebars->25->1431",
9952
- "default.handlebars->25->1573"
9969
+ "default.handlebars->25->1435",
9970
+ "default.handlebars->25->1577"
9971
]
9972
},
9973
{
@@ -9966,7 +9984,7 @@
9984
"ru": "Email подтвержден.",
9985
"zh-chs": "電子郵件已驗證。",
9986
"xloc": [
9969
- "default.handlebars->25->1478"
9987
+ "default.handlebars->25->1482"
9988
]
9989
},
9990
{
@@ -9983,7 +10001,7 @@
10001
"ru": "Email не подтвержден",
10002
"zh-chs": "電子郵件未驗證",
10003
"xloc": [
9986
- "default.handlebars->25->1574"
10004
+ "default.handlebars->25->1578"
10005
]
10006
},
10007
{
@@ -10022,7 +10040,7 @@
10040
"en": "Email verified and forced password reset required.",
10041
"nl": "E-mail geverifieerd en geforceerd opnieuw instellen van wachtwoord vereist.",
10042
"xloc": [
10025
- "default.handlebars->25->1479"
10043
+ "default.handlebars->25->1483"
10044
]
10045
},
10046
{
@@ -10035,7 +10053,7 @@
10053
"nl": "Email/SMS verkeer",
10054
"zh-chs": "电子邮件/短信流量",
10055
"xloc": [
10038
- "default.handlebars->25->1766"
10056
+ "default.handlebars->25->1770"
10057
]
10058
},
10059
{
@@ -10074,7 +10092,7 @@
10092
"ru": "Включить коды приглашения",
10093
"zh-chs": "啟用邀請代碼",
10094
"xloc": [
10077
- "default.handlebars->25->1328"
10095
+ "default.handlebars->25->1332"
10096
]
10097
},
10098
{
@@ -10109,7 +10127,7 @@
10127
"zh-chs": "啟用電子郵件兩因素驗證。",
10128
"xloc": [
10129
"default-mobile.handlebars->9->39",
10112
- "default.handlebars->25->871"
10130
+ "default.handlebars->25->875"
10131
]
10132
},
10133
{
@@ -10133,7 +10151,7 @@
10151
"en": "Enabled",
10152
"nl": "Ingeschakeld",
10153
"xloc": [
10136
- "default.handlebars->25->1703"
10154
+ "default.handlebars->25->1707"
10155
]
10156
},
10157
{
@@ -10157,7 +10175,7 @@
10175
"en": "End Time",
10176
"nl": "Eindtijd",
10177
"xloc": [
10160
- "default.handlebars->25->1700"
10178
+ "default.handlebars->25->1704"
10179
]
10180
},
10181
{
@@ -10174,7 +10192,7 @@
10192
"ru": "Английский",
10193
"zh-chs": "英語",
10194
"xloc": [
10177
- "default.handlebars->25->933"
10195
+ "default.handlebars->25->937"
10196
]
10197
},
10198
{
@@ -10191,7 +10209,7 @@
10209
"ru": "Английский (Австралия)",
10210
"zh-chs": "英文(澳洲)",
10211
"xloc": [
10194
- "default.handlebars->25->934"
10212
+ "default.handlebars->25->938"
10213
]
10214
},
10215
{
@@ -10208,7 +10226,7 @@
10226
"ru": "Английский (Белиз)",
10227
"zh-chs": "英語(伯利茲)",
10228
"xloc": [
10211
- "default.handlebars->25->935"
10229
+ "default.handlebars->25->939"
10230
]
10231
},
10232
{
@@ -10225,7 +10243,7 @@
10243
"ru": "Английский (Канада)",
10244
"zh-chs": "英文(加拿大)",
10245
"xloc": [
10228
- "default.handlebars->25->936"
10246
+ "default.handlebars->25->940"
10247
]
10248
},
10249
{
@@ -10242,7 +10260,7 @@
10260
"ru": "Английский (Ирландия)",
10261
"zh-chs": "英文(愛爾蘭)",
10262
"xloc": [
10245
- "default.handlebars->25->937"
10263
+ "default.handlebars->25->941"
10264
]
10265
},
10266
{
@@ -10259,7 +10277,7 @@
10277
"ru": "Английский (Ямайка)",
10278
"zh-chs": "英文(牙買加)",
10279
"xloc": [
10262
- "default.handlebars->25->938"
10280
+ "default.handlebars->25->942"
10281
]
10282
},
10283
{
@@ -10276,7 +10294,7 @@
10294
"ru": "Английский (Новая Зеландия)",
10295
"zh-chs": "英文(紐西蘭)",
10296
"xloc": [
10279
- "default.handlebars->25->939"
10297
+ "default.handlebars->25->943"
10298
]
10299
},
10300
{
@@ -10293,7 +10311,7 @@
10311
"ru": "Английский (Филиппины)",
10312
"zh-chs": "英文(菲律賓)",
10313
"xloc": [
10296
- "default.handlebars->25->940"
10314
+ "default.handlebars->25->944"
10315
]
10316
},
10317
{
@@ -10310,7 +10328,7 @@
10328
"ru": "Английский (Южная Африка)",
10329
"zh-chs": "英語(南非)",
10330
"xloc": [
10313
- "default.handlebars->25->941"
10331
+ "default.handlebars->25->945"
10332
]
10333
},
10334
{
@@ -10327,7 +10345,7 @@
10345
"ru": "Английский (Тринидад и Тобаго)",
10346
"zh-chs": "英文(特立尼達和多巴哥)",
10347
"xloc": [
10330
- "default.handlebars->25->942"
10348
+ "default.handlebars->25->946"
10349
]
10350
},
10351
{
@@ -10344,7 +10362,7 @@
10362
"ru": "Английский (Великобритания)",
10363
"zh-chs": "英文(英國)",
10364
"xloc": [
10347
- "default.handlebars->25->943"
10365
+ "default.handlebars->25->947"
10366
]
10367
},
10368
{
@@ -10361,7 +10379,7 @@
10379
"ru": "Английский (Соединенные Штаты)",
10380
"zh-chs": "美國英語)",
10381
"xloc": [
10364
- "default.handlebars->25->944"
10382
+ "default.handlebars->25->948"
10383
]
10384
},
10385
{
@@ -10378,7 +10396,7 @@
10396
"ru": "Английский (Зимбабве)",
10397
"zh-chs": "英文(津巴布韋)",
10398
"xloc": [
10381
- "default.handlebars->25->945"
10399
+ "default.handlebars->25->949"
10400
]
10401
},
10402
{
@@ -10395,8 +10413,8 @@
10413
"ru": "Ввод",
10414
"zh-chs": "輸入",
10415
"xloc": [
10398
- "default.handlebars->25->1126",
10399
- "default.handlebars->25->1127"
10416
+ "default.handlebars->25->1130",
10417
+ "default.handlebars->25->1131"
10418
]
10419
},
10420
{
@@ -10413,7 +10431,7 @@
10431
"ru": "Введите разделенный запятыми список имен административных областей.",
10432
"zh-chs": "輸入管理領域名稱的逗號分隔列表。",
10433
"xloc": [
10416
- "default.handlebars->25->1483"
10434
+ "default.handlebars->25->1487"
10435
]
10436
},
10437
{
@@ -10447,7 +10465,7 @@
10465
"ru": "Для удаленного набора введите текст, используя английскую раскладку и нажмите OK. Перед продолжением убедитесь, что курсор на удаленном компьютере установлен в правильное положение.",
10466
"zh-chs": "輸入文本,然後單擊“確定”以使用美式英語鍵盤遠程輸入文本。在繼續操作之前,請確保將遠程光標放置在正確的位置。",
10467
"xloc": [
10450
- "default.handlebars->25->709"
10468
+ "default.handlebars->25->713"
10469
]
10470
},
10471
{
@@ -10495,7 +10513,7 @@
10513
"nl": "Voer uw telefoonnummer in dat geschikt is voor SMS. Na verificatie kan het nummer worden gebruikt voor inlogverificatie en andere meldingen.",
10514
"zh-chs": "输入支持SMS的电话号码。验证后,该号码可用于登录验证和其他通知。",
10515
"xloc": [
10498
- "default.handlebars->25->866"
10516
+ "default.handlebars->25->870"
10517
]
10518
},
10519
{
@@ -10546,7 +10564,7 @@
10564
"ru": "Эсперанто",
10565
"zh-chs": "世界語",
10566
"xloc": [
10549
- "default.handlebars->25->946"
10567
+ "default.handlebars->25->950"
10568
]
10569
},
10570
{
@@ -10563,7 +10581,7 @@
10581
"ru": "Эстонский",
10582
"zh-chs": "愛沙尼亞語",
10583
"xloc": [
10566
- "default.handlebars->25->947"
10584
+ "default.handlebars->25->951"
10585
]
10586
},
10587
{
@@ -10580,7 +10598,7 @@
10598
"ru": "Детали события",
10599
"zh-chs": "活動詳情",
10600
"xloc": [
10583
- "default.handlebars->25->786"
10601
+ "default.handlebars->25->790"
10602
]
10603
},
10604
{
@@ -10597,7 +10615,7 @@
10615
"ru": "Экспорт списка событий",
10616
"zh-chs": "活動列表導出",
10617
"xloc": [
10600
- "default.handlebars->25->1406"
10618
+ "default.handlebars->25->1410"
10619
]
10620
},
10621
{
@@ -10686,7 +10704,7 @@
10704
"ru": "Расширенный ASCII",
10705
"zh-chs": "擴展ASCII",
10706
"xloc": [
10689
- "default.handlebars->25->735"
10707
+ "default.handlebars->25->739"
10708
]
10709
},
10710
{
@@ -10720,7 +10738,7 @@
10738
"ru": "Внешний",
10739
"zh-chs": "外部",
10740
"xloc": [
10723
- "default.handlebars->25->1751"
10741
+ "default.handlebars->25->1755"
10742
]
10743
},
10744
{
@@ -10737,7 +10755,7 @@
10755
"ru": "Mакедонский (БЮР)",
10756
"zh-chs": "FYRO馬其頓語",
10757
"xloc": [
10740
- "default.handlebars->25->997"
10758
+ "default.handlebars->25->1001"
10759
]
10760
},
10761
{
@@ -10754,7 +10772,7 @@
10772
"ru": "Фарерский",
10773
"zh-chs": "法羅語",
10774
"xloc": [
10757
- "default.handlebars->25->948"
10775
+ "default.handlebars->25->952"
10776
]
10777
},
10778
{
@@ -10784,7 +10802,7 @@
10802
"ko": "원격 터미널 세션을 시작하지 못했습니다 : {0} ({1})",
10803
"zh-chs": "无法启动远程终端会话{0}({1})",
10804
"xloc": [
10787
- "default.handlebars->25->691"
10805
+ "default.handlebars->25->695"
10806
]
10807
},
10808
{
@@ -10801,7 +10819,7 @@
10819
"ru": "Фарси (Персидский)",
10820
"zh-chs": "波斯語(波斯語)",
10821
"xloc": [
10804
- "default.handlebars->25->949"
10822
+ "default.handlebars->25->953"
10823
]
10824
},
10825
{
@@ -10836,7 +10854,7 @@
10854
"ru": "Функции",
10855
"zh-chs": "特徵",
10856
"xloc": [
10839
- "default.handlebars->25->1158"
10857
+ "default.handlebars->25->1162"
10858
]
10859
},
10860
{
@@ -10853,7 +10871,7 @@
10871
"ru": "Фиджи",
10872
"zh-chs": "斐濟",
10873
"xloc": [
10856
- "default.handlebars->25->950"
10874
+ "default.handlebars->25->954"
10875
]
10876
},
10877
{
@@ -10872,7 +10890,7 @@
10890
"xloc": [
10891
"default-mobile.handlebars->9->273",
10892
"default.handlebars->25->437",
10875
- "default.handlebars->25->758"
10893
+ "default.handlebars->25->762"
10894
]
10895
},
10896
{
@@ -10906,7 +10924,7 @@
10924
"ru": "Драйвер файловой системы",
10925
"zh-chs": "FileSystemDriver",
10926
"xloc": [
10909
- "default.handlebars->25->718"
10927
+ "default.handlebars->25->722"
10928
]
10929
},
10930
{
@@ -10924,8 +10942,8 @@
10942
"zh-chs": "檔案",
10943
"xloc": [
10944
"default-mobile.handlebars->9->119",
10927
- "default.handlebars->25->1247",
10928
- "default.handlebars->25->1688",
10945
+ "default.handlebars->25->1251",
10946
+ "default.handlebars->25->1692",
10947
"default.handlebars->25->218",
10948
"default.handlebars->container->topbar->1->1->MainSubMenuSpan->MainSubMenu->1->0->MainDevFiles",
10949
"default.handlebars->contextMenu->cxfiles"
@@ -10962,8 +10980,8 @@
10980
"ru": "Уведомление файлов",
10981
"zh-chs": "文件通知",
10982
"xloc": [
10965
- "default.handlebars->25->1166",
10966
- "default.handlebars->25->1601",
10983
+ "default.handlebars->25->1170",
10984
+ "default.handlebars->25->1605",
10985
"default.handlebars->25->518"
10986
]
10987
},
@@ -10981,8 +10999,8 @@
10999
"ru": "Запрос файлов",
11000
"zh-chs": "文件提示",
11001
"xloc": [
10984
- "default.handlebars->25->1165",
10985
- "default.handlebars->25->1600",
11002
+ "default.handlebars->25->1169",
11003
+ "default.handlebars->25->1604",
11004
"default.handlebars->25->517"
11005
]
11006
},
@@ -11019,7 +11037,7 @@
11037
"ru": "Финский",
11038
"zh-chs": "芬蘭",
11039
"xloc": [
11022
- "default.handlebars->25->951"
11040
+ "default.handlebars->25->955"
11041
]
11042
},
11043
{
@@ -11142,8 +11160,8 @@
11160
"ru": "Принудительно сбросить пароль при следующем входе в систему.",
11161
"zh-chs": "下次登錄時強制重置密碼。",
11162
"xloc": [
11145
- "default.handlebars->25->1477",
11146
- "default.handlebars->25->1639"
11163
+ "default.handlebars->25->1481",
11164
+ "default.handlebars->25->1643"
11165
]
11166
},
11167
{
@@ -11229,8 +11247,8 @@
11247
"ru": "Свободно",
11248
"zh-chs": "自由",
11249
"xloc": [
11232
- "default.handlebars->25->1712",
11233
- "default.handlebars->25->1714"
11250
+ "default.handlebars->25->1716",
11251
+ "default.handlebars->25->1718"
11252
]
11253
},
11254
{
@@ -11265,7 +11283,7 @@
11283
"ru": "Французский (Бельгия)",
11284
"zh-chs": "法語(比利時)",
11285
"xloc": [
11268
- "default.handlebars->25->953"
11286
+ "default.handlebars->25->957"
11287
]
11288
},
11289
{
@@ -11282,7 +11300,7 @@
11300
"ru": "Французский (Канада)",
11301
"zh-chs": "法語(加拿大)",
11302
"xloc": [
11285
- "default.handlebars->25->954"
11303
+ "default.handlebars->25->958"
11304
]
11305
},
11306
{
@@ -11299,7 +11317,7 @@
11317
"ru": "Французский (Франция)",
11318
"zh-chs": "法語(法國)",
11319
"xloc": [
11302
- "default.handlebars->25->955"
11320
+ "default.handlebars->25->959"
11321
]
11322
},
11323
{
@@ -11316,7 +11334,7 @@
11334
"ru": "Французский (Люксембург)",
11335
"zh-chs": "法語(盧森堡)",
11336
"xloc": [
11319
- "default.handlebars->25->956"
11337
+ "default.handlebars->25->960"
11338
]
11339
},
11340
{
@@ -11333,7 +11351,7 @@
11351
"ru": "Французский (Монако)",
11352
"zh-chs": "法語(摩納哥)",
11353
"xloc": [
11336
- "default.handlebars->25->957"
11354
+ "default.handlebars->25->961"
11355
]
11356
},
11357
{
@@ -11350,7 +11368,7 @@
11368
"ru": "Французский (Стандартный)",
11369
"zh-chs": "法語(標準)",
11370
"xloc": [
11353
- "default.handlebars->25->952"
11371
+ "default.handlebars->25->956"
11372
]
11373
},
11374
{
@@ -11367,7 +11385,7 @@
11385
"ru": "Французский (Швейцария)",
11386
"zh-chs": "法語(瑞士)",
11387
"xloc": [
11370
- "default.handlebars->25->958"
11388
+ "default.handlebars->25->962"
11389
]
11390
},
11391
{
@@ -11384,7 +11402,7 @@
11402
"ru": "Фризский",
11403
"zh-chs": "弗里斯蘭語",
11404
"xloc": [
11387
- "default.handlebars->25->959"
11405
+ "default.handlebars->25->963"
11406
]
11407
},
11408
{
@@ -11401,7 +11419,7 @@
11419
"ru": "Фриульский",
11420
"zh-chs": "弗留利",
11421
"xloc": [
11404
- "default.handlebars->25->960"
11422
+ "default.handlebars->25->964"
11423
]
11424
},
11425
{
@@ -11422,9 +11440,9 @@
11440
"default-mobile.handlebars->9->311",
11441
"default-mobile.handlebars->9->329",
11442
"default-mobile.handlebars->9->74",
11425
- "default.handlebars->25->1133",
11426
- "default.handlebars->25->1265",
11427
- "default.handlebars->25->1489"
11443
+ "default.handlebars->25->1137",
11444
+ "default.handlebars->25->1269",
11445
+ "default.handlebars->25->1493"
11446
]
11447
},
11448
{
@@ -11441,7 +11459,7 @@
11459
"ru": "Администратор с полным доступом (все права)",
11460
"zh-chs": "正式管理員(保留所有權利)",
11461
"xloc": [
11444
- "default.handlebars->25->1299"
11462
+ "default.handlebars->25->1303"
11463
]
11464
},
11465
{
@@ -11472,7 +11490,7 @@
11490
"ru": "Полные права на устройство",
11491
"zh-chs": "完整的設備權限",
11492
"xloc": [
11475
- "default.handlebars->25->578"
11493
+ "default.handlebars->25->580"
11494
]
11495
},
11496
{
@@ -11488,7 +11506,7 @@
11506
"ru": "Полные права",
11507
"zh-chs": "完全权利",
11508
"xloc": [
11491
- "default.handlebars->25->594"
11509
+ "default.handlebars->25->596"
11510
]
11511
},
11512
{
@@ -11524,7 +11542,7 @@
11542
"ru": "Администратор с полным доступом",
11543
"zh-chs": "正式管理員",
11544
"xloc": [
11527
- "default.handlebars->25->1568"
11545
+ "default.handlebars->25->1572"
11546
]
11547
},
11548
{
@@ -11537,7 +11555,7 @@
11555
"nl": "GPU",
11556
"zh-chs": "显卡",
11557
"xloc": [
11540
- "default.handlebars->25->834"
11558
+ "default.handlebars->25->838"
11559
]
11560
},
11561
{
@@ -11554,7 +11572,7 @@
11572
"ru": "Гэльский (Ирландский)",
11573
"zh-chs": "蓋爾語(愛爾蘭)",
11574
"xloc": [
11557
- "default.handlebars->25->962"
11575
+ "default.handlebars->25->966"
11576
]
11577
},
11578
{
@@ -11571,7 +11589,7 @@
11589
"ru": "Гэльский (Шотландия)",
11590
"zh-chs": "蓋爾語(蘇格蘭語)",
11591
"xloc": [
11574
- "default.handlebars->25->961"
11592
+ "default.handlebars->25->965"
11593
]
11594
},
11595
{
@@ -11588,7 +11606,7 @@
11606
"ru": "Галицкий",
11607
"zh-chs": "加拉契人",
11608
"xloc": [
11591
- "default.handlebars->25->963"
11609
+ "default.handlebars->25->967"
11610
]
11611
},
11612
{
@@ -11695,7 +11713,7 @@
11713
"ru": "Грузинский",
11714
"zh-chs": "格魯吉亞人",
11715
"xloc": [
11698
- "default.handlebars->25->964"
11716
+ "default.handlebars->25->968"
11717
]
11718
},
11719
{
@@ -11712,7 +11730,7 @@
11730
"ru": "Немецкий (Австрия)",
11731
"zh-chs": "德語(奧地利)",
11732
"xloc": [
11715
- "default.handlebars->25->966"
11733
+ "default.handlebars->25->970"
11734
]
11735
},
11736
{
@@ -11729,7 +11747,7 @@
11747
"ru": "Немецкий (Германия)",
11748
"zh-chs": "德文(德國)",
11749
"xloc": [
11732
- "default.handlebars->25->967"
11750
+ "default.handlebars->25->971"
11751
]
11752
},
11753
{
@@ -11746,7 +11764,7 @@
11764
"ru": "Немецкий (Лихтенштейн)",
11765
"zh-chs": "德文(列支敦士登)",
11766
"xloc": [
11749
- "default.handlebars->25->968"
11767
+ "default.handlebars->25->972"
11768
]
11769
},
11770
{
@@ -11763,7 +11781,7 @@
11781
"ru": "Немецкий (Люксембург)",
11782
"zh-chs": "德語(盧森堡)",
11783
"xloc": [
11766
- "default.handlebars->25->969"
11784
+ "default.handlebars->25->973"
11785
]
11786
},
11787
{
@@ -11780,7 +11798,7 @@
11798
"ru": "Немецкий (Стандартный)",
11799
"zh-chs": "德語(標準)",
11800
"xloc": [
11783
- "default.handlebars->25->965"
11801
+ "default.handlebars->25->969"
11802
]
11803
},
11804
{
@@ -11797,7 +11815,7 @@
11815
"ru": "Немецкий (Швейцария)",
11816
"zh-chs": "德語(瑞士)",
11817
"xloc": [
11800
- "default.handlebars->25->970"
11818
+ "default.handlebars->25->974"
11819
]
11820
},
11821
{
@@ -11814,7 +11832,7 @@
11832
"ru": "Получить учетные данные MQTT для этого устройства.",
11833
"zh-chs": "獲取此設備的MQTT登錄憑據。",
11834
"xloc": [
11817
- "default.handlebars->25->559"
11835
+ "default.handlebars->25->561"
11836
]
11837
},
11838
{
@@ -11880,7 +11898,7 @@
11898
"ru": "Хорошо",
11899
"zh-chs": "好",
11900
"xloc": [
11883
- "default.handlebars->25->1129"
11901
+ "default.handlebars->25->1133"
11902
]
11903
},
11904
{
@@ -11917,7 +11935,7 @@
11935
"ru": "Греческий",
11936
"zh-chs": "希臘語",
11937
"xloc": [
11920
- "default.handlebars->25->971"
11938
+ "default.handlebars->25->975"
11939
]
11940
},
11941
{
@@ -11953,8 +11971,8 @@
11971
"ru": "Групповое действие",
11972
"zh-chs": "集體行動",
11973
"xloc": [
11956
- "default.handlebars->25->1443",
11957
- "default.handlebars->25->1510",
11974
+ "default.handlebars->25->1447",
11975
+ "default.handlebars->25->1514",
11976
"default.handlebars->25->406",
11977
"default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->devListToolbar",
11978
"default.handlebars->container->column_l->p4->3->1->0->3->3",
@@ -11975,7 +11993,7 @@
11993
"ru": "Члены группы",
11994
"zh-chs": "小組成員",
11995
"xloc": [
11978
- "default.handlebars->25->1531"
11996
+ "default.handlebars->25->1535"
11997
]
11998
},
11999
{
@@ -11992,7 +12010,7 @@
12010
"ru": "Права на группу для пользователя {0}.",
12011
"zh-chs": "用戶{0}的組權限。",
12012
"xloc": [
11995
- "default.handlebars->25->1264"
12013
+ "default.handlebars->25->1268"
12014
]
12015
},
12016
{
@@ -12009,7 +12027,7 @@
12027
"ru": "Права на группу для {0}.",
12028
"zh-chs": "{0}的組權限。",
12029
"xloc": [
12012
- "default.handlebars->25->1263"
12030
+ "default.handlebars->25->1267"
12031
]
12032
},
12033
{
@@ -12060,7 +12078,7 @@
12078
"ru": "Гуджарати",
12079
"zh-chs": "古久拉提",
12080
"xloc": [
12063
- "default.handlebars->25->972"
12081
+ "default.handlebars->25->976"
12082
]
12083
},
12084
{
@@ -12096,7 +12114,7 @@
12114
"ru": "Гаитянский",
12115
"zh-chs": "海地",
12116
"xloc": [
12099
- "default.handlebars->25->973"
12117
+ "default.handlebars->25->977"
12118
]
12119
},
12120
{
@@ -12130,7 +12148,7 @@
12148
"ru": "Жесткое отключение агента",
12149
"zh-chs": "硬斷開劑",
12150
"xloc": [
12133
- "default.handlebars->25->861"
12151
+ "default.handlebars->25->865"
12152
]
12153
},
12154
{
@@ -12147,7 +12165,7 @@
12165
"ru": "Всего кучи",
12166
"zh-chs": "堆總數",
12167
"xloc": [
12150
- "default.handlebars->25->1753"
12168
+ "default.handlebars->25->1757"
12169
]
12170
},
12171
{
@@ -12164,7 +12182,7 @@
12182
"ru": "Куча используется",
12183
"zh-chs": "堆使用",
12184
"xloc": [
12167
- "default.handlebars->25->1752"
12185
+ "default.handlebars->25->1756"
12186
]
12187
},
12188
{
@@ -12181,7 +12199,7 @@
12199
"ru": "Иврит",
12200
"zh-chs": "希伯來語",
12201
"xloc": [
12184
- "default.handlebars->25->974"
12202
+ "default.handlebars->25->978"
12203
]
12204
},
12205
{
@@ -12215,7 +12233,7 @@
12233
"ru": "Помочь перевести MeshCentral",
12234
"zh-chs": "幫助翻譯MeshCentral",
12235
"xloc": [
12218
- "default.handlebars->25->1088"
12236
+ "default.handlebars->25->1092"
12237
]
12238
},
12239
{
@@ -12301,7 +12319,7 @@
12319
"ru": "Хинди",
12320
"zh-chs": "印地語",
12321
"xloc": [
12304
- "default.handlebars->25->975"
12322
+ "default.handlebars->25->979"
12323
]
12324
},
12325
{
@@ -12337,7 +12355,7 @@
12355
"zh-chs": "持有1份副本",
12356
"xloc": [
12357
"default-mobile.handlebars->9->282",
12340
- "default.handlebars->25->767"
12358
+ "default.handlebars->25->771"
12359
]
12360
},
12361
{
@@ -12355,7 +12373,7 @@
12373
"zh-chs": "持有1個搬家公司",
12374
"xloc": [
12375
"default-mobile.handlebars->9->286",
12358
- "default.handlebars->25->771"
12376
+ "default.handlebars->25->775"
12377
]
12378
},
12379
{
@@ -12373,7 +12391,7 @@
12391
"zh-chs": "保留{0}個條目進行複制",
12392
"xloc": [
12393
"default-mobile.handlebars->9->280",
12376
- "default.handlebars->25->765"
12394
+ "default.handlebars->25->769"
12395
]
12396
},
12397
{
@@ -12391,7 +12409,7 @@
12409
"zh-chs": "保留{0}個條目以進行移動",
12410
"xloc": [
12411
"default-mobile.handlebars->9->284",
12394
- "default.handlebars->25->769"
12412
+ "default.handlebars->25->773"
12413
]
12414
},
12415
{
@@ -12409,7 +12427,7 @@
12427
"zh-chs": "保持{2}的{0}入口{1}",
12428
"xloc": [
12429
"default-mobile.handlebars->9->98",
12412
- "default.handlebars->25->1393"
12430
+ "default.handlebars->25->1397"
12431
]
12432
},
12433
{
@@ -12432,7 +12450,7 @@
12450
"default-mobile.handlebars->9->246",
12451
"default.handlebars->25->245",
12452
"default.handlebars->25->475",
12435
- "default.handlebars->25->684"
12453
+ "default.handlebars->25->688"
12454
]
12455
},
12456
{
@@ -12449,7 +12467,7 @@
12467
"ru": "Синхронизация имени хоста",
12468
"zh-chs": "主機名同步",
12469
"xloc": [
12452
- "default.handlebars->25->1156"
12470
+ "default.handlebars->25->1160"
12471
]
12472
},
12473
{
@@ -12466,7 +12484,7 @@
12484
"ru": "Венгерский",
12485
"zh-chs": "匈牙利",
12486
"xloc": [
12469
- "default.handlebars->25->976"
12487
+ "default.handlebars->25->980"
12488
]
12489
},
12490
{
@@ -12518,7 +12536,7 @@
12536
"ru": "IP: {0}",
12537
"zh-chs": "IP:{0}",
12538
"xloc": [
12521
- "default.handlebars->25->807"
12539
+ "default.handlebars->25->811"
12540
]
12541
},
12542
{
@@ -12535,7 +12553,7 @@
12553
"ru": "IP: {0}, маска: {1}, шлюз: {2}",
12554
"zh-chs": "IP:{0},掩碼:{1},網關:{2}",
12555
"xloc": [
12538
- "default.handlebars->25->805"
12556
+ "default.handlebars->25->809"
12557
]
12558
},
12559
{
@@ -12552,8 +12570,8 @@
12570
"ru": "Уровень IPv4",
12571
"zh-chs": "IPv4層",
12572
"xloc": [
12555
- "default.handlebars->25->804",
12556
- "default.handlebars->25->806"
12573
+ "default.handlebars->25->808",
12574
+ "default.handlebars->25->810"
12575
]
12576
},
12577
{
@@ -12621,7 +12639,7 @@
12639
"ru": "Исландский",
12640
"zh-chs": "冰島的",
12641
"xloc": [
12624
- "default.handlebars->25->977"
12642
+ "default.handlebars->25->981"
12643
]
12644
},
12645
{
@@ -12639,7 +12657,7 @@
12657
"zh-chs": "圖標選擇",
12658
"xloc": [
12659
"default-mobile.handlebars->9->244",
12642
- "default.handlebars->25->682"
12660
+ "default.handlebars->25->686"
12661
]
12662
},
12663
{
@@ -12656,7 +12674,7 @@
12674
"ru": "Идентификатор",
12675
"zh-chs": "識別碼",
12676
"xloc": [
12659
- "default.handlebars->25->832"
12677
+ "default.handlebars->25->836"
12678
]
12679
},
12680
{
@@ -12759,7 +12777,7 @@
12777
"ru": "Индонезийский",
12778
"zh-chs": "印度尼西亞",
12779
"xloc": [
12762
- "default.handlebars->25->978"
12780
+ "default.handlebars->25->982"
12781
]
12782
},
12783
{
@@ -12876,7 +12894,7 @@
12894
"ru": "Установка CIRA",
12895
"zh-chs": "安裝CIRA",
12896
"xloc": [
12879
- "default.handlebars->25->1189"
12897
+ "default.handlebars->25->1193"
12898
]
12899
},
12900
{
@@ -12893,7 +12911,7 @@
12911
"ru": "Локальная установка",
12912
"zh-chs": "安裝本地",
12913
"xloc": [
12896
- "default.handlebars->25->1191"
12914
+ "default.handlebars->25->1195"
12915
]
12916
},
12917
{
@@ -12910,8 +12928,8 @@
12928
"ru": "Тип установки",
12929
"zh-chs": "安裝類型",
12930
"xloc": [
12913
- "default.handlebars->25->1330",
12914
- "default.handlebars->25->1337",
12931
+ "default.handlebars->25->1334",
12932
+ "default.handlebars->25->1341",
12933
"default.handlebars->25->307",
12934
"default.handlebars->25->329"
12935
]
@@ -12930,7 +12948,7 @@
12948
"ru": "Intel (F10 = ESC+[OM)",
12949
"zh-chs": "英特爾(F10 = ESC + [OM)",
12950
"xloc": [
12933
- "default.handlebars->25->737",
12951
+ "default.handlebars->25->741",
12952
"default.handlebars->container->column_l->p12->termTable->1->1->6->1->1->terminalSettingsButtons"
12953
]
12954
},
@@ -12948,10 +12966,10 @@
12966
"ru": "Intel AMT",
12967
"zh-chs": "英特爾AMT",
12968
"xloc": [
12951
- "default.handlebars->25->1349",
12952
- "default.handlebars->25->1357",
12953
- "default.handlebars->25->1749",
12954
- "default.handlebars->25->1771"
12969
+ "default.handlebars->25->1353",
12970
+ "default.handlebars->25->1361",
12971
+ "default.handlebars->25->1753",
12972
+ "default.handlebars->25->1775"
12973
]
12974
},
12975
{
@@ -12992,14 +13010,14 @@
13010
"en": "Intel AMT Redirection",
13011
"nl": "Intel AMT omleiding",
13012
"xloc": [
12995
- "default.handlebars->25->1690"
13013
+ "default.handlebars->25->1694"
13014
]
13015
},
13016
{
13017
"en": "Intel AMT WSMAN",
13018
"nl": "Intel AMT WSMAN",
13019
"xloc": [
13002
- "default.handlebars->25->1689"
13020
+ "default.handlebars->25->1693"
13021
]
13022
},
13023
{
@@ -13118,7 +13136,7 @@
13136
"ru": "Intel ASCII",
13137
"zh-chs": "英特爾ASCII",
13138
"xloc": [
13121
- "default.handlebars->25->736"
13139
+ "default.handlebars->25->740"
13140
]
13141
},
13142
{
@@ -13138,8 +13156,8 @@
13156
"default-mobile.handlebars->9->146",
13157
"default-mobile.handlebars->9->210",
13158
"default-mobile.handlebars->9->215",
13141
- "default.handlebars->25->1173",
13142
- "default.handlebars->25->1183",
13159
+ "default.handlebars->25->1177",
13160
+ "default.handlebars->25->1187",
13161
"default.handlebars->25->447",
13162
"default.handlebars->25->500",
13163
"default.handlebars->25->528"
@@ -13215,7 +13233,7 @@
13233
"ru": "Политика Intel® AMT",
13234
"zh-chs": "英特爾®AMT政策",
13235
"xloc": [
13218
- "default.handlebars->25->1212"
13236
+ "default.handlebars->25->1216"
13237
]
13238
},
13239
{
@@ -13302,8 +13320,8 @@
13320
"zh-chs": "英特爾®AMT已連接",
13321
"xloc": [
13322
"default-mobile.handlebars->9->224",
13305
- "default.handlebars->25->563",
13306
- "default.handlebars->25->564"
13323
+ "default.handlebars->25->565",
13324
+ "default.handlebars->25->566"
13325
]
13326
},
13327
{
@@ -13320,8 +13338,8 @@
13338
"ru": "События Intel® AMT desktop или serial.",
13339
"zh-chs": "英特爾®AMT桌面和串行事件。",
13340
"xloc": [
13323
- "default.handlebars->25->1094",
13324
- "default.handlebars->25->1345"
13341
+ "default.handlebars->25->1098",
13342
+ "default.handlebars->25->1349"
13343
]
13344
},
13345
{
@@ -13339,8 +13357,8 @@
13357
"zh-chs": "檢測到英特爾®AMT",
13358
"xloc": [
13359
"default-mobile.handlebars->9->225",
13342
- "default.handlebars->25->565",
13343
- "default.handlebars->25->566"
13360
+ "default.handlebars->25->567",
13361
+ "default.handlebars->25->568"
13362
]
13363
},
13364
{
@@ -13410,8 +13428,8 @@
13428
"zh-chs": "僅限英特爾®AMT,無代理",
13429
"xloc": [
13430
"default-mobile.handlebars->9->293",
13413
- "default.handlebars->25->1123",
13414
- "default.handlebars->25->1149"
13431
+ "default.handlebars->25->1127",
13432
+ "default.handlebars->25->1153"
13433
]
13434
},
13435
{
@@ -13445,7 +13463,7 @@
13463
"ru": "Intel® Active Management Technology (Intel® AMT)",
13464
"zh-chs": "英特爾®主動管理技術(英特爾®AMT)",
13465
"xloc": [
13448
- "default.handlebars->25->824"
13466
+ "default.handlebars->25->828"
13467
]
13468
},
13469
{
@@ -13612,7 +13630,7 @@
13630
"ru": "Интерактивный",
13631
"zh-chs": "互動",
13632
"xloc": [
13615
- "default.handlebars->25->719"
13633
+ "default.handlebars->25->723"
13634
]
13635
},
13636
{
@@ -13629,8 +13647,8 @@
13647
"ru": "Только интерактивный режим",
13648
"zh-chs": "僅限互動",
13649
"xloc": [
13632
- "default.handlebars->25->1333",
13633
- "default.handlebars->25->1340",
13650
+ "default.handlebars->25->1337",
13651
+ "default.handlebars->25->1344",
13652
"default.handlebars->25->310",
13653
"default.handlebars->25->332"
13654
]
@@ -13649,7 +13667,7 @@
13667
"ru": "Интерфейсы",
13668
"zh-chs": "介面",
13669
"xloc": [
13652
- "default.handlebars->25->546"
13670
+ "default.handlebars->25->548"
13671
]
13672
},
13673
{
@@ -13666,7 +13684,7 @@
13684
"ru": "Инуктитут",
13685
"zh-chs": "因紐特人",
13686
"xloc": [
13669
- "default.handlebars->25->979"
13687
+ "default.handlebars->25->983"
13688
]
13689
},
13690
{
@@ -13683,7 +13701,7 @@
13701
"ru": "Некорректный тип группы устройств",
13702
"zh-chs": "無效的設備組類型",
13703
"xloc": [
13686
- "default.handlebars->25->1726"
13704
+ "default.handlebars->25->1730"
13705
]
13706
},
13707
{
@@ -13700,7 +13718,7 @@
13718
"ru": "Некорректный JSON",
13719
"zh-chs": "無效的JSON",
13720
"xloc": [
13703
- "default.handlebars->25->1720"
13721
+ "default.handlebars->25->1724"
13722
]
13723
},
13724
{
@@ -13717,8 +13735,8 @@
13735
"ru": "Некорректный формат файла JSON.",
13736
"zh-chs": "無效的JSON文件格式。",
13737
"xloc": [
13720
- "default.handlebars->25->1457",
13721
- "default.handlebars->25->1459"
13738
+ "default.handlebars->25->1461",
13739
+ "default.handlebars->25->1463"
13740
]
13741
},
13742
{
@@ -13735,7 +13753,7 @@
13753
"ru": "Некорректный файл JSON: {0}.",
13754
"zh-chs": "無效的JSON文件:{0}。",
13755
"xloc": [
13738
- "default.handlebars->25->1455"
13756
+ "default.handlebars->25->1459"
13757
]
13758
},
13759
{
@@ -13752,7 +13770,7 @@
13770
"ru": "Некорректная сигнатура PKCS",
13771
"zh-chs": "無效的PKCS簽名",
13772
"xloc": [
13755
- "default.handlebars->25->1718"
13773
+ "default.handlebars->25->1722"
13774
]
13775
},
13776
{
@@ -13769,7 +13787,7 @@
13787
"ru": "Некорректная сигнатура RSA",
13788
"zh-chs": "無效的RSA密碼",
13789
"xloc": [
13772
- "default.handlebars->25->1719"
13790
+ "default.handlebars->25->1723"
13791
]
13792
},
13793
{
@@ -13905,7 +13923,7 @@
13923
"ru": "Коды приглашений могут использоваться любым пользователем для присоединения устройств к этой группе устройств по следующей общедоступной ссылке:",
13924
"zh-chs": "任何人都可以使用邀請代碼通過以下公共鏈接將設備加入該設備組:",
13925
"xloc": [
13908
- "default.handlebars->25->1335"
13926
+ "default.handlebars->25->1339"
13927
]
13928
},
13929
{
@@ -13938,7 +13956,7 @@
13956
"ru": "Пригласить",
13957
"zh-chs": "邀請",
13958
"xloc": [
13941
- "default.handlebars->25->1199",
13959
+ "default.handlebars->25->1203",
13960
"default.handlebars->25->242",
13961
"default.handlebars->25->322"
13962
]
@@ -13957,11 +13975,11 @@
13975
"ru": "Пригласительные коды",
13976
"zh-chs": "邀請碼",
13977
"xloc": [
13960
- "default.handlebars->25->1177",
13961
- "default.handlebars->25->1329",
13962
- "default.handlebars->25->1334",
13963
- "default.handlebars->25->1336",
13964
- "default.handlebars->25->1341"
13978
+ "default.handlebars->25->1181",
13979
+ "default.handlebars->25->1333",
13980
+ "default.handlebars->25->1338",
13981
+ "default.handlebars->25->1340",
13982
+ "default.handlebars->25->1345"
13983
]
13984
},
13985
{
@@ -13992,7 +14010,7 @@
14010
"nl": "Nodig iemand uit om de mesh-agent in deze apparaatgroep te installeren.",
14011
"zh-chs": "邀请某人在该设备组上安装网状代理。",
14012
"xloc": [
13995
- "default.handlebars->25->1198",
14013
+ "default.handlebars->25->1202",
14014
"default.handlebars->25->241"
14015
]
14016
},
@@ -14027,7 +14045,7 @@
14045
"ru": "Ирландский",
14046
"zh-chs": "愛爾蘭人",
14047
"xloc": [
14030
- "default.handlebars->25->980"
14048
+ "default.handlebars->25->984"
14049
]
14050
},
14051
{
@@ -14044,7 +14062,7 @@
14062
"ru": "Итальянский (Стандартный)",
14063
"zh-chs": "意大利語(標準)",
14064
"xloc": [
14047
- "default.handlebars->25->981"
14065
+ "default.handlebars->25->985"
14066
]
14067
},
14068
{
@@ -14061,7 +14079,7 @@
14079
"ru": "Итальянский (Швейцария)",
14080
"zh-chs": "義大利文(瑞士)",
14081
"xloc": [
14064
- "default.handlebars->25->982"
14082
+ "default.handlebars->25->986"
14083
]
14084
},
14085
{
@@ -14078,8 +14096,8 @@
14096
"ru": "Формат JSON",
14097
"zh-chs": "JSON格式",
14098
"xloc": [
14081
- "default.handlebars->25->1404",
14082
- "default.handlebars->25->1463",
14099
+ "default.handlebars->25->1408",
14100
+ "default.handlebars->25->1467",
14101
"default.handlebars->25->414"
14102
]
14103
},
@@ -14097,7 +14115,7 @@
14115
"ru": "Японский",
14116
"zh-chs": "日本",
14117
"xloc": [
14100
- "default.handlebars->25->983"
14118
+ "default.handlebars->25->987"
14119
]
14120
},
14121
{
@@ -14114,7 +14132,7 @@
14132
"ru": "Каннада",
14133
"zh-chs": "卡納達語",
14134
"xloc": [
14117
- "default.handlebars->25->984"
14135
+ "default.handlebars->25->988"
14136
]
14137
},
14138
{
@@ -14131,7 +14149,7 @@
14149
"ru": "Кашмирский",
14150
"zh-chs": "克什米爾語",
14151
"xloc": [
14134
- "default.handlebars->25->985"
14152
+ "default.handlebars->25->989"
14153
]
14154
},
14155
{
@@ -14148,7 +14166,7 @@
14166
"ru": "Казахский",
14167
"zh-chs": "哈薩克語",
14168
"xloc": [
14151
- "default.handlebars->25->986"
14169
+ "default.handlebars->25->990"
14170
]
14171
},
14172
{
@@ -14165,7 +14183,7 @@
14183
"ru": "Драйвер ядра",
14184
"zh-chs": "內核驅動程序",
14185
"xloc": [
14168
- "default.handlebars->25->720"
14186
+ "default.handlebars->25->724"
14187
]
14188
},
14189
{
@@ -14182,8 +14200,8 @@
14200
"ru": "Имя ключа",
14201
"zh-chs": "鍵名",
14202
"xloc": [
14185
- "default.handlebars->25->877",
14186
- "default.handlebars->25->880"
14203
+ "default.handlebars->25->881",
14204
+ "default.handlebars->25->884"
14205
]
14206
},
14207
{
@@ -14224,7 +14242,7 @@
14242
"ru": "Кхмерский",
14243
"zh-chs": "高棉語",
14244
"xloc": [
14227
- "default.handlebars->25->987"
14245
+ "default.handlebars->25->991"
14246
]
14247
},
14248
{
@@ -14241,7 +14259,7 @@
14259
"ru": "Киргизский",
14260
"zh-chs": "吉爾吉斯",
14261
"xloc": [
14244
- "default.handlebars->25->988"
14262
+ "default.handlebars->25->992"
14263
]
14264
},
14265
{
@@ -14258,7 +14276,7 @@
14276
"ru": "Клингонский",
14277
"zh-chs": "克林貢",
14278
"xloc": [
14261
- "default.handlebars->25->989"
14279
+ "default.handlebars->25->993"
14280
]
14281
},
14282
{
@@ -14275,7 +14293,7 @@
14293
"ru": "Известный",
14294
"zh-chs": "已知的",
14295
"xloc": [
14278
- "default.handlebars->25->823"
14296
+ "default.handlebars->25->827"
14297
]
14298
},
14299
{
@@ -14292,7 +14310,7 @@
14310
"ru": "Korean",
14311
"zh-chs": "韓語",
14312
"xloc": [
14295
- "default.handlebars->25->990"
14313
+ "default.handlebars->25->994"
14314
]
14315
},
14316
{
@@ -14309,7 +14327,7 @@
14327
"ru": "Корейский (Северная Корея)",
14328
"zh-chs": "韓語(朝鮮)",
14329
"xloc": [
14312
- "default.handlebars->25->991"
14330
+ "default.handlebars->25->995"
14331
]
14332
},
14333
{
@@ -14326,7 +14344,7 @@
14344
"ru": "Корейский (Южная Корея)",
14345
"zh-chs": "韓語(韓國)",
14346
"xloc": [
14329
- "default.handlebars->25->992"
14347
+ "default.handlebars->25->996"
14348
]
14349
},
14350
{
@@ -14343,8 +14361,8 @@
14361
"ru": "LF",
14362
"zh-chs": "如果",
14363
"xloc": [
14346
- "default.handlebars->25->732",
14347
- "default.handlebars->25->741"
14364
+ "default.handlebars->25->736",
14365
+ "default.handlebars->25->745"
14366
]
14367
},
14368
{
@@ -14361,7 +14379,7 @@
14379
"ru": "Язык",
14380
"zh-chs": "語言",
14381
"xloc": [
14364
- "default.handlebars->25->1086"
14382
+ "default.handlebars->25->1090"
14383
]
14384
},
14385
{
@@ -14395,7 +14413,7 @@
14413
"ru": "Большой Фокус",
14414
"zh-chs": "大焦點",
14415
"xloc": [
14398
- "default.handlebars->25->708"
14416
+ "default.handlebars->25->712"
14417
]
14418
},
14419
{
@@ -14578,7 +14596,7 @@
14596
"ru": "Последний доступ",
14597
"zh-chs": "最後訪問",
14598
"xloc": [
14581
- "default.handlebars->25->1412"
14599
+ "default.handlebars->25->1416"
14600
]
14601
},
14602
{
@@ -14595,7 +14613,7 @@
14613
"ru": "Последний вход в систему",
14614
"zh-chs": "上次登錄",
14615
"xloc": [
14598
- "default.handlebars->25->1583"
14616
+ "default.handlebars->25->1587"
14617
]
14618
},
14619
{
@@ -14615,9 +14633,9 @@
14633
"default.handlebars->25->70",
14634
"default.handlebars->25->72",
14635
"default.handlebars->25->74",
14618
- "default.handlebars->25->795",
14619
- "default.handlebars->25->796",
14620
- "default.handlebars->25->797"
14636
+ "default.handlebars->25->799",
14637
+ "default.handlebars->25->800",
14638
+ "default.handlebars->25->801"
14639
]
14640
},
14641
{
@@ -14635,8 +14653,8 @@
14653
"zh-chs": "上次代理連接",
14654
"xloc": [
14655
"default.handlebars->25->69",
14638
- "default.handlebars->25->792",
14639
- "default.handlebars->25->794"
14656
+ "default.handlebars->25->796",
14657
+ "default.handlebars->25->798"
14658
]
14659
},
14660
{
@@ -14653,7 +14671,7 @@
14671
"ru": "Последнее изменение: {0}",
14672
"zh-chs": "上次更改:{0}",
14673
"xloc": [
14656
- "default.handlebars->25->1587"
14674
+ "default.handlebars->25->1591"
14675
]
14676
},
14677
{
@@ -14704,7 +14722,7 @@
14722
"ru": "Последний вход в систему: {0}",
14723
"zh-chs": "上次登錄:{0}",
14724
"xloc": [
14707
- "default.handlebars->25->1422"
14725
+ "default.handlebars->25->1426"
14726
]
14727
},
14728
{
@@ -14721,7 +14739,7 @@
14739
"ru": "Последнее посещение:",
14740
"zh-chs": "最後一次露面:",
14741
"xloc": [
14724
- "default.handlebars->25->569",
14742
+ "default.handlebars->25->571",
14743
"default.handlebars->25->65"
14744
]
14745
},
@@ -14790,7 +14808,7 @@
14808
"ru": "Латинский",
14809
"zh-chs": "拉丁",
14810
"xloc": [
14793
- "default.handlebars->25->993"
14811
+ "default.handlebars->25->997"
14812
]
14813
},
14814
{
@@ -14807,7 +14825,7 @@
14825
"ru": "Латышский",
14826
"zh-chs": "拉脫維亞語",
14827
"xloc": [
14810
- "default.handlebars->25->994"
14828
+ "default.handlebars->25->998"
14829
]
14830
},
14831
{
@@ -14820,7 +14838,7 @@
14838
"nl": "Leeg laten voor geen.",
14839
"zh-chs": "一无所有。",
14840
"xloc": [
14823
- "default.handlebars->25->1627"
14841
+ "default.handlebars->25->1631"
14842
]
14843
},
14844
{
@@ -14859,7 +14877,7 @@
14877
"ru": "Меньше",
14878
"zh-chs": "減",
14879
"xloc": [
14862
- "default.handlebars->25->1788"
14880
+ "default.handlebars->25->1792"
14881
]
14882
},
14883
{
@@ -14875,8 +14893,8 @@
14893
"ru": "Предельные события",
14894
"zh-chs": "极限赛事",
14895
"xloc": [
14878
- "default.handlebars->25->590",
14879
- "default.handlebars->25->609"
14896
+ "default.handlebars->25->592",
14897
+ "default.handlebars->25->611"
14898
]
14899
},
14900
{
@@ -14912,9 +14930,9 @@
14930
"zh-chs": "有限輸入",
14931
"xloc": [
14932
"default-mobile.handlebars->9->342",
14915
- "default.handlebars->25->1313",
14916
- "default.handlebars->25->583",
14917
- "default.handlebars->25->602"
14933
+ "default.handlebars->25->1317",
14934
+ "default.handlebars->25->585",
14935
+ "default.handlebars->25->604"
14936
]
14937
},
14938
{
@@ -14932,7 +14950,7 @@
14950
"zh-chs": "僅限於輸入",
14951
"xloc": [
14952
"default-mobile.handlebars->9->317",
14935
- "default.handlebars->25->1271"
14953
+ "default.handlebars->25->1275"
14954
]
14955
},
14956
{
@@ -15105,7 +15123,7 @@
15123
"ru": "Linux ARM, Raspberry Pi (32bit)",
15124
"zh-chs": "Linux ARM,Raspberry Pi(32位)",
15125
"xloc": [
15108
- "default.handlebars->25->666"
15126
+ "default.handlebars->25->670"
15127
]
15128
},
15129
{
@@ -15211,7 +15229,7 @@
15229
"ru": "Linux x86 (32bit)",
15230
"zh-chs": "Linux x86(32位)",
15231
"xloc": [
15214
- "default.handlebars->25->663"
15232
+ "default.handlebars->25->667"
15233
]
15234
},
15235
{
@@ -15228,7 +15246,7 @@
15246
"ru": "Linux x86 (64bit)",
15247
"zh-chs": "Linux x86(64位)",
15248
"xloc": [
15231
- "default.handlebars->25->664"
15249
+ "default.handlebars->25->668"
15250
]
15251
},
15252
{
@@ -15263,7 +15281,7 @@
15281
"ru": "Литовский",
15282
"zh-chs": "立陶宛語",
15283
"xloc": [
15266
- "default.handlebars->25->995"
15284
+ "default.handlebars->25->999"
15285
]
15286
},
15287
{
@@ -15281,10 +15299,10 @@
15299
"zh-chs": "載入中...",
15300
"xloc": [
15301
"default-mobile.handlebars->9->41",
15284
- "default.handlebars->25->1140",
15302
"default.handlebars->25->1144",
15286
- "default.handlebars->25->657",
15287
- "default.handlebars->25->873"
15303
+ "default.handlebars->25->1148",
15304
+ "default.handlebars->25->661",
15305
+ "default.handlebars->25->877"
15306
]
15307
},
15308
{
@@ -15352,7 +15370,7 @@
15370
"ru": "Настройки локализации",
15371
"zh-chs": "本地化設置",
15372
"xloc": [
15355
- "default.handlebars->25->1089",
15373
+ "default.handlebars->25->1093",
15374
"default.handlebars->container->column_l->p2->p2info->p2AccountActions->3->7"
15375
]
15376
},
@@ -15370,7 +15388,7 @@
15388
"ru": "Местонахождение",
15389
"zh-chs": "位置",
15390
"xloc": [
15373
- "default.handlebars->25->548"
15391
+ "default.handlebars->25->550"
15392
]
15393
},
15394
{
@@ -15404,7 +15422,7 @@
15422
"ru": "Заблокировать учетную запись",
15423
"zh-chs": "鎖定賬戶",
15424
"xloc": [
15407
- "default.handlebars->25->1496"
15425
+ "default.handlebars->25->1500"
15426
]
15427
},
15428
{
@@ -15421,7 +15439,7 @@
15439
"ru": "Заблокировать учетную запись",
15440
"zh-chs": "鎖定賬戶",
15441
"xloc": [
15424
- "default.handlebars->25->1440"
15442
+ "default.handlebars->25->1444"
15443
]
15444
},
15445
{
@@ -15438,7 +15456,7 @@
15456
"ru": "Заблокирован",
15457
"zh-chs": "已鎖定",
15458
"xloc": [
15441
- "default.handlebars->25->1423"
15459
+ "default.handlebars->25->1427"
15460
]
15461
},
15462
{
@@ -15455,7 +15473,7 @@
15473
"ru": "Заблокированная учетная запись",
15474
"zh-chs": "賬戶鎖定",
15475
"xloc": [
15458
- "default.handlebars->25->1565"
15476
+ "default.handlebars->25->1569"
15477
]
15478
},
15479
{
@@ -15642,7 +15660,7 @@
15660
"ru": "Люксембургский",
15661
"zh-chs": "盧森堡語",
15662
"xloc": [
15645
- "default.handlebars->25->996"
15663
+ "default.handlebars->25->1000"
15664
]
15665
},
15666
{
@@ -15659,8 +15677,8 @@
15677
"ru": "MAC-уровень",
15678
"zh-chs": "MAC層",
15679
"xloc": [
15662
- "default.handlebars->25->800",
15663
- "default.handlebars->25->802"
15680
+ "default.handlebars->25->804",
15681
+ "default.handlebars->25->806"
15682
]
15683
},
15684
{
@@ -15694,7 +15712,7 @@
15712
"ru": "MAC: {0}",
15713
"zh-chs": "MAC:{0}",
15714
"xloc": [
15697
- "default.handlebars->25->803"
15715
+ "default.handlebars->25->807"
15716
]
15717
},
15718
{
@@ -15711,7 +15729,7 @@
15729
"ru": "MAC: {0}, шлюз: {1}",
15730
"zh-chs": "MAC:{0},網關:{1}",
15731
"xloc": [
15714
- "default.handlebars->25->801"
15732
+ "default.handlebars->25->805"
15733
]
15734
},
15735
{
@@ -15769,8 +15787,8 @@
15787
"default.handlebars->25->185",
15788
"default.handlebars->25->391",
15789
"default.handlebars->25->532",
15772
- "default.handlebars->25->851",
15773
- "default.handlebars->25->852",
15790
+ "default.handlebars->25->855",
15791
+ "default.handlebars->25->856",
15792
"default.handlebars->container->column_l->p15->consoleTable->1->6->1->1->1->0->p15outputselecttd->p15outputselect->3"
15793
]
15794
},
@@ -15805,7 +15823,7 @@
15823
"ru": "MQTT Вход",
15824
"zh-chs": "MQTT登錄",
15825
"xloc": [
15808
- "default.handlebars->25->560"
15826
+ "default.handlebars->25->562"
15827
]
15828
},
15829
{
@@ -15823,7 +15841,7 @@
15841
"zh-chs": "MQTT通道已連接",
15842
"xloc": [
15843
"default-mobile.handlebars->9->226",
15826
- "default.handlebars->25->568"
15844
+ "default.handlebars->25->570"
15845
]
15846
},
15847
{
@@ -15841,7 +15859,7 @@
15859
"zh-chs": "MQTT已連接",
15860
"xloc": [
15861
"default.handlebars->25->147",
15844
- "default.handlebars->25->567"
15862
+ "default.handlebars->25->569"
15863
]
15864
},
15865
{
@@ -15911,7 +15929,7 @@
15929
"ru": "MacOS (64bit)",
15930
"zh-chs": "MacOS(64位)",
15931
"xloc": [
15914
- "default.handlebars->25->665"
15932
+ "default.handlebars->25->669"
15933
]
15934
},
15935
{
@@ -15964,7 +15982,7 @@
15982
"ru": "Сообщения главного сервера",
15983
"zh-chs": "主服務器消息",
15984
"xloc": [
15967
- "default.handlebars->25->1760"
15985
+ "default.handlebars->25->1764"
15986
]
15987
},
15988
{
@@ -15981,7 +15999,7 @@
15999
"ru": "Малайский",
16000
"zh-chs": "馬來語",
16001
"xloc": [
15984
- "default.handlebars->25->998"
16002
+ "default.handlebars->25->1002"
16003
]
16004
},
16005
{
@@ -15998,7 +16016,7 @@
16016
"ru": "Малаяламский",
16017
"zh-chs": "馬拉雅拉姆語",
16018
"xloc": [
16001
- "default.handlebars->25->999"
16019
+ "default.handlebars->25->1003"
16020
]
16021
},
16022
{
@@ -16015,7 +16033,7 @@
16033
"ru": "Мальтийский",
16034
"zh-chs": "馬耳他語",
16035
"xloc": [
16018
- "default.handlebars->25->1000"
16036
+ "default.handlebars->25->1004"
16037
]
16038
},
16039
{
@@ -16052,8 +16070,8 @@
16070
"xloc": [
16071
"default-mobile.handlebars->9->314",
16072
"default-mobile.handlebars->9->332",
16055
- "default.handlebars->25->1268",
16056
- "default.handlebars->25->1302"
16073
+ "default.handlebars->25->1272",
16074
+ "default.handlebars->25->1306"
16075
]
16076
},
16077
{
@@ -16072,8 +16090,8 @@
16090
"xloc": [
16091
"default-mobile.handlebars->9->313",
16092
"default-mobile.handlebars->9->331",
16075
- "default.handlebars->25->1267",
16076
- "default.handlebars->25->1301"
16093
+ "default.handlebars->25->1271",
16094
+ "default.handlebars->25->1305"
16095
]
16096
},
16097
{
@@ -16089,14 +16107,14 @@
16107
"ru": "Управление устройствами",
16108
"zh-chs": "管理设备",
16109
"xloc": [
16092
- "default.handlebars->25->597"
16110
+ "default.handlebars->25->599"
16111
]
16112
},
16113
{
16114
"en": "Manage Recordings",
16115
"nl": "Beheeer opnames",
16116
"xloc": [
16099
- "default.handlebars->25->1495"
16117
+ "default.handlebars->25->1499"
16118
]
16119
},
16120
{
@@ -16130,7 +16148,7 @@
16148
"ru": "Управление группами пользователя",
16149
"zh-chs": "管理用戶組",
16150
"xloc": [
16133
- "default.handlebars->25->1494"
16151
+ "default.handlebars->25->1498"
16152
]
16153
},
16154
{
@@ -16147,8 +16165,8 @@
16165
"ru": "Управление пользователями",
16166
"zh-chs": "管理用戶",
16167
"xloc": [
16150
- "default.handlebars->25->1493",
16151
- "default.handlebars->25->596"
16168
+ "default.handlebars->25->1497",
16169
+ "default.handlebars->25->598"
16170
]
16171
},
16172
{
@@ -16252,7 +16270,7 @@
16270
"ru": "Управление с помощью программного агента",
16271
"zh-chs": "使用軟件代理進行管理",
16272
"xloc": [
16255
- "default.handlebars->25->1122"
16273
+ "default.handlebars->25->1126"
16274
]
16275
},
16276
{
@@ -16270,7 +16288,7 @@
16288
"zh-chs": "使用軟件代理進行管理",
16289
"xloc": [
16290
"default-mobile.handlebars->9->294",
16273
- "default.handlebars->25->1150"
16291
+ "default.handlebars->25->1154"
16292
]
16293
},
16294
{
@@ -16287,7 +16305,7 @@
16305
"ru": "Менеджер",
16306
"zh-chs": "經理",
16307
"xloc": [
16290
- "default.handlebars->25->1428"
16308
+ "default.handlebars->25->1432"
16309
]
16310
},
16311
{
@@ -16338,7 +16356,7 @@
16356
"ru": "Маори",
16357
"zh-chs": "毛利人",
16358
"xloc": [
16341
- "default.handlebars->25->1001"
16359
+ "default.handlebars->25->1005"
16360
]
16361
},
16362
{
@@ -16373,7 +16391,7 @@
16391
"ru": "Маратхи",
16392
"zh-chs": "馬拉地語",
16393
"xloc": [
16376
- "default.handlebars->25->1002"
16394
+ "default.handlebars->25->1006"
16395
]
16396
},
16397
{
@@ -16390,7 +16408,7 @@
16408
"ru": "Достигнуто максимальное число сессий",
16409
"zh-chs": "達到的會話數上限",
16410
"xloc": [
16393
- "default.handlebars->25->1724"
16411
+ "default.handlebars->25->1728"
16412
]
16413
},
16414
{
@@ -16444,7 +16462,7 @@
16462
"ru": "Мегабайт",
16463
"zh-chs": "兆字節",
16464
"xloc": [
16447
- "default.handlebars->25->1750"
16465
+ "default.handlebars->25->1754"
16466
]
16467
},
16468
{
@@ -16461,8 +16479,8 @@
16479
"ru": "ОЗУ",
16480
"zh-chs": "記憶",
16481
"xloc": [
16464
- "default.handlebars->25->1741",
16465
- "default.handlebars->25->839",
16482
+ "default.handlebars->25->1745",
16483
+ "default.handlebars->25->843",
16484
"default.handlebars->container->column_l->p40->3->1->p40type->3"
16485
]
16486
},
@@ -16488,8 +16506,8 @@
16506
"default.handlebars->25->354",
16507
"default.handlebars->25->480",
16508
"default.handlebars->25->524",
16491
- "default.handlebars->25->791",
16492
- "default.handlebars->25->798"
16509
+ "default.handlebars->25->795",
16510
+ "default.handlebars->25->802"
16511
]
16512
},
16513
{
@@ -16507,7 +16525,7 @@
16525
"zh-chs": "網格代理控制台",
16526
"xloc": [
16527
"default-mobile.handlebars->9->321",
16510
- "default.handlebars->25->1276"
16528
+ "default.handlebars->25->1280"
16529
]
16530
},
16531
{
@@ -16579,8 +16597,8 @@
16597
"ru": "MeshAction (.txt)",
16598
"zh-chs": "MeshAction(.txt)",
16599
"xloc": [
16582
- "default.handlebars->25->672",
16583
- "default.handlebars->25->674"
16600
+ "default.handlebars->25->676",
16601
+ "default.handlebars->25->678"
16602
]
16603
},
16604
{
@@ -16597,7 +16615,7 @@
16615
"ru": "Трафик MeshAgent",
16616
"zh-chs": "MeshAgent流量",
16617
"xloc": [
16600
- "default.handlebars->25->1762"
16618
+ "default.handlebars->25->1766"
16619
]
16620
},
16621
{
@@ -16614,7 +16632,7 @@
16632
"ru": "Обновление MeshAgent",
16633
"zh-chs": "MeshAgent更新",
16634
"xloc": [
16617
- "default.handlebars->25->1763"
16635
+ "default.handlebars->25->1767"
16636
]
16637
},
16638
{
@@ -16648,7 +16666,7 @@
16666
"ru": "Ошибки MeshCentral",
16667
"zh-chs": "網格中心錯誤",
16668
"xloc": [
16651
- "default.handlebars->25->1143"
16669
+ "default.handlebars->25->1147"
16670
]
16671
},
16672
{
@@ -16665,7 +16683,7 @@
16683
"ru": "MeshCentral Router ",
16684
"zh-chs": "MeshCentral路由器",
16685
"xloc": [
16668
- "default.handlebars->25->660"
16686
+ "default.handlebars->25->664"
16687
]
16688
},
16689
{
@@ -16682,7 +16700,7 @@
16700
"ru": "MeshCentral Router это инструмент Windows для сопоставления портов TCP. Например, через этот сервер можно установить подключение по RDP к удаленному устройству.",
16701
"zh-chs": "MeshCentral Router是Windows工具,用於TCP端口映射。例如,您可以通過該服務器將RDP放入遠程設備。",
16702
"xloc": [
16685
- "default.handlebars->25->658"
16703
+ "default.handlebars->25->662"
16704
]
16705
},
16706
{
@@ -16717,7 +16735,7 @@
16735
"ru": "Соединения сервера MeshCentral",
16736
"zh-chs": "MeshCentral服務器對等",
16737
"xloc": [
16720
- "default.handlebars->25->1761"
16738
+ "default.handlebars->25->1765"
16739
]
16740
},
16741
{
@@ -16752,7 +16770,7 @@
16770
"zh-chs": "MeshCentral版本",
16771
"xloc": [
16772
"default.handlebars->25->101",
16755
- "default.handlebars->25->1139",
16773
+ "default.handlebars->25->1143",
16774
"default.handlebars->25->99"
16775
]
16776
},
@@ -16771,8 +16789,8 @@
16789
"zh-chs": "MeshCmd",
16790
"xloc": [
16791
"default.handlebars->25->200",
16774
- "default.handlebars->25->550",
16775
- "default.handlebars->25->670"
16792
+ "default.handlebars->25->552",
16793
+ "default.handlebars->25->674"
16794
]
16795
},
16796
{
@@ -16789,7 +16807,7 @@
16807
"ru": "MeshCmd (Linux ARM, 32bit)",
16808
"zh-chs": "MeshCmd(Linux ARM,32位)",
16809
"xloc": [
16792
- "default.handlebars->25->681"
16810
+ "default.handlebars->25->685"
16811
]
16812
},
16813
{
@@ -16806,7 +16824,7 @@
16824
"ru": "MeshCmd (Linux x86, 32bit)",
16825
"zh-chs": "MeshCmd(Linux x86,32bit)",
16826
"xloc": [
16809
- "default.handlebars->25->678"
16827
+ "default.handlebars->25->682"
16828
]
16829
},
16830
{
@@ -16823,7 +16841,7 @@
16841
"ru": "MeshCmd (Linux x86, 64bit)",
16842
"zh-chs": "MeshCmd(Linux x86,64bit)",
16843
"xloc": [
16826
- "default.handlebars->25->679"
16844
+ "default.handlebars->25->683"
16845
]
16846
},
16847
{
@@ -16840,7 +16858,7 @@
16858
"ru": "MeshCmd (MacOS, 64bit)",
16859
"zh-chs": "MeshCmd(MacOS,64位)",
16860
"xloc": [
16843
- "default.handlebars->25->680"
16861
+ "default.handlebars->25->684"
16862
]
16863
},
16864
{
@@ -16857,7 +16875,7 @@
16875
"ru": "MeshCmd (приложение Win32)",
16876
"zh-chs": "MeshCmd(Win32可執行文件)",
16877
"xloc": [
16860
- "default.handlebars->25->676"
16878
+ "default.handlebars->25->680"
16879
]
16880
},
16881
{
@@ -16874,7 +16892,7 @@
16892
"ru": "MeshCmd (приложение Win64)",
16893
"zh-chs": "MeshCmd(Win64可執行文件)",
16894
"xloc": [
16877
- "default.handlebars->25->677"
16895
+ "default.handlebars->25->681"
16896
]
16897
},
16898
{
@@ -16891,7 +16909,7 @@
16909
"ru": "MeshCmd это утилита с командной строкой, которая позволяет выполнить множество операций. Файл с командами может быть опционально скачан и отредактирован для указания информации о сервере и учетных данных.",
16910
"zh-chs": "MeshCmd是執行許多不同操作的命令行工具。可以選擇下載和編輯操作文件以提供服務器信息和憑據。",
16911
"xloc": [
16894
- "default.handlebars->25->667"
16912
+ "default.handlebars->25->671"
16913
]
16914
},
16915
{
@@ -16963,7 +16981,8 @@
16981
"zh-chs": "信息",
16982
"xloc": [
16983
"default.handlebars->25->311",
16966
- "default.handlebars->25->638"
16984
+ "default.handlebars->25->541",
16985
+ "default.handlebars->25->642"
16986
]
16987
},
16988
{
@@ -16980,7 +16999,7 @@
16999
"ru": "Диспетчер сообщения",
17000
"zh-chs": "郵件調度程序",
17001
"xloc": [
16983
- "default.handlebars->25->1759"
17002
+ "default.handlebars->25->1763"
17003
]
17004
},
17005
{
@@ -17077,7 +17096,7 @@
17096
"nl": "Model",
17097
"zh-chs": "模型",
17098
"xloc": [
17080
- "default.handlebars->25->840"
17099
+ "default.handlebars->25->844"
17100
]
17101
},
17102
{
@@ -17111,7 +17130,7 @@
17130
"ru": "Молдавский",
17131
"zh-chs": "摩爾達維亞人",
17132
"xloc": [
17114
- "default.handlebars->25->1003"
17133
+ "default.handlebars->25->1007"
17134
]
17135
},
17136
{
@@ -17128,7 +17147,7 @@
17147
"ru": "Еще",
17148
"zh-chs": "更多",
17149
"xloc": [
17131
- "default.handlebars->25->1787"
17150
+ "default.handlebars->25->1791"
17151
]
17152
},
17153
{
@@ -17145,7 +17164,7 @@
17164
"ru": "Материнская плата",
17165
"zh-chs": "母板",
17166
"xloc": [
17148
- "default.handlebars->25->835"
17167
+ "default.handlebars->25->839"
17168
]
17169
},
17170
{
@@ -17162,7 +17181,7 @@
17181
"ru": "Переместить это устройство в другую группу устройств",
17182
"zh-chs": "將此設備移到其他設備組",
17183
"xloc": [
17165
- "default.handlebars->25->541"
17184
+ "default.handlebars->25->543"
17185
]
17186
},
17187
{
@@ -17203,7 +17222,7 @@
17222
"en": "Multiplexor",
17223
"nl": "Multiplexor",
17224
"xloc": [
17206
- "default.handlebars->25->1702"
17225
+ "default.handlebars->25->1706"
17226
]
17227
},
17228
{
@@ -17318,7 +17337,7 @@
17337
"ru": "Консоль моего сервера",
17338
"zh-chs": "我的服務器控制台",
17339
"xloc": [
17321
- "default.handlebars->25->846"
17340
+ "default.handlebars->25->850"
17341
]
17342
},
17343
{
@@ -17446,8 +17465,8 @@
17465
"ru": "Мой ключ",
17466
"zh-chs": "我的鑰匙",
17467
"xloc": [
17449
- "default.handlebars->25->878",
17450
- "default.handlebars->25->881"
17468
+ "default.handlebars->25->882",
17469
+ "default.handlebars->25->885"
17470
]
17471
},
17472
{
@@ -17469,20 +17488,20 @@
17488
"default-mobile.handlebars->9->308",
17489
"default-mobile.handlebars->9->66",
17490
"default-mobile.handlebars->container->page_content->column_l->p10->p10desktop->deskarea3->deskarea3x->DeskTools->5->1->1",
17472
- "default.handlebars->25->1120",
17473
- "default.handlebars->25->1151",
17474
- "default.handlebars->25->1234",
17475
- "default.handlebars->25->1410",
17476
- "default.handlebars->25->1501",
17477
- "default.handlebars->25->1515",
17478
- "default.handlebars->25->1522",
17479
- "default.handlebars->25->1552",
17480
- "default.handlebars->25->1571",
17491
+ "default.handlebars->25->1124",
17492
+ "default.handlebars->25->1155",
17493
+ "default.handlebars->25->1238",
17494
+ "default.handlebars->25->1414",
17495
+ "default.handlebars->25->1505",
17496
+ "default.handlebars->25->1519",
17497
+ "default.handlebars->25->1526",
17498
+ "default.handlebars->25->1556",
17499
+ "default.handlebars->25->1575",
17500
"default.handlebars->25->468",
17482
- "default.handlebars->25->714",
17501
+ "default.handlebars->25->718",
17502
"default.handlebars->25->77",
17484
- "default.handlebars->25->787",
17485
- "default.handlebars->25->829",
17503
+ "default.handlebars->25->791",
17504
+ "default.handlebars->25->833",
17505
"default.handlebars->container->column_l->p11->deskarea0->deskarea3x->DeskTools->deskToolsArea->DeskToolsProcessTab->deskToolsHeader->3",
17506
"default.handlebars->container->column_l->p11->deskarea0->deskarea3x->DeskTools->deskToolsArea->DeskToolsServiceTab->deskToolsServiceHeader->3",
17507
"default.handlebars->container->column_l->p42->p42tbl->1->0->2"
@@ -17519,7 +17538,7 @@
17538
"ru": "Имя1, Имя2, Имя3",
17539
"zh-chs": "名稱1,名稱2,名稱3",
17540
"xloc": [
This file is too large to show in full.
views/default.handlebars
+16
-2
@@ -1279,7 +1279,10 @@
1279
args = parseUriArgs();
1280
if (!args.locale) { var x = getstore('loctag', 0); if ((x != null) && (x != '*')) { args.locale = x; } }
1281
debugmode = args.debug;
1282
+
1283
+ attemptWebRTC = 0; // For now, default WebRTC off unless we set it in the URL.
1284
if (args.webrtc != null) { attemptWebRTC = (args.webrtc == 1); }
1285
+
1286
QV('p13AutoConnect', debugmode); // Files
1287
QV('autoconnectbutton2', debugmode); // Terminal
1288
QV('autoconnectbutton1', debugmode); // Desktop
@@ -5159,6 +5162,7 @@
5162
if ((meshrights & 76) != 0) { x += '<input type=button value="' + "Actions" + '" title="' + "Perform power actions on the device" + '" onclick=deviceActionFunction() />'; }
5163
x += '<input type=button value="' + "Notes" + '" title="' + "View notes about this device" + '" onclick=showNotes(' + ((meshrights & 128) == 0) + ',"' + encodeURIComponentEx(node._id) + '") />';
5164
x += '<input type=button value="' + "Log Event" + '" title="' + "Write an event for this device" + '" onclick=writeDeviceEvent("' + encodeURIComponentEx(node._id) + '") />';
5165
+ if ((connectivity & 1) && (meshrights & 8)) { x += '<input type=button value="' + "Message" + '" title="' + "Display a text message on the remote device" + '" onclick=deviceMessageFunction() />'; }
5166
//if ((connectivity & 1) && (meshrights & 8) && (node.agent.id < 5)) { x += '<input type=button value=Toast title="' + "Display a text message of the remote device" + '" onclick=deviceToastFunction() />'; }
5167
QH('p10html', x);
5168
@@ -5442,6 +5446,16 @@
5446
meshserver.send({ action: 'msg', type: 'openUrl', nodeid: currentNode._id, url: Q('d2devurl').value });
5447
}
5448
5449
+ function deviceMessageFunction() {
5450
+ if (xxdialogMode) return;
5451
+ setDialogMode(2, "Device Message", 3, deviceMessageFunctionEx, '<div style=margin-bottom:4px>' + "Display a message box on the remote device." + '</div><textarea id=d2devMessage style=width:100%;height:80px;resize:none;overflow-y:scroll></textarea>');
5452
+ Q('d2devMessage').focus();
5453
+ }
5454
+
5455
+ function deviceMessageFunctionEx() {
5456
+ meshserver.send({ action: 'msg', type: 'messagebox', nodeid: currentNode._id, title: '{{{title}}}', msg: Q('d2devMessage').value });
5457
+ }
5458
+
5459
function deviceToastFunction() {
5460
if (xxdialogMode) return;
5461
setDialogMode(2, "Device Notification", 3, deviceToastFunctionEx, '<textarea id=d2devToast style=width:100%;height:80px;resize:none;overflow-y:scroll></textarea>');
@@ -5449,7 +5463,7 @@
5463
}
5464
5465
function deviceToastFunctionEx() {
5452
- meshserver.send({ action: 'toast', nodeids: [ currentNode._id ], title: 'MeshCentral', msg: Q('d2devToast').value });
5466
+ meshserver.send({ action: 'toast', nodeids: [ currentNode._id ], title: '{{{title}}}', msg: Q('d2devToast').value });
5467
}
5468
5469
function deviceActionFunction() {
@@ -7140,7 +7154,7 @@
7154
if (files.consoleMessage) {
7155
Q('p13FilesConsoleMsg').innerHTML += formatAgentConsoleMessage(files.consoleMessage, files.consoleMessageId, files.consoleMessageArgs);
7156
QV('p13FilesConsoleMsg', true);
7143
- if (p13DeskConsoleMsgTimer != null) { clearTimeout(p13DeskConsoleMsgTimer); }
7157
+ if (p13FilesConsoleMsgTimer != null) { clearTimeout(p13FilesConsoleMsgTimer); }
7158
if (files.consoleMessageTimeout) { p13FilesConsoleMsgTimer = setTimeout(p13clearConsoleMsg, files.consoleMessageTimeout * 1000); }
7159
} else {
7160
p13clearConsoleMsg();