mirror of
https://github.com/immense/Remotely.git
synced 2025-10-26 11:27:15 +00:00
MessagePack working.
This commit is contained in:
parent
de65fa3f9b
commit
4de0dec917
@ -49,7 +49,10 @@ namespace Remotely_Agent.Services
|
||||
ConnectionInfo.ServerVerificationToken = Guid.NewGuid().ToString();
|
||||
await HubConnection.InvokeAsync("SetServerVerificationToken", ConnectionInfo.ServerVerificationToken);
|
||||
Utilities.SaveConnectionInfo(ConnectionInfo);
|
||||
Updater.CheckForCoreUpdates();
|
||||
if (!Program.IsDebug)
|
||||
{
|
||||
Updater.CheckForCoreUpdates();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -286,7 +289,10 @@ namespace Remotely_Agent.Services
|
||||
if (verificationToken == Utilities.GetConnectionInfo().ServerVerificationToken)
|
||||
{
|
||||
IsServerVerified = true;
|
||||
Updater.CheckForCoreUpdates();
|
||||
if (!Program.IsDebug)
|
||||
{
|
||||
Updater.CheckForCoreUpdates();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -28,11 +28,11 @@ namespace Remotely_Library.Services
|
||||
string fileExt = "";
|
||||
if (IsWindows)
|
||||
{
|
||||
fileExt = "Agent.exe";
|
||||
fileExt = "Remotely_Agent.exe";
|
||||
}
|
||||
else if (IsLinux)
|
||||
{
|
||||
fileExt = "Agent";
|
||||
fileExt = "Remotely_Agent";
|
||||
}
|
||||
return fileExt;
|
||||
}
|
||||
|
||||
@ -72,7 +72,7 @@ namespace Remotely_Library.Win32_Classes
|
||||
UNICODE = 0x0004
|
||||
}
|
||||
|
||||
public enum VirtualKeyShort : short
|
||||
public enum VirtualKey : short
|
||||
{
|
||||
///<summary>
|
||||
///Left mouse button
|
||||
@ -763,8 +763,7 @@ namespace Remotely_Library.Win32_Classes
|
||||
///<summary>
|
||||
///Clear key
|
||||
///</summary>
|
||||
OEM_CLEAR = 0xFE,
|
||||
SEMI_COLON = 0x3b
|
||||
OEM_CLEAR = 0xFE
|
||||
}
|
||||
public enum ScanCodeShort : short
|
||||
{
|
||||
@ -1059,7 +1058,7 @@ namespace Remotely_Library.Win32_Classes
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public struct KEYBDINPUT
|
||||
{
|
||||
public VirtualKeyShort wVk;
|
||||
public VirtualKey wVk;
|
||||
public ScanCodeShort wScan;
|
||||
public KEYEVENTF dwFlags;
|
||||
public int time;
|
||||
|
||||
@ -164,7 +164,7 @@ namespace Remotely_Library.Win32
|
||||
return SendInput(1, new User32.INPUT[] { input }, INPUT.Size);
|
||||
}
|
||||
|
||||
public static void SendKeyDown(VirtualKeyShort key)
|
||||
public static void SendKeyDown(VirtualKey key)
|
||||
{
|
||||
var union = new InputUnion()
|
||||
{
|
||||
@ -179,7 +179,7 @@ namespace Remotely_Library.Win32
|
||||
var input = new INPUT() { type = InputType.KEYBOARD, U = union };
|
||||
SendInput(1, new INPUT[] { input }, INPUT.Size);
|
||||
}
|
||||
public static void SendKeyUp(VirtualKeyShort key)
|
||||
public static void SendKeyUp(VirtualKey key)
|
||||
{
|
||||
var union = new InputUnion()
|
||||
{
|
||||
|
||||
@ -21,6 +21,10 @@
|
||||
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.1.4.0" newVersion="4.1.4.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
@ -1,4 +1,5 @@
|
||||
using Microsoft.AspNetCore.SignalR.Client;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Remotely_ScreenCast;
|
||||
using Remotely_ScreenCast.Capture;
|
||||
using Remotely_ScreenCast.Enums;
|
||||
@ -46,6 +47,7 @@ namespace Remotely_ScreenCast
|
||||
|
||||
Connection = new HubConnectionBuilder()
|
||||
.WithUrl($"{Host}/RCDeviceHub")
|
||||
.AddMessagePackProtocol()
|
||||
.Build();
|
||||
|
||||
Connection.StartAsync().Wait();
|
||||
|
||||
@ -39,6 +39,9 @@
|
||||
<Reference Include="Costura, Version=3.3.2.0, Culture=neutral, PublicKeyToken=9919ef960d84173d, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Costura.Fody.3.3.2\lib\net40\Costura.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="MessagePack, Version=1.7.3.4, Culture=neutral, PublicKeyToken=b4a0369545f0a1be, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MessagePack.1.7.3.4\lib\net47\MessagePack.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.AspNetCore.Connections.Abstractions, Version=2.2.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNetCore.Connections.Abstractions.2.2.0\lib\netstandard2.0\Microsoft.AspNetCore.Connections.Abstractions.dll</HintPath>
|
||||
</Reference>
|
||||
@ -63,6 +66,9 @@
|
||||
<Reference Include="Microsoft.AspNetCore.SignalR.Protocols.Json, Version=1.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNetCore.SignalR.Protocols.Json.1.1.0\lib\netstandard2.0\Microsoft.AspNetCore.SignalR.Protocols.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.AspNetCore.SignalR.Protocols.MessagePack, Version=1.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNetCore.SignalR.Protocols.MessagePack.1.1.0\lib\netstandard2.0\Microsoft.AspNetCore.SignalR.Protocols.MessagePack.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Extensions.Configuration, Version=2.2.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Extensions.Configuration.2.2.0\lib\netstandard2.0\Microsoft.Extensions.Configuration.dll</HintPath>
|
||||
</Reference>
|
||||
|
||||
@ -52,7 +52,7 @@ namespace Remotely_ScreenCast.Sockets
|
||||
//{
|
||||
// Logger.Write($"Failed to convert key {keyCode}.");
|
||||
//}
|
||||
Win32Interop.SendKeyDown((User32.VirtualKeyShort)keyCode);
|
||||
Win32Interop.SendKeyDown((User32.VirtualKey)keyCode);
|
||||
}
|
||||
});
|
||||
|
||||
@ -70,7 +70,7 @@ namespace Remotely_ScreenCast.Sockets
|
||||
//{
|
||||
// Logger.Write($"Failed to convert key {keyCode}.");
|
||||
//}
|
||||
Win32Interop.SendKeyUp((User32.VirtualKeyShort)keyCode);
|
||||
Win32Interop.SendKeyUp((User32.VirtualKey)keyCode);
|
||||
}
|
||||
});
|
||||
|
||||
@ -89,8 +89,8 @@ namespace Remotely_ScreenCast.Sockets
|
||||
//{
|
||||
// Logger.Write($"Failed to convert key {keyCode}.");
|
||||
//}
|
||||
Win32Interop.SendKeyDown((User32.VirtualKeyShort)keyCode);
|
||||
Win32Interop.SendKeyUp((User32.VirtualKeyShort)keyCode);
|
||||
Win32Interop.SendKeyDown((User32.VirtualKey)keyCode);
|
||||
Win32Interop.SendKeyUp((User32.VirtualKey)keyCode);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@ -72,7 +72,7 @@ namespace Win32
|
||||
UNICODE = 0x0004
|
||||
}
|
||||
|
||||
public enum VirtualKeyShort : short
|
||||
public enum VirtualKey : short
|
||||
{
|
||||
///<summary>
|
||||
///Left mouse button
|
||||
@ -763,8 +763,7 @@ namespace Win32
|
||||
///<summary>
|
||||
///Clear key
|
||||
///</summary>
|
||||
OEM_CLEAR = 0xFE,
|
||||
SEMI_COLON = 0x3b
|
||||
OEM_CLEAR = 0xFE
|
||||
}
|
||||
public enum ScanCodeShort : short
|
||||
{
|
||||
@ -1059,7 +1058,7 @@ namespace Win32
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public struct KEYBDINPUT
|
||||
{
|
||||
public VirtualKeyShort wVk;
|
||||
public VirtualKey wVk;
|
||||
public ScanCodeShort wScan;
|
||||
public KEYEVENTF dwFlags;
|
||||
public int time;
|
||||
|
||||
@ -7,6 +7,7 @@ using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using static Win32.ADVAPI32;
|
||||
using static Win32.User32;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Win32
|
||||
{
|
||||
@ -184,7 +185,7 @@ namespace Win32
|
||||
return SendInput(1, new User32.INPUT[] { input }, INPUT.Size);
|
||||
}
|
||||
|
||||
public static void SendKeyDown(VirtualKeyShort key)
|
||||
public static void SendKeyDown(VirtualKey key)
|
||||
{
|
||||
var union = new InputUnion()
|
||||
{
|
||||
@ -199,7 +200,7 @@ namespace Win32
|
||||
var input = new INPUT() { type = InputType.KEYBOARD, U = union };
|
||||
SendInput(1, new INPUT[] { input }, INPUT.Size);
|
||||
}
|
||||
public static void SendKeyUp(VirtualKeyShort key)
|
||||
public static void SendKeyUp(VirtualKey key)
|
||||
{
|
||||
var union = new InputUnion()
|
||||
{
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
<packages>
|
||||
<package id="Costura.Fody" version="3.3.2" targetFramework="net472" />
|
||||
<package id="Fody" version="4.0.2" targetFramework="net472" developmentDependency="true" />
|
||||
<package id="MessagePack" version="1.7.3.4" targetFramework="net472" />
|
||||
<package id="Microsoft.AspNetCore.Connections.Abstractions" version="2.2.0" targetFramework="net472" />
|
||||
<package id="Microsoft.AspNetCore.Http.Connections.Client" version="1.1.0" targetFramework="net472" />
|
||||
<package id="Microsoft.AspNetCore.Http.Connections.Common" version="1.1.0" targetFramework="net472" />
|
||||
@ -10,6 +11,7 @@
|
||||
<package id="Microsoft.AspNetCore.SignalR.Client.Core" version="1.1.0" targetFramework="net472" />
|
||||
<package id="Microsoft.AspNetCore.SignalR.Common" version="1.1.0" targetFramework="net472" />
|
||||
<package id="Microsoft.AspNetCore.SignalR.Protocols.Json" version="1.1.0" targetFramework="net472" />
|
||||
<package id="Microsoft.AspNetCore.SignalR.Protocols.MessagePack" version="1.1.0" targetFramework="net472" />
|
||||
<package id="Microsoft.Extensions.Configuration" version="2.2.0" targetFramework="net472" />
|
||||
<package id="Microsoft.Extensions.Configuration.Abstractions" version="2.2.0" targetFramework="net472" />
|
||||
<package id="Microsoft.Extensions.Configuration.Binder" version="2.2.0" targetFramework="net472" />
|
||||
|
||||
@ -23,12 +23,15 @@
|
||||
<environment include="Development">
|
||||
<script src="~/lib/jquery/dist/jquery.js"></script>
|
||||
<script src="~/lib/signalr/signalr.js"></script>
|
||||
<script src="~/lib/signalr/msgpack5.js"></script>
|
||||
<script src="~/lib/signalr/signalr-protocol-msgpack.js"></script>
|
||||
</environment>
|
||||
<environment exclude="Development">
|
||||
<script src="~/lib/jquery/dist/jquery.js"></script>
|
||||
<script src="~/lib/signalr/signalr.min.js"></script>
|
||||
<script src="~/lib/signalr/msgpack5.min.js"></script>
|
||||
<script src="~/lib/signalr/signalr-protocol-msgpack.min.js"></script>
|
||||
</environment>
|
||||
<script src="~/lib/adapter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="remotely-header" title="Remotely">
|
||||
|
||||
@ -4,71 +4,71 @@
|
||||
<button id="closeOSKButton">X</button>
|
||||
</div>
|
||||
<div class="osk-row">
|
||||
<div class="osk-key" alt-key="~">`</div>
|
||||
<div class="osk-key" alt-key="!">1</div>
|
||||
<div class="osk-key" alt-key="@@">2</div>
|
||||
<div class="osk-key" alt-key="#">3</div>
|
||||
<div class="osk-key" alt-key="$">4</div>
|
||||
<div class="osk-key" alt-key="%">5</div>
|
||||
<div class="osk-key" alt-key="^">6</div>
|
||||
<div class="osk-key" alt-key="&">7</div>
|
||||
<div class="osk-key" alt-key="*">8</div>
|
||||
<div class="osk-key" alt-key="(">9</div>
|
||||
<div class="osk-key" alt-key=")">0</div>
|
||||
<div class="osk-key" alt-key="_">-</div>
|
||||
<div class="osk-key" alt-key="+">=</div>
|
||||
<div class="osk-key" alt-key="~" keycode="192">`</div>
|
||||
<div class="osk-key" alt-key="!" keycode="49">1</div>
|
||||
<div class="osk-key" alt-key="@@" keycode="50">2</div>
|
||||
<div class="osk-key" alt-key="#" keycode="51">3</div>
|
||||
<div class="osk-key" alt-key="$" keycode="52">4</div>
|
||||
<div class="osk-key" alt-key="%" keycode="53">5</div>
|
||||
<div class="osk-key" alt-key="^" keycode="54">6</div>
|
||||
<div class="osk-key" alt-key="&" keycode="55">7</div>
|
||||
<div class="osk-key" alt-key="*" keycode="56">8</div>
|
||||
<div class="osk-key" alt-key="(" keycode="57">9</div>
|
||||
<div class="osk-key" alt-key=")" keycode="48">0</div>
|
||||
<div class="osk-key" alt-key="_" keycode="173">-</div>
|
||||
<div class="osk-key" alt-key="+" keycode="61">=</div>
|
||||
</div>
|
||||
<div class="osk-row">
|
||||
<div class="osk-key" alt-key="Q">q</div>
|
||||
<div class="osk-key" alt-key="W">w</div>
|
||||
<div class="osk-key" alt-key="E">e</div>
|
||||
<div class="osk-key" alt-key="R">r</div>
|
||||
<div class="osk-key" alt-key="T">t</div>
|
||||
<div class="osk-key" alt-key="Y">y</div>
|
||||
<div class="osk-key" alt-key="U">u</div>
|
||||
<div class="osk-key" alt-key="I">i</div>
|
||||
<div class="osk-key" alt-key="O">o</div>
|
||||
<div class="osk-key" alt-key="P">p</div>
|
||||
<div class="osk-key" alt-key="{">[</div>
|
||||
<div class="osk-key" alt-key="}">]</div>
|
||||
<div class="osk-key" alt-key="|">\</div>
|
||||
<div class="osk-key" alt-key="Q" keycode="81">q</div>
|
||||
<div class="osk-key" alt-key="W" keycode="87">w</div>
|
||||
<div class="osk-key" alt-key="E" keycode="69">e</div>
|
||||
<div class="osk-key" alt-key="R" keycode="82">r</div>
|
||||
<div class="osk-key" alt-key="T" keycode="84">t</div>
|
||||
<div class="osk-key" alt-key="Y" keycode="89">y</div>
|
||||
<div class="osk-key" alt-key="U" keycode="85">u</div>
|
||||
<div class="osk-key" alt-key="I" keycode="73">i</div>
|
||||
<div class="osk-key" alt-key="O" keycode="79">o</div>
|
||||
<div class="osk-key" alt-key="P" keycode="80">p</div>
|
||||
<div class="osk-key" alt-key="{" keycode="219">[</div>
|
||||
<div class="osk-key" alt-key="}" keycode="221">]</div>
|
||||
<div class="osk-key" alt-key="|" keycode="220">\</div>
|
||||
</div>
|
||||
<div class="osk-row">
|
||||
<div class="osk-key" alt-key="A">a</div>
|
||||
<div class="osk-key" alt-key="S">s</div>
|
||||
<div class="osk-key" alt-key="D">d</div>
|
||||
<div class="osk-key" alt-key="F">f</div>
|
||||
<div class="osk-key" alt-key="G">g</div>
|
||||
<div class="osk-key" alt-key="H">h</div>
|
||||
<div class="osk-key" alt-key="J">j</div>
|
||||
<div class="osk-key" alt-key="K">k</div>
|
||||
<div class="osk-key" alt-key="L">l</div>
|
||||
<div class="osk-key" alt-key=":">;</div>
|
||||
<div class="osk-key" alt-key=""">'</div>
|
||||
<div class="osk-key wide-key-sm">Enter</div>
|
||||
<div class="osk-key" alt-key="A" keycode="65">a</div>
|
||||
<div class="osk-key" alt-key="S" keycode="83">s</div>
|
||||
<div class="osk-key" alt-key="D" keycode="68">d</div>
|
||||
<div class="osk-key" alt-key="F" keycode="70">f</div>
|
||||
<div class="osk-key" alt-key="G" keycode="71">g</div>
|
||||
<div class="osk-key" alt-key="H" keycode="72">h</div>
|
||||
<div class="osk-key" alt-key="J" keycode="74">j</div>
|
||||
<div class="osk-key" alt-key="K" keycode="75">k</div>
|
||||
<div class="osk-key" alt-key="L" keycode="76">l</div>
|
||||
<div class="osk-key" alt-key=":" keycode="59">;</div>
|
||||
<div class="osk-key" alt-key=""" keycode="222">'</div>
|
||||
<div class="osk-key wide-key-sm" keycode="13">Enter</div>
|
||||
</div>
|
||||
<div class="osk-row">
|
||||
<div id="shiftKey" class="osk-key wide-key-sm">Shift</div>
|
||||
<div class="osk-key" alt-key="Z">z</div>
|
||||
<div class="osk-key" alt-key="X">x</div>
|
||||
<div class="osk-key" alt-key="C">c</div>
|
||||
<div class="osk-key" alt-key="V">v</div>
|
||||
<div class="osk-key" alt-key="B">b</div>
|
||||
<div class="osk-key" alt-key="N">n</div>
|
||||
<div class="osk-key" alt-key="M">m</div>
|
||||
<div class="osk-key" alt-key="<">,</div>
|
||||
<div class="osk-key" alt-key=">">.</div>
|
||||
<div class="osk-key" alt-key="?">/</div>
|
||||
<div id="shiftKey" class="osk-key wide-key-sm" keycode="16">Shift</div>
|
||||
<div class="osk-key" alt-key="Z" keycode="90">z</div>
|
||||
<div class="osk-key" alt-key="X" keycode="88">x</div>
|
||||
<div class="osk-key" alt-key="C" keycode="67">c</div>
|
||||
<div class="osk-key" alt-key="V" keycode="86">v</div>
|
||||
<div class="osk-key" alt-key="B" keycode="66">b</div>
|
||||
<div class="osk-key" alt-key="N" keycode="78">n</div>
|
||||
<div class="osk-key" alt-key="M" keycode="77">m</div>
|
||||
<div class="osk-key" alt-key="<" keycode="188">,</div>
|
||||
<div class="osk-key" alt-key=">" keycode="190">.</div>
|
||||
<div class="osk-key" alt-key="?" keycode="191">/</div>
|
||||
</div>
|
||||
<div class="osk-row">
|
||||
<div id="ctrlKey" class="osk-key">Ctrl</div>
|
||||
<div id="altKey" class="osk-key">Alt</div>
|
||||
<div class="osk-key wide-key-lg">Space</div>
|
||||
<div class="osk-key">Left</div>
|
||||
<div class="osk-key">Up</div>
|
||||
<div class="osk-key">Down</div>
|
||||
<div class="osk-key">Right</div>
|
||||
<div class="osk-key">Backspace</div>
|
||||
<div id="ctrlKey" class="osk-key" keycode="17">Ctrl</div>
|
||||
<div id="altKey" class="osk-key" keycode="18">Alt</div>
|
||||
<div class="osk-key wide-key-lg" keycode="32">Space</div>
|
||||
<div class="osk-key" keycode="37">Left</div>
|
||||
<div class="osk-key" keycode="38">Up</div>
|
||||
<div class="osk-key" keycode="40">Down</div>
|
||||
<div class="osk-key" keycode="39">Right</div>
|
||||
<div class="osk-key" keycode="8">Backspace</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="~/scripts/RemoteControl/OSK.js" type="module"></script>
|
||||
@ -54,6 +54,7 @@
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.AspNetCore.App" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.MessagePack" Version="1.1.0" />
|
||||
<PackageReference Include="Microsoft.CodeAnalysis.Common" Version="2.10.0" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="2.2.2" />
|
||||
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.2.2" PrivateAssets="All" />
|
||||
|
||||
@ -57,17 +57,17 @@ namespace Remotely_Server.Services
|
||||
await DeviceHub.Clients.Client(serviceID).SendAsync("CtrlAltDel");
|
||||
}
|
||||
|
||||
public async Task KeyDown(string key)
|
||||
public async Task KeyDown(int key)
|
||||
{
|
||||
await RCDeviceHub.Clients.Client(ClientID).SendAsync("KeyDown", key, Context.ConnectionId);
|
||||
}
|
||||
|
||||
public async Task KeyPress(string key)
|
||||
public async Task KeyPress(int key)
|
||||
{
|
||||
await RCDeviceHub.Clients.Client(ClientID).SendAsync("KeyPress", key, Context.ConnectionId);
|
||||
}
|
||||
|
||||
public async Task KeyUp(string key)
|
||||
public async Task KeyUp(int key)
|
||||
{
|
||||
await RCDeviceHub.Clients.Client(ClientID).SendAsync("KeyUp", key, Context.ConnectionId);
|
||||
}
|
||||
@ -111,11 +111,11 @@ namespace Remotely_Server.Services
|
||||
{
|
||||
if (Context.User.Identity.IsAuthenticated)
|
||||
{
|
||||
await RCDeviceHub.Clients.Client(ClientID).SendAsync("ViewerDisconnected", Context.ConnectionId);
|
||||
while (!OrganizationConnectionList.TryRemove(Context.ConnectionId, out var user))
|
||||
{
|
||||
await Task.Delay(1000);
|
||||
}
|
||||
await RCDeviceHub.Clients.Client(ClientID).SendAsync("ViewerDisconnected", Context.ConnectionId);
|
||||
}
|
||||
}
|
||||
|
||||
@ -124,9 +124,9 @@ namespace Remotely_Server.Services
|
||||
await RCDeviceHub.Clients.Client(ClientID).SendAsync("SelectScreen", screenIndex, Context.ConnectionId);
|
||||
}
|
||||
|
||||
public async Task SendScreenCastRequestToDevice(string clientID, string requesterName, RemoteControlMode remoteControlMode)
|
||||
public async Task SendScreenCastRequestToDevice(string clientID, string requesterName, int remoteControlMode)
|
||||
{
|
||||
if (remoteControlMode == RemoteControlMode.Normal)
|
||||
if ((RemoteControlMode)remoteControlMode == RemoteControlMode.Normal)
|
||||
{
|
||||
if (!RCDeviceSocketHub.AttendedSessionList.ContainsKey(clientID))
|
||||
{
|
||||
|
||||
@ -83,11 +83,13 @@ namespace Remotely_Server
|
||||
services.AddSignalR(options =>
|
||||
{
|
||||
options.EnableDetailedErrors = IsDev;
|
||||
}
|
||||
).AddJsonProtocol(options =>
|
||||
})
|
||||
.AddJsonProtocol(options =>
|
||||
{
|
||||
options.PayloadSerializerSettings.ContractResolver = new Newtonsoft.Json.Serialization.DefaultContractResolver();
|
||||
});
|
||||
})
|
||||
.AddMessagePackProtocol();
|
||||
|
||||
services.AddLogging();
|
||||
services.AddScoped<IEmailSender, EmailSender>();
|
||||
services.AddScoped<EmailSender>();
|
||||
|
||||
7566
Remotely_Server/wwwroot/lib/signalr/msgpack5.js
Normal file
7566
Remotely_Server/wwwroot/lib/signalr/msgpack5.js
Normal file
File diff suppressed because it is too large
Load Diff
1
Remotely_Server/wwwroot/lib/signalr/msgpack5.min.js
vendored
Normal file
1
Remotely_Server/wwwroot/lib/signalr/msgpack5.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
2393
Remotely_Server/wwwroot/lib/signalr/signalr-protocol-msgpack.js
Normal file
2393
Remotely_Server/wwwroot/lib/signalr/signalr-protocol-msgpack.js
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
8
Remotely_Server/wwwroot/lib/signalr/signalr-protocol-msgpack.min.js
vendored
Normal file
8
Remotely_Server/wwwroot/lib/signalr/signalr-protocol-msgpack.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1438,7 +1438,7 @@ __webpack_require__.r(__webpack_exports__);
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
// Version token that will be replaced by the prepack command
|
||||
/** The version of the SignalR client. */
|
||||
var VERSION = "1.1.0";
|
||||
var VERSION = "1.1.2";
|
||||
|
||||
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -7,6 +7,7 @@ export class RCBrowserSockets {
|
||||
Connect() {
|
||||
this.Connection = new signalR.HubConnectionBuilder()
|
||||
.withUrl("/RCBrowserHub")
|
||||
.withHubProtocol(new signalR.protocols.msgpack.MessagePackHubProtocol())
|
||||
.configureLogging(signalR.LogLevel.Information)
|
||||
.build();
|
||||
this.ApplyMessageHandlers(this.Connection);
|
||||
@ -105,16 +106,23 @@ export class RCBrowserSockets {
|
||||
UI.Screen2DContext.clearRect(0, 0, width, height);
|
||||
});
|
||||
hubConnection.on("ScreenCapture", (buffer, captureTime) => {
|
||||
var img = new Image();
|
||||
img.onload = () => {
|
||||
lastFrameDelay = Date.now();
|
||||
var frameDelay = Date.now() - new Date(captureTime).getTime();
|
||||
if (frameDelay > 2000 && Date.now() - lastFrameDelay > 2000) {
|
||||
this.SendFrameSkip(frameDelay * .25);
|
||||
}
|
||||
var url = window.URL.createObjectURL(new Blob([buffer]));
|
||||
var img = document.createElement("img");
|
||||
img.onload = function () {
|
||||
UI.Screen2DContext.drawImage(img, 0, 0);
|
||||
window.URL.revokeObjectURL(url);
|
||||
};
|
||||
img.src = "data:image/png;base64," + buffer;
|
||||
img.src = url;
|
||||
//var img = new Image();
|
||||
//img.onload = () => {
|
||||
// lastFrameDelay = Date.now();
|
||||
// var frameDelay = Date.now() - new Date(captureTime).getTime();
|
||||
// if (frameDelay > 2000 && Date.now() - lastFrameDelay > 2000) {
|
||||
// this.SendFrameSkip(frameDelay * .25);
|
||||
// }
|
||||
// UI.Screen2DContext.drawImage(img, 0, 0);
|
||||
//}
|
||||
//img.src = "data:image/png;base64," + buffer;
|
||||
});
|
||||
hubConnection.on("ConnectionFailed", () => {
|
||||
UI.ConnectButton.removeAttribute("disabled");
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -13,6 +13,7 @@ export class RCBrowserSockets {
|
||||
Connect() {
|
||||
this.Connection = new signalR.HubConnectionBuilder()
|
||||
.withUrl("/RCBrowserHub")
|
||||
.withHubProtocol(new signalR.protocols.msgpack.MessagePackHubProtocol())
|
||||
.configureLogging(signalR.LogLevel.Information)
|
||||
.build();
|
||||
|
||||
@ -112,17 +113,24 @@ export class RCBrowserSockets {
|
||||
UI.ScreenViewer.height = height;
|
||||
UI.Screen2DContext.clearRect(0, 0, width, height);
|
||||
});
|
||||
hubConnection.on("ScreenCapture", (buffer: string, captureTime: string) => {
|
||||
var img = new Image();
|
||||
img.onload = () => {
|
||||
lastFrameDelay = Date.now();
|
||||
var frameDelay = Date.now() - new Date(captureTime).getTime();
|
||||
if (frameDelay > 2000 && Date.now() - lastFrameDelay > 2000) {
|
||||
this.SendFrameSkip(frameDelay * .25);
|
||||
}
|
||||
hubConnection.on("ScreenCapture", (buffer: Uint8Array, captureTime: Date) => {
|
||||
var url = window.URL.createObjectURL(new Blob([buffer]));
|
||||
var img = document.createElement("img");
|
||||
img.onload = function () {
|
||||
UI.Screen2DContext.drawImage(img, 0, 0);
|
||||
}
|
||||
img.src = "data:image/png;base64," + buffer;
|
||||
window.URL.revokeObjectURL(url);
|
||||
};
|
||||
img.src = url;
|
||||
//var img = new Image();
|
||||
//img.onload = () => {
|
||||
// lastFrameDelay = Date.now();
|
||||
// var frameDelay = Date.now() - new Date(captureTime).getTime();
|
||||
// if (frameDelay > 2000 && Date.now() - lastFrameDelay > 2000) {
|
||||
// this.SendFrameSkip(frameDelay * .25);
|
||||
// }
|
||||
// UI.Screen2DContext.drawImage(img, 0, 0);
|
||||
//}
|
||||
//img.src = "data:image/png;base64," + buffer;
|
||||
});
|
||||
hubConnection.on("ConnectionFailed", () => {
|
||||
UI.ConnectButton.removeAttribute("disabled");
|
||||
|
||||
@ -7,8 +7,9 @@ var rcBrowserSockets = new RCBrowserSockets();
|
||||
export const RemoteControl = new class {
|
||||
constructor() {
|
||||
this.RCBrowserSockets = rcBrowserSockets;
|
||||
this.ClientID = queryString["clientID"] ? decodeURIComponent(queryString["clientID"]) : undefined;
|
||||
this.ServiceID = queryString["serviceID"] ? decodeURIComponent(queryString["serviceID"]) : undefined;
|
||||
this.ClientID = queryString["clientID"] ? decodeURIComponent(queryString["clientID"]) : "";
|
||||
this.ServiceID = queryString["serviceID"] ? decodeURIComponent(queryString["serviceID"]) : "";
|
||||
this.RequesterName = "";
|
||||
}
|
||||
};
|
||||
export function ConnectToClient() {
|
||||
|
||||
@ -1 +1 @@
|
||||
{"version":3,"file":"RemoteControl.js","sourceRoot":"","sources":["RemoteControl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGlE,IAAI,WAAW,GAAG,SAAS,CAAC,iBAAiB,EAAE,CAAC;AAChD,IAAI,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC;AAE9C,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI;IAAA;QAC7B,qBAAgB,GAAG,gBAAgB,CAAC;QACpC,aAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7F,cAAS,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAGpG,CAAC;CAAA,CAAA;AAED,MAAM,UAAU,eAAe;IAC3B,EAAE,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;IACjC,aAAa,CAAC,QAAQ,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrE,aAAa,CAAC,aAAa,GAAG,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC;IAC1D,aAAa,CAAC,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC;IAC9C,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;IACzC,EAAE,CAAC,aAAa,CAAC,SAAS,GAAG,+BAA+B,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE;IACjB,EAAE,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAExC,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE;QACzB,aAAa,CAAC,IAAI,GAAG,iBAAiB,CAAC,UAAU,CAAC;QAClD,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACrC,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;KAC5C;SACI,IAAI,WAAW,CAAC,WAAW,CAAC,EAAE;QAC/B,EAAE,CAAC,cAAc,CAAC,KAAK,GAAG,kBAAkB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;QACvE,IAAI,WAAW,CAAC,eAAe,CAAC,EAAE;YAC9B,EAAE,CAAC,kBAAkB,CAAC,KAAK,GAAG,kBAAkB,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC;YAC/E,eAAe,EAAE,CAAC;SACrB;KACJ;AACL,CAAC,CAAA"}
|
||||
{"version":3,"file":"RemoteControl.js","sourceRoot":"","sources":["RemoteControl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGlE,IAAI,WAAW,GAAG,SAAS,CAAC,iBAAiB,EAAE,CAAC;AAChD,IAAI,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC;AAE9C,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI;IAAA;QAC7B,qBAAgB,GAAG,gBAAgB,CAAC;QACpC,aAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,cAAS,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEzF,kBAAa,GAAW,EAAE,CAAC;IAC/B,CAAC;CAAA,CAAA;AAED,MAAM,UAAU,eAAe;IAC3B,EAAE,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;IACjC,aAAa,CAAC,QAAQ,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrE,aAAa,CAAC,aAAa,GAAG,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC;IAC1D,aAAa,CAAC,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC;IAC9C,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;IACzC,EAAE,CAAC,aAAa,CAAC,SAAS,GAAG,+BAA+B,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE;IACjB,EAAE,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAExC,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE;QACzB,aAAa,CAAC,IAAI,GAAG,iBAAiB,CAAC,UAAU,CAAC;QAClD,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACrC,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;KAC5C;SACI,IAAI,WAAW,CAAC,WAAW,CAAC,EAAE;QAC/B,EAAE,CAAC,cAAc,CAAC,KAAK,GAAG,kBAAkB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;QACvE,IAAI,WAAW,CAAC,eAAe,CAAC,EAAE;YAC9B,EAAE,CAAC,kBAAkB,CAAC,KAAK,GAAG,kBAAkB,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC;YAC/E,eAAe,EAAE,CAAC;SACrB;KACJ;AACL,CAAC,CAAA"}
|
||||
@ -9,10 +9,10 @@ var rcBrowserSockets = new RCBrowserSockets();
|
||||
|
||||
export const RemoteControl = new class {
|
||||
RCBrowserSockets = rcBrowserSockets;
|
||||
ClientID = queryString["clientID"] ? decodeURIComponent(queryString["clientID"]) : undefined;
|
||||
ServiceID = queryString["serviceID"] ? decodeURIComponent(queryString["serviceID"]) : undefined;
|
||||
ClientID = queryString["clientID"] ? decodeURIComponent(queryString["clientID"]) : "";
|
||||
ServiceID = queryString["serviceID"] ? decodeURIComponent(queryString["serviceID"]) : "";
|
||||
Mode: RemoteControlMode;
|
||||
RequesterName: string;
|
||||
RequesterName: string = "";
|
||||
}
|
||||
|
||||
export function ConnectToClient() {
|
||||
|
||||
472
package-lock.json
generated
Normal file
472
package-lock.json
generated
Normal file
@ -0,0 +1,472 @@
|
||||
{
|
||||
"requires": true,
|
||||
"lockfileVersion": 1,
|
||||
"dependencies": {
|
||||
"@aspnet/signalr": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@aspnet/signalr/-/signalr-1.1.2.tgz",
|
||||
"integrity": "sha512-Xu2ndFTWYhyE+TOCK3LkPWGmc5xGLezBKgGEchyOA++alJ6fdWJ8P/Wsb4Mmd1buzcxGLlIyjpLfUP20rrCHIg==",
|
||||
"requires": {
|
||||
"eventsource": "^1.0.7",
|
||||
"request": "^2.88.0",
|
||||
"ws": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"@aspnet/signalr-protocol-msgpack": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@aspnet/signalr-protocol-msgpack/-/signalr-protocol-msgpack-1.1.0.tgz",
|
||||
"integrity": "sha512-AQv5AavWvoFz2iLSIDK1DAIXMNhQ1Jt1qRDouXxLKAKP13u8iFq7i3/MwJ30ShOBGBoL5/zn6pBlNjAzTmAsMA==",
|
||||
"requires": {
|
||||
"msgpack5": "^4.0.2"
|
||||
}
|
||||
},
|
||||
"ajv": {
|
||||
"version": "6.10.0",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz",
|
||||
"integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==",
|
||||
"requires": {
|
||||
"fast-deep-equal": "^2.0.1",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
"json-schema-traverse": "^0.4.1",
|
||||
"uri-js": "^4.2.2"
|
||||
}
|
||||
},
|
||||
"asn1": {
|
||||
"version": "0.2.4",
|
||||
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
|
||||
"integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
|
||||
"requires": {
|
||||
"safer-buffer": "~2.1.0"
|
||||
}
|
||||
},
|
||||
"assert-plus": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
|
||||
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
|
||||
},
|
||||
"async-limiter": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
|
||||
"integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg=="
|
||||
},
|
||||
"asynckit": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
||||
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
|
||||
},
|
||||
"aws-sign2": {
|
||||
"version": "0.7.0",
|
||||
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
|
||||
"integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
|
||||
},
|
||||
"aws4": {
|
||||
"version": "1.8.0",
|
||||
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
|
||||
"integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
|
||||
},
|
||||
"bcrypt-pbkdf": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
|
||||
"integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
|
||||
"requires": {
|
||||
"tweetnacl": "^0.14.3"
|
||||
}
|
||||
},
|
||||
"bl": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/bl/-/bl-2.2.0.tgz",
|
||||
"integrity": "sha512-wbgvOpqopSr7uq6fJrLH8EsvYMJf9gzfo2jCsL2eTy75qXPukA4pCgHamOQkZtY5vmfVtjB+P3LNlMHW5CEZXA==",
|
||||
"requires": {
|
||||
"readable-stream": "^2.3.5",
|
||||
"safe-buffer": "^5.1.1"
|
||||
}
|
||||
},
|
||||
"caseless": {
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
|
||||
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
|
||||
},
|
||||
"combined-stream": {
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz",
|
||||
"integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==",
|
||||
"requires": {
|
||||
"delayed-stream": "~1.0.0"
|
||||
}
|
||||
},
|
||||
"core-util-is": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
|
||||
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
|
||||
},
|
||||
"dashdash": {
|
||||
"version": "1.14.1",
|
||||
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
|
||||
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
|
||||
"requires": {
|
||||
"assert-plus": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"delayed-stream": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
|
||||
},
|
||||
"ecc-jsbn": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
|
||||
"integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
|
||||
"requires": {
|
||||
"jsbn": "~0.1.0",
|
||||
"safer-buffer": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"eventsource": {
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz",
|
||||
"integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==",
|
||||
"requires": {
|
||||
"original": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"extend": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
|
||||
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
|
||||
},
|
||||
"extsprintf": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
|
||||
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
|
||||
},
|
||||
"fast-deep-equal": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
|
||||
"integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
|
||||
},
|
||||
"fast-json-stable-stringify": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
|
||||
"integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
|
||||
},
|
||||
"forever-agent": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
|
||||
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
|
||||
},
|
||||
"form-data": {
|
||||
"version": "2.3.3",
|
||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
|
||||
"integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
|
||||
"requires": {
|
||||
"asynckit": "^0.4.0",
|
||||
"combined-stream": "^1.0.6",
|
||||
"mime-types": "^2.1.12"
|
||||
}
|
||||
},
|
||||
"getpass": {
|
||||
"version": "0.1.7",
|
||||
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
|
||||
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
|
||||
"requires": {
|
||||
"assert-plus": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"har-schema": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
|
||||
"integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
|
||||
},
|
||||
"har-validator": {
|
||||
"version": "5.1.3",
|
||||
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
|
||||
"integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
|
||||
"requires": {
|
||||
"ajv": "^6.5.5",
|
||||
"har-schema": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"http-signature": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
|
||||
"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
|
||||
"requires": {
|
||||
"assert-plus": "^1.0.0",
|
||||
"jsprim": "^1.2.2",
|
||||
"sshpk": "^1.7.0"
|
||||
}
|
||||
},
|
||||
"inherits": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
|
||||
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
|
||||
},
|
||||
"is-typedarray": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
|
||||
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
|
||||
},
|
||||
"isarray": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
|
||||
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
|
||||
},
|
||||
"isstream": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
|
||||
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
|
||||
},
|
||||
"jsbn": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
|
||||
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
|
||||
},
|
||||
"json-schema": {
|
||||
"version": "0.2.3",
|
||||
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
|
||||
"integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
|
||||
},
|
||||
"json-schema-traverse": {
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
|
||||
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
|
||||
},
|
||||
"json-stringify-safe": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
|
||||
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
|
||||
},
|
||||
"jsprim": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
|
||||
"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
|
||||
"requires": {
|
||||
"assert-plus": "1.0.0",
|
||||
"extsprintf": "1.3.0",
|
||||
"json-schema": "0.2.3",
|
||||
"verror": "1.10.0"
|
||||
}
|
||||
},
|
||||
"mime-db": {
|
||||
"version": "1.38.0",
|
||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.38.0.tgz",
|
||||
"integrity": "sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg=="
|
||||
},
|
||||
"mime-types": {
|
||||
"version": "2.1.22",
|
||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.22.tgz",
|
||||
"integrity": "sha512-aGl6TZGnhm/li6F7yx82bJiBZwgiEa4Hf6CNr8YO+r5UHr53tSTYZb102zyU50DOWWKeOv0uQLRL0/9EiKWCog==",
|
||||
"requires": {
|
||||
"mime-db": "~1.38.0"
|
||||
}
|
||||
},
|
||||
"msgpack5": {
|
||||
"version": "4.2.1",
|
||||
"resolved": "https://registry.npmjs.org/msgpack5/-/msgpack5-4.2.1.tgz",
|
||||
"integrity": "sha512-Xo7nE9ZfBVonQi1rSopNAqPdts/QHyuSEUwIEzAkB+V2FtmkkLUbP6MyVqVVQxsZYI65FpvW3Bb8Z9ZWEjbgHQ==",
|
||||
"requires": {
|
||||
"bl": "^2.0.1",
|
||||
"inherits": "^2.0.3",
|
||||
"readable-stream": "^2.3.6",
|
||||
"safe-buffer": "^5.1.2"
|
||||
}
|
||||
},
|
||||
"oauth-sign": {
|
||||
"version": "0.9.0",
|
||||
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
|
||||
"integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
|
||||
},
|
||||
"original": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz",
|
||||
"integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==",
|
||||
"requires": {
|
||||
"url-parse": "^1.4.3"
|
||||
}
|
||||
},
|
||||
"performance-now": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
|
||||
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
|
||||
},
|
||||
"process-nextick-args": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
|
||||
"integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
|
||||
},
|
||||
"psl": {
|
||||
"version": "1.1.31",
|
||||
"resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz",
|
||||
"integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw=="
|
||||
},
|
||||
"punycode": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
|
||||
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
|
||||
},
|
||||
"qs": {
|
||||
"version": "6.5.2",
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
|
||||
"integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
|
||||
},
|
||||
"querystringify": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.0.tgz",
|
||||
"integrity": "sha512-sluvZZ1YiTLD5jsqZcDmFyV2EwToyXZBfpoVOmktMmW+VEnhgakFHnasVph65fOjGPTWN0Nw3+XQaSeMayr0kg=="
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "2.3.6",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
|
||||
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
|
||||
"requires": {
|
||||
"core-util-is": "~1.0.0",
|
||||
"inherits": "~2.0.3",
|
||||
"isarray": "~1.0.0",
|
||||
"process-nextick-args": "~2.0.0",
|
||||
"safe-buffer": "~5.1.1",
|
||||
"string_decoder": "~1.1.1",
|
||||
"util-deprecate": "~1.0.1"
|
||||
}
|
||||
},
|
||||
"request": {
|
||||
"version": "2.88.0",
|
||||
"resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
|
||||
"integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
|
||||
"requires": {
|
||||
"aws-sign2": "~0.7.0",
|
||||
"aws4": "^1.8.0",
|
||||
"caseless": "~0.12.0",
|
||||
"combined-stream": "~1.0.6",
|
||||
"extend": "~3.0.2",
|
||||
"forever-agent": "~0.6.1",
|
||||
"form-data": "~2.3.2",
|
||||
"har-validator": "~5.1.0",
|
||||
"http-signature": "~1.2.0",
|
||||
"is-typedarray": "~1.0.0",
|
||||
"isstream": "~0.1.2",
|
||||
"json-stringify-safe": "~5.0.1",
|
||||
"mime-types": "~2.1.19",
|
||||
"oauth-sign": "~0.9.0",
|
||||
"performance-now": "^2.1.0",
|
||||
"qs": "~6.5.2",
|
||||
"safe-buffer": "^5.1.2",
|
||||
"tough-cookie": "~2.4.3",
|
||||
"tunnel-agent": "^0.6.0",
|
||||
"uuid": "^3.3.2"
|
||||
}
|
||||
},
|
||||
"requires-port": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
|
||||
"integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
|
||||
},
|
||||
"safe-buffer": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
|
||||
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
|
||||
},
|
||||
"safer-buffer": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
|
||||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
|
||||
},
|
||||
"sshpk": {
|
||||
"version": "1.16.1",
|
||||
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
|
||||
"integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
|
||||
"requires": {
|
||||
"asn1": "~0.2.3",
|
||||
"assert-plus": "^1.0.0",
|
||||
"bcrypt-pbkdf": "^1.0.0",
|
||||
"dashdash": "^1.12.0",
|
||||
"ecc-jsbn": "~0.1.1",
|
||||
"getpass": "^0.1.1",
|
||||
"jsbn": "~0.1.0",
|
||||
"safer-buffer": "^2.0.2",
|
||||
"tweetnacl": "~0.14.0"
|
||||
}
|
||||
},
|
||||
"string_decoder": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
|
||||
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
|
||||
"requires": {
|
||||
"safe-buffer": "~5.1.0"
|
||||
}
|
||||
},
|
||||
"tough-cookie": {
|
||||
"version": "2.4.3",
|
||||
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
|
||||
"integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
|
||||
"requires": {
|
||||
"psl": "^1.1.24",
|
||||
"punycode": "^1.4.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"punycode": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
|
||||
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
|
||||
}
|
||||
}
|
||||
},
|
||||
"tunnel-agent": {
|
||||
"version": "0.6.0",
|
||||
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
|
||||
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
|
||||
"requires": {
|
||||
"safe-buffer": "^5.0.1"
|
||||
}
|
||||
},
|
||||
"tweetnacl": {
|
||||
"version": "0.14.5",
|
||||
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
|
||||
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
|
||||
},
|
||||
"uri-js": {
|
||||
"version": "4.2.2",
|
||||
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
|
||||
"integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
|
||||
"requires": {
|
||||
"punycode": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"url-parse": {
|
||||
"version": "1.4.4",
|
||||
"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.4.tgz",
|
||||
"integrity": "sha512-/92DTTorg4JjktLNLe6GPS2/RvAd/RGr6LuktmWSMLEOa6rjnlrFXNgSbSmkNvCoL2T028A0a1JaJLzRMlFoHg==",
|
||||
"requires": {
|
||||
"querystringify": "^2.0.0",
|
||||
"requires-port": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"util-deprecate": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
||||
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
|
||||
},
|
||||
"uuid": {
|
||||
"version": "3.3.2",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
|
||||
"integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA=="
|
||||
},
|
||||
"verror": {
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
|
||||
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
|
||||
"requires": {
|
||||
"assert-plus": "^1.0.0",
|
||||
"core-util-is": "1.0.2",
|
||||
"extsprintf": "^1.2.0"
|
||||
}
|
||||
},
|
||||
"ws": {
|
||||
"version": "6.2.0",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-6.2.0.tgz",
|
||||
"integrity": "sha512-deZYUNlt2O4buFCa3t5bKLf8A7FPP/TVjwOeVNpw818Ma5nk4MLXls2eoEGS39o8119QIYxTrTDoPQ5B/gTD6w==",
|
||||
"requires": {
|
||||
"async-limiter": "~1.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user