RSCC is a remote support application to establish a connection between two clients and start a VNC-Connection, in multiple ways.
Key features:
The use cases always include a requester who seeks support and his supporter. The scenarios are the following:
Supporter has public IP
Both clients (supporter and requester) are behind a NAT
ICE (Interactive Connectivity Establishment)
RUDP-Proxy
+--------------------------+ +----------------------------+
| VNC Requester | | VNC Supporter |
| +-------------+ | | +--------------+ |
| | | 5900 | | | | |
| | <-----+ | | +-----+ | |
| | VNC Server | | | | | | VNC Viewer | |
| | | | | | | | | |
| | | | | | TCP | | | |
| +-------------+ |TCP| | | +--------------+ |
| | | | | |
| +-------------+ | | | | +--------------+ |
| | |-----+ | | | 2601| | |
| | | | | +-----> | |
| | Proxy | | | | Proxy | |
| | | 5050 + RUDP + 5050 | | |
| | <-------------------------------------| | |
| +-------------+ + + +--------------+ |
| | | |
| | | |
| | | |
| | | |
+--------------------------+ +----------------------------+
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
Give examples
Seting up the Development-Environment
You can either create a debian and/or jar package with maven. Alternatively you can download an upcoming version from the imedias servers or the this github repository. The ".jar"-file can be run with the following code:
sudo java -jar rsccfx.jar
To install the debian packge (recommend!) you can run the following command in the respective directory:
sudo dpkg -i rsccfx.deb
This will create all the necessary files on your local machine (e.g. desktop entry and default imedias supporters).
End with an example of getting some data out of the system or using it for a little demo
Standard settings try to establish a direct connection between clients over ICE. This can be disabled by activating the setting "force server mode". If any of the clients activates this setting, ICE process will be skipped. The connection over the server might be faster. While using direct connection, it is recommended to use the BGR 233 mode to reduce traffic and increase speed. View only restricts the VNC protocoll to view only.
Keyserver IP address: Address of the server which generates the key and matches up clients. Keyserver HTTP-Port: Communication Port of Keyserver VNC Port: Port on which the Vnc-Server runs ICE Port: Port over which the direct traffic is sent and received UDP Packet Size: max Size of UDP-packets Proxy Port: Redirection of VNC-Packets to this port. Stunserver Port: try to reach Stun-Server over this port. StunServers: List of potential Stun-Servers.
The whitebox tests are being carried out using JUnit 4 and Mockito. Therefore you can run them in your favorite IDE or by using Maven.
$ mvn package
Explain what these tests test and why
Give an example
To ensure proper coding style, checkstyle enforces the Google Java Style Guide. Any checkstyle error in the rsccfx package will result into the build failing.
The checkstyle configuration file is located in the path config/checkstyle.xml
and is based on the latest commit of the official checkstyle implementation of the Google Java Style Guide.
To check the code for checkstyle violations, run:
mvn checkstyle:check
To use the RSCC you need a server running the Docker Image.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
See also the list of contributors who participated in this project.
GPL