myrtille

A native HTML4 / HTML5 Remote Desktop Protocol and SSH client

APACHE-2.0 License

Stars
1.8K

Bot releases are hidden (Show)

myrtille - FreeRDP build as library, embedded nodejs modules Latest Release

Published by cedrozor over 3 years ago

  • FreeRDP is now built as a dll instead of an executable for better modularity and to reduce the risk of false positive detection of wfreerdp.exe by some antiviruses (mostly cloud based)
  • embedded interact.js and simple-keyboard (nodejs modules) into myrtille in order to remove dependencies on external CDNs (ans thus allow myrtille to be used standalone and not subject to external changes)
  • fixed a problem with the creation of the self-signed certificate that prevented Myrtille from installing correctly on Windows Server 2012 R2 (thanks camjcorley)
  • a session can now be shared directly by url (simply copy & paste the page url then share it), with owner rights (web.config, can be disabled for anti-spoofing protection)
  • region updates are now dropped by the gateway if the client latency is above the image cache duration (1 sec); only fullscreen updates are sent
  • display updates can now be distributed across concurrent websockets (round robin load balancing) to reduce lag in case of network issues (config.js, default 5 websockets: 1 up 4 down). CAUTION! IIS on Windows client OSes (7, 8, 10) is limited to 10 simultaneous connections only - across all http sessions - and will hang after that! use Windows Server editions for production environments
  • the mouse move sampling rate is now decreased automatically in case of low bandwidth (default 100%, config.js)
  • refactoring
myrtille - Fixed installer hang, minor fixes

Published by cedrozor almost 4 years ago

  • fixed an issue where the installer hangs due to enabling Windows features (via PowerShell) that prompt the user to restart or not while there is no UI to confirm
  • fixed a regression when hiding the toolbar from web.config
  • fixed an issue into FreeRDP with a special copy&paste logic into MS Office applications which disconnected the session after a special paste when pressing the enter key
  • the protocol scheme when sharing a session or creating a session URL is now determined by the HTTP_X_FORWARDED_PROTO http header if available, instead of the current http request, so that https is correctly detected after a redirection by a reverse proxy or a load-balancer
  • now rolling over display updates and audio block indexes if they reach max int value
  • fixed a minor regression which prevented myrtille to work on old IE browsers
myrtille - Multi-Languages On-Screen Keyboard, SSE support, various fixes and improvements

Published by cedrozor about 4 years ago

  • added a virtual on-screen keyboard (multi-languages)
  • popups are now draggable
  • showing the toolbar no longer shifts the display down
  • the rendering quality can now tweaked from the toolbar (lower quality = lower bandwidth usage), in addition to the default value defined in config.js
  • display updates are now consolidated instead of dropped when the available bandwidth gets low (config.js)
  • websocket can now be configured to handle both user inputs and display updates on the same instance (duplex, default) or use separate instances (dual) [experimental]
  • added support of event source (SSE) as an alternative to long-polling (requires HTML5 and not compatible with old IE/Edge browsers) [experimental]
  • it's now possible to switch automatically from websocket to event source when the latency gets high (the websocket protocol may be filtered or throttled by some network proxies) (config.js) [experimental]
  • disabled the warning messages when the latency gets high (config.js) or in case of xhr timeout (xmlhttp.js)
  • latency is now updated on a 1 sec timer, even if the user does nothing
  • fixed random freezes while requesting fullscreen updates
  • the disconnect command is now given priority in xhr mode
  • long-polling is now an http handler
  • messages are serialized in JSON instead of raw text
  • fixed an issue with messages containing the ";" character
  • fixed an issue with file transfer when using a domain (thanks camjcorley)
  • fixed an issue with file transfer and user profiles containing unicode characters
  • fixed an issue with the tab key in SSH mode (this also fixes shell autocompletion)
  • fixed an issue with the change password popup (enterprise mode / local admin), which wasn't displayed correctly
  • if no domain is defined into the domain input field, myrtille now tries to retrieve the domain from the username (using the standard UPN syntax: DOMAIN\username or [email protected])
  • updated the myrtille project url
  • refactoring
myrtille - Optimized bandwidth usage

