/vncRepeater

Simple, scalable vncRepeater for UltraVNC and others.

Primary LanguageC++GNU Lesser General Public License v2.1LGPL-2.1

vncRepeater

Simple, scalable vncRepeater for UltraVNC and others.

Usage

vncRepeater will listen for incoming server connections on port 5500, and incoming viewer connections on port 5901.

Logs will be written to common appdata -- usually C:\ProgramData\vncRepeater

Access to at least one side of the repeater should be protected by firewall whitelists, or code should be extended to provide your own authentication or filtering. Private customizations with proprietary code are allowed under the LGPL as long as it is not distributed.

Installation

Can be run as a normal console application, or manually created service via sc create

sc create vncRepeater binpath= "Z:\util\vncRepeater.exe" DisplayName= vncRepeater depend= Tcpip start= auto

Technology

Async architecture built around asio which is also proposed for C++ Networking standards in the future. Special handler overloads allow the fast path to run with zero allocations. Many customiztion points can be tweaked within code, such as ports and buffer sizes.

Debugging

Set up WER to create LocalDumps! eg to C:\ProgramData\vncRepeater\Dumps

Create the registry key HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Windows Error Reporting\LocalDumps\vncRepeater.exe and add the DumpFolder, DumpType, and DumpCount values as specified by Microsoft https://msdn.microsoft.com/en-us/library/windows/desktop/bb787181

Audience and License

This is a simple implementation of the vncRepeater that can be tweaked or modified as desired, provided the source code is distributed if the resulting binary is also distributed. Running this internally on a server with proprietary changes is allowed, encouraged even.

GNU LGPL 2.1