Remote Support Tool is an easy single click solution for remote maintenance.

Overview

Remote Support Tool 1.1.2

Remote Support Tool is an easy single click solution for remote maintenance.

This project started initially as a VNC launcher inspired by UltraVNC Single Click and Gitso. For a more consistent platform support and better compatibility the software was completely rewritten in Java and the requirement of any third party VNC software was dropped.

Remote Support Tool provides a graphical interface for both sides of a remote support session:

  • Customer Support Tool is started by the customer, who likes to provide access on his desktop for a support staff.

  • Staff Support Tool is started by the support staff in order to access the customers desktop remotely.

Because both sides of a support session are covered by Remote Support Tool, the software uses its own protocol for communication between customer and staff. The application is currently not compatible with other VNC based software.

About this program

Motivation

Remote administration is common practice in software support for end users. There are a lot of different solutions on the market, that can solve this task. But most of them are lacking at least in one of these requirements:

  • The end user should be able to start the remote administration session with as few clicks as possible.

    • No complex installation procedure should be required. The end user just has to download a single file and start it.

    • The end user often sits behind a router / NAT and should not bother with port forwarding. On one hand this is quite complicated process for an end user and on the other hand it is a possible security risk to open local ports to the internet.

  • The remote maintenance session should be completely private and secure.

    • All transferred data has to be encrypted - especially when it is sent over the internet

    • Most commercial solutions are initiating (or even routing) the traffic through their own servers. This can become a privacy problem - especially if the servers are located in countries with loose data privacy policies.

  • All major operating systems for desktop PC's should be supported.

  • Support for different languages - because not all end users speak English.

Because we did not find a solution that fits all of these requirements, we've decided to build our own solution to fit this gap. From a customer perspective this application behaves similar to the UltraVNC Single Click solution - but it also provides encryption and supports Linux and macOS.

In addition, we wanted to make this program customizable for other companies. A company may compile a custom configuration into the application. This makes it possible to provide a single executable file for the end users, that contains all required configurations by default.

Customer Support Tool

dialog for customers

From the customer perspective the software is as simple as possible. Only a hostname / IP address and port number has to be provided in order to share the screen with the support staff. If the customer uses multiple monitors, he also might select which screen he likes to share.

A company, that offers remote support, can create its custom preconfigured build of this software, that provides all necessary settings by default. In this case the customer will just have to click the Connect button after starting the application. According to our goal this is the easiest solution possible from the customer perspective.

Staff Support Tool

dialog for support staff

At minimum the support staff only has to provide a port number, on which the customer will connect. If the customer is connecting through the internet, SSL encryption is recommended. In order to avoid problems with port forwarding in the local router, the support staff might also enable SSH tunneling (SSH remote port forwarding).

Features

  • support staff can remotely access the customers screen
    • send keyboard and mouse inputs to the customer for remote control
    • screen is transferred with JPG compression
    • only changed regions of the screen are transferred
  • private and secure
    • integrated SSL encryption
    • integrated SSH tunneling (remote port forwarding) in order to avoid any changes to the router settings
    • ssh authentication via password or public key
  • simple to use
    • no external dependencies required
    • integrated OpenJDK runtime environment
    • single file launchers; just download and start the application
    • signed application bundle for macOS
  • cross platform
    • support for Windows
    • support for macOS
    • support for Linux
  • multilingual
    • available in English & German
    • translatable in other languages if necessary
  • customizable
    • provide the necessary default settings to make the application as easy as possible to use for the customer
    • add your company logo as a branding
  • business friendly Open Source license (Apache License 2.0)

Planned features

see full list of proposed enhancements

Supported operating systems

  • Windows (7 or newer, 32bit & 64bit)
  • Mac OS X (10.9 or newer)
  • Linux (i386 / amd64)

Notes about Windows

Due to a restriction in the Windows operating system the customer's desktop does not allow any interaction, if an application with administrative privileges is currently running. In this case the customer either has to close the administrative application or needs to start Customer Support Tool with administrator privileges.

Notes about macOS

