PyRDPConnect (in Development)

PyRDPConnect is a cross-platform Python application designed to provide a sleek, modern, and efficient front-end interface for connecting to Remote Desktop (RDP) sessions. Built with PyQt5, the application supports both macOS and Linux, offering an intuitive and user-friendly experience for users who need to manage RDP connections across multiple environments.

Author Louis Ouellet
Email louis@laswitchtech.com
Compatible macOS, Debian, Raspberry Pi OS
Download Download
Bug Tracker Issues
Source Source
Donation Donation

Features

  1. Cross-Platform Compatibility: PyRDPConnect is compatible with both macOS and Linux, with specific adjustments made to ensure seamless operation on both operating systems.
  2. Customizable Interface: The application uses a customizable UI that allows users to define their preferred settings, such as server address, resolution, multi-monitor support, sound redirection, and more.
  3. Auto-Detection of FreeRDP Version: The application automatically detects the version of FreeRDP installed on the system and adjusts the command syntax accordingly, ensuring compatibility with both older and newer versions of FreeRDP.
  4. Bundled FreeRDP: PyRDPConnect includes the ability to package the correct version of FreeRDP within the application, simplifying deployment and reducing dependency issues.
  5. Certificate Handling: The application handles SSL certificates during connection attempts, providing users with the option to accept or reject untrusted certificates through a dialog box.
  6. Resource Management: The application efficiently manages resources, including styles, icons, and other assets, ensuring they are bundled correctly in the final application package.
  7. Connection Management: The interface includes a progress dialog to indicate the status of connection attempts, with options to cancel the attempt if necessary.
  8. Logging and Debugging: The application includes logging features for easier debugging and tracking of issues during the connection process.

Screenshots

License

This software is distributed under the MIT license.

Third-Party Licenses

This project uses FreeRDP, which is licensed under the Apache License 2.0 license.

Security

Please disclose any vulnerabilities found responsibly – report security issues to the maintainers privately. See SECURITY.md for more information.

Contributing

Contributions to PyRDPConnect are welcome! If you have ideas for new features or have found bugs, please open an issue or submit a pull request.

How to Contribute

  1. Fork the Repository: Create a fork of the repository on GitHub.
  2. Create a New Branch: For new features or bug fixes, create a new branch in your fork.
  3. Submit a Pull Request: Once your changes are ready, submit a pull request to the main repository.

Acknowledgments

  1. FreeRDP: For providing a powerful and flexible open-source RDP client.
  2. PyQt5: For making it easy to create a modern and responsive UI in Python.
  3. PyInstaller: For simplifying the process of packaging Python applications for distribution.

Wait, where is the documentation?

Review the Usage Guide.

To Do List

  1. Need to add a way to deploy pre-configured –config-file in setup.sh
  2. Need to add support for VPN (openVPN) including a status icon
  3. Add the ability to customize the plymouth theme with the logo
  4. Add create a custom openbox theme
  5. Remove support for FreeRDP Version 2 and Only support FreeRDP Version 3 (Due to lack of support for USB redirections and WebCam redirection), more like support for version 2 only offer limited features
  6. Install FreeRDP from Repository instead
  7. Add Profiles, if only one is configured it should be launched by default. A profile should be able to be set a the default profile.
  8. Move all dialogues into the main dialogues for consistency across multiple OSes
  9. Update process before stable release ⇒ Execute git pull
  10. Update process after stable release ⇒ Verify VERSION, Download latest release, unpack, execute setup.sh
  11. Add 2 installation modes in setup.sh. Install as an application (default) and install as a thinclient –thinclient.
  12. Add support for DEBUGGING
  13. Add support for remote apps

Tags

Comment

Enter your comment:
G K E R Y