// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.
This project contains code for basic VNC, RDP, and HyperV (RDP) clients.

Usage:
  java common.Client vnc|rdp|hyperv OPTIONS

Common options:
  --help|-h	Show this help text.
  --debug-link|-DL	Print debugging messages when packets are transferred via links.
  --debug-element|-DE	Print debugging messages when packets are received or sent by elements.
  --debug-pipeline|-DP	Print debugging messages in pipelines.
  --host|-n|--host-name VALUE	Name or IP address of host to connect to. Required.
  --width|-W VALUE	Width of canvas. Default value is "1024".
  --height|-H VALUE	Height of canvas. Default value is "768".

VNC options:
  --port|-p VALUE	Port of VNC display server to connect to. Calculate as 5900 + display number, e.g. 5900 for display #0, 5901 for display #1, and so on. Default value is "5901".
  --password|-P VALUE	Password to use. Required.

RDP options:
  --ssl-implementation|-j jre|apr|bco	Select SSL engine to use: JRE standard implementation, Apache Portable Runtime native library, BonuncyCastle.org implementation. Default value is "apr".
  --port|-p VALUE	Port of RDP server to connect to. Default value is "3389".
  --domain|-D VALUE	NTLM domain to login into. Default value is "Workgroup".
  --user|-U VALUE	User name to use. Default value is "Administrator".
  --password|-P VALUE	Password to use. If omitted, then login screen will be shown.

HyperV options:
  --ssl-implementation|-j jre|apr|bco	Select SSL engine to use: JRE standard implementation, Apache Portable Runtime native library, BonuncyCastle.org implementation. Default value is "apr".
  --port|-p VALUE	Port of HyperV server to connect to. Default value is "2179".
  --instance|-i VALUE	HyperV instance ID to use. Required.
  --domain|-D VALUE	NTLM domain to login into. Default value is "Workgroup".
  --user|-U VALUE	User name to use. Default value is "Administrator".
  --password|-P VALUE	Password to use. Required.


Limitations of VNC client:
  * only basic functionality work.

Limitations of RDP client:
  * it uses SSL/TLS;
  * NLA is not supported;
  * only basic functionality work.


To configure and start RDP service properly, run rdp-config.bat on server.
