{{ :en:blog:projects:utilities:pyrdpconnect:documentation:logo.png?nolink&400 |}} ====== 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|louis@laswitchtech.com]] | ^ Compatible | macOS, Debian, Raspberry Pi OS | ^ Download | [[https://github.com/LaswitchTech/PyRDPConnect/archive/refs/heads/dev.zip| Download]] | ^ Bug Tracker | [[https://github.com/LaswitchTech/PyRDPConnect/issues| Issues]] | ^ Source | [[https://github.com/LaswitchTech/PyRDPConnect| Source]] | ^ Donation | [[https://github.com/sponsors/LaswitchTech | Donation]] | ===== Features ===== - **Cross-Platform Compatibility**: PyRDPConnect is compatible with both macOS and Linux, with specific adjustments made to ensure seamless operation on both operating systems. - **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. - **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. - **Bundled FreeRDP**: PyRDPConnect includes the ability to package the correct version of FreeRDP within the application, simplifying deployment and reducing dependency issues. - **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. - **Resource Management**: The application efficiently manages resources, including styles, icons, and other assets, ensuring they are bundled correctly in the final application package. - **Connection Management**: The interface includes a progress dialog to indicate the status of connection attempts, with options to cancel the attempt if necessary. - **Logging and Debugging**: The application includes logging features for easier debugging and tracking of issues during the connection process. ===== Screenshots ===== {{gallery>:en:blog:projects:utilities:pyrdpconnect:screenshots}} ===== License ===== This software is distributed under the [[https://raw.githubusercontent.com/LaswitchTech/PyRDPConnect/refs/heads/dev/LICENSE|MIT]] license. ===== Third-Party Licenses ===== This project uses FreeRDP, which is licensed under the [[https://raw.githubusercontent.com/LaswitchTech/PyRDPConnect/refs/heads/dev/THIRD_PARTY_LICENSES|Apache License 2.0]] license. ===== Security ===== Please disclose any vulnerabilities found responsibly – report security issues to the maintainers privately. See [[https://github.com/LaswitchTech/PyRDPConnect/blob/dev/SECURITY.md|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 ==== - **Fork the Repository**: Create a fork of the repository on GitHub. - **Create a New Branch**: For new features or bug fixes, create a new branch in your fork. - **Submit a Pull Request**: Once your changes are ready, submit a pull request to the main repository. ===== Acknowledgments ===== - **FreeRDP**: For providing a powerful and flexible open-source RDP client. - **PyQt5**: For making it easy to create a modern and responsive UI in Python. - **PyInstaller**: For simplifying the process of packaging Python applications for distribution. ===== Wait, where is the documentation? ===== Review the [[en:blog:projects:utilities:pyrdpconnect:documentation:index|]]. ===== To Do List ===== - Need to add a way to deploy pre-configured ''--config-file'' in ''setup.sh'' - Need to add support for VPN (openVPN) including a status icon - Add the ability to customize the plymouth theme with the logo - Add create a custom openbox theme - 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 - Install FreeRDP from Repository instead - 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. - Move all dialogues into the main dialogues for consistency across multiple OSes - Update process before stable release => Execute ''git pull'' - Update process after stable release => Verify VERSION, Download latest release, unpack, execute ''setup.sh'' - Add 2 installation modes in ''setup.sh''. Install as an application (default) and install as a thinclient ''--thinclient''. - Add support for DEBUGGING - Add support for remote apps ===== Tags ===== {{tag>"python" "freerdp" "client" "thinclient" "rdp" "remote desktop" "rds" "linux" "macos"}} ~~socialite:icon twitter facebook linkedin reddit telegram email ~~ ~~LINKBACK~~ ~~DISCUSSION~~