Starting with macOS Mojave (10.14) the customer explicitly needs to allow access to the application after the support session was started. The same applies to other remote support software like TeamViewer. They've described the necessary steps on their Knowledge Base page.

Notes about Linux

Currently the support session is not working for customers using Wayland. Currently it is not widely used yet. Fortunately most Linux distributions still use X.org - but for example Fedora is already shipping Wayland in its default installation. We're trying to find a solution for this problem as soon as possible (see issue #24).

Translations

Remote Support Tool is developed in English and is translated into German language. The configuration documentation contains information about how to translate the application for yourself. Feel free to send your translation files to us.

Documentation

You can find documentations about Remote Support Tool in the project wiki.

Support

We are providing professional support for Remote Support Tool in case you can't or don't want to customize the application for yourself.

License

This application is licensed under the terms of the Apache License 2.0. Take a look at LICENSE.txt for the license text.

Third party components

The following third party components are bundled into the application (in alphabetical order):

We especially like to thank BellSoft for providing the high quality OpenJDK builds, that are bundled with this application.

Further information

Comments
  • compile the application

    compile the application

    error while compile [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3. 8.0:compile (default-compile) on project RemoteSupportTool-Core: Fatal error com ERRORGIT

    opened by K4bl0-Skat3R 22
  • Window opens off the screen.

    Window opens off the screen.

    I am not sure how to debug this. I have some experience with C#, but none with TCL. The window location is off the screen on my multi monitor setup when I launch the application. I am not sure where to even begin making those modifications since for the most part the TCL seems to be a bundling script as opposed to a full programing language

    bug 
    opened by ajhalls 3
  • Migrate to Tcl/Tk & OpenSSH

    Migrate to Tcl/Tk & OpenSSH

    Unfortunately our current PyInstaller based build system has some downsides. After spending a lot of time and frustration we were still not able to produce application binaries anymore on certain systems. Due to our limited time and lack of knowledge about the internals of PyInstaller we were not able to track down the cause of the problem.

    Therefore we've decided to migrate the application from Python to Tcl/Tk. This allows us to implement an easier and more flexible build system. Based on precompiled tclkit binaries it is possible to cross compile the application for all supported target systems on a single machine without any hassle.

    Besides the application itself all build scripts were ported from Bash & Batch to Tcl/Tk. This means, that we don't need to provide separate build scripts for Windows anymore. The build scripts can be used on every operating system with an installed Tcl environment. If that is not possible, one might also use one of the provided tclkit binaries in order to execute the build scripts.

    Unfortunately there is no comparable alternative to Paramiko available for Tcl. Therefore we're using OpenSSH for SSH tunneling. Linux and Mac OS X are providing OpenSSH out of the box. For Windows systems we've integrated the binaries provided by mls-software.com.

    enhancement 
    opened by pinhead84 3
  • Mouse is shifted on Windows clients with screen scaling > 100%

    Mouse is shifted on Windows clients with screen scaling > 100%

    The mouse pointer of staff and customer are at a different positions.

    It is only correct a the top left corner. I guess this is caused by the highdpi screen at customer side (windows 10 with scaling > 200%). RemoteSupportTool uses a low res screenshot, but it doesn't scale the mouse position of staff from low res to high res. To fix use native res screenhot or scale the mouse position.

    bug 
    opened by wahlbrink 2
  • Windows 10: OpenSSH Server not starting

    Windows 10: OpenSSH Server not starting

    OpenSSH doesn't start when I try to connect from a Windows 10 Machine via the GUI, but it is working if I start it from CMD without the -f parameter (and without sleep 15). Does somebody know what to do, to make it working? From Linux its just working fine.

    opened by nwtti 2
  • Added support for pyinstaller3 (pyi-build is DEPRECATE)

    Added support for pyinstaller3 (pyi-build is DEPRECATE)

    As described here pyi-build is deprecate since versione 3 of pyinstaller: https://github.com/pyinstaller/pyinstaller/commit/a5cd4b748d5bd831ff1869bcf55133b125f156eb https://github.com/pyinstaller/pyinstaller/issues/1490

    opened by Sjd-Risca 2
  • Wrong mouse position on multi monitor setups

    Wrong mouse position on multi monitor setups

    The position of the mouse cursor send by the staff is not properly shown on the customer's machine, if the customer uses multiple monitors.

    We were able to reproduce this problem for Linux customers with a multi monitor setup provided by the Nvidia graphics driver. It's currently not clear, if the same problem occurs in other scenarios (Xinerama on Linux or generally on other operating systems). Further investigation is required.

    bug 
    opened by pinhead84 1
  • Urls in openjdk init* scripts wrong

    Urls in openjdk init* scripts wrong

    The urls to AdoptOpenJDK in the openjdk init scripts did not work. Please find the working ones in the diff. A nice enhancement would be if the init scripts would check the exit value of curl for easy and obvious detection of changing urls in the future.

    diff --git a/release/share/openjdk/init-linux64.sh b/release/share/openjdk/init-linux64.sh index ea7ca59..c06bbdb 100755 --- a/release/share/openjdk/init-linux64.sh +++ b/release/share/openjdk/init-linux64.sh @@ -25,7 +25,8 @@

    -----------------------------------------------------------------------

    TARGET="linux64" -TARGET_JDK="https://github.com/AdoptOpenJDK/openjdk10-releases/releases/download/jdk-10.0.2%2B13/OpenJDK10_x64_Linux_jdk-10.0.2.13.tar.gz" +TARGET_JDK="https://github.com/AdoptOpenJDK/openjdk10-releases/releases/download/jdk-10.0.2%2B13/OpenJDK10_x64_Linux_jdk-10.0.2+13.tar.gz"

    DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" DOWNLOADS_DIR="$DIR/downloads" diff --git a/release/share/openjdk/init-windows64.sh b/release/share/openjdk/init-windows64.sh index 95bc9fb..89dd620 100755 --- a/release/share/openjdk/init-windows64.sh +++ b/release/share/openjdk/init-windows64.sh @@ -25,7 +25,8 @@

    -----------------------------------------------------------------------

    TARGET="windows64" -TARGET_JDK="https://github.com/AdoptOpenJDK/openjdk10-releases/releases/download/jdk-10.0.2%2B13/OpenJDK10_x64_Windows_jdk-10.0.2.13.zip" +TARGET_JDK="https://github.com/AdoptOpenJDK/openjdk10-releases/releases/download/jdk-10.0.2%2B13/OpenJDK10_x64_Win_jdk-10.0.2+13.zip"

    DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" DOWNLOADS_DIR="$DIR/downloads" diff --git a/release/share/openjdk/init.sh b/release/share/openjdk/init.sh index f3a8c75..c1a47e1 100755 --- a/release/share/openjdk/init.sh +++ b/release/share/openjdk/init.sh @@ -39,7 +39,7 @@ case "$SYSTEM" in case "$SYSTEM_ARCH" in x86_64) echo "Initializing Linux 64bit environment..."

    •      SYSTEM_JDK="https://github.com/AdoptOpenJDK/openjdk10-releases/releases/download/jdk-10.0.2%2B13/OpenJDK10_x64_Linux_jdk-10.0.2.13.tar.gz"
      
    •      SYSTEM_JDK="https://github.com/AdoptOpenJDK/openjdk10-releases/releases/download/jdk-10.0.2%2B13/OpenJDK10_x64_Linux_jdk-10.0.2+13.tar.gz"
           ;;
         i686)
      
    opened by ghost 1
  • Hi, Customer32.exe & Staff32.exe can't work

    Hi, Customer32.exe & Staff32.exe can't work

    Hi, I am Korean and My English is not good. Recently I take this program and compile with Ubuntu by myself with downloading master.zip file. Compile is fine, but when I click 32bit-exe file in the launch4j folder, it has an error [ This application requires a Java Runtime ENvironment 10(32bit)] With [https://github.com/OpenIndex/RemoteSupportTool/releases] 's StaffSupportTool-1.0.0-win32.exe & CustomerSupportTool-1.0.0-win32.exe, it is working with my Win 10 64 bit PC. When i search Java 10 32bit , it is not exist. How can i solve it? Thank have good day.

    opened by jmkim2ea 1
  • Switch from MIT to Apache License 2.0

    Switch from MIT to Apache License 2.0

    With the migration to Java (see #9) we're going to change the license from MIT to Apache 2.0. This should not make a huge difference for the users. But because all of our Java based projects are licensed with Apache 2.0, we like to have some sort of consistency here.

    enhancement 
    opened by pinhead84 1
  • Provide a GUI for the support staff

    Provide a GUI for the support staff

    Up to now we only provide a graphical interface for the user, that likes to share his desktop. Reworking the application with Java 10 (see #9) also allows us to create a graphical interface for the support staff. This makes it a lot easier for the support side to open a support session. No external requirements (separate VNC viewer, manual SSH tunneling, etc.) are needed.

    enhancement 
    opened by pinhead84 1
  • 1:1 screen size option

    1:1 screen size option

    Sometimes the costumers screen resolution is bigger than that of the staff. In this case the screen is resized to fit the staff resolution at the moment. It would be nice if there would be an on/off 1:1 option in the staff window during a remote session to switch to costumer resolution and to add scroll bars in the staff window to enable navigation.

    enhancement 
    opened by gregor-horvath 1
  • How to send CTRL-ALT-DEL?

    How to send CTRL-ALT-DEL?

    How can I send CTRL-ALT-DEL from the staff Application to the client application without the client OS intercepting it? The client screen locked and I did not find a way to send the unlock keys. I tried this [1], but it did not work.

    [1] https://www.pointdev.com/en/faq/faq-ideal-administration-send-ctrl-alt-del-tightvnc-vnc-logon-sas-computer-machine-id-227.html

    enhancement 
    opened by ghost 0
  • Automatic reconnection

    Automatic reconnection

    It would be great to have an optional reconnect feature. I have customers who starts the connections once and leave the window open for me to work for a longer period alone. If the connection is dropped because of some network glitch, the customer has to manually reconnect at the moment. This takes time and causes work interruptions. It would be great to have on option "Automatic reconnect" in the client GUI. The client watches if the connection is down, and it reconnects automatically to the Staff Tool when the checkbox is checked and of course the client GUI is still running.

    enhancement 
    opened by holri 2
  • Support session not working on Linux with Wayland (e.g. Fedora)

    Support session not working on Linux with Wayland (e.g. Fedora)

    It seems that the customer application is not properly working on Linux with Wayland. If the customer application is running on Fedora 29 (latest version), the staff only receives a black screenshot.

    It might be an issue with OpenJDK. Or maybe there might be a way to explicitly allow an application to take screenshots. Fortunately Wayland is currently not widely used. But sooner or later we need to find a solution.

    bug help wanted 
    opened by pinhead84 0
  • Modify performance / quality settings during a support session

    Modify performance / quality settings during a support session

    Certain settings for performance / quality might be editable during a support session:

    • level of JPEG compression (currently 60% by default)
    • screenshot interval (currently 250 ms by default)
    • width / height of transferred screenshot tiles (currently 100 px by default)
    enhancement 
    opened by pinhead84 0
Releases(v1.1.2)
A Java library that implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS for Java applications.

TLS Channel TLS Channel is a library that implements a ByteChannel interface over a TLS (Transport Layer Security) connection. It delegates all crypto

Mariano Barrios 149 Dec 31, 2022
A completely free Discord music bot that is easy for anyone to set up and run on their machine.

PortableAudioBot A Music Discord bot designed to be portable and easy for anyone to setup and run on their machine. Project is still in early access,

madey 3 Oct 1, 2022
Chaos engineering tool for simulating real-world distributed system failures

Proxy for simulating real-world distributed system failures to improve resilience in your applications. Introduction Muxy is a proxy that mucks with y

Matt Fellows 811 Dec 25, 2022
Tools for keeping your cloud operating in top form. Chaos Monkey is a resiliency tool that helps applications tolerate random instance failures.

PROJECT STATUS: RETIRED The Simian Army project is no longer actively maintained. Some of the Simian Army functionality has been moved to other Netfli

Netflix, Inc. 7.9k Jan 6, 2023
A Linux packet crafting tool.

Pig Pig (which can be understood as Packet intruder generator) is a Linux packet crafting tool. You can use Pig to test your IDS/IPS among other stuff

Rafael Santiago 431 Dec 24, 2022
JNetcat : a tool to debug network issues or simulate servers

JNetcat A tool to easily debug or monitor traffic on TCP/UDP and simulate a server or client No need of telnet anymore to test for a remote connection

io-panic 3 Jul 26, 2022
Intra is an experimental tool that allows you to test new DNS-over-HTTPS services that encrypt domain name lookups and prevent manipulation by your network

Intra Intra is an experimental tool that allows you to test new DNS-over-HTTPS services that encrypt domain name lookups and prevent manipulation by y

Jigsaw 1.2k Jan 1, 2023
CustomRPC - a tool that allows you to change your discord rich presence (RPC) to a custom one

CustomRPC is a tool that allows you to change your discord rich presence (RPC) to a custom one. It also allows creating sentence sequences

null 2 May 3, 2022
for people who doesn't know how to left click and right click at mach 10 speed.

AutoSignKick | pretty much useless for someone who know what mouse is a chinese module that helps you left click and right click at mach 10 speed How

noat 7 Dec 2, 2022
Automating cleanup, maintenance and troubleshooting tasks in Cloud Computing

Cloud Janitor Cloud Janitor is a tool to automate complex maintenance and troubleshooting tasks in cloud computing. It's built considering the securit

Caravana Cloud 79 Jan 6, 2023
Firestorm is a Remote Shuffle Service, and provides the capability for Apache Spark applications to store shuffle data on remote servers

What is Firestorm Firestorm is a Remote Shuffle Service, and provides the capability for Apache Spark applications to store shuffle data on remote ser

Tencent 246 Nov 29, 2022
log4j2-scan is a single binary command-line tool for CVE-2021-44228 vulnerability scanning and mitigation patch

log4j2-scan is a single binary command-line tool for CVE-2021-44228 vulnerability scanning and mitigation patch. It also supports nested JAR file scan

Logpresso GitHub 839 Dec 29, 2022
Castled is an open source reverse ETL solution that helps you to periodically sync the data in your warehouses and databases to sales, marketing, support or custom apps without any help from engineering teams

Open source reverse-ETL platform to operationalize your data warehouse Introduction Castled is a Reverse ETL solution which enables you to make the va

Castled 314 May 2, 2022
:fire: Seata is an easy-to-use, high-performance, open source distributed transaction solution.

Seata: Simple Extensible Autonomous Transaction Architecture What is Seata? A distributed transaction solution with high performance and ease of use f

Seata 23.2k Jan 2, 2023
A fork of Cliff Click's High Scale Library. Improved with bug fixes and a real build system.

High Scale Lib This is Boundary's fork of Cliff Click's high scale lib. We will be maintaining this fork with bug fixes, improvements and versioned bu

BMC TrueSight Pulse (formerly Boundary) 402 Jan 2, 2023
Disable the 1.8x Click delay with this sleek API.

Tecknix Client Click Delay API A simple solution to remove Minecraft 1.8's click delay timer. Installation: Tecknix Click Delay API requires a Bukkit

Tecknix Client 2 Nov 16, 2021
Nightmare-text - This is a simple lib that help to create, titles, actionbars, hovers and click actions chat components.

Nightmare text This is a simple lib that help to create, titles, actionbars, hovers and click actions chat components. Setup public final class Testin

Jonathan Narvaez 8 Mar 9, 2022
One-click SpaccCraft Launcher

SpaccCraft.Run One-click SpaccCraft Launcher Playing SpaccCraft (Minecraft Beta 1.7.3 + QoL mods) just by starting a single, portable executable. How

null 1 Dec 26, 2022
A Minecraft Plugin For 1.8.8 - 1.19.2 For Giving A Player A Custom Item On Join Which Executes A Command On Right Click

PixelPlayz Custom Item A Minecraft Plugin For 1.8.8 - 1.19.2 For Giving A Player A Custom Item On Join Which Executes A Command On Right Click Install

null 2 Sep 9, 2022