diff --git a/.readthedocs.yaml b/.readthedocs.yaml new file mode 100644 index 00000000..69f0ca82 --- /dev/null +++ b/.readthedocs.yaml @@ -0,0 +1,14 @@ +# .readthedocs.yaml +# Read the Docs configuration file +# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details + +# Required +version: 2 + +# Build documentation in the docs/ directory with Sphinx +sphinx: + configuration: mRemoteNGDocumentation/conf.py + +# Optionally build your docs in additional formats such as PDF +formats: + - pdf \ No newline at end of file diff --git a/mRemoteNGDocumentation/_static/css/custom.css b/mRemoteNGDocumentation/_static/css/custom.css new file mode 100644 index 00000000..744bda4c --- /dev/null +++ b/mRemoteNGDocumentation/_static/css/custom.css @@ -0,0 +1,46 @@ + +body { + --themecolor: #4F8AFF; + color: var(--themecolor); +} + +.wy-nav-content { + max-width: none; + background-color: #E9ECEF; +} + +.wy-side-nav-search { + background-color: var(--themecolor); +} + +.wy-nav-top { + background-color: var(--themecolor); +} + +.caption-text { + color: var(--themecolor); +} + +.reference_internal { + color: var(--themecolor); +} + +a:link { + color: var(--themecolor); +} + +a:visited { + color: var(--themecolor); +} + +a:hover { + color: var(--themecolor); +} + +a:active { + color: var(--themecolor); +} + +a { + color: var(--themecolor); +} diff --git a/mRemoteNGDocumentation/command_line_switches.rst b/mRemoteNGDocumentation/command_line_switches.rst new file mode 100644 index 00000000..a67b5523 --- /dev/null +++ b/mRemoteNGDocumentation/command_line_switches.rst @@ -0,0 +1,40 @@ +********************* +Command-Line Switches +********************* + +The following commandlline switches are supported by mRemoteNG: + +``/cons: PathToConnectionsFile`` +``/c: PathToConnectionsFile`` + + Loads the connections file from the given path. This path can be a: + - full file path + - path relative to the current directory + - path relative to the mRemoteNG application directory + - path relative to the mRemoteNG default connection file directory + +``/reset`` + + Resets window position, panels and toolbars + +``/resetpos`` +``/rp`` + + Reset the windows position + +``/resetpanels`` +``/rpnl`` + + Resets all panel positions. Use this if you have troubles with panel layouts + +``/resettoolbar`` +``/rtbr`` + + Resets the positions of all toolbars + +``/noreconnect`` +``/norc`` + + Temporary disables reconnect to previously opened sessions. + Use this if you have problems opening mRemoteNG after you + enabled the setting and restarted mRemoteNG diff --git a/mRemoteNGDocumentation/conf.py b/mRemoteNGDocumentation/conf.py new file mode 100644 index 00000000..fe88411f --- /dev/null +++ b/mRemoteNGDocumentation/conf.py @@ -0,0 +1,18 @@ +project = 'mRemoteNG' +copyright = '2021, The mRemoteNG Team' +author = 'The mRemoteNG Team' +language = 'en' +master_doc = 'index' +source_suffix = '.rst' +exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] +templates_path = ['_templates'] +htmlhelp_basename = 'mRemoteNGdoc' +html_theme = 'sphinx_rtd_theme' +html_static_path = ['_static'] +html_logo = 'logo.png'; +html_theme_options = {'logo_only': True, 'display_version': True} +html_css_files = ['css/custom.css'] +man_pages = [(master_doc, 'mremoteng', 'mRemoteNG Documentation', [author], 1)] +pygments_style = None +todo_include_todos = True +html_show_sourcelink = False \ No newline at end of file diff --git a/mRemoteNGDocumentation/contact_mail.rst b/mRemoteNGDocumentation/contact_mail.rst new file mode 100644 index 00000000..17489691 --- /dev/null +++ b/mRemoteNGDocumentation/contact_mail.rst @@ -0,0 +1,12 @@ +**** +Mail +**** + +If you want to contact the mRemoteNG project maintainers +use the following address: support@mremoteng.org + +If you have found a security vulnerability, that you feel shouldn't be made public, +please report this to the following address: security@mremoteng.org +We will work together to determine public disclosure. +If you do not recieve a response within 48 hours to the e-mail file an issue on +GitHub and tag @sparerd and @kmscode within the issue. diff --git a/mRemoteNGDocumentation/external_tools_cheat_sheet.rst b/mRemoteNGDocumentation/external_tools_cheat_sheet.rst new file mode 100644 index 00000000..ff247c20 --- /dev/null +++ b/mRemoteNGDocumentation/external_tools_cheat_sheet.rst @@ -0,0 +1,135 @@ +*********************************** +Common External Tool Configurations +*********************************** + +The list below of various examples is by no means a full list of ways to use +**External Tools** but gives you a idea of how it can be used in different ways. + +Ping +==== +Ping a server via cmdline. + +- Filename: %COMSPEC% +- Arguments: /c ping -t %HostName% +- Can integrate: Unknown + +Traceroute +========== +Run a traceroute via cmdline. + +- Filename: %COMSPEC% +- Arguments: /c set /P = | tracert %HostName% +- Can integrate: Unknown + +`WinSCP `_ +============================================ +WinSCP is a free GUI Secure Copy program. + +- Filename: C:\\Program Files\\WinSCP\\WinSCP.exe (example path) +- Arguments: scp://%Username%:%Password%@%Hostname%/ +- Optional Arguments - turn on compression and ignore any host key errors: -rawsetting Compression=1 -hostkey=* +- Can integrate: No + +`FileZilla S/FTP `_ +=================================================== +Free and open source FTP client for most platforms. + +- Filename: C:\\Program Files\\FileZilla FTP Client\\filezilla.exe (example path) +- Arguments (FTP): ftp://%Username%:%Password%@%Hostname% +- Arguments (SFTP): sftp://%Username%:%Password%@%Hostname% +- Can integrate: Unknown + +`Firefox `_ +======================================================= +Don't like the built-in browser support? Integrate with the Mozilla Firefox browser directly! + +- Filename: C:\\Program Files\\Mozilla Firefox\\firefox.exe (example path) +- Arguments: %Hostname% +- Can integrate: Unknown + +`Google Chrome `_ +=========================================================================== +Google Chrome is a freeware web browser developed by Google. + +- Filename: C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe (example path) +- Arguments: %Hostname% +- Can integrate: Unknown + +`Internet Explorer `_ +============================================== +Standard browser included with Windows installation. + +- Filename: C:\\Program Files\\Internet Explorer\\iexplore.exe +- Arguments: %Hostname% +- Can integrate: Unknown + +`MySql Workbench `_ +============================================================= +MySQL Workbench provides data modeling, SQL development, and comprehensive administration tools for server configuration, user administration, backup, and much more. You will be prompted for a password when starting the connection. + +- Filename: C:\\Program Files\\MySQL\\MySQL Workbench 6.3 CE\\MySQLWorkbench.exe (example path) +- Arguments: -query %USERNAME%@%HOSTNAME% +- Can integrate: Unknown + +`VNC Viewer `_ +========================================================= + +- Filename: C:\\Program Files\\RealVNC\\VNC Viewer\\vncviewer.exe (example path) +- Arguments: %HostName% +- Can integrate: Unknown + +Windows Computer Manager +======================== + +- Filename: %WINDIR%\\system32\\compmgmt.msc +- Arguments: /Computer=%HostName% +- Can integrate: Unknown + +`Zenmap GUI `_ +======================================== +Zenmap is a GUI front-end for nmap. + +- Filename: C:\\Program Files\\Nmap\\zenmap.exe (example path) +- Arguments: -p "Quick scan plus" -t %Hostname% +- Can integrate: Unknown + +`UltraVNC `_ +====================================== +UltraVNC is a free and open source program for connection to remote machines using the VNC protocol. + +- Filename: C:\\Program Files\\UltraVNC\\vncviewer.exe (example path) +- Arguments: %HostName%:%port% -password %PASSWORD% +- Can integrate: Unknown + +COM Serial Port +=============== +This will allow you to connect to a specific COM serial port using PuTTY. + +- Filename: putty.exe (example path) +- Arguments: -serial com%Port% +- Can integrate: Yes + +Create a new connection entry with the following information: + +- Name: Serial COM**X** +- Protocol: Ext. App +- External Tool: COM Serial Port +- Port: your desired COM port # here + +`Windows PowerShell `_ +========================================================================================================================================================================= +Windows PowerShell is a task-based command-line shell and scripting language designed especially for system administration. + +Running with suggested argument will open a PS session connected to a host. No prompt for credintials will popup. + +- Filename: %WINDIR%\system32\WindowsPowerShell\v1.0\PowerShell.exe +- Arguments: -noexit $pw = \"%password%\" -replace '\^', ''; $password = ConvertTo-SecureString $pw -AsPlainText -Force; $Cred= New-Object System.Management.Automation.PSCredential (\"%username%\", $password); Enter-PSSession -ComputerName %hostname% -credential $Cred +- Can integrate: No + +`Windows PowerShell (ISE) `_ +========================================================================================================================================================================= +Windows PowerShell Integrated Scripting Environment (ISE) is a graphical host application that enables you to read, write, run, debug, and test scripts and modules in a graphic-assisted environment. + +- Filename: %WINDIR%\\system32\\WindowsPowerShell\\v1.0\\PowerShell_ISE.exe +- Arguments: args here +- Can integrate: Yes diff --git a/mRemoteNGDocumentation/faq.rst b/mRemoteNGDocumentation/faq.rst new file mode 100644 index 00000000..0a9d8c9d --- /dev/null +++ b/mRemoteNGDocumentation/faq.rst @@ -0,0 +1,18 @@ +************************** +Frequently Asked Questions +************************** + +PuTTY sometimes displays icons in the terminal +============================================== + +You sometimes see PuTTY icons on the side of the terminal (example below). + +.. figure:: /images/putty.png + +This is a new security feature in PuTTY 0.71. It is meant to signify that PuTTY itself is outputting those lines and not some remote server. +Full details are available `here `_. + +How can I edit or create connections in bulk? +============================================= + +Currently, mRemoteNG does not have a feature to support editing or creating connections in bulk. See :ref:`bulk_connections` for more info on this. diff --git a/mRemoteNGDocumentation/folders_and_inheritance.rst b/mRemoteNGDocumentation/folders_and_inheritance.rst new file mode 100644 index 00000000..f9345fdb --- /dev/null +++ b/mRemoteNGDocumentation/folders_and_inheritance.rst @@ -0,0 +1,59 @@ +*********************** +Folders and Inheritance +*********************** + +Folders on mRemoteNG cannot only be used to categorize connections but also to inherit +properties to underlying connections. + +Example +======= +You have ten Remote Desktop enabled servers in one domain and 15 in another domain. +Normally you would spend a lot of time creating all those connections and setting +the individual properties like username, password, etc. + +In mRemoteNG there is an easier way. You just create two folders +(one for domain A and one for domain B) and set all properties there. +Then create the connections itself and let it inherit every property. +The only properties left to set on the connection itself are the connection name and hostname. +Everything else will be inherited from the parent folder. + +**Here is how you do this:** +Add the folder. This can be done like this: + +- Right click on connections and click on **New Folder** +- :menuselection:`File --> New Folder` +- Or with keybinding: :kbd:`Ctrl+Shift+N` + +.. figure:: /images/folders_and_inheritance_01.png + +Then give it a name and fill all the properties you need (like you did with the test connection). + +.. figure:: /images/folders_and_inheritance_02.png + +When you have filled in the settings and values you can either +just drag the test Connection inside the folder or create a new one. + +.. figure:: /images/folders_and_inheritance_03.png + +Right now nothing has changed and nothing will be inherited. +To enable inheritance switch to the inheritance view by clicking the dedicated button. +(Marked with a red arrow below) + +.. figure:: /images/folders_and_inheritance_04.png + +The properties that show up now are almost the same as before, +but you only select yes or no to enable or disable a inheritance. + +.. figure:: /images/folders_and_inheritance_05.png + +When no is selected the property will not be inherited, yes indicates an inherited property. +For this test set Inherit Everything to Yes. +Now if you switch back to the properties view (the button left of the inheritance button) +you should see that not much is left of all those properties. + +.. figure:: /images/folders_and_inheritance_06.png + +Only the Name and Hostname/IP properties are left over, +everything else will be inherited from the parent folder. +Of course you can also only let some of the properties be inherited. +Just play around with this a bit and you'll get the hang of it. diff --git a/mRemoteNGDocumentation/howtos/bulk_connections.rst b/mRemoteNGDocumentation/howtos/bulk_connections.rst new file mode 100644 index 00000000..74dfafb1 --- /dev/null +++ b/mRemoteNGDocumentation/howtos/bulk_connections.rst @@ -0,0 +1,18 @@ +.. _bulk_connections: + +************************* +Creating Bulk Connections +************************* + +Currently, mRemoteNG does not have a feature to support editing or creating connections in bulk. +Since this is a common issue, it would be useful to have a work around while a more user-friendly feature is developed. +The best way to create bulk connections is to generate XML with a PowerShell script. + +Since you likely don't want to spend your own time reading through XML files, we have provided an official script for doing this. +You can find the most recent version `here `_. + +A few notes about using this script: + +- While much of the setup has been done for you, you will still need to know some PowerShell in order to use this effectively. Some examples have been provided, but you will need to modify the bottom portion of the script to suite your needs. +- The script works with mRemoteNG v1.75 and will produce XML formatted for use with confCons v2.6 files. This script may need to be updated for future versions of mRemoteNG. +- As always, feel free to reach out to us in a `GitHub Issue `_ or on `Gitter `_ if you have issues. diff --git a/mRemoteNGDocumentation/howtos/external_tools.rst b/mRemoteNGDocumentation/howtos/external_tools.rst new file mode 100644 index 00000000..0fa573ac --- /dev/null +++ b/mRemoteNGDocumentation/howtos/external_tools.rst @@ -0,0 +1,76 @@ +************** +External Tools +************** + +Start External Application +========================== + +This example will create a entry that will launch and login to server using filezilla and sftp. +Start with opening up external tools from: :menuselection:`Tools --> External Tools` And create a *New* entry. +Change *Display Name* to **FileZilla** and *Filename* to **C:\\Program Files\\FileZilla FTP Client\\filezilla.exe**. See image below: + +.. figure:: /images/example_et_start_application_01.png + +We then need to arguments to use for filezilla, which we can find out either by searching for it on the great wide +internet or by called the `-h` parameter to filezilla.exe in powershell: + +:code:`& 'C:\Program Files\FileZilla FTP Client\filezilla.exe' -h` + +This will open a small dialog showing the various input parameters. +What we are going to use is the following for our entry: + +- Application: FileZilla +- Protocol - sftp:// +- Input Parameters (variables) - %HOSTNAME%, %USERNAME%,%PASSWORD% and %PORT% + +All of the variables are parsed from mRemoteNG connection item to the filezilla command line. +So lets build this entry up in **External Tools** where we add all these items. + +.. figure:: /images/example_et_start_application_02.png + +Try the launch the FileZilla based external tool now against the server you want to login too +and you will notice that the application is launched with the variables. + +Traceroute +========== + +This example will create a traceroute which you can call on for a connection to get the traceroute to the +connection. Start with opening up external tools from: :menuselection:`Tools --> External Tools` +And create a *New* entry. See :doc:`/user_interface/external_tools` +Change *Display Name* to **Traceroute** and *Filename* to **cmd**. + +See image below: + +.. figure:: /images/example_et_traceroute_01.png + + Figure 1.0: Showing traceroute init settings + +Now comes the interesting part where we fill in arguments that tells the console what to launch. +Here are the parts we need: + +- Keep the console open - /K +- Program to run - tracert +- Variable to use - %HOSTNAME% + +So lets fill these options in to the arguments like so: + +.. figure:: /images/example_et_traceroute_02.png + +This is all we really need in order to do a traceroute. Right click on a connection in the connection +list and go to :menuselection:`External Tools --> Traceroute` which will open a cmd prompt and run a +tracert against the host using hostname variable. + +.. figure:: /images/example_et_traceroute_03.png + +A console like below will appear that show the traceroute and will not exit until you close the window. + +.. figure:: /images/example_et_traceroute_04.png + +If you want to use **powershell** instead. Then follow information below: + +- Filename - powershell.exe +- Arguments - -NoExit tracert %HOSTNAME% + +Notice that we replaced the /K with -NoExit and changed **cmd** with **powershell.exe**. See image below: + +.. figure:: /images/example_et_traceroute_05.png diff --git a/mRemoteNGDocumentation/howtos/sshtunnel.rst b/mRemoteNGDocumentation/howtos/sshtunnel.rst new file mode 100644 index 00000000..b02eb92c --- /dev/null +++ b/mRemoteNGDocumentation/howtos/sshtunnel.rst @@ -0,0 +1,13 @@ +************* +SSH Tunneling +************* + +You can use any configured SSH connection to be used as a tunnel server for another connection. + +.. figure:: /images/ssh_tunnel.png + +If an SSH Tunnel is configured the connection is searched and if found a free local TCP port determined. The SSH tunnel connection +is setup with additional parameters for the tunnel. The original connection info is copied and the copy is modified to connect +to local host and the local TCP port and the target connection is opened. +You can use the SSH connection attribute for additional SSH options. It can be used by all +normal SSH connections as well to specify any additional options, e.g. to not start a shell which some SSH servers. diff --git a/mRemoteNGDocumentation/howtos/vmrdp.rst b/mRemoteNGDocumentation/howtos/vmrdp.rst new file mode 100644 index 00000000..5b29b637 --- /dev/null +++ b/mRemoteNGDocumentation/howtos/vmrdp.rst @@ -0,0 +1,64 @@ +************************************* +Connect to virtual machine on Hyper-V +************************************* + +Introduction +============ +When set up properly, you can use mRemoteNG to connect to virtual machines running on Hyper-V. +This how to provides you with all the information you need to get things running. + +To be able to connect to the virtual machine we need its' id. +You can find it by executing the following powershell command on the Hyper-V server: + +.. code-block:: + + Get-VM | select Name, ID + +Create a new connection, set the protocol to RDP and set the "Use VM ID" property to true. +Enter the id in the new property field that just appeared in the connection section and set the port to 2179. + +Enter the id of the virtual machine you found out earlier and you are able to connect to the virtual machine. + +Prerequisites +============= +For the scenario above to work there is some configuration that may be necessary for you to set up, depending on your environment. + +You must be a member of the *Administrators* **and** *Hyper-V Administrators* groups on the Hyper-V Server to be able to remotely connect to any virtual machine running on the host via VMRDP. +If this is not the case your user has to be granted access to remotely access the machine. +The following Powershell command achieves this: + +.. code-block:: + + Grant-VMConnectAccess -VMName -UserName \\ + +Port 2179 must be open on Hyper-V server and on the machine you are connecting from. Use the following command to open the ports on the firewall if needed: + +.. code-block:: + + netsh advfirewall firewall add rule name="VMRDP" dir=in action=allow protocol=TCP localport=2179 (incoming) + netsh advfirewall firewall add rule name="VMRDP" dir=out action=allow protocol=TCP localport=2179 (outgoing) + +In case you are facing "Unknown disconnection reason 3848" error when connecting, you need to configure a number of registry settings on your client and the Hyper-V Server to make the connection work. +This problem occurs because of the CredSSP (Credential Security Service Provider) policy on the client and/or Hyper-V Server not allowing to authentication of remote users by default. + +.. note:: + + See Microsoft support file `954357 `_ for more information on this topic. + +.. note:: + + For more information on RDP error codes see `this Microsoft article `_. + +Start the PowerShell console with administrative privileges and run the following commands: + +.. code-block:: + + New-ItemProperty -Path HKLM\:\SYSTEM\CurrentControlSet\Control\Lsa\Credssp\PolicyDefaults\AllowDefaultCredentialsDomain -Name Hyper-V -PropertyType String -Value "*" -Force + New-ItemProperty -Path HKLM\:\SYSTEM\CurrentControlSet\Control\Lsa\Credssp\PolicyDefaults\AllowSavedCredentialsDomain -Name Hyper-V -PropertyType String -Value "*" -Force + New-ItemProperty -Path HKLM\:\SYSTEM\CurrentControlSet\Control\Lsa\Credssp\PolicyDefaults\AllowDefaultCredentials -Name Hyper-V -PropertyType String -Value "*" -Force + New-ItemProperty -Path HKLM\:\SYSTEM\CurrentControlSet\Control\Lsa\Credssp\PolicyDefaults\AllowFreshCredentialsDomain -Name Hyper-V -PropertyType String -Value "*" -Force + New-ItemProperty -Path HKLM\:\SYSTEM\CurrentControlSet\Control\Lsa\Credssp\PolicyDefaults\AllowFreshCredentials -Name Hyper-V -PropertyType String -Value "*" -Force + New-ItemProperty -Path HKLM\:\SYSTEM\CurrentControlSet\Control\Lsa\Credssp\PolicyDefaults\AllowFreshCredentialsWhenNTLMOnly -Name Hyper-V -PropertyType String -Value "*" -Force + New-ItemProperty -Path HKLM\:\SYSTEM\CurrentControlSet\Control\Lsa\Credssp\PolicyDefaults\AllowFreshCredentialsWhenNTLMOnlyDomain -Name Hyper-V -PropertyType String -Value "*" -Force + New-ItemProperty -Path HKLM\:\SYSTEM\CurrentControlSet\Control\Lsa\Credssp\PolicyDefaults\AllowSavedCredentials -Name Hyper-V -PropertyType String -Value "*" -Force + New-ItemProperty -Path HKLM\:\SYSTEM\CurrentControlSet\Control\Lsa\Credssp\PolicyDefaults\AllowSavedCredentialsWhenNTLMOnly -Name Hyper-V -PropertyType String -Value "*" -Force diff --git a/mRemoteNGDocumentation/images/config_top_bar.png b/mRemoteNGDocumentation/images/config_top_bar.png new file mode 100644 index 00000000..1f540c09 Binary files /dev/null and b/mRemoteNGDocumentation/images/config_top_bar.png differ diff --git a/mRemoteNGDocumentation/images/connections_config.png b/mRemoteNGDocumentation/images/connections_config.png new file mode 100644 index 00000000..b348ac81 Binary files /dev/null and b/mRemoteNGDocumentation/images/connections_config.png differ diff --git a/mRemoteNGDocumentation/images/connections_main.png b/mRemoteNGDocumentation/images/connections_main.png new file mode 100644 index 00000000..22ae8f3a Binary files /dev/null and b/mRemoteNGDocumentation/images/connections_main.png differ diff --git a/mRemoteNGDocumentation/images/connections_open.png b/mRemoteNGDocumentation/images/connections_open.png new file mode 100644 index 00000000..62f7ac78 Binary files /dev/null and b/mRemoteNGDocumentation/images/connections_open.png differ diff --git a/mRemoteNGDocumentation/images/connections_rightclick_menu.png b/mRemoteNGDocumentation/images/connections_rightclick_menu.png new file mode 100644 index 00000000..574568ee Binary files /dev/null and b/mRemoteNGDocumentation/images/connections_rightclick_menu.png differ diff --git a/mRemoteNGDocumentation/images/connections_status.png b/mRemoteNGDocumentation/images/connections_status.png new file mode 100644 index 00000000..ceaf83c4 Binary files /dev/null and b/mRemoteNGDocumentation/images/connections_status.png differ diff --git a/mRemoteNGDocumentation/images/connections_test_item.png b/mRemoteNGDocumentation/images/connections_test_item.png new file mode 100644 index 00000000..d03747ff Binary files /dev/null and b/mRemoteNGDocumentation/images/connections_test_item.png differ diff --git a/mRemoteNGDocumentation/images/connections_top_bar.png b/mRemoteNGDocumentation/images/connections_top_bar.png new file mode 100644 index 00000000..15582b5e Binary files /dev/null and b/mRemoteNGDocumentation/images/connections_top_bar.png differ diff --git a/mRemoteNGDocumentation/images/credssp-error.png b/mRemoteNGDocumentation/images/credssp-error.png new file mode 100644 index 00000000..fc13abf4 Binary files /dev/null and b/mRemoteNGDocumentation/images/credssp-error.png differ diff --git a/mRemoteNGDocumentation/images/default_properties.png b/mRemoteNGDocumentation/images/default_properties.png new file mode 100644 index 00000000..3889c2b8 Binary files /dev/null and b/mRemoteNGDocumentation/images/default_properties.png differ diff --git a/mRemoteNGDocumentation/images/example_et_start_application_01.png b/mRemoteNGDocumentation/images/example_et_start_application_01.png new file mode 100644 index 00000000..8ea1f1d6 Binary files /dev/null and b/mRemoteNGDocumentation/images/example_et_start_application_01.png differ diff --git a/mRemoteNGDocumentation/images/example_et_start_application_02.png b/mRemoteNGDocumentation/images/example_et_start_application_02.png new file mode 100644 index 00000000..26aecc7a Binary files /dev/null and b/mRemoteNGDocumentation/images/example_et_start_application_02.png differ diff --git a/mRemoteNGDocumentation/images/example_et_traceroute_01.png b/mRemoteNGDocumentation/images/example_et_traceroute_01.png new file mode 100644 index 00000000..593b4fa0 Binary files /dev/null and b/mRemoteNGDocumentation/images/example_et_traceroute_01.png differ diff --git a/mRemoteNGDocumentation/images/example_et_traceroute_02.png b/mRemoteNGDocumentation/images/example_et_traceroute_02.png new file mode 100644 index 00000000..134acba0 Binary files /dev/null and b/mRemoteNGDocumentation/images/example_et_traceroute_02.png differ diff --git a/mRemoteNGDocumentation/images/example_et_traceroute_03.png b/mRemoteNGDocumentation/images/example_et_traceroute_03.png new file mode 100644 index 00000000..dc3c8422 Binary files /dev/null and b/mRemoteNGDocumentation/images/example_et_traceroute_03.png differ diff --git a/mRemoteNGDocumentation/images/example_et_traceroute_04.png b/mRemoteNGDocumentation/images/example_et_traceroute_04.png new file mode 100644 index 00000000..7b90f49d Binary files /dev/null and b/mRemoteNGDocumentation/images/example_et_traceroute_04.png differ diff --git a/mRemoteNGDocumentation/images/example_et_traceroute_05.png b/mRemoteNGDocumentation/images/example_et_traceroute_05.png new file mode 100644 index 00000000..4c3dcb72 Binary files /dev/null and b/mRemoteNGDocumentation/images/example_et_traceroute_05.png differ diff --git a/mRemoteNGDocumentation/images/external_tools_external_tool_properties_01.png b/mRemoteNGDocumentation/images/external_tools_external_tool_properties_01.png new file mode 100644 index 00000000..321de595 Binary files /dev/null and b/mRemoteNGDocumentation/images/external_tools_external_tool_properties_01.png differ diff --git a/mRemoteNGDocumentation/images/external_tools_main_ui_01.png b/mRemoteNGDocumentation/images/external_tools_main_ui_01.png new file mode 100644 index 00000000..404a170b Binary files /dev/null and b/mRemoteNGDocumentation/images/external_tools_main_ui_01.png differ diff --git a/mRemoteNGDocumentation/images/external_tools_toolbar_01.png b/mRemoteNGDocumentation/images/external_tools_toolbar_01.png new file mode 100644 index 00000000..d6d56a23 Binary files /dev/null and b/mRemoteNGDocumentation/images/external_tools_toolbar_01.png differ diff --git a/mRemoteNGDocumentation/images/external_tools_tools_list_01.png b/mRemoteNGDocumentation/images/external_tools_tools_list_01.png new file mode 100644 index 00000000..0a49430a Binary files /dev/null and b/mRemoteNGDocumentation/images/external_tools_tools_list_01.png differ diff --git a/mRemoteNGDocumentation/images/folders_and_inheritance_01.png b/mRemoteNGDocumentation/images/folders_and_inheritance_01.png new file mode 100644 index 00000000..f41bd88b Binary files /dev/null and b/mRemoteNGDocumentation/images/folders_and_inheritance_01.png differ diff --git a/mRemoteNGDocumentation/images/folders_and_inheritance_02.png b/mRemoteNGDocumentation/images/folders_and_inheritance_02.png new file mode 100644 index 00000000..15c7ee3b Binary files /dev/null and b/mRemoteNGDocumentation/images/folders_and_inheritance_02.png differ diff --git a/mRemoteNGDocumentation/images/folders_and_inheritance_03.png b/mRemoteNGDocumentation/images/folders_and_inheritance_03.png new file mode 100644 index 00000000..6f7caed5 Binary files /dev/null and b/mRemoteNGDocumentation/images/folders_and_inheritance_03.png differ diff --git a/mRemoteNGDocumentation/images/folders_and_inheritance_04.png b/mRemoteNGDocumentation/images/folders_and_inheritance_04.png new file mode 100644 index 00000000..19de6c6b Binary files /dev/null and b/mRemoteNGDocumentation/images/folders_and_inheritance_04.png differ diff --git a/mRemoteNGDocumentation/images/folders_and_inheritance_05.png b/mRemoteNGDocumentation/images/folders_and_inheritance_05.png new file mode 100644 index 00000000..c2a68444 Binary files /dev/null and b/mRemoteNGDocumentation/images/folders_and_inheritance_05.png differ diff --git a/mRemoteNGDocumentation/images/folders_and_inheritance_06.png b/mRemoteNGDocumentation/images/folders_and_inheritance_06.png new file mode 100644 index 00000000..29581dc9 Binary files /dev/null and b/mRemoteNGDocumentation/images/folders_and_inheritance_06.png differ diff --git a/mRemoteNGDocumentation/images/import_export_dialog.png b/mRemoteNGDocumentation/images/import_export_dialog.png new file mode 100644 index 00000000..455b3054 Binary files /dev/null and b/mRemoteNGDocumentation/images/import_export_dialog.png differ diff --git a/mRemoteNGDocumentation/images/import_from_active_directory.png b/mRemoteNGDocumentation/images/import_from_active_directory.png new file mode 100644 index 00000000..e267b3bf Binary files /dev/null and b/mRemoteNGDocumentation/images/import_from_active_directory.png differ diff --git a/mRemoteNGDocumentation/images/import_from_port_scan.png b/mRemoteNGDocumentation/images/import_from_port_scan.png new file mode 100644 index 00000000..bb49ab7f Binary files /dev/null and b/mRemoteNGDocumentation/images/import_from_port_scan.png differ diff --git a/mRemoteNGDocumentation/images/menus_hide_menu_strip.png b/mRemoteNGDocumentation/images/menus_hide_menu_strip.png new file mode 100644 index 00000000..e659cc85 Binary files /dev/null and b/mRemoteNGDocumentation/images/menus_hide_menu_strip.png differ diff --git a/mRemoteNGDocumentation/images/menus_main_menu.png b/mRemoteNGDocumentation/images/menus_main_menu.png new file mode 100644 index 00000000..22bf234c Binary files /dev/null and b/mRemoteNGDocumentation/images/menus_main_menu.png differ diff --git a/mRemoteNGDocumentation/images/mremoteng_favicon_32.png b/mRemoteNGDocumentation/images/mremoteng_favicon_32.png new file mode 100644 index 00000000..3e8fd49d Binary files /dev/null and b/mRemoteNGDocumentation/images/mremoteng_favicon_32.png differ diff --git a/mRemoteNGDocumentation/images/mremoteng_logo.png b/mRemoteNGDocumentation/images/mremoteng_logo.png new file mode 100644 index 00000000..78f40a6b Binary files /dev/null and b/mRemoteNGDocumentation/images/mremoteng_logo.png differ diff --git a/mRemoteNGDocumentation/images/mremoteng_main_ui.png b/mRemoteNGDocumentation/images/mremoteng_main_ui.png new file mode 100644 index 00000000..9f70fdb4 Binary files /dev/null and b/mRemoteNGDocumentation/images/mremoteng_main_ui.png differ diff --git a/mRemoteNGDocumentation/images/mremoteng_main_ui_connect_win_server.png b/mRemoteNGDocumentation/images/mremoteng_main_ui_connect_win_server.png new file mode 100644 index 00000000..49b98e97 Binary files /dev/null and b/mRemoteNGDocumentation/images/mremoteng_main_ui_connect_win_server.png differ diff --git a/mRemoteNGDocumentation/images/notifications_panel.png b/mRemoteNGDocumentation/images/notifications_panel.png new file mode 100644 index 00000000..075e0d62 Binary files /dev/null and b/mRemoteNGDocumentation/images/notifications_panel.png differ diff --git a/mRemoteNGDocumentation/images/notifications_popup.png b/mRemoteNGDocumentation/images/notifications_popup.png new file mode 100644 index 00000000..288c5f46 Binary files /dev/null and b/mRemoteNGDocumentation/images/notifications_popup.png differ diff --git a/mRemoteNGDocumentation/images/oracle_remediation_setting.png b/mRemoteNGDocumentation/images/oracle_remediation_setting.png new file mode 100644 index 00000000..57c41d8f Binary files /dev/null and b/mRemoteNGDocumentation/images/oracle_remediation_setting.png differ diff --git a/mRemoteNGDocumentation/images/putty.png b/mRemoteNGDocumentation/images/putty.png new file mode 100644 index 00000000..7bbd3382 Binary files /dev/null and b/mRemoteNGDocumentation/images/putty.png differ diff --git a/mRemoteNGDocumentation/images/quick_connect_01.png b/mRemoteNGDocumentation/images/quick_connect_01.png new file mode 100644 index 00000000..3fa15b94 Binary files /dev/null and b/mRemoteNGDocumentation/images/quick_connect_01.png differ diff --git a/mRemoteNGDocumentation/images/quick_connect_02.png b/mRemoteNGDocumentation/images/quick_connect_02.png new file mode 100644 index 00000000..897788fd Binary files /dev/null and b/mRemoteNGDocumentation/images/quick_connect_02.png differ diff --git a/mRemoteNGDocumentation/images/quick_connect_03.png b/mRemoteNGDocumentation/images/quick_connect_03.png new file mode 100644 index 00000000..2d662fd5 Binary files /dev/null and b/mRemoteNGDocumentation/images/quick_connect_03.png differ diff --git a/mRemoteNGDocumentation/images/screenshot_manager_overview.png b/mRemoteNGDocumentation/images/screenshot_manager_overview.png new file mode 100644 index 00000000..c1413c67 Binary files /dev/null and b/mRemoteNGDocumentation/images/screenshot_manager_overview.png differ diff --git a/mRemoteNGDocumentation/images/screenshot_manager_rightclick_menu.png b/mRemoteNGDocumentation/images/screenshot_manager_rightclick_menu.png new file mode 100644 index 00000000..f63cfc42 Binary files /dev/null and b/mRemoteNGDocumentation/images/screenshot_manager_rightclick_menu.png differ diff --git a/mRemoteNGDocumentation/images/ssh_file_transfer_01.png b/mRemoteNGDocumentation/images/ssh_file_transfer_01.png new file mode 100644 index 00000000..d9facb2f Binary files /dev/null and b/mRemoteNGDocumentation/images/ssh_file_transfer_01.png differ diff --git a/mRemoteNGDocumentation/images/ssh_tunnel.png b/mRemoteNGDocumentation/images/ssh_tunnel.png new file mode 100644 index 00000000..a883363c Binary files /dev/null and b/mRemoteNGDocumentation/images/ssh_tunnel.png differ diff --git a/mRemoteNGDocumentation/images/user_interface_overview.png b/mRemoteNGDocumentation/images/user_interface_overview.png new file mode 100644 index 00000000..a7bbc0d5 Binary files /dev/null and b/mRemoteNGDocumentation/images/user_interface_overview.png differ diff --git a/mRemoteNGDocumentation/images/user_interface_panels_01.png b/mRemoteNGDocumentation/images/user_interface_panels_01.png new file mode 100644 index 00000000..c61a3d38 Binary files /dev/null and b/mRemoteNGDocumentation/images/user_interface_panels_01.png differ diff --git a/mRemoteNGDocumentation/images/user_interface_panels_02.png b/mRemoteNGDocumentation/images/user_interface_panels_02.png new file mode 100644 index 00000000..16573163 Binary files /dev/null and b/mRemoteNGDocumentation/images/user_interface_panels_02.png differ diff --git a/mRemoteNGDocumentation/images/user_interface_panels_03.png b/mRemoteNGDocumentation/images/user_interface_panels_03.png new file mode 100644 index 00000000..877b5623 Binary files /dev/null and b/mRemoteNGDocumentation/images/user_interface_panels_03.png differ diff --git a/mRemoteNGDocumentation/index.rst b/mRemoteNGDocumentation/index.rst new file mode 100644 index 00000000..f6940c05 --- /dev/null +++ b/mRemoteNGDocumentation/index.rst @@ -0,0 +1,47 @@ +************************************* +Welcome to mRemoteNG's documentation! +************************************* + +.. toctree:: + :maxdepth: 2 + :caption: Application Handling + + user_interface.rst + folders_and_inheritance.rst + protocols.rst + keyboard_shortcuts.rst + sql_configuration.rst + command_line_switches.rst + +.. toctree:: + :maxdepth: 2 + :caption: Support + + troubleshooting.rst + known_issues.rst + faq.rst + +.. toctree:: + :maxdepth: 2 + :caption: HowTos + + howtos/sshtunnel.rst + howtos/external_tools.rst + howtos/bulk_connections.rst + howtos/vmrdp.rst + +.. toctree:: + :maxdepth: 2 + :caption: Miscellaneous + + external_tools_cheat_sheet.rst + migrate.rst + Contribute + +.. toctree:: + :maxdepth: 2 + :caption: Contact Us + + Chat + Reddit + contact_mail.rst diff --git a/mRemoteNGDocumentation/keyboard_shortcuts.rst b/mRemoteNGDocumentation/keyboard_shortcuts.rst new file mode 100644 index 00000000..6bbf01ef --- /dev/null +++ b/mRemoteNGDocumentation/keyboard_shortcuts.rst @@ -0,0 +1,75 @@ +****************** +Keyboard Shortcuts +****************** + +General +======= + +.. list-table:: + :widths: 30 70 + :header-rows: 1 + + * - Keybinding + - Action + * - F1 + - Help + + +File +==== + +.. list-table:: + :widths: 30 70 + :header-rows: 1 + + * - Keybinding + - Action + * - Ctrl+N + - New Connection + * - Ctrl+Shift+N + - New Folder + * - Ctrl+O + - Open Connection File... + * - Ctrl+S + - Save Connection FIle + * - Ctrl+Shift+S + - Save Connection File As... + + +View +==== + +.. list-table:: + :widths: 30 70 + :header-rows: 1 + + * - Keybinding + - Action + * - Ctrl+Alt+C + - Jump to (Connections and Config) + * - Ctrl+Alt+E + - Jump to (Notifications) + * - F11 + - Fullscreen + +Connections +=========== + +.. list-table:: + :widths: 30 70 + :header-rows: 1 + + * - Keybinding + - Action + * - Ctrl+Shift+C + - Connect + * - Ctrl+D + - Duplicate + * - F2 + - Rename + * - Del + - Delete + * - Ctrl+Up + - Move Up + * - Ctrl+Down + - Move Down diff --git a/mRemoteNGDocumentation/known_issues.rst b/mRemoteNGDocumentation/known_issues.rst new file mode 100644 index 00000000..e751758c --- /dev/null +++ b/mRemoteNGDocumentation/known_issues.rst @@ -0,0 +1,139 @@ +############ +Known Issues +############ + +CredSSP - CVE-2018-0886 - Authentication error +============================================== + +mRemoteNG uses the Microsoft Terminal Services Client (MSTSC) libraries +in order to make Remote Desktop connections. + +.. note:: + + mRemoteNG has no control over the functionality changes implemented by Microsoft. + +Please refer to `Microsoft's Documentation `_ for full details regarding this problem. +Patched clients attempting to connect to Unpatched servers will fail with the following error: + +.. figure:: /images/credssp-error.png + +The same error will occur with MSTSC directly on a patched +client attempting to connect to an unpatched server. + +Per the MS documentation, the only way around this is to do the following: + +- Patch the servers +- set the "Encryption Oracle Remediation" policy to "Vulnerable" - refer to the MS documentation above for details: + + .. figure:: /images/oracle_remediation_setting.png + +- Uninstall `KB4103727 `_ + +I can't open more than X number of RDP sessions. New sessions fail with error code 3334 +======================================================================================= +The issue here is likely the amount of resources available to the RDP component to open the connection. This was alleviated in `MR-714 `_ and `MR-864 `_ + +Other things you can do to help reduce the issue: + +- On your RDP connections, set CacheBitmaps to False (this reduces the memory usage of each connection) +- Consider removing KB2830477 if you have it installed. This seems to increase the likelyhood of getting 3334 error codes. + +RDP connections fail with error code 264 +======================================== +This issue is often caused by trying to retrieve session information. + +Try doing the following: + +- Disable "Automatically get session information" (Tools -> Options -> Advanced) + +ATI Tray Tools +============== +mRemoteNG is not compatible with ATI Tray Tools. We are aware of the issue and +hope to have it fixed in a future version. We recommend that you disable or +uninstall ATI Tray Tools while using mRemoteNG. + +mRemoteNG crashes with the error "Class not registered" when trying to connect using RDP +======================================================================================== +You may also see a message like "System.Runtime.InteropServices.COMException (0x80040154)" + +If you are running mRemoteNG on Windows 7 or Server 2008: + +- You may be missing one or more required windows updates. +- A common issue is that `KB2574819 `_ is either missing or has been installed after `KB2592687 `_. They must be installed in the correct order. If you do not have KB2574819, follow these instructions: + - Uninstall `KB2592687 `_ + - Install `KB2574819 `_ + - (Re)Install `KB2592687 `_ + - Reboot your machine + +If you are running mRemoteNG on Windows 8/10 or Server 2012+: + +- Try to repair the mRemoteNG installation using the installer or uninstall/reinstall. Receiving this error on these OS's is just an install fluke (or you've fiddled with your registry). + +VNC connections fail with the error "The server is using an unsupported version of the RFB protocol. The server is using version 4.1 but only version 3.x is supported." +======================================================================================================================================================================== +RFB version 4.0 and higher is a proprietary version owned by `RealVNC Limited `_. Building support for newer versions will likely result in licensing fees. Therefore, it is unlikely that mRemoteNG will have support for version 4.0+ anytime soon. + +Unfortunately, the only way around this limitation is to use an open source +implementation of VNC server such as `TightVNC `_ +or `UltraVNC `_ + +Cannot click some UI elements in an RDP connection window. +========================================================== +It may seem like some elements are not clickable along the top +and left sides of your RDP connection window. More information can be found in issue #210 + +This is likely due to non-standard (>100%) DPI scaling on your local machine. + +To turn this off: + +On Windows 7 / 8 + +- Start menu -> Control Panel -> Display +- Ensure the option **Smaller - 100% (default)** is selected + +On Windows 10 + +- Start menu -> Settings -> Display +- Ensure the slider under **Change the size of text, apps, and other items** is all the way to the left (at 100%) + +SSH login fails when password contains extended ASCII characters +================================================================ +Initial login to SSH (or WinSCP) fails when the password contains +extended ASCII characters (such as: €šœ£ÁØë). +Typing the password into the SSH session directly works. + +Investigation suggests that there is an issue in character encoding +when mRemoteNG passes the value to the cmd line, which then invokes PuTTY. +This was investigated in issue `#186 `_ + +The only resolution for this issue is to not use extended ASCII characters +in passwords that will be sent to PuTTY or similar tools. + +RDP tries to reconnect whenever I resize the window +=================================================== +Your RDP connection reconnects after resizing mRemoteNG or the connection panel. + +This will occur anytime the connection window changes size and +the following connection options are set: + +- Resolution: **Fit to Panel** +- Automatic Resize: **Yes** + +To prevent reconnecting, you can do one of several things: + +- Change the resolution to Smart Size. This will scale the original connection area when the view window size changes. This does not preserve aspect ratio. +- Turn off Automatic Resize. When the view window size changes, you will see scroll bars or dead space. + +There is no way to update the view window size without a reconnect. +This is an RDP protocol limitation. + +AltGr key combinations stop working in other apps when connected to RDP +======================================================================= +When connected to an RDP session AltGr, keyboard combinations sometimes stop working. + +This is a known issue with The Microsoft RDP library that cannot be solved by mRemoteNG. +There are three known work arounds for this issue: + +- Disconnect the RDP session which caused the issue. Since it can be difficult to determine which connection is to blame, you may need to disconnect all RDP sessions. Once you have confirmed AltGr combinations are working again, you may reconnect your RDP session(s). +- When the issue occurs, hold/press the Ctrl key. This is known to release the AltGr key from the RDP session. +- Use :kbd:`Ctrl` + :kbd:`Alt` instead of :kbd:`AltGr`. diff --git a/mRemoteNGDocumentation/logo.png b/mRemoteNGDocumentation/logo.png new file mode 100644 index 00000000..ed53ce97 Binary files /dev/null and b/mRemoteNGDocumentation/logo.png differ diff --git a/mRemoteNGDocumentation/migrate.rst b/mRemoteNGDocumentation/migrate.rst new file mode 100644 index 00000000..6c0b4d77 --- /dev/null +++ b/mRemoteNGDocumentation/migrate.rst @@ -0,0 +1,38 @@ +***************************** +Migrate Settings from mRemote +***************************** + +mRemoteNG does not automatically migrate settings from old (non-NG) versions of mRemote. +You will manually need to copy your settings files from mRemote to mRemoteNG. + +On Windows XP / Windows Home Server / Windows Server 2003 +========================================================= +Copy all the files in this folder: + +:: + + C:\Documents and Settings\[username]\Local Settings\Application Data\Felix_Deimel\mRemote + +To this folder: + +:: + + C:\Documents and Settings\[username]\Local Settings\Application Data\mRemoteNG + +On Windows Vista / Windows 7 / Windows Server 2008 +================================================== + +Copy all the files in this folder: + +:: + + C:\Users\[username]\AppData\Local\Felix_Deimel\mRemote + +To this folder: + +:: + + C:\Users\[username]\AppData\Local\mRemoteNG + +If you keep both programs installed on your computer, +changes within one program will not affect the other. diff --git a/mRemoteNGDocumentation/mssql_db_setup.sql b/mRemoteNGDocumentation/mssql_db_setup.sql new file mode 100644 index 00000000..1e252575 --- /dev/null +++ b/mRemoteNGDocumentation/mssql_db_setup.sql @@ -0,0 +1,175 @@ +if exists (select * from dbo.sysobjects + where id = object_id(N'[dbo].[tblCons]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) +drop table [dbo].[tblCons] +GO + +if exists (select * from dbo.sysobjects + where id = object_id(N'[dbo].[tblRoot]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) +drop table [dbo].[tblRoot] +GO + +if exists (select * from dbo.sysobjects + where id = object_id(N'[dbo].[tblUpdate]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) +drop table [dbo].[tblUpdate] +GO + +CREATE TABLE [dbo].[tblCons] ( + [ID] int NOT NULL IDENTITY(1,1), + [ConstantID] varchar(128) NOT NULL PRIMARY KEY, + [PositionID] int NOT NULL, + [ParentID] varchar(128), + [LastChange] datetime NOT NULL, + [Name] varchar(128) NOT NULL, + [Type] varchar(32) NOT NULL, + [Expanded] bit NOT NULL, + [AutomaticResize] bit DEFAULT ((1)) NOT NULL, + [CacheBitmaps] bit NOT NULL, + [Colors] varchar(32) NOT NULL, + [ConnectToConsole] bit NOT NULL, + [Connected] bit NOT NULL, + [Description] varchar(1024), + [DisableCursorBlinking] bit NOT NULL, + [DisableCursorShadow] bit NOT NULL, + [DisableFullWindowDrag] bit NOT NULL, + [DisableMenuAnimations] bit NOT NULL, + [DisplayThemes] bit NOT NULL, + [DisplayWallpaper] bit NOT NULL, + [Domain] varchar(512), + [EnableDesktopComposition] bit NOT NULL, + [EnableFontSmoothing] bit NOT NULL, + [ExtApp] varchar(256), + [Favorite] tinyint NOT NULL, + [Hostname] varchar(512), + [ICAEncryptionStrength] varchar(32) NOT NULL, + [Icon] varchar(128) NOT NULL, + [LoadBalanceInfo] varchar(1024), + [MacAddress] varchar(32), + [Panel] varchar(128) NOT NULL, + [Password] varchar(1024), + [Port] int NOT NULL, + [PostExtApp] varchar(256), + [PreExtApp] varchar(256), + [Protocol] varchar(32) NOT NULL, + [PuttySession] varchar(128), + [RDGatewayDomain] varchar(512), + [RDGatewayHostname] varchar(512), + [RDGatewayPassword] varchar(1024), + [RDGatewayUsageMethod] varchar(32) NOT NULL, + [RDGatewayUseConnectionCredentials] varchar(32) NOT NULL, + [RDGatewayUsername] varchar(512), + [RDPAlertIdleTimeout] bit NOT NULL, + [RDPAuthenticationLevel] varchar(32) NOT NULL, + [RDPMinutesToIdleTimeout] int NOT NULL, + [RdpVersion] varchar(10), + [RedirectAudioCapture] bit NOT NULL, + [RedirectClipboard] bit DEFAULT ((0)) NOT NULL, + [RedirectDiskDrives] bit NOT NULL, + [RedirectKeys] bit NOT NULL, + [RedirectPorts] bit NOT NULL, + [RedirectPrinters] bit NOT NULL, + [RedirectSmartCards] bit NOT NULL, + [RedirectSound] varchar(64) NOT NULL, + [RenderingEngine] varchar(10), + [Resolution] varchar(32) NOT NULL, + [SSHOptions] varchar(1024) NOT NULL, + [SSHTunnelConnectionName] varchar(128) NOT NULL, + [SoundQuality] varchar(20) NOT NULL, + [UseCredSsp] bit NOT NULL, + [UseEnhancedMode] bit DEFAULT ((0)), + [UseVmId] bit, + [UserField] varchar(256), + [Username] varchar(512), + [VNCAuthMode] varchar(10), + [VNCColors] varchar(10), + [VNCCompression] varchar(10), + [VNCEncoding] varchar(20), + [VNCProxyIP] varchar(128), + [VNCProxyPassword] varchar(1024), + [VNCProxyPort] int, + [VNCProxyType] varchar(20), + [VNCProxyUsername] varchar(512), + [VNCSmartSizeMode] varchar(20), + [VNCViewOnly] bit NOT NULL, + [VmId] varchar(100), + [InheritAutomaticResize] bit DEFAULT ((0)) NOT NULL, + [InheritCacheBitmaps] bit NOT NULL, + [InheritColors] bit NOT NULL, + [InheritDescription] bit NOT NULL, + [InheritDisableCursorBlinking] bit NOT NULL, + [InheritDisableCursorShadow] bit NOT NULL, + [InheritDisableFullWindowDrag] bit NOT NULL, + [InheritDisableMenuAnimations] bit NOT NULL, + [InheritDisplayThemes] bit NOT NULL, + [InheritDisplayWallpaper] bit NOT NULL, + [InheritDomain] bit NOT NULL, + [InheritEnableDesktopComposition] bit NOT NULL, + [InheritEnableFontSmoothing] bit NOT NULL, + [InheritExtApp] bit NOT NULL, + [InheritFavorite] bit NOT NULL, + [InheritICAEncryptionStrength] bit NOT NULL, + [InheritIcon] bit NOT NULL, + [InheritLoadBalanceInfo] bit DEFAULT ((0)) NOT NULL, + [InheritMacAddress] bit NOT NULL, + [InheritPanel] bit NOT NULL, + [InheritPassword] bit NOT NULL, + [InheritPort] bit NOT NULL, + [InheritPostExtApp] bit NOT NULL, + [InheritPreExtApp] bit NOT NULL, + [InheritProtocol] bit NOT NULL, + [InheritPuttySession] bit NOT NULL, + [InheritRDGatewayDomain] bit NOT NULL, + [InheritRDGatewayHostname] bit NOT NULL, + [InheritRDGatewayPassword] bit NOT NULL, + [InheritRDGatewayUsageMethod] bit NOT NULL, + [InheritRDGatewayUseConnectionCredentials] bit NOT NULL, + [InheritRDGatewayUsername] bit NOT NULL, + [InheritRDPAlertIdleTimeout] bit NOT NULL, + [InheritRDPAuthenticationLevel] bit NOT NULL, + [InheritRDPMinutesToIdleTimeout] bit NOT NULL, + [InheritRdpVersion] bit DEFAULT ((0)) NOT NULL, + [InheritRedirectAudioCapture] bit NOT NULL, + [InheritRedirectClipboard] bit DEFAULT ((0)) NOT NULL, + [InheritRedirectDiskDrives] bit NOT NULL, + [InheritRedirectKeys] bit NOT NULL, + [InheritRedirectPorts] bit NOT NULL, + [InheritRedirectPrinters] bit NOT NULL, + [InheritRedirectSmartCards] bit NOT NULL, + [InheritRedirectSound] bit NOT NULL, + [InheritRenderingEngine] bit NOT NULL, + [InheritResolution] bit NOT NULL, + [InheritSSHOptions] bit NOT NULL, + [InheritSSHTunnelConnectionName] bit NOT NULL, + [InheritSoundQuality] bit NOT NULL, + [InheritUseConsoleSession] bit NOT NULL, + [InheritUseCredSsp] bit NOT NULL, + [InheritUseEnhancedMode] bit DEFAULT ((0)), + [InheritUseVmId] bit, + [InheritUserField] bit NOT NULL, + [InheritUsername] bit NOT NULL, + [InheritVNCAuthMode] bit NOT NULL, + [InheritVNCColors] bit NOT NULL, + [InheritVNCCompression] bit NOT NULL, + [InheritVNCEncoding] bit NOT NULL, + [InheritVNCProxyIP] bit NOT NULL, + [InheritVNCProxyPassword] bit NOT NULL, + [InheritVNCProxyPort] bit NOT NULL, + [InheritVNCProxyType] bit NOT NULL, + [InheritVNCProxyUsername] bit NOT NULL, + [InheritVNCSmartSizeMode] bit NOT NULL, + [InheritVNCViewOnly] bit NOT NULL, + [InheritVmId] bit +) ON [PRIMARY] +GO + +CREATE TABLE [dbo].[tblRoot] ( + [Name] [varchar] (2048) NOT NULL , + [Export] [bit] NOT NULL , + [Protected] [varchar] (4048) NOT NULL , + [ConfVersion] [float] NOT NULL +) ON [PRIMARY] +GO + +CREATE TABLE [dbo].[tblUpdate] ( + [LastUpdate] [datetime] NULL +) ON [PRIMARY] +GO \ No newline at end of file diff --git a/mRemoteNGDocumentation/mysql_db_setup.sql b/mRemoteNGDocumentation/mysql_db_setup.sql new file mode 100644 index 00000000..58241f34 --- /dev/null +++ b/mRemoteNGDocumentation/mysql_db_setup.sql @@ -0,0 +1,205 @@ +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Table structure for table `tblCons` +-- + +DROP TABLE IF EXISTS `tblCons`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `tblCons` ( + `ID` int(11) NOT NULL AUTO_INCREMENT, + `ConstantID` varchar(128) NOT NULL, + `PositionID` int(11) NOT NULL, + `ParentID` varchar(128) DEFAULT NULL, + `LastChange` datetime NOT NULL, + `Name` varchar(128) NOT NULL, + `Type` varchar(32) NOT NULL, + `Expanded` tinyint(1) NOT NULL, + `AutomaticResize` tinyint(1) NOT NULL DEFAULT 1, + `CacheBitmaps` tinyint(1) NOT NULL, + `Colors` varchar(32) NOT NULL, + `ConnectToConsole` tinyint(1) NOT NULL, + `Connected` tinyint(1) NOT NULL, + `Description` varchar(1024) DEFAULT NULL, + `DisableCursorBlinking` tinyint(1) NOT NULL, + `DisableCursorShadow` tinyint(1) NOT NULL, + `DisableFullWindowDrag` tinyint(1) NOT NULL, + `DisableMenuAnimations` tinyint(1) NOT NULL, + `DisplayThemes` tinyint(1) NOT NULL, + `DisplayWallpaper` tinyint(1) NOT NULL, + `Domain` varchar(512) DEFAULT NULL, + `EnableDesktopComposition` tinyint(1) NOT NULL, + `EnableFontSmoothing` tinyint(1) NOT NULL, + `ExtApp` varchar(256) DEFAULT NULL, + `Favorite` tinyint(1) NOT NULL, + `Hostname` varchar(512) DEFAULT NULL, + `LoadBalanceInfo` varchar(1024) DEFAULT NULL, + `MacAddress` varchar(32) DEFAULT NULL, + `Panel` varchar(128) NOT NULL, + `Password` varchar(1024) DEFAULT NULL, + `Port` int(11) NOT NULL, + `PostExtApp` varchar(256) DEFAULT NULL, + `PreExtApp` varchar(256) DEFAULT NULL, + `Protocol` varchar(32) NOT NULL, + `PuttySession` varchar(128) DEFAULT NULL, + `RDGatewayDomain` varchar(512) DEFAULT NULL, + `RDGatewayHostname` varchar(512) DEFAULT NULL, + `RDGatewayPassword` varchar(1024) DEFAULT NULL, + `RDGatewayUsageMethod` varchar(32) NOT NULL, + `RDGatewayUseConnectionCredentials` varchar(32) NOT NULL, + `RDGatewayUsername` varchar(512) DEFAULT NULL, + `RDPAlertIdleTimeout` tinyint(1) NOT NULL, + `RDPAuthenticationLevel` varchar(32) NOT NULL, + `RDPMinutesToIdleTimeout` int(11) NOT NULL, + `RdpVersion` varchar(10) DEFAULT NULL, + `RedirectAudioCapture` tinyint(1) NOT NULL, + `RedirectClipboard` tinyint(1) NOT NULL DEFAULT 0, + `RedirectDiskDrives` tinyint(1) NOT NULL, + `RedirectKeys` tinyint(1) NOT NULL, + `RedirectPorts` tinyint(1) NOT NULL, + `RedirectPrinters` tinyint(1) NOT NULL, + `RedirectSmartCards` tinyint(1) NOT NULL, + `RedirectSound` varchar(64) NOT NULL, + `RenderingEngine` varchar(10) DEFAULT NULL, + `Resolution` varchar(32) NOT NULL, + `SSHOptions` varchar(1024) NOT NULL, + `SSHTunnelConnectionName` varchar(128) NOT NULL, + `SoundQuality` varchar(20) NOT NULL, + `UseCredSsp` tinyint(1) NOT NULL, + `UseEnhancedMode` tinyint(1) DEFAULT NULL, + `UseVmId` tinyint(1) DEFAULT NULL, + `UserField` varchar(256) DEFAULT NULL, + `Username` varchar(512) DEFAULT NULL, + `VNCAuthMode` varchar(10) DEFAULT NULL, + `VNCColors` varchar(10) DEFAULT NULL, + `VNCCompression` varchar(10) DEFAULT NULL, + `VNCEncoding` varchar(20) DEFAULT NULL, + `VNCProxyIP` varchar(128) DEFAULT NULL, + `VNCProxyPassword` varchar(1024) DEFAULT NULL, + `VNCProxyPort` int(11) DEFAULT NULL, + `VNCProxyType` varchar(20) DEFAULT NULL, + `VNCProxyUsername` varchar(512) DEFAULT NULL, + `VNCSmartSizeMode` varchar(20) DEFAULT NULL, + `VNCViewOnly` tinyint(1) NOT NULL, + `VmId` varchar(512) DEFAULT NULL, + `ICAEncryptionStrength` varchar(32) NOT NULL, + `Icon` varchar(128) NOT NULL, + `InheritAutomaticResize` tinyint(1) NOT NULL DEFAULT 0, + `InheritCacheBitmaps` tinyint(1) NOT NULL, + `InheritColors` tinyint(1) NOT NULL, + `InheritDescription` tinyint(1) NOT NULL, + `InheritDisableCursorBlinking` tinyint(1) NOT NULL, + `InheritDisableCursorShadow` tinyint(1) NOT NULL, + `InheritDisableFullWindowDrag` tinyint(1) NOT NULL, + `InheritDisableMenuAnimations` tinyint(1) NOT NULL, + `InheritDisplayThemes` tinyint(1) NOT NULL, + `InheritDisplayWallpaper` tinyint(1) NOT NULL, + `InheritDomain` tinyint(1) NOT NULL, + `InheritEnableDesktopComposition` tinyint(1) NOT NULL, + `InheritEnableFontSmoothing` tinyint(1) NOT NULL, + `InheritExtApp` tinyint(1) NOT NULL, + `InheritFavorite` tinyint(1) NOT NULL, + `InheritICAEncryptionStrength` tinyint(1) NOT NULL, + `InheritIcon` tinyint(1) NOT NULL, + `InheritLoadBalanceInfo` tinyint(1) NOT NULL DEFAULT 0, + `InheritMacAddress` tinyint(1) NOT NULL, + `InheritPanel` tinyint(1) NOT NULL, + `InheritPassword` tinyint(1) NOT NULL, + `InheritPort` tinyint(1) NOT NULL, + `InheritPostExtApp` tinyint(1) NOT NULL, + `InheritPreExtApp` tinyint(1) NOT NULL, + `InheritProtocol` tinyint(1) NOT NULL, + `InheritPuttySession` tinyint(1) NOT NULL, + `InheritRDGatewayDomain` tinyint(1) NOT NULL, + `InheritRDGatewayHostname` tinyint(1) NOT NULL, + `InheritRDGatewayPassword` tinyint(1) NOT NULL, + `InheritRDGatewayUsageMethod` tinyint(1) NOT NULL, + `InheritRDGatewayUseConnectionCredentials` tinyint(1) NOT NULL, + `InheritRDGatewayUsername` tinyint(1) NOT NULL, + `InheritRDPAlertIdleTimeout` tinyint(1) NOT NULL, + `InheritRDPAuthenticationLevel` tinyint(1) NOT NULL, + `InheritRDPMinutesToIdleTimeout` tinyint(1) NOT NULL, + `InheritRdpVersion` tinyint(1) NOT NULL DEFAULT 0, + `InheritRedirectAudioCapture` tinyint(1) NOT NULL, + `InheritRedirectClipboard` tinyint(1) NOT NULL DEFAULT 0, + `InheritRedirectDiskDrives` tinyint(1) NOT NULL, + `InheritRedirectKeys` tinyint(1) NOT NULL, + `InheritRedirectPorts` tinyint(1) NOT NULL, + `InheritRedirectPrinters` tinyint(1) NOT NULL, + `InheritRedirectSmartCards` tinyint(1) NOT NULL, + `InheritRedirectSound` tinyint(1) NOT NULL, + `InheritRenderingEngine` tinyint(1) NOT NULL, + `InheritResolution` tinyint(1) NOT NULL, + `InheritSSHOptions` tinyint(1) NOT NULL, + `InheritSSHTunnelConnectionName` tinyint(1) NOT NULL, + `InheritSoundQuality` tinyint(1) NOT NULL, + `InheritUseConsoleSession` tinyint(1) NOT NULL, + `InheritUseCredSsp` tinyint(1) NOT NULL, + `InheritUseEnhancedMode` tinyint(1) DEFAULT NULL, + `InheritUseVmId` tinyint(1) DEFAULT NULL, + `InheritUserField` tinyint(1) NOT NULL, + `InheritUsername` tinyint(1) NOT NULL, + `InheritVNCAuthMode` tinyint(1) NOT NULL, + `InheritVNCColors` tinyint(1) NOT NULL, + `InheritVNCCompression` tinyint(1) NOT NULL, + `InheritVNCEncoding` tinyint(1) NOT NULL, + `InheritVNCProxyIP` tinyint(1) NOT NULL, + `InheritVNCProxyPassword` tinyint(1) NOT NULL, + `InheritVNCProxyPort` tinyint(1) NOT NULL, + `InheritVNCProxyType` tinyint(1) NOT NULL, + `InheritVNCProxyUsername` tinyint(1) NOT NULL, + `InheritVNCSmartSizeMode` tinyint(1) NOT NULL, + `InheritVNCViewOnly` tinyint(1) NOT NULL, + `InheritVmId` tinyint(1) DEFAULT NULL, + PRIMARY KEY (`ConstantID`), + UNIQUE (`ID`) +) ENGINE=InnoDB AUTO_INCREMENT=3324 DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `tblRoot` +-- + +DROP TABLE IF EXISTS `tblRoot`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `tblRoot` ( + `Name` varchar(2048) NOT NULL, + `Export` tinyint(1) NOT NULL, + `Protected` varchar(4048) NOT NULL, + `ConfVersion` double NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `tblUpdate` +-- + +DROP TABLE IF EXISTS `tblUpdate`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `tblUpdate` ( + `LastUpdate` datetime(3) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + + +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; diff --git a/mRemoteNGDocumentation/protocols.rst b/mRemoteNGDocumentation/protocols.rst new file mode 100644 index 00000000..36f9c8d5 --- /dev/null +++ b/mRemoteNGDocumentation/protocols.rst @@ -0,0 +1,11 @@ +############## +Protocols +############## + +mRemoteNG supports several remote connection protocols. See each page for more detailed information. + +.. toctree:: + :maxdepth: 1 + + protocols/rdp.rst + \ No newline at end of file diff --git a/mRemoteNGDocumentation/protocols/rdp.rst b/mRemoteNGDocumentation/protocols/rdp.rst new file mode 100644 index 00000000..c8ad9cc6 --- /dev/null +++ b/mRemoteNGDocumentation/protocols/rdp.rst @@ -0,0 +1,127 @@ +************ +RDP Protocol +************ + +Microsoft's Remote Desktop Protocol is a highly configurable remoting protocol. + + +RDP Protocol Versions +===================== + +There are several versions of the RDP protocol supported in mRemoteNG. Each newer protocol adds support for additional connection properties. By default, RDP connections will attempt to use the highest RDP protocol version supported by both mRemoteNG and your machine. You can manually select a protocol version using the ``RDP Protocol Version`` connection property. + +.. note:: + The ability to select the RDP protocol version was added in mRemoteNG v1.77.1. The RDP 8 protocol was used from mRemoteNG v1.74.0 to v1.77.0. RDP 5 was used in v1.73 and earlier. + +RDP 6 +----- + +.. list-table:: + :widths: 30 70 + :header-rows: 1 + + * - Property + - Description + * - Use Console Session + - Connect to the console session of the remote host + * - Server Authentication + - When connecting, RDP clients attempt to authenticate the remote server to ensure that it is who you expect. This option allows you to select how to handle authentication failures. The possible values are ``Always connect, even if authentication fails``, ``Don't connect if authentication fails``, ``Warn me if authentication fails``. + * - Minute to Idle + - Allows you to specify the number of minutes an RDP connection can sit idle before automatically being disconnected. A value of ``0`` means the connection will never disconnect due to inactivity. + * - Load Balance Info + - Load balancing information can be provided to load balancing routers to route RDP connection requests. + * - Use CredSSP + - Allows you to user Credential Security Support Provider (CredSSP) for authentication if it is available. + * - Use Gateway + - Specify whether you would like to use an RD Gateway server. Possible values are ``Never``, ``Always``, ``Detect`` + * - Gateway Hostname + - The hostname of the RD Gateway server. + * - Gateway Credentials + - Allows you to select the authentication to use when connecting to the RD Gateway. + + - ``Use the same username and password`` uses the same authentication information that was specified in the ``Username``, ``Domain``, and ``Password`` fields of the same connection. + - ``Use a different username and password`` allows you to specify alternate credentials using the ``Gateway Username``, ``Gateway Password``, and ``Gateway Domain`` fields. + - ``Use a smart card`` uses your current smart card for authenticaton to the RD Gateway. + * - Gateway Username + - The username to use when authenticating to the RD Gateway. + * - Gateway Password + - The password to use when authenticating to the RD Gateway. + * - Gateway Domain + - The domain to use when authenticating to the RD Gateway. + * - Resolution + - Allows you to select the resolution to use when connecting. + + - ``Fit to panel`` will dynamically select a resolution based on the size of the connection window. When the connection window is resized, scroll bars or grey space will be shown. The ``Automatic Resize`` connection property can be used to automatically resize the connection when the window size changes. + - ``Fullscreen`` will place the RDP connection into fullscreen mode immediately after connecting. When the connection window is resized, scroll bars or grey space will be shown. The ``Automatic Resize`` connection property can be used to automatically resize the connection when the window size changes. + - ``Smart size`` will select an appropriate resolution when initially connecting. When the connection window is resized, the connection image will be stretched or squished to prevent scroll bars or grey space from being shown. + - Specific resolutions are also provided which will guarantee the resolution of the connection. Scroll bars or grey space will be shown if the connection size does not match the connection window size. + * - Colors + - Allows you the specify the color quality to use for the connection. Higher values look better but increases network utilization. + * - Cache Bitmaps + - Uses additional system memory to reduce network bandwidth usage. + * - Display Wallpaper + - Specifies whether the wallpaper of the remote machine should be shown. + * - Display Themes + - Specifies whether the theme of the remote machine should be shown. + * - Font Smoothing + - Enabling this option turns on ClearType, making text clearer and easier to read. Enabling this option increases bandwidth usage of the connection. + * - Desktop Composition + - Enables visual effects on the remote desktop and features like glass window frames, 3D window transition animations, and Windows Flip. Uses more network bandwidth. + * - Redirect Key Combinations + - Select whether key combinations (e.g. Alt-Tab) should be redirected to the remote host. + * - Redirect Disk Drives + - Select whether local disk drives should be shown on the remote host. + * - Redirect Printers + - Select whether local printers should be shown on the remote host. + * - Redirect Clipboard + - Select whether the clipboard should be shared. + * - Redirect Ports + - Select whether local ports (ie. com, parallel) should be shown on the remote host. + * - Redirect Smart Cards + - Select whether local smart cards should be available on the remote host. + * - Redirect Sounds + - Determine how remote sound should be redirected. Possible values are ``Bring to this computer``, ``Leave at remote computer``, ``Do not play`` + + +RDP 7 +----- + +In RDP 7, support was added for specifying the network connection type. This property is used to determine whether certain performance options will be honored by the remote server. Some performance settings (such as Display Wallpaper or Display Themes) will not work when using protocols older than RDP 7 to connect to remote hosts that are Windows 8 or higher. + +.. list-table:: + :widths: 30 70 + :header-rows: 1 + + * - Property + - Description + * - Sound Quality + - Specify the quality of sound redirection. Only valid when ``Redirect Sounds`` is enabled. Possible options are ``Dynamic``, ``Medium``, ``High`` + * - Redirect Audio Capture + - Enabled you to redirect the default audio input device on the remote machine to your local computer. + + +RDP 8 +----- + +In RDP 8, support was improved for reconnecting RDP connections for resizing operations. + +.. list-table:: + :widths: 30 70 + :header-rows: 1 + + * - Property + - Description + * - Automatic Resize + - When this property is enabled and the connection window is resized, the RDP connection will automatically reconnect with the new window resolution. This prevent scroll bars from being shown and preserves the aspect ratio of the connection (prevents image stretching). This property is only available when ``Resolution`` is set to either ``Fullscreen`` or ``Fit to Panel``. + + +RDP 9 +----- + +We support this protocol version, but are not yet using any of its features. + + +RDP 10 +------ + +We support this protocol version, but are not yet using any of its features. diff --git a/mRemoteNGDocumentation/requirements.txt b/mRemoteNGDocumentation/requirements.txt new file mode 100644 index 00000000..e69de29b diff --git a/mRemoteNGDocumentation/sql_configuration.rst b/mRemoteNGDocumentation/sql_configuration.rst new file mode 100644 index 00000000..67d8fb87 --- /dev/null +++ b/mRemoteNGDocumentation/sql_configuration.rst @@ -0,0 +1,50 @@ +.. _sql_configuration: + +***************** +SQL Configuration +***************** + +.. warning:: + + The SQL feature is in an early beta stage and not intended for use in a production environment! I recommend you to do a full backup of your connections and settings before switching to SQL Server. + +Supported Databases +=================== + +The list below includes databases that are officially supported. Others may already work and this list may expand with future updates. + +- MSSQL +- MySQL + +Steps to configure your SQL Server +================================== +- Create a new Database called "mRemoteNG" on your SQL Server. +- Run the SQL Script for your DB type listed below in topic (SQL Table creation Scripts) on the newly created Database. +- Give the users that you want to grant access to the mRemoteNG Connections Database Read/Write permissions on the Database. + +Steps to configure mRemoteNG for SQL +==================================== +- Start mRemoteNG if it's not already running. +- Go to Tools - Options - SQL Server +- Check the box that says "Use SQL Server to load & save connections". +- Fill in your SQL Server hostname or ip address. +- If you do not use your Windows logon info to authenticate against the SQL Server fill in the correct Username and Password. +- Click OK to apply the changes. The main window title should now change to "mRemoteNG | SQL Server". +- Now click on File - Save to update the tables on your SQL Server with the data from the loaded connections xml file. (Do not click File - New, this doesn't work yet) +- You should now be able to do everything you were able to do with the XML storage plus see the changes live on another mRemoteNG instance that is connected to the same Database. + +SQL Table creation Scripts +========================== + +MSSQL +----- + +.. include:: mssql_db_setup.sql + :code: sql + + +MYSQL +----- + +.. include:: mysql_db_setup.sql + :code: sql diff --git a/mRemoteNGDocumentation/troubleshooting.rst b/mRemoteNGDocumentation/troubleshooting.rst new file mode 100644 index 00000000..ddfeffd2 --- /dev/null +++ b/mRemoteNGDocumentation/troubleshooting.rst @@ -0,0 +1,83 @@ +*************** +Troubleshooting +*************** + +Logfile +======= + +The mRemoteNG.log is located in the following location: + +MSI/Installed version +--------------------- + +:: + + %APPDATA%\mRemoteNG\mRemoteNG.log + (example: `C:\Users\[username]\AppData\Roaming\mRemoteNG\mRemoteNG.log`) + +Portable version +---------------- + +:: + + [location of mRemoteNG.exe]\mRemoteNG.log + +Crash at Startup +================ + +Try deleting the :code:`user.config` file. It contains all the user-specific program settings. This file is automatically upgraded between version when new user settings are added. + +Installed Version +----------------- + +:: + + %LOCALAPPDATA%\mRemoteNG\\\user.config + +Portable Version +---------------- + +:: + + %APPDATA%\mRemoteNG\\\user.config + +Crash Information +================= + +- Provide the Stack Trace from the crash prompt or from the Windows Application Event Log `example `_) +- Check `C:\Users\All Users\Microsoft\Windows\WER\Report*` folders for any reports related to mRemoteNG +- Check `%LOCALAPPDATA%\CrashDumps `_ for any mRemoteNG.exe.*.dmp files +- Attach the Error Reports, Dumps and mRemoteNG.log to a new `Issue `_ + +Backup and Recovery +=================== + +By default, your connections file is backed up every time it is saved. +These backup files are normal/valid connections file - they have only been renamed to avoid being overwritten. +mRemoteNG will save the 10 most recent backups. + +Files and Locations +------------------- + +Your backup files are located in the same place as your normal connections file. +This could be one of three places: + +- Normal version: `%AppData%\\mRemoteNG` +- Portable version: In the same location as mRemoteNG.exe +- If you have saved your confCons.xml to a custom location, go there. + +There are 2 different backup naming schemes: + +- `confCons.xml.backup` is the most recent backup that was taken. +- `confCons.xml.YYYYMMDD-HHmmssxxxx.backup` is a rolling backup that was moved to a rolling backup file on the date specified in the file name. + +Recovering corrupted connections file +------------------------------------- + +If you find that your confCons.xml file has corrupted or has lost its data, +you will need to revert to a previous version. + +- Locate your confCons.xml file +- Find the most recent backup file that appears to have data (>1KB in size). +- Rename or delete the corrupted `confCons.xml` file. +- Rename the chosen backup file to remove the date stamp and .backup suffix. Unless you set a custom path, your backup file should now be named `confCons.xml`. diff --git a/mRemoteNGDocumentation/user_interface.rst b/mRemoteNGDocumentation/user_interface.rst new file mode 100644 index 00000000..67d20949 --- /dev/null +++ b/mRemoteNGDocumentation/user_interface.rst @@ -0,0 +1,22 @@ +############## +User Interface +############## + +.. figure:: /images/user_interface_overview.png + +.. toctree:: + :maxdepth: 1 + + user_interface/main_window.rst + user_interface/panels.rst + user_interface/menu_container.rst + user_interface/connections.rst + user_interface/default_connection_properties.rst + user_interface/quick_connect.rst + user_interface/port_scan.rst + user_interface/screenshot_manager.rst + user_interface/notifications.rst + user_interface/import_export.rst + user_interface/ssh_file_transfer.rst + user_interface/external_tools.rst + user_interface/options.rst diff --git a/mRemoteNGDocumentation/user_interface/connections.rst b/mRemoteNGDocumentation/user_interface/connections.rst new file mode 100644 index 00000000..84aa31e4 --- /dev/null +++ b/mRemoteNGDocumentation/user_interface/connections.rst @@ -0,0 +1,151 @@ +*********** +Connections +*********** + +The connections dialog is the main collection of all connections that inside mRemoteNG. +This document will explain the details of the connections dialog. + +Connection Tree +=============== + +Menu Items +---------- + +.. figure:: /images/connections_top_bar.png + +- **Red** - New Connection +- **Green** - New Folder +- **Blue** - View (Expand/Collapse all folders) +- **Yellow** - Ascending sort + +New Connection +-------------- + +.. tip:: + + You can also duplicate an existing connection. Just right click on folder or connection to duplicate the item. The information is then carried over for editing. This can save a lot of time when the connection list is large. + +.. tip:: + + When inside an SSH session you can open the PuTTY menu by holding down the CTRL key while right-clicking into the session window. + +Creates a new connection item in the connections dialog after where cursor is present. + +New Folder +---------- + +.. tip:: + + Folders can help to make adding connections easier. By setting a folder with some values that can be inheritaded down to the connections. + +Creates a new folder in connections dialog after where cursor is present. + +View +---- +Collapses or expands all directories in the connection dialog. +Useful when working with a lot of connections sorted in different directories. + +Ascending +--------- +Works like a sort or a refresh to get connection in ascending order. +(Descending order is note supported yet) When you have been moving around in the tree of connections, +just click this item to refresh the list and get everything in ascending ordering. + +Configuration +============= + +.. figure:: /images/connections_main.png + +Config dialog to setup the connection specific properties. +This includes inheritance from other items before the item and more. +Details below is about how to work with this dialog to get the most out of connections and configuration. + +Menu Items +---------- + +.. figure:: /images/config_top_bar.png + +- **Red** - Sort values Categories or Alphabetical +- **Green** - Show Properties, Inheritance values +- **Blue** - Connection icon +- **Yellow** - Host status (based on ICMP ping) + +Sort Values +----------- +Sorts the values in properties either by Categories or Alphabetically. + +- Categories sort - Shows values in categories with expanding options. +- Alphabetical sort - Expands everything and shows values in alphabetical order instead + +Icon +---- + +.. note:: + + Don't forget that mRemoteNG will save the change on exit auto unless you have unchecked this setting in options. + +The icon indicates the visual identifier for the connection. +Clicking the icon will let you set a different icon for the connection. + +Status +------ + +.. note:: + + In order for this to work you have to open up ICMP. On windows servers this is also disabled in windows firewall. + +Is a indicator that will glow red or green depending on the status of the host. +The status is based on ICMP ping to the host. + + +Creating a connection +===================== + +.. tip:: + + You can see an indicator in the properties window that is glowing green: + + .. figure:: /images/connections_status.png + + This icon does a ICMP ping on to check response from the server. If it glows green it indicates a connection response can be made using ping to the host. However this is turned off on windows by default. You have to enable ICMP and allow the firewall access for it. + + +Right click on the root item (the little blue globe named **Connections**) +in the Connections panel and select **New Connection**. + +.. figure:: /images/connections_rightclick_menu.png + +A new item shows up under the root item. You can give it a name now (or rename it later). +We'll just call this connection "Test" for the moment. + +.. figure:: /images/connections_test_item.png + +Now lets look at the config panel in the bottom left, just under the connections panel. +As you may notice this is where you configure all the properties of connections and folders. + +.. figure:: /images/connections_config.png + +Fill in the necessary properties and you have just created your first connection! +You can now connect to the server with a simple double-click on the "Test"-connection! + +Opening and Closing Connections +=============================== + +.. note:: + + If the connecting fails, the notifications panel will pop up and show an error message describing the problem. + +There are multiple ways to open a connection in mRemoteNG, +but the easiest way is to double click the connection in the Connections panel. +If you double click the connection you will notice that the connection is going +to try and open in a new panel called "General" and under a tab called "Test". +If all goes well you should see the remote desktop without any problems. + +.. figure:: /images/connections_open.png + +To close the connection you can do any of the following: + +- Log off in the start menu (Closes the connection and logs you out completely from RDP) +- Close the panel with the (Which leaves your session active on server but closes connection in mRemoteNG) +- Close the connection tab with (Also keeps your login active on server but closes RDP connection in mRemoteNG) +- Double click the connection tab (Same as above where the connection is active on server but closes RDP connection in mRemoteNG) diff --git a/mRemoteNGDocumentation/user_interface/default_connection_properties.rst b/mRemoteNGDocumentation/user_interface/default_connection_properties.rst new file mode 100644 index 00000000..1dad4167 --- /dev/null +++ b/mRemoteNGDocumentation/user_interface/default_connection_properties.rst @@ -0,0 +1,34 @@ +***************************** +Default Connection Properties +***************************** + +Default connection properties are a template that is applied when creating new connections. You can set both property values and inheritance settings that will be set in new connections. + +.. note:: + Currently, default connection properties are saved within the user settings of mRemoteNG and not with the connection file. Sharing a connection file between multiple machines will not share default connection properties. + + +How it is used +============== + +New Folders/Connections +----------------------- +When a new folder or connection is created, all default properties and default inheritance are applied to it. + +.. note:: + Changing default properties does not affect existing connections. The default values are only applied when the connection is first created. + + +Quick Connections +----------------- +Default connection properties are also used when establishing quick connections. See :doc:`quick_connect` for more details. + + +How to set them +=============== +You can set default properties and inheritance by going to the Connection Tree and clicking the appropriate button for the default settings you would like to change. + +.. figure:: /images/default_properties.png + +- **Red** - Default connection properties +- **Green** - Default connection inheritance diff --git a/mRemoteNGDocumentation/user_interface/external_tools.rst b/mRemoteNGDocumentation/user_interface/external_tools.rst new file mode 100644 index 00000000..d06e8544 --- /dev/null +++ b/mRemoteNGDocumentation/user_interface/external_tools.rst @@ -0,0 +1,164 @@ +.. _external_tools: + +************** +External Tools +************** + +External Tools can help you get things done that can't be done in mRemoteNG. + +For example you can: + +- Start a command +- Launch your favorite FTP tool + +This might not make much sense by itself because you can already launch your applications by using the Windows Start Menu, +Quick Launch or whatever you prefer to start your apps. + +But from within mRemoteNG you can launch applications and tell them what to do with the use of arguments, parameters and variables +of the currently selected Connection. You can, for example, select your home router's SSH connection entry and do a traceroute (tracert) +on that host. This is much quicker and more powerful than opening the console and typing ``tracert yourhost``. + +Main UI +======= +The below image will show the main UI of *External Tools*. You may find the interface a bit confusing in the beginning but +we will explain the various items in more details below. + +:Menu: :menuselection:`Tools --> External Tools` + +.. figure:: /images/external_tools_main_ui_01.png + + External Tools open with one new entry + + Toolbar (red), Tools/Items List (blue), External Tool Properties (green) + +Toolbar +------- + +.. figure:: /images/external_tools_toolbar_01.png + + External Tools - Toolbar + +New ``Shift-F4`` + Create a new external tool. + +Delete ``Del`` + Delete selected tool item in list. + +Launch + Run the current selected tool on currently selected connection. + +.. hint:: + + All items can be accessed with right click menu and with a keyboard shortcut except for the Launch action. + +Tools/Items List +---------------- + +.. figure:: /images/external_tools_tools_list_01.png + + External Tools - Tools/Items list + +Basically shows the list of Tools/Items that you have created with the arguments and options. + +External Tool Properties +------------------------ + +.. figure:: /images/external_tools_external_tool_properties_01.png + + External Tools - External Tool Properties + +Is where you do most of the work to setup the Tool/Item for External Tools. We will explain each item further down this page. + +Display Name + Name of the tool, this can be any type of name. + + **For example:** + + :code:`Open in FileZilla`, :code:`FileZilla`, :code:`Traceroute` + +Filename + Application/Command to run. + + **For example:** + + :code:`cmd`, :code:`powershell`, :code:`C:\WINDOWS\system32\compmgmt.msc`, + :code:`C:\Program Files(x86)\FileZilla FTP Client\filezilla.exe` + +Arguments + Sometimes also called switches and parameters. This is where you tell the application in the previous (filename) input what to run. + And also which variables from mRemoteNG to use for the arguments. + + **For Example:** + + :code:`sftp://%USERNAME%:%PASSWORD%@%HOSTNAME%:%PORT%`, :code:`/K tracert %HOSTNAME%`, :code:`-NoExit tracert %HOSTNAME%` + +Working directory + From where should this Tool/Item be ran. + +Variables +========= + +Variables and arguments can be used to tell the external tool what to do. + +This is the list of variables supported by mRemoteNG: + +- %NAME% +- %HOSTNAME% +- %PORT% +- %USERNAME% +- %PASSWORD% +- %DOMAIN% +- %DESCRIPTION% +- %MACADDRESS% +- %USERFIELD% + +mRemoteNG will also expand environment variables such as %PATH% and %USERPROFILE%. If you need to use an environment +variable with the same name as an mRemoteNG variable, use \\% instead of %. The most common use of this is for the +USERNAME environment variable. %USERNAME% will be expanded to the username set in the currently selected connection. +\\%USERNAME\\% will be expanded to the value set in the USERNAME environment variable. + +If you need to send a variable name to a program without mRemoteNG expanding it, use ^% instead of %. +mRemoteNG will remove the caret (^) and leave the rest unchanged. +For example, ^%USERNAME^% will be sent to the program as %USERNAME% and will not be expanded. + +Rules for variables +------------------- +- Variables always refer to the currently selected connection. +- Variable names are case-insensitive. +- Variables can be used in both the Filename and Arguments fields. + + +Special Character Escaping +========================== +Expanded variables will be escaped using the rules below. There are two levels of escaping that are done. + +1. Is escaping for standard argument splitting (C/C++ argv, CommandLineToArgvW, etc) +2. Is escaping shell metacharacters for ShellExecute. + +Argument splitting escaping +--------------------------- + +- Each quotation mark will be escaped by a backslash +- One or more backslashes (\\) followed by a quotation mark ("): + - Each backslash will be escaped by another backslash + - The quotation mark will be escaped by a backslash + - If the connection's user field contains ``"This"`` is a ``\"test\"`` + - Then %USERFIELD% is replaced with ``\"This\"`` is a ``\\\"test\\\"`` +- A variable name followed by a quotation mark (for example, %USERFIELD%") with a value ending in one or more backslashes: + - Each backslash will be escaped by another backslash + - Example: + - If the connection's user field contains ``c:\Example\`` + - Then "%USERFIELD%" is replaced with ``"c:\Example\\"`` + +To disable argument splitting escaping for a variable, precede its name with a minus (-) sign. For example: %-USERFIELD% + +Shell metacharacter escaping +---------------------------- + +- The shell metacharacters are ( ) % ! ^ " < > & | +- Each shell metacharacter will be escaped by a caret (^) + +To disable both argument splitting and shell metacharacter escaping for a variable, precede its name with an exclamation point (!). +For example, %!USERFIELD%. This is not recommended and may cause unexpected results. + +Only variables that have been expanded will be escaped. It is up to you to escape the rest of the arguments. diff --git a/mRemoteNGDocumentation/user_interface/import_export.rst b/mRemoteNGDocumentation/user_interface/import_export.rst new file mode 100644 index 00000000..58b3463d --- /dev/null +++ b/mRemoteNGDocumentation/user_interface/import_export.rst @@ -0,0 +1,76 @@ +************* +Import/Export +************* + +You can import or export your connections to mRemoteNG. Imports can be done in various +different ways. See below for more information. + +Import +====== + +Import from File +---------------- +Opens a normal file load dialog to open a exported xml or csv file for mRemoteNG. +See Export to file further down this page for information on exporting your connections. + +Import from Active Directory +---------------------------- +.. TODO: Needs even more information and testing (new image with a actual import of server from AD) + +This option can be used to import computers from a specific OU from you Arctive Directory. + +.. figure:: /images/import_from_active_directory.png + + Import from Active Directory dialog + +#. Go to: :menuselection:`File --> Import --> Import from Active Directory` +#. Choose the domain to check for computers available + +.. note:: Check the **Import sub OUs** checkbox if you want to import OUs recursively. + +Import from Port Scan +--------------------- +This option opens a dialog to import connections from a port scan. +Both network and port range can be specified. + +.. important:: Port Scan uses nmap to scan the ports. Be carefull on how you scan your network, as this can be considered a brute force attack. + + +.. figure:: /images/import_from_port_scan.png + + Import from Port Scan dialog + +- **First IP** - Start of ip to scan from +- **Last IP** - Stop of ip to scan to +- **First Port** (Optional) - Start port to scan from +- **Last Port** (Optional) - Stop port to scan to +- **Timeout [seconds]** - Seconds to wait until continuing scan + +Once the scan is done you can select connections to import with some options on the lower part of the dialog: + +- **Protocol to import** - Which protocol to use for the import of the connection(s) + +Export to file +============== +Here you can export your settings to a file to share or backup. +The dialog shown below is the dialog of which you chose the options to export. + +.. figure:: /images/import_export_dialog.png + + Export to file dialog example + +Export options: +--------------- +Here is a detailed explanation of the export dialog. + +- **Filename** - The output filename for which to save the export +- **File Format** - Currently supports xml and comma seperated csv output file format +- **Export Items** - Options to what you want to save + - **Export everything** - Will export all the connections + - **Export the currently selected folder** *[nameoffolder]* - Is used to only export all connections + in the folder selected. Note! the *[nameoffolder]* is the name to which you have selected in the connection tree. + - **Export the currently selected connection** *[nameofconnection]* - Same as before with folder but uses the currently + selected connection for export. +- **Export Properties** - Properties of the specific connections to export + +.. note:: Options do change based on what is selected in the connection tree. You can try this out by right clicking on a folder and selecting **Export to file** on a connection to understand more diff --git a/mRemoteNGDocumentation/user_interface/main_window.rst b/mRemoteNGDocumentation/user_interface/main_window.rst new file mode 100644 index 00000000..d556571a --- /dev/null +++ b/mRemoteNGDocumentation/user_interface/main_window.rst @@ -0,0 +1,55 @@ +*********** +Main Window +*********** +After launching mRemoteNG for the first time you will be see +the main interface window looking similar to what is being shown below. + +.. figure:: /images/mremoteng_main_ui.png + + mRemoteNG 1.77 first launch + +In the next part we will start to explore the interface of mRemoteNG. + + +Default Screen +============== +The default screen of mRemoteNG + +- Menubar - Main menu, Quick Connect +- Sidebar - Connections, Config +- Work area - Remote Connections +- Footer - Notifications + +.. figure:: /images/mremoteng_main_ui_connect_win_server.png + + mRemoteNG default Screen, RDP to a Windows 2012 R2 host + +The default interface is very basic in that it will show the most important +part to get started with mRemoteNG. We will explain more details of the interface +further on this document. + + +Customization +============= +.. seealso:: + + :doc:`/keyboard_shortcuts` - For keybindings in mRemoteNG + +mRemoteNG supports themes and keyboard shortcuts. + +.. note:: + + Keyboard shortcuts can be overwritten when a connection is active. Since the connection might use the same shortcut + +The mRemoteNG shortcuts will work when the interface is in focus but not so often when the remote connection is active. + +Themes +------ +These can be chosen from the :menuselection:`Tools --> Options`. +There are also possibilities to create your own themes inside the settings for themes. +By default mRemoteNG has turned off the themes but they are easily +enabled by choosing another theme rather then the default (vs2015light) one. + +.. warning:: + + In order for the theme to load, mRemoteNG needs to be restarted diff --git a/mRemoteNGDocumentation/user_interface/menu_container.rst b/mRemoteNGDocumentation/user_interface/menu_container.rst new file mode 100644 index 00000000..c6c64a78 --- /dev/null +++ b/mRemoteNGDocumentation/user_interface/menu_container.rst @@ -0,0 +1,134 @@ +************** +Menu Container +************** + +Hide Menu Container +=================== + +You can hide the Menu Container when right-clicking the mRemoteNG title bar. + +.. figure:: /images/menus_hide_menu_strip.png + +Main Menu +========= + +In this section we are going to explain the menus located in mRemoteNG. + +- **Red** - Anchor to move menu around the interface +- **Green** - The menu items + +.. figure:: /images/menus_main_menu.png + +File Menu +--------- +Contains standard commands for the application. + +.. list-table:: + :widths: 30 70 + :header-rows: 1 + + * - Item + - Description + * - New Connection + - Will add a new connection to the Connections dialog after where the cursor is positioned. + * - New Folder + - Add a new folder in the Connections dialog tree where the cursor is positioned. + * - New Connection File + - Create a new connection file. Dialog will come up asking about: filename and where to place the new connection file. + * - Open Connection File + - Open a connection file. Dialog comes up asking about which file to open. For security reasons, this also shows a dialog to ask if you want to save the current file before continuing. + * - Save Connection File + - Saves the currently opened connection file. If you are using a SQL server connection instead it will send a save to the SQL server. + * - Save Connection File As... + - Saves the current connection file to a specific location on disk. + * - Delete... + - Delete currently selected item in connections dialog. + * - Rename + - Rename current selected item in connections dialog. + * - Duplicate + - Duplicate current selected item in connections dialog. + * - Reconnect All Open Connections + - Sends a reconnect to all the open connections in mRemoteNG. + * - Exit + - Exit mRemoteNG application + +View Menu +--------- +Menu for additional dialogs for mRemoteNG. + +.. list-table:: + :widths: 30 70 + :header-rows: 1 + + * - Item + - Description + * - Add Connection Panel + - Create a new and empty panel. + * - Connection Panels + - Jump to panel. + * - Connections + - Show connections dialog + * - Config + - Show config dialog + * - Notifications + - Show notifications dialog + * - Screenshots + - Open Screenshots Manager (See: :ref:`screenshot_manager`) + * - Jump To + - Place focus on "Connections", "Config" or "Notifications" panel based on selection. + * - Reset layout + - Resets the layout of panels and dialogs. Warning will come up about the action before continuing. + * - Lock toolbar positions + - Locks the toolbars at the top of the application so you do not move around items by mistake. + * - Quick Connect Toolbar + - Show quick connect toolbar + * - External Tools Toolbar + - Show external tools toolbar + * - Multi SSH Toolbar + - Show multi ssh toolbar + * - Fullscreen + - Fullscreen mRemoteNG (will not fullscreen connection window but only the mRemoteNG application) + +Tools Menu +---------- +Additional tools that can be used and triggered in mRemoteNG. + +.. list-table:: + :widths: 30 70 + :header-rows: 1 + + * - Item + - Description + * - SSH File Transfer + - Show SSH file transer panel (See: :ref:`ssh_file_transfer`) + * - External Tools + - Show external tools dialog (See: :ref:`external_tools`) + * - Port Scan + - Show port scan dialog (See: :ref:`port_scan`) + * - Options + - Opens mRemoteNG global settings and options dialog + +Help Menu +--------- +Get more information for the application. + +.. list-table:: + :widths: 30 70 + :header-rows: 1 + + * - Item + - Description + * - mRemoteNG Help + - Show help panel (this panel) + * - Website + - Go to mRemoteNG website + * - Donate + - Go to mRemoteNG donation page + * - Support Forum + - Go to mRemoteNG suport forum + * - Report a Bug + - Go to github page to report a bug + * - Check for Updates + - Opens dialog to check for any updates of mRemoteNG + * - About + - Open about dialog for mRemoteNG (Shows contributors, changelog and more) diff --git a/mRemoteNGDocumentation/user_interface/notifications.rst b/mRemoteNGDocumentation/user_interface/notifications.rst new file mode 100644 index 00000000..d3946303 --- /dev/null +++ b/mRemoteNGDocumentation/user_interface/notifications.rst @@ -0,0 +1,43 @@ +************* +Notifications +************* + +The notifications panel contains any errors or informational messages that mRemoteNG triggers. +Some example errors can be if there is a problem to connect, information on lost connection and so much more. +Notification settings can be found in (Tools > Options > Notifications) +below we will explain what can be set and how they do affect for various troubleshooting. + +Notifications general settings +============================== + +.. tip:: + + If you dont want the panel to show at all. Then unmark all options inSwitch to Notification panel on. Then the panel will not come up automatically. + +.. figure:: /images/notifications_panel.png + +This will tell mRemoteNG what type of messages and the level of messages to send to the panel. It does not the level for the log that mRemoteNG has but only for panel output. + +There is also 2 different options mentioned below: + +- Show these message types - Level of messages to show in panel. (default: Warnings and Errors) +- Switch to Notifications panel on - If interface should switch to the panel when a level of message occurs (default: all enabled) + +Logging settings +================ +Here you define the logging of messages. +That is a continues log which can be used to backtrack any error that has occurred. +Good when for example reporting issues about mRemoteNG or to check more details about problems. + +Log path - Choose where the log should recide (default: Log to application directory) +Log these message types - Level of logging to logfile (default: Informations, Warnings, Errors) + +Popups settings +=============== + +.. figure:: /images/notifications_popup.png + +When items are selected here you will recieve a popup on the error that occurrs +based on level chosen in settings here. +This can be useful if you do not want to use the notification area +and only get a popup if error occurs. (**default**: all off) diff --git a/mRemoteNGDocumentation/user_interface/options.rst b/mRemoteNGDocumentation/user_interface/options.rst new file mode 100644 index 00000000..89c28ba8 --- /dev/null +++ b/mRemoteNGDocumentation/user_interface/options.rst @@ -0,0 +1,239 @@ +******* +Options +******* + +Options window which can also be named settings is the window +where you can personalize your options for all of mRemoteNG. +This includes how to set logging, credentials and so on. +Continue reading for the details of the different options here. + +Startup/Exit +============ +Options below are for the various settings for Startup/Exit of mRemoteNG. + +.. list-table:: + :widths: 30 70 70 + :header-rows: 1 + + * - Option + - Default + - Description + * - Save connection on exit + - On + - Save to connection file/database on exit of mRemoteNG + * - Reconnect to previously opened sessions on startup + - Off + - This option will allow you to open the connection from which you where connected to after last exit of application + * - Allow only a single instance of the application (mRemoteNG restart required) + - Off + - Enforces and makes sure only a single instance of mRemoteNG is running on the computer + +Appearance +========== +Various options for mRemoteNG appearance. + +.. list-table:: + :widths: 30 70 70 + :header-rows: 1 + + * - Option + - Default + - Description + * - Language + - (Automatically Detect) + - Which language to use for the interface of mRemoteNG + * - Show description tooltips in connection tree + - Off + - Holding mouse over a item in connection tree will show a popout from mouse with information + * - Show full connections file path in window title + - Off + - Adds the complete path to the title of mRemoteNG to where the connection file is located + * - Always show notification area icon + - Off + - Adds mRemoteNG to the taskbar in the OS + * - Minimize to notification area + - Off + - Will place mRemoteNG in taskbar on minimize + +Tabs & Panels +============= +Various settings for how tabs & panels should work in mRemoteNG. + +.. list-table:: + :widths: 30 70 70 + :header-rows: 1 + + * - Option + - Default + - Description + * - Always show panel tabs + - Off + - Will always show the tabs & panels in mRemoteNG + * - Open new tab to the right of the currently selected tab + - On + - When active then open next tab on the right of the active selection in mRemoteNG. Turn this off and next tab will open the next connection at the end of all tabs + * - Show logon information on tab names + - Off + - Show your login in the connection tab + * - Show protocols on tab names + - Off + - When active then in the tab show what protocol is used for the connection + * - Identify quick connect tabs by adding the prefix "Quick:" + - Off + - When active shows Quick: before the connection name in the tab connection to easier identify what is a quick connection and what is a non quick connection + * - Double click on tab closes it + - On + - When double clicking a tab it will close the connection but does not log you out from the server. The connection in this case is active on the destination server + * - Always show panel selection dialog when opening connections + - Off + - Option to allow you to always select what panel to place the connection on. If this is off it will create a General panel where the connection is placed or use the connections set panel from the connection options + * - Create a empty panel when mRemoteNG starts + - Off + - On startup if this is active mRemoteNG will create a panel mentioned under Panel Name + +Connections +=========== +.. list-table:: + :widths: 30 70 70 + :header-rows: 1 + + * - Option + - Default + - Description + * - Single click on connections opens it + - Off + - In connection tree when this is active will try to connect on single click. By default this is turned off to use double click to open connection. + * - Single click on opened connection in Connection Tree switches to the opened Connection Tab + - Off + - Allows you to single click on a active connection in the connection tree to go to that open connection in the tabs faster. + * - Set hostname like display name when creating or renaming connections + - Off + - Will make mRemoteNG try to use the remote host hostname to set the title of the tab in mRemoteNG. + * - Save connections after every exit + - On + - When active mRemoteNG will save the connection tree to the active config after every exit. If inactive then you have to save using **File > Save Connection File** or keyboard shortcut Ctrl+S + * - Filter search matches in connection tree + - Off + - Allows you to filter out the connections to which does not match your filter search in the connection tree. If not active the search will only select the filter to which you do search. + * - RDP Reconnect count + - 5 + - Value in seconds + * - RDP Connection Timeout + - 20 + - Value in seconds + * - Auto save time in minutes (0 means disabled) + - 0 + - Value in minutes + * - When closing connections + - Warn me when closing connections + - Various options of how mRemoteNG should act when you close connections. The different options are listed below: + :: + + - Warn me when closing connections + - Warn me only when closing multiple connections + - Warn me only when exiting mRemoteNG + - Do not warn me when closing connections + By default a warning will come up on closing a connection. Change this value based on your prefered settings. + +Credentials +=========== +Options for credentials in mRemoteNG. The main purpose here is that when you have empty username, password or domain field then use below information. + +.. list-table:: + :widths: 30 70 70 + :header-rows: 1 + + * - Option + - Default + - Description + * - None + - On + - Use no specific settings on login + * - My Current credentials (Windows logon information) + - Off + - This option will use the logon information for the OS. This is useful if you are in a domain that uses specific credentials and want to login to servers with those credentials + * - The following + - Off + - Use one or two of the options below for the empty login or all of them. For example if you have a different domain that you login to the servers with + +SQL Server +========== + +.. note:: + + To understand more about SQL Server connection please see here: :ref:`sql_configuration` + +.. list-table:: + :widths: 30 70 70 + :header-rows: 1 + + * - Option + - Default + - Description + * - Use SQL Server to load & save connections + - Off + - Enable to fetch connections from a database. + +Updates +======= +Options for how mRemoteNG should check for updates from the website. + +.. list-table:: + :widths: 30 70 70 + :header-rows: 1 + + * - Option + - Default + - Description + * - Check for updates at startup + - On (Every 14 days) + - Here you can choose how often mRemoteNG checks for updates. Standard is every 14 days + * - Release Channel + - Stable + - The main channel to use for mRemoteNG. Note that the channels are described under the selection. Stable is suggested for normal usage but its always good to get feedback on upcoming releases + * - Use a proxy server to connect + - Off + - Proxy to connect through to check for updates. This is not a proxy connection for when you connect to a server but more to check for updates + +Theme +===== +This is not enabled by default but can be used inside mRemoteNG. +To enable themes you have to first enable it in the checkbox at the bottom of the options. +Then restart mRemoteNG in order for it to work. + +.. note:: + + Default theme is: vs2015light + +.. note:: + + To know more about themes and how to create your own See Here + +Advanced +======== + +.. list-table:: + :widths: 30 70 70 + :header-rows: 1 + + * - Option + - Default + - Description + * - Automatically get session information + - Off + - + * - Automatically try to reconnect when disconnected from server (RDP & ICA only) + - Off + - + * - Use UTF8 encoding for RDP "Load Balance info" property + - Off + - + * - Use custom PuTTY path + - Off + - + * - To configure PuTTY sessions click this button + - Launch PuTTY + - Will launch the putty agent so you can edit the sessions + * - Maximum PuTTY and integrated external tools wait time + - 2 seconds + - diff --git a/mRemoteNGDocumentation/user_interface/panels.rst b/mRemoteNGDocumentation/user_interface/panels.rst new file mode 100644 index 00000000..96ddcdb3 --- /dev/null +++ b/mRemoteNGDocumentation/user_interface/panels.rst @@ -0,0 +1,62 @@ +****** +Panels +****** + +mRemoteNG is using tabs and panels to stay organized but also to create +a better view of all multitasking that is being done inside the application. + + +Explanation +============ + +Panels are used to organize tabbed conections. This might seem a bit confusing +at first glance but is a great way to stay organized. Below is a few examples +of how to use panels to give you a hands on better view of them: + +- *Test and Production* - You can add 2 panels where you have test servers in one panel and production connections in the other + +- *Datacenters* - Maybe you want to divide panels into different datacenters + +- *Temp project* - To see all servers you work on for a temporary project + +- *Home vs Work* - Or divide them up into where home connections are and work connections are located + +As you can see the panels organization do have benefits to it. +Below you will see a screenshot of a organized view where Domain A +is in panel 1 and Domain B is in panel 2. + +.. figure:: /images/user_interface_panels_01.png + + Example two panels created with Domain A and Domain B + +The function of a panel works as a sort of workspace. + + +Creating Panels +=============== + +Usually panels are created using connections and folders to stay organized +automatic when making connections. However you can also create panels manually. + +.. figure:: /images/user_interface_panels_02.png + + Menu items for panels under **View** + +Creating manual panels will make you able to organize tabs manually in mRemoteNG. +To then open a connection to the new panel, right click on the connection and use +:menuselection:`Connect (with options) --> Choose panel before connecting` + +The other option in the menu name **Connection Panels** will list all panels +that are available in mRemoteNG window. + + +More Options +============ +If you right click on the panel there are a few more options that can be set: + +.. figure:: /images/user_interface_panels_03.png + + Right click context menu for panel + +- **Rename** - Rename the panel +- **Send to...** - Send the whole panel to monitor/screen *[number]*. Note this is not a real window but a detachable panel. If you double click the title then the panel will go back to mRemoteNG window and not fullscreen the window. diff --git a/mRemoteNGDocumentation/user_interface/port_scan.rst b/mRemoteNGDocumentation/user_interface/port_scan.rst new file mode 100644 index 00000000..b7476585 --- /dev/null +++ b/mRemoteNGDocumentation/user_interface/port_scan.rst @@ -0,0 +1,20 @@ +.. _port_scan: + +********* +Port Scan +********* + +The Port Scan feature (under Tools > Port Scan) is similar to a nmap port scan. +It will scan a range of IP addresses and to determine if specific mRemoteNG supported protocols are active. Hosts can then be bulk imported into mRemoteNG. + +.. tip:: + + If you leave this at the default of 0 & 0, the test will be for the default protocol ports that mRemoteNG supports. + +- Start the Port Scan feature by clicking Tools > Port Scan in the menu bar. +- Input your Start IP and End IP of the range you'd like to scan. +- Enter the Start Port and End Port that mRemoteNG should test for. +- Click Scan +- Wait. Possibly a long time. +- The table will populate, and eventually you'll get a notification that the scan has completed. Alternatively, you can press Stop to end the scan at any time. +- Change the dropdown to the protocol you'd like to import and click Import. \ No newline at end of file diff --git a/mRemoteNGDocumentation/user_interface/quick_connect.rst b/mRemoteNGDocumentation/user_interface/quick_connect.rst new file mode 100644 index 00000000..37563d98 --- /dev/null +++ b/mRemoteNGDocumentation/user_interface/quick_connect.rst @@ -0,0 +1,41 @@ +************* +Quick Connect +************* + +The Quick Connect functionality of mRemoteNG allows you to quickly connect to a remote host using a variety of network protocols. + +Prerequisites +============= +- Knowledge of a DNS host name or IP address +- Knowledge of an appropriate protocol to communicate with remote host +- A predefined mRemoteNG connection + +Using QuickConnect +================== + +.. tip:: + + You can input username and hostname simultaneously when using user@domain as connection string. + +To use Quick Connect, ensure the Quick Connect toolbar is enabled by selecting View and then Quick Connect Toolbar. +Next, input a DNS host name or IP address into the box labeled "Connect". This box will also save previous entries during your session. + +.. figure:: /images/quick_connect_01.png + +.. figure:: /images/quick_connect_02.png + +Select the appropriate network protocol by clicking the arrow next to the Connect box. + +.. figure:: /images/quick_connect_03.png + +If you wish to use an existing connection, select the globe icon next to the protocol button and select the appropriate connection. + +Configuration +============= + +Quick connections take most of their configuration from the :doc:`default_connection_properties`. +All default properties are used `except` for: + +- Hostname +- Protocol +- Port (the default port for the selected protocol is used) diff --git a/mRemoteNGDocumentation/user_interface/screenshot_manager.rst b/mRemoteNGDocumentation/user_interface/screenshot_manager.rst new file mode 100644 index 00000000..a4af8ed5 --- /dev/null +++ b/mRemoteNGDocumentation/user_interface/screenshot_manager.rst @@ -0,0 +1,35 @@ +.. _screenshot_manager: + +****************** +Screenshot Manager +****************** + +The screenshot manager is a panel and tool that can be used to organize +and take screenshots inside mRemoteNG. + +Take a screenshot +================= +To take a screenshot of a instance its as easy as to right click on +the connection tab and press Screenshot and it will open the screenshot manager. + +.. figure:: /images/screenshot_manager_rightclick_menu.png +.. figure:: /images/screenshot_manager_overview.png + +On the first image you can see the right click menu of the connection tab. +Clicking the screenshot there will allow mRemoteNG to create a screenshot. + +The second image is where the screenshots are stored in mRemoteNG. +Here you can store and then decide what to do with the images after you are done taking screenshots. + +Editing +======= +The manager is a simple tool for saving and deleting screenshots. +If you need to do more with the screenshots then the suggestion is to open them in a third party app. +Here is what the manager allows you to do: + +- Save +- Save All +- Delete +- Delete All + +Once you press save, a window to save the files will come up where you want to save the screenshots. diff --git a/mRemoteNGDocumentation/user_interface/ssh_file_transfer.rst b/mRemoteNGDocumentation/user_interface/ssh_file_transfer.rst new file mode 100644 index 00000000..27346f96 --- /dev/null +++ b/mRemoteNGDocumentation/user_interface/ssh_file_transfer.rst @@ -0,0 +1,67 @@ +.. _ssh_file_transfer: + +***************** +SSH File Transfer +***************** + +SSH File Transfer functionality allows you to securely transfer files to a +remote host over an encrypted tunnel using either **SFTP** or **SCP**. + +Prerequisites +============= +- SSH File Transfer requires an SSH service to listen on an available network port (default 22) on a remote host. +- A username and password must be supplied to connect with the remote host. +- The remote host must have a writeable folder on its filesystem to place the transferred files. + +Configuration Options +===================== +- **Host** - The remote host you connect to. Can be DNS name or IP address. +- **Port** - Remote network port listening for SSH/SFTP/SCP traffic. +- **User** - Username for account to log on to remote host. +- **Password** - Password for account to log on to remote host. +- **Protocol** - Choice of SCP or SFTP protocol used for communication. +- **Local File** - Path of file to transfer from local host. +- **Remote File** - Path where file will be transferred on remote host. (e.g. "/home/John/Documents") + +Using SSH File Transfer +======================= +Begin by going to :menuselection:`Tools --> SSH File Transfer`. + +The tool will open a new panel inside mRemoteNG which allows you to configure +some options for the SSH File Transfer. Each option is needed in order to +complete a file transfer over SSH. + +.. figure:: /images/ssh_file_transfer_01.png + + Main SSH File Transfer panel + +- To populate the **Local File** option, select the **Browse** button and navigate to + the desired file on the local filesystem. + +- To populate the **Remote File** option, manually type desired filesystem path, + including the desired file name. + +Once all options are populated, select **Transfer** and the progress bar at +the bottom of the window will show the progress of the transfer. + +Troubleshooting SSH File Transfer +================================= +To troubleshoot issues with SSH File Transfer, consult the log under +:code:`%AppData%\mRemoteNG\mRemoteNG.log`. +This log provides verbose information about successful and failed connections. + +Common Issues +------------- +ERROR - Please fill all fields + This issue was likely encountered because you did not provide all + information needed to establish the connection. + +ERROR- SSH background transfer failed! + This issue was likely encountered due to a permissions issue. + Ensure you have appropriate access to write to the specified Remote File. + +System.Net.Sockets.SocketException (0x80004005): No connection could be made because the target machine actively refused it + This issue was likely encountered because the local host could not contact the remote + host specified on the remote port specified. + The issue may be caused by improperly configured firewall rules or a + SSH service not listening properly on the remote host.