Just in case
Go to file
2021-07-29 07:53:47 -07:00
.vscode Initial 2021-07-29 07:53:41 -07:00
Assets Initial 2021-07-29 07:53:41 -07:00
Remotely_Agent Remove invalid file name characters from file transfers. 2021-07-29 07:53:46 -07:00
Remotely_Desktop Bug fixes to touch events on remote control, cursor map, console results, and auto updating. 2021-07-29 07:53:46 -07:00
Remotely_Library Send cursor icon image instead of using the map. 2021-07-29 07:53:46 -07:00
Remotely_ScreenCast Remove invalid file name characters from file transfers. 2021-07-29 07:53:46 -07:00
Remotely_Server Remove publish profile. 2021-07-29 07:53:46 -07:00
Utilities Updated Linux server install script. 2021-07-29 07:53:47 -07:00
.gitattributes Initial 2021-07-29 07:53:41 -07:00
.gitignore Update gitignore. 2021-07-29 07:53:46 -07:00
package-lock.json MessagePack working. 2021-07-29 07:53:42 -07:00
README.md Update README.md 2021-07-29 07:53:47 -07:00
Remotely.sln Working on Linux auto-updating. 2021-07-29 07:53:44 -07:00

Remotely

Build Status

A remote control and remote scripting solution, built with .NET Core and SignalR Core.

Repo is "On Pause"

My family and I have recently moved into a new house. Until we've settled in and adjusted to the changes, the repo will be archived. This is for my own peace of mind, as it's rather stressful to see requests/issues come in when I don't have time to address them.

Once I'm ready to resume the project, the archival will be removed.

Also, I'm looking for work. If you might entertain the idea of hiring me, please shoot me an email! :) (translucency@outlook.com)

Build Instructions (Windows 10)

The following steps will configure your Windows 10 machine for building the Remotely server and clients.

  • Install Visual Studio 2019.
  • Install the latest .NET Core SDK.
  • Clone the git repository and open the solution in Visual Studio.
  • Build (in Release configuration) the Remotely_Desktop and Remotely_ScreenCast projects.
    • By default, the screen-sharing desktop app prompts for a host URL and can be changed thereafter. To hard-code a URL, set the ForceHost value in /Remotely_Desktop/ViewModels/MainWindowViewModel.cs to the server's URL.
  • Run Publish.ps1 in the Utilities folder.
    • Example: powershell -f [path]\Publish.ps1 -outdir C:\inetpub\remotely -rid win10-x86
    • The output folder will now contain the server, with the clients in the Downloads folder.

Hosting a Server (Windows)

Hosting a Server (Linux)

Session Recording

  • You can turn on session recording in appsettings.json.
  • The following requirements must be met for it to work:
    • On Linux, libgdiplus must be installed (sudo apt-get install libdgiplus).
    • The process running the app must have access to create and/or modify a folder name "Recordings" in the site's root content folder.
    • FFmpeg must be executable from the process running the Remotely server.
  • Remote control sessions will first be recorded as a series of images, which will then be converted to MP4 using FFmpeg.

Remote Control on Mobile

Ideally, you'd be doing remote control from an actual computer or laptop. However, I've tried to make the remote control at least somewhat usable from a mobile device. Here are the controls:

  • Left-click: Single tap
  • Right-click: Double tap
  • Click-and-drag: Tap and hold with one finger, tap and release a second finger (without pinch-zooming)
    • The click-and-drag operation will begin where finger one is held

.NET Core Deployments

  • .NET Core has two methods of deployment: framework-dependent and self-contained.
    • Framework-dependent deployments require the .NET Core runtime to be installed on the target computers. It must be the same version or higher that was used to build the app.
    • Self-contained deployments include a copy of the runtime, so you don't need to install it on the target computers. As a result, the total file size is much larger.
  • .NET Core uses runtime identifiers that are targeted when building.