Merge branch 'develop' into develop

This commit is contained in:
Faryan Rezagholi
2019-04-30 23:59:27 +02:00
committed by GitHub
144 changed files with 2977 additions and 2990 deletions

View File

@@ -1,58 +0,0 @@
# Welcome!
We are really glad you are interested in contributing to mRemoteNG!
Open source software is best when shared with others. This also applies to the work that goes into the software. Your ideas and passion are what make this software great.
### Ways you can contribute
There are many ways that you can help improve mRemoteNG, even if you don't know how to program.
For example, you might:
- add documentation or "how-to" articles on the [Wiki](https://github.com/mRemoteNG/mRemoteNG/wiki)
- answer support questions on the [forum](http://forum.mremoteng.org)
- [add or improve a translation](https://github.com/mRemoteNG/mRemoteNG/wiki/How-to-Help-Translating-mRemoteNG)
- submit a [pull request](https://github.com/mRemoteNG/mRemoteNG/pulls) for a [bug or feature ticket](https://github.com/mRemoteNG/mRemoteNG/issues)
# Submitting GitHub Issues
The GitHub Issue tracker is our preferred channel for bug reports and feature requests.
- For questions or general discussion, please use [our public Gitter chat](https://gitter.im/mRemoteNG/PublicChat) or the [forum](http://forum.mremoteng.org).
- If you find a security vulnerability, do **NOT** open an issue. Email support@mremoteng.org instead.
### Bug reports
A bug is any behavior that does not consistently produce the expected result.
Guidelines for bug reports:
1. Do not open bug reports for questions.
1. Use the GitHub Issue search to make sure your bug hasn't already been reported.
1. Include as much detailed information as possible. We've included a default template when opening an issue to make this easier.
### Feature requests
Feature requests are great! Take some time to compose a well thought out proposal. It's up to you to convince the project maintainers that your feature is a good idea. To ensure your request receives the consideration that it deserves, include as much detail as possible. For example:
- What is the purpose of the new feature?
- What situation led you to want this feature?
- How does the application perform now and how would the new feature change this?
- If applicable, consider including visual mock-ups to show us what you mean.
# Pull requests
Good pull requests are a huge help! If you haven't already, please consider reading [GitHub's guide to contributing to open source](https://guides.github.com/activities/contributing-to-open-source/)
Our requests when it comes to pull requests:
- Be clear about what your PR seeks to do.
- Keep your PR focused. It should be clear what code changed to achieve your stated goal.
- Add or update tests when possible. Some of the code base is still very hard to effectively test. If you can, please try to create or update tests that relate to your PR.
- Please talk with one of the project maintainers before starting work on large pull requests. Otherwise, you run the risk of putting a lot of time into a feature or refactor that gets denied.
- If you have access to Static Code Analysis tools (like ReSharper), please don't analyze/fix everything in one giant PR. As great as these tools are, they can sometimes cause unintended problems.
# Code Style
- Please make use of simple types and var where possible
- Prefer "using" over .Dispose()
- Avoid nesting "using"
# Your first contributions
Want to help but don't know where to start? Check out the issues that we've labeled with [`Help Wanted`](https://github.com/mRemoteNG/mRemoteNG/issues?q=is%3Aissue+is%3Aopen+label%3A%22Help+Wanted%22) or [`ready`](https://github.com/mRemoteNG/mRemoteNG/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aopen%20label%3A%22ready%22). These will vary in difficulty, but should be possible for new contributors.
Want to help but don't know C#? Check out the issues that we've labeled with [`Documentation`](https://github.com/mRemoteNG/mRemoteNG/labels/Documentation).
Sorry, we currently do not have any tags for truly beginner-friendly issues :(

View File

@@ -1,30 +0,0 @@
<!--- Provide a general summary of the issue in the Title above -->
## Expected Behavior
<!--- If you're describing a bug, tell us what should happen -->
<!--- If you're suggesting a change/improvement, tell us how it should work -->
## Current Behavior
<!--- If describing a bug, tell us what happens instead of the expected behavior -->
<!--- If suggesting a change/improvement, explain the difference from current behavior -->
## Possible Solution
<!--- Not obligatory, but suggest a fix/reason for the bug, -->
<!--- or ideas how to implement the addition or change -->
## Steps to Reproduce (for bugs)
<!--- Provide an unambiguous set of steps to reproduce -->
<!--- this bug. Include code to reproduce, if relevant -->
1.
2.
3.
4.
## Context
<!--- How has this issue affected you? What are you trying to accomplish? -->
<!--- Providing context helps us come up with a solution that is most useful in the real world -->
## Your Environment
<!--- Include as many relevant details about the environment you experienced the bug in -->
* Version used:
* Operating System and version (e.g. Windows 10 1709 x64):

View File

@@ -1,29 +0,0 @@
<!--- Provide a general summary of your changes in the Title above -->
## Description
<!--- Describe your changes in detail -->
## Motivation and Context
<!--- Why is this change required? What problem does it solve? -->
<!--- If it fixes an open issue, please link to the issue here. -->
## How Has This Been Tested?
<!--- Please describe in detail how you tested your changes. -->
<!--- Include details of your testing environment, and the tests you ran to -->
<!--- see how your change affects other areas of the code, etc. -->
## Screenshots (if appropriate):
## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
- [ ] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
- [ ] I have read the **CONTRIBUTING** document.

2
.gitignore vendored
View File

@@ -285,4 +285,4 @@ InstallerProjects/Installer/Resources/License.rtf
# gh-pages info
runlocal.bat
/_site
/_site

View File

@@ -7,6 +7,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
### Added
### Changed
### Fixed
- #1428: Fixed a rare error when checking for FIPS
- #1426: Tabbing is reversed in config window
- #1425: Connections didn't always respect the Panel property
@@ -40,6 +41,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
### Changed
- #1430: Revised options dialog to prevent components from overlapping in some translations (e.g. russian)
- #1389: Connection config window refactoring. Default connection info buttons now always available.
- #1384: Revised help files and switched to sphinx as a documentation system
- #1223: Open External Links in Default Web Browser
- #1129: Spanish translation improvements
- #1072: Russian translation improvements

View File

@@ -7,6 +7,7 @@
[![Github Releases](https://img.shields.io/github/downloads/mRemoteNG/mRemoteNG/total.svg?style=flat-square)](https://github.com/mRemoteNG/mRemoteNG/releases/)
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/529/badge)](https://bestpractices.coreinfrastructure.org/projects/529)
[![Documentation Status](https://readthedocs.org/projects/mremoteng/badge/?version=latest)](https://mremoteng.readthedocs.io/en/latest/?badge=latest)
| Update Channel | Build Status | Downloads |
| ---------------|--------------|-----------|

View File

@@ -12,8 +12,6 @@ Write-Output "===== Beginning $($PSCmdlet.MyInvocation.MyCommand) ====="
Write-Output "Copying TILES folder to output"
$sourceFiles = [io.path]::combine($SolutionDir , 'mRemoteV1\Resources\Tiles' )
$DestinationDir = $TargetDir
robocopy $sourceFiles $DestinationDir *.*
robocopy $sourceFiles $TargetDir *.*
Write-Output ""

View File

@@ -42,7 +42,7 @@ Format-Table -AutoSize -Wrap -InputObject @{
& "$PSScriptRoot\copy_puttyng.ps1" -SolutionDir $SolutionDir -TargetDir $TargetDir
& "$PSScriptRoot\copy_themes.ps1" -SolutionDir $SolutionDir -TargetDir $TargetDir
& "$PSScriptRoot\copy_tiles.ps1" -SolutionDir $SolutionDir -TargetDir $TargetDir
& "$PSScriptRoot\move_help_files.ps1" -TargetDir $TargetDir
& "$PSScriptRoot\sphinx_docs.ps1" -SolutionDir $SolutionDir -TargetDir $TargetDir
& "$PSScriptRoot\set_LargeAddressAware.ps1" -TargetDir $TargetDir -TargetFileName $TargetFileName
& "$PSScriptRoot\verify_LargeAddressAware.ps1" -TargetDir $TargetDir -TargetFileName $TargetFileName
& "$PSScriptRoot\tidy_files_for_release.ps1" -TargetDir $TargetDir -ConfigurationName $ConfigurationName

View File

@@ -1,23 +1,23 @@
param (
[string]
param (
[string]
[Parameter(Mandatory=$true)]
$SolutionDir,
[string]
[Parameter(Mandatory=$true)]
$TargetDir
)
Write-Output "===== Beginning $($PSCmdlet.MyInvocation.MyCommand) ====="
Write-Output "Building HTML-Documentation with Sphinx"
$path_HelpFilesDir = Join-Path -Path $TargetDir -ChildPath "Help"
Write-Output "Moving Help files to correct directory"
$path_SphinxSourceDir = Join-Path -Path $SolutionDir -ChildPath "mremoteV1\Documentation"
# Remove stale Help files, if they exist
if (Test-Path -Path $path_HelpFilesDir) {
Remove-Item -Path $path_HelpFilesDir -Recurse -Force
}
# Move Help files
Move-Item -Path (Join-Path -Path $TargetDir -ChildPath "Resources\Help") -Destination $path_HelpFilesDir -Force
Start-Sleep -Seconds 2
Remove-Item -Path (Join-Path -Path $TargetDir -ChildPath "Resources") -Recurse -Force
sphinx-build $path_SphinxSourceDir $path_HelpFilesDir
Write-Output ""

View File

@@ -13,7 +13,12 @@ Write-Output "===== Beginning $($PSCmdlet.MyInvocation.MyCommand) ====="
# Remove unnecessary files from Release versions
if ($ConfigurationName -match "Release") {
Write-Output "Removing unnecessary files from Release versions"
Remove-Item -Path (Join-Path -Path $TargetDir -ChildPath "app.publish") -Recurse -Force
$test = Join-Path -Path $TargetDir -ChildPath "app.publish"
if (Test-Path $test -PathType Container) {
Remove-Item -Path (Join-Path -Path $TargetDir -ChildPath "app.publish") -Recurse -Force
}
$filesToDelete = Get-ChildItem -Path $TargetDir -Recurse -Include @(
"*.publish",
"*.xml",

View File

@@ -1,46 +0,0 @@
version: 1.76.{build}
pull_requests:
do_not_increment_build_number: true
skip_tags: true
skip_branch_with_pr: true
image: Visual Studio 2017
configuration:
- Release
- Release Portable
- Release Installer
platform: x86
shallow_clone: true
clone_depth: 1
install:
- ps: >-
date
mRemoteV1\Resources\CitrixReceiver.exe ENABLE_SSON="No" /silent /noreboot /EnableCEIP=false /AutoUpdateCheck=disabled /EnableTracing=false | out-null
date
before_build:
- cmd: >-
echo %TIME%
nuget restore
echo %TIME%
build:
project: mRemoteV1.sln
parallel: true
verbosity: normal
after_build:
- ps: "if([string]::IsNullOrEmpty($Env:APPVEYOR_BUILD_FOLDER)) {\n Write-Output \"NOT running via Appveyor - Exiting\"\n Exit\n}\n\n$appvDir = $Env:APPVEYOR_BUILD_FOLDER\n\nWrite-Output \"Appveyor Build Dir: '$($appvDir)'\"\n$ConfigurationName = $Env:CONFIGURATION.Trim()\nWrite-Output \"Config Name (tirmmed): '$($ConfigurationName)'\"\n\n\n$SIGCHECK=\"Tools\\exes\\sigcheck.exe\"\n$SEVENZIP=\"Tools\\7zip\\7za.exe\"\n\nif ($ConfigurationName -eq \"Release Portable\") {\n Write-Output \"Packaging Release Portable ZIP\"\n \n $version = & $SIGCHECK /accepteula -q -n \"mRemoteV1\\bin\\$($ConfigurationName)\\mRemoteNG.exe\"\n\n Write-Output \"Version is $($version)\"\n\n $PortableZip=\"Release\\mRemoteNG-Portable-$($version).zip\"\n\n Remove-Item -Recurse \"mRemoteV1\\bin\\package\" -ErrorAction SilentlyContinue | Out-Null\n New-Item \"mRemoteV1\\bin\\package\" -ItemType \"directory\" | Out-Null\n \n Copy-Item \"mRemoteV1\\Resources\\PuTTYNG.exe\" -Destination \"mRemoteV1\\bin\\package\"\n\n Copy-Item \"mRemoteV1\\bin\\$ConfigurationName\\*\" -Destination \"mRemoteV1\\bin\\package\" -Recurse -Force -Exclude *.pdb\n Copy-Item \"*.txt\" -Destination \"mRemoteV1\\bin\\package\"\n\n Write-Output \"Creating portable ZIP file $($PortableZip)\"\n Remove-Item -Force $PortableZip -ErrorAction SilentlyContinue\n & $SEVENZIP a -bt -bd -bb1 -mx=9 -tzip -y -r $PortableZip \".\\mRemoteV1\\bin\\package\\*.*\"\n}\nelse {\n Write-Output \"We will not zip anything - this isnt a portable release build.\"\n}\n\nWrite-Output \"\"\nWrite-Output \"\"\n\nif ($ConfigurationName -match \"Release\" -And $ConfigurationName -ne \"Release Installer\") {\n Write-Output \"Packaging debug symbols\"\n \n $version = & $SIGCHECK /accepteula -q -n \"mRemoteV1\\bin\\$($ConfigurationName)\\mRemoteNG.exe\"\n\n Write-Output \"Version is $($version)\"\n\n if ($ConfigurationName -match \"Portable\") {\n $zipFilePrefix = \"mRemoteNG-Portable-symbols\"\n } else {\n $zipFilePrefix = \"mRemoteNG-symbols\"\n }\n\n $outputZipPath=\"Release\\$zipFilePrefix-$($version).zip\"\n\n Write-Output \"Creating debug symbols ZIP file $($outputZipPath)\"\n Remove-Item -Force $outputZipPath -ErrorAction SilentlyContinue\n $SymPath = (Join-Path -Path mRemoteV1\\bin\\$($ConfigurationName) -ChildPath \"*.pdb\")\n if(Test-Path \"$SymPath\") {\n & $SEVENZIP a -bt -bd -bb1 -mx=9 -tzip -y -r $outputZipPath \"$SymPath\"\n } else {\n Write-Output \"No Debugging Symbols Found...\"\n }\n \n}\nelse {\n Write-Output \"We will not package debug symbols for this configuration $($ConfigurationName)\"\n}\n\nWrite-Output \"\""
test:
assemblies:
only:
- mRemoteNGTests\bin\$(configuration)\mRemoteNGTests.dll
artifacts:
- path: Release\*.msi
name: mRemoteNG-installer.msi
- path: Release\mRemoteNG-Portable-1.*.zip
name: mRemoteNG-portable.zip
- path: Release\mRemoteNG-Portable-symbols*.zip
name: mRemoteNG-Portable-symbols.zip
- path: Release\mRemoteNG-symbols*.zip
name: mRemoteNG-symbols.zip

View File

@@ -13,6 +13,15 @@ indent_size = 4
trim_trailing_whitespace = true
charset = utf-8-bom
# reStructuredText
[*.rst]
charset = utf-8
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true
indent_size = 3
max_line_length = 120
# Organize usings
dotnet_sort_system_directives_first = true
@@ -41,4 +50,4 @@ csharp_space_after_colon_in_inheritance_clause = true
csharp_space_around_binary_operators = before_and_after
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
csharp_space_between_method_call_name_and_opening_parenthesis = false
csharp_space_between_method_call_empty_parameter_list_parentheses = false
csharp_space_between_method_call_empty_parameter_list_parentheses = false

View File

@@ -1,11 +1,11 @@
using Microsoft.Win32;
using mRemoteNG.App.Info;
using mRemoteNG.UI.TaskDialog;
using System;
using System;
using System.Diagnostics;
using System.Windows.Forms;
using Microsoft.Win32;
using mRemoteNG.App.Info;
using mRemoteNG.Messages;
using mRemoteNG.UI.Forms;
using mRemoteNG.UI.TaskDialog;
namespace mRemoteNG.App
{
@@ -55,21 +55,18 @@ namespace mRemoteNG.App
private static bool FipsPolicyEnabledForServer2003()
{
var regKey = Registry.LocalMachine.OpenSubKey("System\\CurrentControlSet\\Control\\Lsa");
var fipsPolicy = regKey?.GetValue("FIPSAlgorithmPolicy");
if (fipsPolicy == null) return false;
fipsPolicy = Convert.ToInt32(fipsPolicy);
return (int)fipsPolicy != 0;
var regKey = Registry.LocalMachine.OpenSubKey(@"System\CurrentControlSet\Control\Lsa");
if (!(regKey?.GetValue("FIPSAlgorithmPolicy") is int fipsPolicy))
return false;
return fipsPolicy != 0;
}
private static bool FipsPolicyEnabledForServer2008AndNewer()
{
var regKey =
Registry.LocalMachine.OpenSubKey("System\\CurrentControlSet\\Control\\Lsa\\FIPSAlgorithmPolicy");
var fipsPolicy = regKey?.GetValue("Enabled");
if (fipsPolicy == null) return false;
fipsPolicy = Convert.ToInt32(fipsPolicy);
return (int)fipsPolicy != 0;
var regKey = Registry.LocalMachine.OpenSubKey(@"System\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy");
if (!(regKey?.GetValue("Enabled") is int fipsPolicy))
return false;
return fipsPolicy != 0;
}
private static void CheckLenovoAutoScrollUtility(MessageCollector messageCollector)

View File

@@ -0,0 +1,23 @@
###############
About mRemoteNG
###############
mRemoteNG is an open source, multi-protocol, multi-remote connections manager
that aims at providing you with a clutter-free,
unstressful platform to manage all your remote connections in one place.
The application is released under the GPLv2_ and is being managed on GitHub_.
.. _GitHub: http://github.com/mRemoteNG/mRemoteNG
.. _GPLv2: http://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
As of now mRemoteNG supports the following protocols:
RDP - SSH - VNC - ICA - Telnet - RAW - RLogin - HTTP/S
.. toctree::
:maxdepth: 2
about/features.rst
about/versions.rst
about/release_channels.rst
about/license.rst

View File

@@ -0,0 +1,22 @@
************
Key Features
************
- Free and Open Source, released under the GPL
- Organizing connections into panels and tabs
- Multiple supported protocols (RDP, VNC, ICA, SSH, Telnet, RAW, Rlogin and HTTP/S)
- Easy to organize and maintain list of connections
- Inheritance makes it possible to store properties on folder basis and let the underlying connections inherit this info
- Importing connections from Active Directory
- Creating nested folder structures to categorize connections
- "Quick Connect" feature to quickly open a connection without creating an entry
- "Quick Search" feature to quickly find a connection while typing
- Support for SCP/SFTP (SSH) file transfers
- Assign icons to connections for quick identification
- A screenshot manager to create screenshots of running connections
- "Auto-Update" feature
- Minimize to system tray
- Fullscreen (Kiosk) mode
- Assign global credentials to use when no information is provided on connection basis
- Host Indication on each connection to show if host responds to ping requests
- ...

View File

@@ -0,0 +1,19 @@
*******
License
*******
mRemoteNG is written under the GNU GPLv2_ license and is a free software.
.. _GPLv2: http://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
Free software is referred to freedom, not price. The General Public Licenses are designed to make sure
that you have the freedom to distribute copies of free software (and charge for the service if you wish),
that you receive source code or can get it if you want it, that you can change the software or use pieces
of it in new free programs; and that you know you can do these things.
For example, if you distribute copies of such a program, whether gratis or for a fee,
you must give the recipients all the rights that you have. You must make sure that they, too,
receive or can get the source code. And you must show them these terms so they know their rights.
To understand and read more of the license that mRemoteNG is using. Please follow the link here to know more:
GPL (V2) `GNU Project website <https://www.gnu.org/licenses/gpl-2.0.html>`_

View File

@@ -0,0 +1,46 @@
****************
Release Channels
****************
.. note::
We currently do not offer a nightly build channel. To get the absolute bleeding-edge updates, you will need to build mRemoteNG from source. Instructions on setting up your development environment can be found here:
Stable
======
The **Stable** channel includes only officially released versions of mRemoteNG. This channel
receives updates much less often than the others, but has the least chance for bugs.
These releases will be marked as a normal release on GitHub and may use terms like **Final** or
**Stable** in the release.
This is the recommended and default channel for all users.
Beta
====
The **Beta** channel includes pre-release versions in addition to what the **Stable** channel offers.
This includes any version marked as **beta** or **rc** (release candidate). This channel is meant to
give users an advanced look at features and fixes that are done but not fully tested, yet.
While these versions are generally stable, there is still a higher chance of encountering bugs.
**Beta** channel users are highly encouraged to enter bug reports for any issues that arise during their
use of the program.
Use this channel if you can accept a higher rate of bugs and would like early access to releases.
Development
===========
The **Development** channel includes the pre-release **alpha** versions in addition to what the **Beta**
and **Stable** channels offer. At this level, you will receive every version of the program that we publish
on GitHub.
This channel is meant for users that would like to help us test and develop the program. While we try
to ensure that no serious bugs get out even in these early versions, we cannot make any guarantees to the
stability of the application. Users of this channel are highly encouraged to enter bug reports and
provide feedback to how development is progressing.
Use this channel only if you can accept potentially serious bugs and would like to help us test early
versions of the program.

View File

@@ -0,0 +1,29 @@
*****************
Version Numbering
*****************
.. note::
We are currently rethinking our version numbering scheme and are considering `Semantic Versioning <https://semver.org/>`_
but will need to discuss it further.
**Our versions follow the format:** ``Major.Minor.Patch.Build``
+-----------+--------------+-----------------------------------------------------------------------+
| Name | Incremented | Description |
+===========+==============+=======================================================================+
| ``Major`` | Manually | We currently don't increment this number |
+-----------+--------------+-----------------------------------------------------------------------+
| ``Minor`` | manually | | We currently use this number to indicate releases that include new |
| | | | functionality and bug fixes |
+-----------+--------------+-----------------------------------------------------------------------+
| ``Patch`` | Manually | This number represents the current patch level. |
| | | |
| | | Patches are typically released to resolve bugs |
+-----------+--------------+-----------------------------------------------------------------------+
| ``Build`` | Manually | This number represents |
| | | ``(number of seconds since midnight)/2`` |
| | | |
| | | It exists to help prevent version |
| | | collisions during development |
+-----------+--------------+-----------------------------------------------------------------------+

View File

@@ -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

View File

@@ -0,0 +1,224 @@
# -*- coding: utf-8 -*-
#
# Configuration file for the Sphinx documentation builder.
#
# This file does only contain a selection of the most common options. For a
# full list see the documentation:
# http://www.sphinx-doc.org/en/master/config
# -- Path setup --------------------------------------------------------------
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
# import os
# import sys
# sys.path.insert(0, os.path.abspath('.'))
# -- Project information -----------------------------------------------------
project = 'mRemoteNG'
copyright = '2019 The mRemoteNG Team'
author = 'The mRemoteNG Team'
# The short X.Y version
version = '0.0'
# The full version, including alpha/beta/rc tags
release = '0.0.alpha'
######################### Begin mRemoteNG Stuff ###############################
import re
# Load assembly information
try:
file = open("..\\Properties\\AssemblyInfo.cs", "r")
for line in file:
if re.match(r'(\[assembly: AssemblyTitle.*)', line):
project = line
elif re.match(r'(\[assembly: AssemblyCompany.*)', line):
author = line
elif re.match(r'(\[assembly: AssemblyVersion.*)', line):
version = line
release = line
elif re.match(r'(\[assembly: AssemblyCopyright.*)', line):
copyright = line
project = re.search(r'\".*\"', project)
project = project.group(0).replace('\"', '')
author = re.search(r'\".*\"', author)
author = author.group(0).replace('\"', '')
version = re.search(r'\".*\"', version)
version = re.search(r'\"[\d].[\d].', version.group(0))
version = version.group(0).replace('\"', '')
release = re.search(r'\".*\"', release)
release = release.group(0).replace('\"', '')
copyright = re.search(r'\".*\"', copyright)
copyright = copyright.group(0).replace('\"', '')
except:
print("Assembly file cannot be found, using default values")
########################### End mRemoteNG Stuff ###############################
# -- General configuration ---------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
#
# needs_sphinx = '1.0'
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.For a full list see the documentation:
# http://www.sphinx-doc.org/en/master/usage/extensions/index.html
#extensions = [
#]
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string:
#
# source_suffix = ['.rst', '.md']
source_suffix = '.rst'
# The master toctree document.
master_doc = 'index'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#
# This is also used if you do content translation via gettext catalogs.
# Usually you set "language" from the command line for these cases.
language = None
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = None
# -- Options for HTML output -------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = 'sphinx_rtd_theme'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#
# html_theme_options = {}
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
# Custom sidebar templates, must be a dictionary that maps document names
# to template names.
#
# The default sidebars (for documents that don't match any pattern) are
# defined by theme itself. Builtin themes are using these templates by
# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
# 'searchbox.html']``.
# Remove page source editing
html_show_sourcelink = False
# -- Options for HTMLHelp output ---------------------------------------------
# Output file base name for HTML help builder.
htmlhelp_basename = 'mRemoteNGdoc'
# -- Options for LaTeX output ------------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#
# 'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#
# 'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#
# 'preamble': '',
# Latex figure (float) alignment
#
# 'figure_align': 'htbp',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
(master_doc, 'mRemoteNG.tex', 'mRemoteNG Documentation',
'The mRemoteNG Team', 'manual'),
]
# -- Options for manual page output ------------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
(master_doc, 'mremoteng', 'mRemoteNG Documentation',
[author], 1)
]
# -- Options for Texinfo output ----------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
(master_doc, 'mRemoteNG', 'mRemoteNG Documentation',
author, 'mRemoteNG', 'One line description of project.',
'Miscellaneous'),
]
# -- Options for Epub output -------------------------------------------------
# Bibliographic Dublin Core info.
epub_title = project
# The unique identifier of the text. This can be a ISBN number
# or the project homepage.
#
# epub_identifier = ''
# A unique identification for the text.
#
# epub_uid = ''
# A list of files that should not be packed into the epub file.
epub_exclude_files = ['search.html']
# -- Extension configuration -------------------------------------------------
# -- Options for todo extension ----------------------------------------------
# If true, `todo` and `todoList` produce output, else they produce nothing.
todo_include_todos = True

View File

@@ -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.

View File

@@ -0,0 +1,132 @@
***********************************
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 <https://winscp.net/eng/index.php>`_
============================================
WinSCP is a free GUI Secure Copy program.
- Filename: C:\\Program Files\\WinSCP\\WinSCP.exe (example path)
- Arguments: scp://%Username%:%Password%@%Hostname%/
- Can integrate: Unknown
`FileZilla S/FTP <https://filezilla-project.org/>`_
===================================================
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 <https://www.mozilla.org/en-US/firefox/new/>`_
=======================================================
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 <https://www.google.com/chrome/browser/desktop/index.html>`_
===========================================================================
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 <http://microsoft.com/ie>`_
==============================================
Description
- Filename: C:\\Program Files\\Internet Explorer\\iexplore.exe
- Arguments: %Hostname%
- Can integrate: Unknown
`MySql Workbench <http://www.mysql.com/products/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 <https://www.realvnc.com/download/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 <https://nmap.org/zenmap/>`_
========================================
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 <https://nmap.org/zenmap/>`_
======================================
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 (ISE) <https://msdn.microsoft.com/en-us/powershell/scripting/getting-started/fundamental/windows-powershell-integrated-scripting-environment--ise->`_
=========================================================================================================================================================================
Windows PowerShell is a task-based command-line shell and scripting language designed especially for system administration.
- Filename: %WINDIR%\\system32\\WindowsPowerShell\\v1.0\\PowerShell_ISE.exe
- Arguments: args here
- Can integrate: Yes
PowerShell, Enter-PSSession
===========================
This will allow you to right-click a Windows connection entry and use the hostname and user/password entry to begin a remote PowerShell session.
- Filename: %WINDIR%\\system32\\WindowsPowerShell\\v1.0\\PowerShell.exe
- Arguments: -NoExit -Command "$password = ConvertTo-SecureString '%PASSWORD%' -AsPlainText -Force; $cred = New-Object System.Management.Automation.PSCredential -ArgumentList @('%Domain%\\%Username%', $password); Enter-PSSession -ComputerName %Hostname% -Credential $cred"
- Can integrate: No

View File

@@ -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 <https://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/vuln-auth-prompt-spoofing.html>`_.
How can I edit or creat 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.

View File

@@ -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.

View File

@@ -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 <https://github.com/mRemoteNG/mRemoteNG/blob/develop/Tools/CreateBulkConnections_ConfCons2_6.ps1>`_.
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 <https://github.com/mRemoteNG/mRemoteNG/issues>`_ or on `Gitter <https://gitter.im/mRemoteNG/PublicChat>`_ if you have issues.

View File

@@ -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

View File

@@ -0,0 +1,32 @@
.. HowTo - Jump server / Bastion host with mRemoteNG
.. Need more information here to explain and work with hosts for jumps
**************************
Jump server / Bastion host
**************************
Introduction
============
This document will not go into details on what a bastion host or a jump server really is. Instead
it will give you a howto for setting up the hosts so you can do the jump with mRemoteNG. If you need
more information regarding the function of bastion host and jump server then see links mentioned below.
.. note::
The information below could probably be a lot better. If you have a better idea or easier
way to work with bastion host and jump server, then please let us know.
References
==========
`Wikipedia Bastion host <https://en.wikipedia.org/wiki/Bastion_host>`_
`Wikipedia Jump server <https://en.wikipedia.org/wiki/Jump_server>`_
Linux Server to target host
===========================
In this section we will use a Ubuntu 18.04 LTS to jump to another host both RDP and SSH.
Windows Server to target host
=============================
In this section we will use a Windows 2016 Server to jump to another host both RDP and SSH.

View File

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

View File

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

View File

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View File

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 9.6 KiB

View File

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

View File

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

View File

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

View File

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 619 B

View File

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -0,0 +1,52 @@
*************************************
Welcome to mRemoteNG's documentation!
*************************************
.. toctree::
:maxdepth: 2
:caption: Introduction
about.rst
installation.rst
.. toctree::
:maxdepth: 2
:caption: Application Handling
user_interface.rst
folders_and_inheritance.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/jumpservers.rst
howtos/external_tools.rst
howtos/bulk_connections.rst
.. toctree::
:maxdepth: 2
:caption: Miscellaneous
external_tools_cheat_sheet.rst
migrate.rst
Contribute <https://github.com/mRemoteNG/mRemoteNG/wiki>
.. toctree::
:maxdepth: 2
:caption: Contact Us
Chat <https://gitter.im/mRemoteNG/PublicChat>
Reddit <https://reddit.com/r/mremoteng>
contact_mail.rst

View File

@@ -0,0 +1,11 @@
####################
Installing mRemoteNG
####################
.. toctree::
:maxdepth: 2
installation/supported_operating_systems.rst
installation/minimum_requirements.rst
installation/install.rst
installation/uninstall.rst

View File

@@ -0,0 +1,90 @@
*******
Install
*******
Downloads are provided in three different packages, binary package, portable package and
source package. They are described further down this page.
Binary package
==============
The binary package of mRemoteNG is a compiled version of mRemoteNG which comes in an MSI installer.
This is the most common way to install mRemoteNG and get up and running. For more custom and advanced
installs of mRemoteNG then continue reading further down this page.
On the `mRemoteNG main website download page <https://mremoteng.org/download>`_ choose
(**MSI**) from the downloads to get the binary package.
Portable package
================
The portable package consists of the same files as the binary package but contains a modified version
of the executable which stores and loads all your settings from files in the application's directory.
This package can be used to run mRemoteNG from a USB stick and preserve your configuration wherever
you go.
On the `mRemoteNG main website download page <https://mremoteng.org/download>`_ choose
(**ZIP**) from the downloads to get the portable package.
Source package
==============
This package is a package provided to be launched within Visual Studio. The only way to launch
mRemoteNG using this package is by compiling it from inside Visual Studio.
Command line install
====================
There is also the possibility to install mRemoteNG through command line with the binary package.
For example:
:code:`msiexec /i C:\Path\To\mRemoteNG-Installer.exe PROPERTY1=value PROPERTY2=value`
To explain the properties that can be set during install we will go into details of them below.
Extend Installer Properties
---------------------------
The following extended properties can be provided to the installer when running it from the
command line.
+---------------------+-----------------------+------------------------------------------------------+
| Property | Accepted Values | Description |
+=====================+=======================+======================================================+
| INSTALLDIR | Any valid folder path | | This allows you to set the installation directory |
| | | | from the command line. For paths that contain |
| | | | spaces, enclose the path in double quotes (""). |
| | | | This overrides any value found in the registry. |
| | | | Introduced in v1.75 beta 2. |
+---------------------+-----------------------+------------------------------------------------------+
| IGNOREPREREQUISITES | ``0`` or ``1`` | | When the ``IGNOREPREREQUISITES`` property is set |
| | | | to ``1``, the installer will not be halted if any |
| | | | prerequisite check is not met. You must still run |
| | | | the installer as Admin - this flag will not remove |
| | | | that requirement. Introduced in v1.74. |
+---------------------+-----------------------+------------------------------------------------------+
Examples
--------
**Install to a custom folder**
:code:`msiexec /i C:\Path\To\mRemoteNG-Installer.msi INSTALLDIR="D:\Work Apps\mRemoteNG"`
**Ignore prerequisites during a normal install**
:code:`msiexec /i C:\Path\To\mRemoteNG-Installer.msi IGNOREPREREQUISITES=1`
**Ignore prerequisites during a silent install**
:code:`msiexec /i C:\Path\To\mRemoteNG-Installer.msi /qn IGNOREPREREQUISITES=1`
Troubleshooting installation
============================
If you find the installer is not working as expected, there are several things you can do
to troubleshoot.
- Turn on verbose logging by using the ``/lv* <log path>`` argument at the command line.
:code:`msiexec /i C:\Path\To\mRemoteNG-Installer.msi /l*v C:\mremoteng_install.log`

View File

@@ -0,0 +1,50 @@
.. _requirements:
********************
Minimum Requirements
********************
.. note::
In recent versions of Windows 10 and Windows Server 2016 the below requirements are already provided by the system.
However they are listed below just in case you need to know what mRemoteNG actually needs for different protocols and
error searching on troubles with installing.
- `Microsoft .NET Framework 4.0 <https://www.microsoft.com/en-us/download/details.aspx?id=17851>`_
- Microsoft Terminal Service Client 8.0 or later
- Needed if you use RDP, mstscax.dll and/or msrdp.ocx be registered.
- Included with newer Windows versions `KB2574819 <https://support.microsoft.com/en-us/kb/2574819>`_
AND either `KB2592687 <https://support.microsoft.com/en-us/kb/2592687>`_ or
`KB2923545 <https://support.microsoft.com/en-us/kb/2923545>`_ is required for Windows 7/Windows Server 2008 R2
- `PuTTY <http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html>`_
- Needed if you use Telnet, SSH, Rlogin or RAW. Included in all packages.
- An appropriate and integrated version is included with mRemoteNG.
- `Citrix ICA Client <https://www.citrix.com/downloads/citrix-receiver.html>`_
- Needed if you use ICA. wfica.ocx must be registered.
Windows 7 and Windows 2008 R2 Clients
-------------------------------------
.. tip::
You can use powershell to check if the hotfixes are installed. Example: ``Get-HotFix | where {$_.HotFixID -eq "KB2574819" -and $_.HotFixID -eq "KB2592687"}``
The following updates, **must be** present on any Windows 7 or Windows Server 2008 client that will be running
mRemoteNG. (They must have been installed in the order provided below):
- `KB2574819 <https://support.microsoft.com/en-us/kb/2574819>`_ - Adds support for DTLS in Windows 7 SP1 and Windows Server 2008 R2 SP1
- `KB2592687 <https://support.microsoft.com/en-us/kb/2592687>`_ - RDP 8.0 update for Windows 7 and Windows Server 2008 R2
The following are suggested (but not required) for Windows 7 / Windows Server 2008 clients:
- `KB2857650 <https://support.microsoft.com/en-us/kb/2857650>`_ - Update that improves the RemoteApp and Desktop Connections features is available for Windows 7
- `KB2830477 <https://support.microsoft.com/en-us/kb/2830477>`_ - Update for RemoteApp and Desktop Connections feature is available for Windows
- `KB2913751 <https://support.microsoft.com/en-us/kb/2913751>`_ - Smart card redirection in remote sessions fails in a Windows 7 SP1-based RDP 8.1 client
- `KB2923545 <https://support.microsoft.com/en-us/kb/2923545>`_ - Update for RDP 8.1 is available for Windows 7 SP1
- `KB2965788 <https://support.microsoft.com/en-us/kb/2965788>`_ - MS14-030: Description of the security update for Remote Desktop Security Release for Windows: June 10, 2014
- `KB2985461 <https://support.microsoft.com/en-us/kb/2985461>`_ - Error 0x800401f0when you update RemoteApp and Desktop Connections feeds in Windows 7 or Windows Server 2008 R2
- `KB2984972 <https://support.microsoft.com/en-us/kb/2984972>`_ - Update for RDC 7.1to support restricted administration logons on Windows 7 and Windows Server 2008 R2
- `KB2984976 <https://support.microsoft.com/en-us/kb/2984976>`_ - RDP 8.0 update for restricted administration on Windows 7 or Windows Server 2008 R2

View File

@@ -0,0 +1,13 @@
***************************
Supported Operating Systems
***************************
These are the supported and tested operating systems that mRemoteNG can run on:
- `Windows 10 <https://en.wikipedia.org/wiki/Windows_10>`_
- `Windows 8.1 <https://en.wikipedia.org/wiki/Windows_8.1>`_
- `Windows 7 <https://en.wikipedia.org/wiki/Windows_7>`_ (See: :ref:`requirements`)
- `Windows Server 2016 <https://en.wikipedia.org/wiki/Windows_Server_2016>`_
- `Windows Server 2012 R2 <https://en.wikipedia.org/wiki/Windows_Server_2012_R2>`_
- `Windows Server 2012 <https://en.wikipedia.org/wiki/Windows_Server_2012>`_
- `Windows Server 2008 R2 <https://en.wikipedia.org/wiki/Windows_Server_2008_R2>`_ (See: :ref:`requirements`)

View File

@@ -0,0 +1,28 @@
*********
Uninstall
*********
Standard Uninstall
==================
mRemoteNG basic binary package can be uninstalled with Windows Control Panel. If for some reason it does not work please
follow information provided below for Manual Uninstall.
Manual Uninstall
================
If for some reason you cannot uninstall mRemoteNG from the Windows Control Panel,
you can manually uninstall the program using the following steps:
.. note::
If you are using the Portable version, simply deleting the folder that contains mRemoteNG should be sufficient. These uninstall instructions are only necessary for the normal binary .MSI installed version of mRemoteNG
#. Delete the folder where mRemoteNG was installed. By default, this is:
``C:\Program Files(x86)\mRemoteNG``
#. Delete all mRemoteNG custom registry entries (See above table for locations)
#. Delete the mRemoteNG install entry from one of the following locations. Search for "mRemoteNG" in the DisplayName field:
- x86: ``HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\``
- x64: ``HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\``
#. (Optional) If you would also like to delete user data, delete the folders mentioned here:

View File

@@ -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

View File

@@ -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 <https://support.microsoft.com/en-us/help/4093492/credssp-updates-for-cve-2018-0886-march-13-2018>`_ 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 <https://support.microsoft.com/en-us/help/4103727/windows-10-update-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 <https://mremoteng.atlassian.net/browse/MR-714>`_ and `MR-864 <https://mremoteng.atlassian.net/browse/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 (See: :ref:`requirements`.).
- A common issue is that `KB2574819 <https://support.microsoft.com/en-us/kb/2574819>`_ is either missing or has been installed after `KB2592687 <https://support.microsoft.com/en-us/kb/2592687>`_. They must be installed in the correct order. If you do not have KB2574819, follow these instructions:
- Uninstall `KB2592687 <https://support.microsoft.com/en-us/kb/2592687>`_
- Install `KB2574819 <https://support.microsoft.com/en-us/kb/2574819>`_
- (Re)Install `KB2592687 <https://support.microsoft.com/en-us/kb/2592687>`_
- 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 <https://www.realvnc.com/>`_. 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 <http://tightvnc.com/>`_
or `UltraVNC <http://www.uvnc.com/>`_
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 <https://github.com/mRemoteNG/mRemoteNG/issues/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`.

View File

@@ -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.

View File

@@ -0,0 +1,381 @@
.. _sql_configuration:
*****************
SQL Configuration
*****************
.. warning::
The SQL feature is in an early beta stage and not intended for use in an productive 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
-----
.. code-block:: sql
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] IDENTITY (1001, 1) NOT NULL ,
[ConstantID] [varchar] (128) NULL ,
[PositionID] [int] NOT NULL ,
[ParentID] [varchar] (128) NULL ,
[LastChange] [datetime] NOT NULL ,
[Name] [varchar] (128) NOT NULL ,
[Type] [varchar] (32) NOT NULL ,
[Expanded] [bit] NOT NULL ,
[Description] [varchar] (1024) NULL ,
[Icon] [varchar] (128) NOT NULL ,
[Panel] [varchar] (128) NOT NULL ,
[Username] [varchar] (512) NULL ,
[DomainName] [varchar] (512) NULL ,
[Password] [varchar] (1024) NULL ,
[Hostname] [varchar] (512) NULL ,
[Protocol] [varchar] (32) NOT NULL ,
[PuttySession] [varchar] (128) NULL ,
[Port] [int] NOT NULL ,
[ConnectToConsole] [bit] NOT NULL ,
[UseCredSsp] [bit] NOT NULL ,
[RenderingEngine] [varchar] (10) NULL ,
[ICAEncryptionStrength] [varchar] (32) NOT NULL ,
[RDPAuthenticationLevel] [varchar] (32) NOT NULL ,
[RDPMinutesToIdleTimeout] [int] NOT NULL,
[RDPAlertIdleTimeout] [bit] NOT NULL,
[Colors] [varchar] (32) NOT NULL ,
[Resolution] [varchar] (32) NOT NULL ,
[DisplayWallpaper] [bit] NOT NULL ,
[DisplayThemes] [bit] NOT NULL ,
[EnableFontSmoothing] [bit] NOT NULL ,
[EnableDesktopComposition] [bit] NOT NULL ,
[CacheBitmaps] [bit] NOT NULL ,
[RedirectDiskDrives] [bit] NOT NULL ,
[RedirectPorts] [bit] NOT NULL ,
[RedirectPrinters] [bit] NOT NULL ,
[RedirectSmartCards] [bit] NOT NULL ,
[RedirectSound] [varchar] (64) NOT NULL ,
[SoundQuality] [varchar] (20) NOT NULL,
[RedirectAudioCapture] [bit] NOT NULL,
[RedirectKeys] [bit] NOT NULL ,
[Connected] [bit] NOT NULL ,
[PreExtApp] [varchar] (256) NULL ,
[PostExtApp] [varchar] (256) NULL ,
[MacAddress] [varchar] (32) NULL ,
[UserField] [varchar] (256) NULL ,
[ExtApp] [varchar] (256) NULL ,
[VNCCompression] [varchar] (10) NULL ,
[VNCEncoding] [varchar] (20) NULL ,
[VNCAuthMode] [varchar] (10) NULL ,
[VNCProxyType] [varchar] (20) NULL ,
[VNCProxyIP] [varchar] (128) NULL ,
[VNCProxyPort] [int] NULL ,
[VNCProxyUsername] [varchar] (512) NULL ,
[VNCProxyPassword] [varchar] (1024) NULL ,
[VNCColors] [varchar] (10) NULL ,
[VNCSmartSizeMode] [varchar] (20) NULL ,
[VNCViewOnly] [bit] NOT NULL ,
[RDGatewayUsageMethod] [varchar] (32) NOT NULL ,
[RDGatewayHostname] [varchar] (512) NULL ,
[RDGatewayUseConnectionCredentials] [varchar] (32) NOT NULL ,
[RDGatewayUsername] [varchar] (512) NULL ,
[RDGatewayPassword] [varchar] (1024) NULL ,
[RDGatewayDomain] [varchar] (512) NULL ,
[InheritCacheBitmaps] [bit] NOT NULL ,
[InheritColors] [bit] NOT NULL ,
[InheritDescription] [bit] NOT NULL ,
[InheritDisplayThemes] [bit] NOT NULL ,
[InheritDisplayWallpaper] [bit] NOT NULL ,
[InheritEnableFontSmoothing] [bit] NOT NULL ,
[InheritEnableDesktopComposition] [bit] NOT NULL ,
[InheritDomain] [bit] NOT NULL ,
[InheritIcon] [bit] NOT NULL ,
[InheritPanel] [bit] NOT NULL ,
[InheritPassword] [bit] NOT NULL ,
[InheritPort] [bit] NOT NULL ,
[InheritProtocol] [bit] NOT NULL ,
[InheritPuttySession] [bit] 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 ,
[InheritSoundQuality] [bit] NOT NULL,
[InheritRedirectAudioCapture] [bit] NOT NULL,
[InheritResolution] [bit] NOT NULL ,
[InheritUseConsoleSession] [bit] NOT NULL ,
[InheritUseCredSsp] [bit] NOT NULL ,
[InheritRenderingEngine] [bit] NOT NULL ,
[InheritICAEncryptionStrength] [bit] NOT NULL ,
[InheritRDPAuthenticationLevel] [bit] NOT NULL ,
[InheritRDPMinutesToIdleTimeout] [bit] NOT NULL,
[InheritRDPAlertIdleTimeout] [bit] NOT NULL,
[InheritUsername] [bit] NOT NULL ,
[InheritPreExtApp] [bit] NOT NULL ,
[InheritPostExtApp] [bit] NOT NULL ,
[InheritMacAddress] [bit] NOT NULL ,
[InheritUserField] [bit] NOT NULL ,
[InheritExtApp] [bit] NOT NULL ,
[InheritVNCCompression] [bit] NOT NULL,
[InheritVNCEncoding] [bit] NOT NULL ,
[InheritVNCAuthMode] [bit] NOT NULL ,
[InheritVNCProxyType] [bit] NOT NULL ,
[InheritVNCProxyIP] [bit] NOT NULL ,
[InheritVNCProxyPort] [bit] NOT NULL ,
[InheritVNCProxyUsername] [bit] NOT NULL ,
[InheritVNCProxyPassword] [bit] NOT NULL ,
[InheritVNCColors] [bit] NOT NULL ,
[InheritVNCSmartSizeMode] [bit] NOT NULL ,
[InheritVNCViewOnly] [bit] NOT NULL ,
[InheritRDGatewayUsageMethod] [bit] NOT NULL ,
[InheritRDGatewayHostname] [bit] NOT NULL ,
[InheritRDGatewayUseConnectionCredentials] [bit] NOT NULL ,
[InheritRDGatewayUsername] [bit] NOT NULL ,
[InheritRDGatewayPassword] [bit] NOT NULL ,
[InheritRDGatewayDomain] [bit] NOT NULL ,
[LoadBalanceInfo] [varchar] (1024) NULL ,
[AutomaticResize] [bit] NOT NULL DEFAULT 1 ,
[InheritLoadBalanceInfo] [bit] NOT NULL DEFAULT 0 ,
[InheritAutomaticResize] [bit] NOT NULL DEFAULT 0 ,
[RedirectClipboard] [bit] NOT NULL DEFAULT 0 ,
[InheritRedirectClipboard] [bit] NOT NULL DEFAULT 0
) 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
MYSQL
-----
.. code-block:: sql
/*!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) DEFAULT 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,
`Description` varchar(1024) DEFAULT NULL,
`Icon` varchar(128) NOT NULL,
`Panel` varchar(128) NOT NULL,
`Username` varchar(512) DEFAULT NULL,
`DomainName` varchar(512) DEFAULT NULL,
`Password` varchar(1024) DEFAULT NULL,
`Hostname` varchar(512) DEFAULT NULL,
`Protocol` varchar(32) NOT NULL,
`PuttySession` varchar(128) DEFAULT NULL,
`Port` int(11) NOT NULL,
`ConnectToConsole` tinyint(1) NOT NULL,
`UseCredSsp` tinyint(1) NOT NULL,
`RenderingEngine` varchar(10) DEFAULT NULL,
`ICAEncryptionStrength` varchar(32) NOT NULL,
`RDPAuthenticationLevel` varchar(32) NOT NULL,
`RDPMinutesToIdleTimeout` int(11) NOT NULL,
`RDPAlertIdleTimeout` tinyint(1) NOT NULL,
`Colors` varchar(32) NOT NULL,
`Resolution` varchar(32) NOT NULL,
`DisplayWallpaper` tinyint(1) NOT NULL,
`DisplayThemes` tinyint(1) NOT NULL,
`EnableFontSmoothing` tinyint(1) NOT NULL,
`EnableDesktopComposition` tinyint(1) NOT NULL,
`CacheBitmaps` tinyint(1) NOT NULL,
`RedirectDiskDrives` tinyint(1) NOT NULL,
`RedirectPorts` tinyint(1) NOT NULL,
`RedirectPrinters` tinyint(1) NOT NULL,
`RedirectSmartCards` tinyint(1) NOT NULL,
`RedirectSound` varchar(64) NOT NULL,
`SoundQuality` varchar(20) NOT NULL,
`RedirectAudioCapture` tinyint(1) NOT NULL,
`RedirectKeys` tinyint(1) NOT NULL,
`Connected` tinyint(1) NOT NULL,
`PreExtApp` varchar(256) DEFAULT NULL,
`PostExtApp` varchar(256) DEFAULT NULL,
`MacAddress` varchar(32) DEFAULT NULL,
`UserField` varchar(256) DEFAULT NULL,
`ExtApp` varchar(256) DEFAULT NULL,
`VNCCompression` varchar(10) DEFAULT NULL,
`VNCEncoding` varchar(20) DEFAULT NULL,
`VNCAuthMode` varchar(10) DEFAULT NULL,
`VNCProxyType` varchar(20) DEFAULT NULL,
`VNCProxyIP` varchar(128) DEFAULT NULL,
`VNCProxyPort` int(11) DEFAULT NULL,
`VNCProxyUsername` varchar(512) DEFAULT NULL,
`VNCProxyPassword` varchar(1024) DEFAULT NULL,
`VNCColors` varchar(10) DEFAULT NULL,
`VNCSmartSizeMode` varchar(20) DEFAULT NULL,
`VNCViewOnly` tinyint(1) NOT NULL,
`RDGatewayUsageMethod` varchar(32) NOT NULL,
`RDGatewayHostname` varchar(512) DEFAULT NULL,
`RDGatewayUseConnectionCredentials` varchar(32) NOT NULL,
`RDGatewayUsername` varchar(512) DEFAULT NULL,
`RDGatewayPassword` varchar(1024) DEFAULT NULL,
`RDGatewayDomain` varchar(512) DEFAULT NULL,
`InheritCacheBitmaps` tinyint(1) NOT NULL,
`InheritColors` tinyint(1) NOT NULL,
`InheritDescription` tinyint(1) NOT NULL,
`InheritDisplayThemes` tinyint(1) NOT NULL,
`InheritDisplayWallpaper` tinyint(1) NOT NULL,
`InheritEnableFontSmoothing` tinyint(1) NOT NULL,
`InheritEnableDesktopComposition` tinyint(1) NOT NULL,
`InheritDomain` tinyint(1) NOT NULL,
`InheritIcon` tinyint(1) NOT NULL,
`InheritPanel` tinyint(1) NOT NULL,
`InheritPassword` tinyint(1) NOT NULL,
`InheritPort` tinyint(1) NOT NULL,
`InheritProtocol` tinyint(1) NOT NULL,
`InheritPuttySession` tinyint(1) NOT NULL,
`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,
`InheritSoundQuality` tinyint(1) NOT NULL,
`InheritRedirectAudioCapture` tinyint(1) NOT NULL,
`InheritResolution` tinyint(1) NOT NULL,
`InheritUseConsoleSession` tinyint(1) NOT NULL,
`InheritUseCredSsp` tinyint(1) NOT NULL,
`InheritRenderingEngine` tinyint(1) NOT NULL,
`InheritICAEncryptionStrength` tinyint(1) NOT NULL,
`InheritRDPAuthenticationLevel` tinyint(1) NOT NULL,
`InheritRDPMinutesToIdleTimeout` tinyint(1) NOT NULL,
`InheritRDPAlertIdleTimeout` tinyint(1) NOT NULL,
`InheritUsername` tinyint(1) NOT NULL,
`InheritPreExtApp` tinyint(1) NOT NULL,
`InheritPostExtApp` tinyint(1) NOT NULL,
`InheritMacAddress` tinyint(1) NOT NULL,
`InheritUserField` tinyint(1) NOT NULL,
`InheritExtApp` tinyint(1) NOT NULL,
`InheritVNCCompression` tinyint(1) NOT NULL,
`InheritVNCEncoding` tinyint(1) NOT NULL,
`InheritVNCAuthMode` tinyint(1) NOT NULL,
`InheritVNCProxyType` tinyint(1) NOT NULL,
`InheritVNCProxyIP` tinyint(1) NOT NULL,
`InheritVNCProxyPort` tinyint(1) NOT NULL,
`InheritVNCProxyUsername` tinyint(1) NOT NULL,
`InheritVNCProxyPassword` tinyint(1) NOT NULL,
`InheritVNCColors` tinyint(1) NOT NULL,
`InheritVNCSmartSizeMode` tinyint(1) NOT NULL,
`InheritVNCViewOnly` tinyint(1) NOT NULL,
`InheritRDGatewayUsageMethod` tinyint(1) NOT NULL,
`InheritRDGatewayHostname` tinyint(1) NOT NULL,
`InheritRDGatewayUseConnectionCredentials` tinyint(1) NOT NULL,
`InheritRDGatewayUsername` tinyint(1) NOT NULL,
`InheritRDGatewayPassword` tinyint(1) NOT NULL,
`InheritRDGatewayDomain` tinyint(1) NOT NULL,
`LoadBalanceInfo` varchar(1024) DEFAULT NULL,
`AutomaticResize` tinyint(1) NOT NULL DEFAULT 1,
`InheritLoadBalanceInfo` tinyint(1) NOT NULL DEFAULT 0,
`InheritAutomaticResize` tinyint(1) NOT NULL DEFAULT 0,
`RedirectClipboard` tinyint(1) NOT NULL DEFAULT 0,
`InheritRedirectClipboard` tinyint(1) NOT NULL DEFAULT 0,
PRIMARY KEY (`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 */;

View File

@@ -0,0 +1,69 @@
***************
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 your `user.config <https://github.com/mRemoteNG/mRemoteNG/wiki/User-settings-file>`_ file, see https://support.microsoft.com/en-us/kb/956762
Crash Information
=================
- Provide the Stack Trace from the crash prompt or from the Windows Application Event Log `example <https://blogs.msdn.microsoft.com/cobold/2010/03/01/collecting-crash-dumps/>`_)
- Check `C:\Users\All Users\Microsoft\Windows\WER\Report*` folders for any reports related to mRemoteNG
- Check `%LOCALAPPDATA%\CrashDumps <https://msdn.microsoft.com/en-us/library/windows/desktop/bb787181(v=vs.85).aspx>`_ for any mRemoteNG.exe.*.dmp files
- Attach the Error Reports, Dumps and mRemoteNG.log to a new `Issue <https://github.com/mRemoteNG/mRemoteNG/issues>`_
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`.

View File

@@ -0,0 +1,21 @@
##############
User Interface
##############
.. figure:: /images/user_interface_overview.png
.. toctree::
:maxdepth: 1
user_interface/main_window.rst
user_interface/panels.rst
user_interface/menus.rst
user_interface/connections.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

View File

@@ -0,0 +1,147 @@
***********
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 already created connection if you want to follow some sort of template of a 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.
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)

View File

@@ -0,0 +1,198 @@
.. _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.
Variable Examples
=================
+-------------------+----------------+------------------------+
| Arguments | User Field | Result |
+===================+================+========================+
| %USERFIELD% | "Example" Text | |
+-------------------+----------------+------------------------+
| %-USERFIELD% | "Example" Text | |
+-------------------+----------------+------------------------+
| %!USERFIELD% | "Example" Text | |
+-------------------+----------------+------------------------+
| ^%USERFIELD^% | "Example" Text | |
+-------------------+----------------+------------------------+
| ^^%USERFIELD^^% | "Example" Text | |
+-------------------+----------------+------------------------+
| -d "%USERFIELD%" | c:\\Example\\ | |
+-------------------+----------------+------------------------+
| -d "%-USERFIELD%" | c:\\Example\\ | |
+-------------------+----------------+------------------------+
| -d "%USERFIELD%" | Left & Right | |
+-------------------+----------------+------------------------+
| -d "%!USERFIELD%" | Left & Right | |
+-------------------+----------------+------------------------+
| %WINDIR% | N/A | |
+-------------------+----------------+------------------------+
| \\%WINDIR\\% | N/A | |
+-------------------+----------------+------------------------+
| \\^%WINDIR\\^% | N/A | |
+-------------------+----------------+------------------------+
| \\%WINDIR\\% | N/A | |
+-------------------+----------------+------------------------+

View File

@@ -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

View File

@@ -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

View File

@@ -0,0 +1,126 @@
*****
Menus
*****
.. figure:: /images/menus_main_menu.png
In this section we are going to explain the menus located in mRemoteNG. The above screenshot shows the main menu with colors.
- **Red** - Anchor to move menu around the interface
- **Green** - The menu items
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`)
* - Components Check
- Show installed components requirements test
* - 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)

View File

@@ -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)

View File

@@ -0,0 +1,242 @@
*******
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
* - Check proper installation of components at startup
- Off
- Opens the panel for Components Check on every startup
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
-

View File

@@ -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.

View File

@@ -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.

View File

@@ -0,0 +1,26 @@
*************
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
==================
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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -1,4 +1,4 @@
using System.Reflection;
using System.Reflection;
using System.Resources;
using System.Runtime.InteropServices;
@@ -11,9 +11,9 @@ using System.Runtime.InteropServices;
[assembly: AssemblyTitle("mRemoteNG")]
[assembly: AssemblyDescription("Multi-protocol remote connections manager")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyCompany("The mRemoteNG Team")]
[assembly: AssemblyProduct("mRemoteNG")]
[assembly: AssemblyCopyright("Copyright © 2019 mRemoteNG Dev Team; 2010-2013 Riley McArdle; 2007-2009 Felix Deimel")]
[assembly: AssemblyCopyright("2019 mRemoteNG Dev Team, 2010-2013 Riley McArdle, 2007-2009 Felix Deimel")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]

Some files were not shown because too many files have changed in this diff Show More