EasyConnect
Tabbed remote desktop application with a Chrome-like UI.
Install / Use
/learn @lstratman/EasyConnectREADME
This is a Windows tabbed remote desktop application whose UI was designed to resemble Chrome's. Currently it supports Microsoft's Remote Desktop Protocol (RDP), Secure Shell (SSH), Telnet, PowerShell, and VNC but has a plugin architecture designed to enable third-party support for other protocols such as Citrix, etc.
<a href="http://lstratman.github.io/EasyConnect/images/screenshots/bookmarks.png" target="_blank"><img src="http://lstratman.github.io/EasyConnect/images/screenshots/thumbnails/bookmarks.png"/></a> <a href="http://lstratman.github.io/EasyConnect/images/screenshots/rdp.png" target="_blank"><img src="http://lstratman.github.io/EasyConnect/images/screenshots/thumbnails/rdp.png"/></a> <a href="http://lstratman.github.io/EasyConnect/images/screenshots/vnc.png" target="_blank"><img src="http://lstratman.github.io/EasyConnect/images/screenshots/thumbnails/vnc.png"/></a> <a href="http://lstratman.github.io/EasyConnect/images/screenshots/ssh.png" target="_blank"><img src="http://lstratman.github.io/EasyConnect/images/screenshots/thumbnails/ssh.png"/></a> <a href="http://lstratman.github.io/EasyConnect/images/screenshots/powershell.png" target="_blank"><img src="http://lstratman.github.io/EasyConnect/images/screenshots/thumbnails/powershell.png"/></a> <a href="http://lstratman.github.io/EasyConnect/images/screenshots/options.png" target="_blank"><img src="http://lstratman.github.io/EasyConnect/images/screenshots/thumbnails/options.png"/></a> <a href="http://lstratman.github.io/EasyConnect/images/screenshots/history.png" target="_blank"><img src="http://lstratman.github.io/EasyConnect/images/screenshots/thumbnails/history.png"/></a>
Installation Options
- Release installer
- CI installer
- Microsoft Store
- WinGet:
winget install easyconnect - Chocolatey:
choco install easyconnect
Implementing Protocol Plugins
For an example of implementing a protocol plugin, you can look at the EasyConnect.Protocols.Rdp project. You'll want to reference EasyConnect.Common and EasyConnect.Protocols and then implement classes that inherit from the following base classes:
BaseConnection- This holds the configuration for a connection using your protocol. Make sure to implement your ownISerializableconstructor and overrideGetObjectData().BaseConnectionForm<T>- This is the form that contains the actual UI controls and logic to create a connection using your protocol. The easiest thing to do is initially derive fromForm, design the window (bear in mind that it will be displayed as a child of aPanelcontrol with aBorderStyleofNone), and then change the base class toBaseConnectionForm<T>.IOptionsForm- This is the form that will allow the user to configure a connection using your protocol. LikeBaseConnectionForm<T>, this will be displayed as a child of aPanelcontrol with aBorderStyleofNone.BaseProtocol- This serves simply to aggregate the previous classes and provide some display data for your new protocol.
That's it! Just make sure that the assembly for your protocol is in the EasyConnect directory and it will be picked up and used automatically by the application. The protocol plugin architecture is still evolving, so if you find limitations to the API or want other things added to enable you to implement your protocol, please feel free to contact me or send me a pull request. I'm also happy to accept pull requests for your protocol projects to include them in the main application.
This project is licensed under the GPL
Related Skills
node-connect
339.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
339.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.8kCommit, push, and open a PR