Published by cedrozor over 4 years ago

  • changed the default display resize mode from scale to none (config.js); this eliminates a loss of display sharpness when the aspect ratio is not preserved; reconnect is not supported by Windows Server 2019 (see documentation)
  • if using scale on resize, the aspect ratio is now preserved by default (config.js)
  • lowered bandwidth usage: the default display quality is now JPEG 75% (lossy) instead of PNG (lossless) (config.js); this significantly reduces the size of display updates when using graphics applications and JPEG is generated faster
  • lowered bandwidth usage: the adaptive fullscreen update is now disabled (config.js); it's not needed most of the time (unless if the display quality is poor); it's role is to restore the display sharpness and fix potential display issues when the user becomes inactive
  • lowered bandwidth usage: the default audio compression is now MP3 128 kbps instead of WAV 1411 kbps (config.js)
  • pre-requisites change; myrtille now requires Windows 8.1 or Windows Server 2012 R2 or greater
  • the installer is now shipped without bootstraper (Setup.exe); open the myrtille msi file directly instead
  • the installer now installs the myrtille pre-requisites automatically (roles and features); the related powershell scripts can also be run manually from outside the installer, if needed
  • the installer now supports upgrading (thanks to Orca, which allows finer control over msi files), removing the need to uninstall a previous version first
  • myrtille is now available as a docker image (see DOCUMENTATION.MD)
  • resynced FreeRDP (among many things, fixes some issues related to the clipboard and audio)
  • fixed session disconnect occuring under some circumstances on clipboard paste
  • fixed an issue where only the first letter of the clipboard content was displayed on clipboard paste
  • simplified hosts management (no domain or enterprise mode required); default login: admin/admin (changed upon first login)
  • updated the enterprise mode so that a member of "EnterpriseAdminGroup" can connect an host whatever the allowed groups or users defined on it (thanks dgcom)
  • fixed an issue with the enterprise mode, which prompted to change the password due to expiration whereas the expiration date was just not set (thanks dgcom)
  • security protocol is now configurable for RDP over VM bus
  • user domain is now configurable whatever the protocol and displayed into the toolbar, if defined
  • updated comments to drain disconnected sessions when using a connection broker in HA mode (myrtille services config)
  • starting with Windows Server 2019 (or Windows 10 release 1903), RDS introduces changes with NLA and the way disconnected sessions are handled (see DOCUMENTATION.MD); myrtille now default to scale instead of reconnect
  • if scaling the display on browser resize, you can choose whether to preserve or not the aspect ratio (config.js, default = don't keep)
  • various minor fixes
myrtille - Disabled application pool recycling, some fixes

Published by cedrozor almost 5 years ago

  • the automatic application pool recycling is now disabled by default, and is not applicable if using the enterprise mode (this prevents enterprise sessions to be dropped unexpectedly!)
  • if recycling is enabled, a new http session is now acquired on disconnect; this prevents a subsequent login failure (due to the old http session being invalid) without any error message

(extracted from changelog)

2019-11-19 Version 2.7.0 (stable)
* HOTFIX * fixed a critical issue with FreeRDP (exit code 131085) when using an RD license server configured in "per device" mode, past the 120 days of the RDS grace period
updated readme and documentation about the RDS role
the browser "heartbeat" (used to detect if the browser window/tab was closed) is now on a different timer than the periodical fullscreen update (config.js; default 10 secs)
disabled the alt key capture because it may interfere with the browser alt+key menu
keys following the alt+gr modifier are now sent as scancode instead of unicode
ability to configure the login url (by default the myrtille login page; web.config)
updated the installer for a better display of prerequisites
added the option into the installer to choose either to pass the http session ID into url or store it into the default "ASP.NET_SessionId" cookie (the former allows multiple connections/tabs or iframes)
the connection API is now out of beta and installed by default (full auto-connect/start program from url syntax is still available)
the scale feature now keeps the aspect ratio on browser resize
fixed a display refresh issue under chrome + https if the clipboard is empty
increased the image cache duration (1 sec -> 3 secs)
halved the input buffer duration (based on the roundtrip duration)
updated display tweaking
improved cleanup on session disconnect into wfreerdp to prevent memory leaks with GDI+
improved cleanup on session disconnect into Myrtille to prevent memory leaks on the application pool
removed any unnecessary memory allocation and released any disposable object on the application pool
the application pool is now automatically recycled when there is no active remote session (configurable into web.config)
fixed an issue related to the disconnect callback (which was sometimes not received by the gateway due a WCF deadlock)
scripts and styles now have computed hashes to prevent browser caching (in case content is changed); they could also be minified, as needed (see comments in BundleConfig.cs)
re-enabled multiple connections/tabs (web.config, read comments about security)
the address of the connected server is now displayed into the window/tab title, if not using a connection API (thanks Zak)
fixed invalid mouse cursor update under certain circumstances (thanks joburg)
fixed potential delayed wfreerdp exit in case of session disconnect

2019-09-02 Version 2.6.0 (not released-beta)
resynced FreeRDP (2.0.0-dev5)
added a REST API to disconnect a given remote session or all of them (on a gateway)
fixed an issue with some network or domain configuration that could delay the start of a connection
support of Connection Broker database, in High Availability mode
support of RDS API
configurable drain of disconnected sessions
seamless clipboard synchronization, using the async clipboard API (requires Chrome and HTTPS) with fallback to standard web API (for other browsers and HTTP)
now hiding iframe content on browser resize
various mockup improvements
get focus back on main window after a popup is closed
screenshot is now returned as HttpResponseMessage, byte array content
clipboard virtual channel comments and check
the self-signed certificate (installed by myrtille on install) is now issued with the machine FQDN to prevent ERR_CERT_AUTHORITY_INVALID (Subject Alternative Name Missing) in recent Chrome releases
now using a web worker for the periodical fullscreen updates to keep them going even if the main thread is paused (due to inactive window/tab, after focus lost for example)
some refactoring

myrtille - Audio support, REST APIs, various fixes and improvements

Published by cedrozor over 5 years ago

2019-09-23 Version 2.5.5 (patched)

  • HOTFIX fixed a critical issue with FreeRDP (exit code 131085) when using an RD license server configured in "per device" mode, past the 120 days of the RDS grace period
  • updated readme and documentation about the RDS role

2019-06-01 Version 2.5.5 (stable)

  • added audio support (MP3 (default)/WAV, config.js)
  • (beta) added a REST API to prevent the connection details to be passed into the querystring; a connection identifier (&cid=) is passed instead and the connection details are retrieved by the myrtille gateway using the REST API
  • (beta) added a REST API to share a remote session and manage the active guest(s)
  • (beta) added a REST API to take screenshots of the remote session (either automatically (periodically), or manually)
  • added the ability to hide the toolbar (web.config, you can hide it if using your own UI)
  • added the ability to disable connection from login screen or url (web.config, you can disable it if using a connection API)
  • fixed a regression into the buffer processing
  • fixed a mouse left button bug which happened sometimes in HTML4
  • fixed a display glitch with too many divs displayed at once in HTML4
  • fixed a keyboard handling issue with Ubuntu in RDP over VM bus (Hyper-V) mode
  • fixed some issues related to session sharing
  • improved the ability to run myrtille into an iframe (like for multiple connections/tabs, requires "cookieless=useURI" mode into web.config): multiple iframes on a same page, key combination to switch from one iframe to another (shift + alt), focus management, etc.; cross domain restriction can be avoided by having all iframes on the same domain as the main page
  • improved the scale and reconnect features on browser resize; they can now be toggled from the toolbar (instead of using a web.config key)
  • toolbar state is now saved into a cookie to persist across page reload(s)
  • stat, debug and compatibility modes are now handled client side, saved into a cookie and always available; they are no longer bound to the remote session (so that, if the remote session is shared, guest(s) can now use them independently from the owner!)
  • a remote session now supports mixed HTML4 and HTML5 client(s)
  • fixed some issues in compatibility (HTML4) mode (long-polling); for example, missing carriage returns and line feeds into SSH terminal and remote clipboard popup
  • removed the display websocket buffer (as the connection remains open, it was not really necessary nor did it provide satisfactory results)
myrtille - Reconnect on resize, improved swipe, Windows Server 2008 fixes, etc.

Published by cedrozor over 5 years ago

  • the remote session display is now automatically scaled to the browser size on session start
  • NEW! as an alternative to scaling, the remote session can be reconnected on browser resize to preserve the aspect ratio (web.config, disable "ScaleOnResize")
  • fixed a race condition in which the browser sent certain configuration parameters before the connection was effective
  • improved the up/down swipe gesture management (should be smoother now)
  • more FreeRDP params are now configurable (bin/Myrtille.Services.exe.config)
  • disabled FreeRDP glyph cache to fix display issues on Windows Server 2008 R2 (also fixes issues with chinese characters)
  • fixed unexpected disconnects on Windows Server 2008 R2 (https://github.com/FreeRDP/FreeRDP/issues/3595)
  • resynced FreeRDP (2.0.0-RC4)
myrtille - WCF throttling, direct print, swipe emulation

Published by cedrozor almost 6 years ago

  • HOTFIX! increased the WCF channels limits; this fixes an issue where some connections failed under the load
  • added WCF traces (disabled by default; see comments in configs)
  • replaced the remote session auto-incremented counter (as identifier) by a guid; this ensures an unique identifier even if Myrtille.Services (or MyrtilleAppPool before version 2.2.0) is restarted
  • the Myrtille.PDF virtual printer now opens the browser print dialog, removing the need to install a PDF viewer on the end user machine and providing direct access to local (or network) printers (not working with the built-in Firefox PDF.js, option to open/download the pdf instead)
  • added swipe up/down gesture management for touchscreen devices (useful to scroll the display in applications that need it; can be disabled into the toolbar) * experimental feature! * not working on IE/Edge (see below)
  • emulating mouse events for IE/Edge on touchscreen devices (touchscreen is disabled by default into IE/Edge and use pointer events instead of touch when enabled into about:flags)
  • for easier auto-connect / start program from url management, you can generate a password hash from url (thanks jol64). syntax: https://server/myrtille/GetHash.aspx?password=password
  • resynced FreeRDP (2.0.0 RC3)
myrtille - Application pool recycling, SSH non-default port (22)

Published by cedrozor almost 6 years ago

  • disabled the myrtille application pool recycling
  • moved the remote session counter (auto-increment) to the service layer
  • myrtille pdf printer is now disabled by default in web.config
  • fixed SSH on non-default port (thanks pk910)
myrtille - ipv6 connection

Published by cedrozor about 6 years ago

fixed an ipv6 connection issue (that may occurred when checking the link-local ipv6 address)

myrtille - Hyper-V VM Enhanced Mode, toolbar connection info

Published by cedrozor about 6 years ago

  • Resynced FreeRDP (2.0.0-dev4)
  • Hyper-V VM direct connection is now labelled "RDP over VM bus" into the login screen as a distinct host type
  • login form inputs are shown/hidden depending of the selected host type
  • added support of enhanced mode for Hyper-V VM direct connection (faster rendering and remote clipboard/printer are available) (thanks jol64)
  • added the name of the connected user into the toolbar (in addition to the connected server) when it's possible to retrieve it (standard rdp connection and non interactive logon)
  • updated documentation
myrtille - Hyper-V VM connection, bug fixes

Published by cedrozor about 6 years ago

  • support of Hyper-V VM direct connection (extension of the RDP protocol; doesn't require remote desktop access to be enabled on the guest VM) (thanks jol64)
  • updated documentation for usage and limitations of the Hyper-V connection
  • fixed a potential inversion of arrows and numbers keys (whatever the numlock status)
  • fixed a path issue for the myrtille PDF virtual printer (in debug build or if the printer service runs under a custom account)
  • fixed the files popup which always downloaded the first document, regardless of the selected one (regression from version 1.9.0)
myrtille - SSH support, websocket buffer, session sharing (read-only), etc.

Published by cedrozor about 6 years ago

  • Resynced FreeRDP (FQDN hotfix, introduced into myrtille 1.7.0, is still active... wfreerdp need some love :/)
  • the RDP security protocol (NLA, TLS, RDP, etc.) can now be selected from the login screen (RDP for compatibility and interactive logon, or in case of NLA issue; see https://github.com/cedrozor/myrtille/issues/116)
  • SSH terminal support (thanks Paul)
  • removed any RDP references on the gateway to make it fully protocol agnostic (support of any remote access protocol)
  • file transfer and print download can now be disabled from web config (along with remote clipboard and session sharing)
  • when sharing a remote session, guests now can't interact with it (they are just spectators)
  • included prompt for user credentials in enterprise mode
  • fixed login failure when passing domain in enterprise mode if IP is used instead of FQDN
  • fixed some css in enterprise mode (under Firefox)
  • websockets are now buffered for optimal performance on high latency / low bandwidth networks (thanks SieldP)
  • re-enabled stat button, which could help to diagnose connection issues (shows latency, bandwidth usage, etc.)
  • added a small icon on top of the screen to toggle the toolbar while connected (thanks windylea)
  • improved error messages in case of connection failure
  • some refactoring
myrtille - Hotfix, latency mitigation

Published by cedrozor over 6 years ago

  • reinstated the hotfix removed into version 1.9.0, forcing IP connection when using FQDN; fact is, some people still have issues even with openssl 1.1.x (unable to reproduce, may depend on a specific configuration). more details here: https://github.com/FreeRDP/FreeRDP/issues/4525#issuecomment-380635647
  • improved performance mitigation in case of high latency network
  • the installer no longer requires administrator rights by default (but may still needs elevation during the installation, depending on the installed component(s))
  • resynced FreeRDP (version 2.0-RC2-dev3), now using the openssl 1.1.x architecture. Should fix any previously reported FQDN and NLA issues
  • added a pdf virtual printer; any document printed with the "Myrtille PDF" printer is downloaded to the browser and can be opened/saved/printed from there
  • pdf content is now downloaded into an hidden iframe, instead of a new tab, to prevent popup blockers to block it
  • added a client ip tracking option to prevent unauthorized accesses. configurable into web.config (thanks bigpjo)
  • cookieless sessions are now disabled by default. This lowers the risk of session stealing (by simply copying the url) but also removes the ability to have multiple connections/tabs. can still be enabled into web.config, but use at your own risk! (thanks bigpjo)
  • strengthened security to prevent session fixation attack or spoofing if cookieless sessions are enabled
  • the remote session can now be shared with a new toolbar button that generates a one time usage url. can be disabled into web.config. (thanks bigpjo)
  • a shared session now can't be disconnected by a guest. (thanks bigpjo)
  • security fixes with enterprise mode to ensure that shared sessions do not give access to owner hosts. (thanks bigpjo)
  • added an option to enterprise mode to allow hosts to be restricted to specific users (by username). (thanks bigpjo)
  • enterprise mode now have a better reporting of login failures and includes a change password dialog if the user is required to change it. (thanks bigpjo)
  • fixed issue with enterprise host create session including invalid /popup/ path in sessionURL. (thanks bigpjo)
  • the remote session is now disconnected after the browser window/tab is closed, or connection is lost, to prevent it from being left open server side. configurable into web.config (thanks bigpjo)
  • the database connection string (into bin/Myrtille.Services.exe.config) can now be configured to specify the SQLCE file location or use a standard SQL server (useful for a centralized database, with myrtille clustered). (thanks bigpjo)
  • added MFA and enterprise mode configuration steps into the installer
  • installer logs are now created into the install log folder (log/Myrtille.Setup.log)
myrtille - Fixed CertEnroll interop issue, info connect failure/disconnect/logout

Published by cedrozor over 6 years ago

  • enterprise mode data folder is now created by the installer (thanks hac)
  • fixed installer error 1001 regarding CERTENROLLLib.CX509PrivateKey
  • updated openssl to version 1.0.2o
  • added an error message if the remote connection fails or is closed unexpectedly
myrtille - FreeRDP NLA hotfix, MFA and Enterprise mode

Published by cedrozor over 6 years ago

  • resynced FreeRDP with master repository (fixes the NLA issue introduced with Windows updates KB4088776, KB4088787, KB4088876, KB4088875)
  • added support for MFA (one time password and one time host session url) (thanks Paul Oliver). Refer to documentation for activation
  • added enterprise mode (AD pre-authentication and hosts list management) (thanks Paul Oliver). Refer to documentation for activation
  • in enterprise mode, the security mode for the host connection is now configurable (NLA, TLS, RDP, etc.)
  • most FreeRDP connection params are now configurable (myrtille\bin\Myrtille.Services.exe.config)
  • the remote clipboard can now be disabled, for enhanced security (myrtille\Web.config)
  • replaced client redirects by server redirects (cleaner and more friendly to proxies)
  • added more connection details to myrtille logs
  • resynced FreeRDP with master repository; FreeRDP 2.0-RC2 milestone: https://github.com/FreeRDP/FreeRDP/milestone/8
  • FreeRDP HOTFIX: connection using FQDN is broken (either direct connection or through a connection broker redirection), using target IP instead
  • FreeRDP HOTFIX: fixed client IP resolution when using an ipv6 connection
  • updated the connection tooltip (ipv6 addresses require brackets, i.e. [::1])
  • changed the right-click button mechanism to a toggle
Package Rankings
Top 8.17% on Proxy.golang.org