Projects

Installation Guide

2024/10/09 23:08

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

Setup as a Thin-Client

Here is how you can convert a Raspberry Pi or Debian into a thin-client using PyRDPConnect.

curl -s https://raw.githubusercontent.com/LaswitchTech/PyRDPConnect/refs/heads/dev/setup.sh -o setup.sh
bash setup.sh

Read more

2024/10/09 20:19

Writr

This template was converted from the WordPress theme Writr. It was voted for by DokuWiki users from a selection of 19 other WordPress themes to convert.

Description Bold, minimalist and modern
Author Louis Ouellet, Anika Henke
Email louis@laswitchtech.com
Last Update 2024-01-02
Compatible Jack Jackrum
Download Download
Bug Tracker Issues
Source Source
Donation Donation

Download and Install

Search and install the template using the Extension Manager. Refer to Template on how to install a template manually.

Features

  • Improve the general aesthetic for a more modern look and consistency
  • Personalize using template's configurations and template's style configrations
  • Support for Bootstrap Icons
  • Support for many DokuWiki Plugins (See list below)
  • A new toolbar is now available in the template configuration. Based on the original WordPress Theme Writr.
    • A new hook topbar is available to add content to the toolbar. Using the same formatting as topnav.
  • A new set of tooltips is now available in the template configuration.
    • If toggled, the template will replace the browser's tooltips for these new ones
  • Hide/Show Site-Tools based on user login. (CMS mode)
  • Set Logo per namespace
    • If toggled, the template will look for the nearest logo.png file it can find.
  • Set Logo's link per namespace
    • If toggled, the template will use the logo's namespace as the link
  • Set Site Title per namespace
    • If toggled, the template will use the nstitle hook to retrieve the title of the site. If none can be found then the dokuwiki title is used.
  • Set Site Tagline per namespace
    • If toggled, the template will use the nstagline hook to retrieve the tagline of the site. If none can be found then the dokuwiki tagline is used.

Screenshots

Sites using this template

Documentations

Plugins

Plugin Tested Themed Comments
Access Counter and Popularity Plugin Not yet fully supported. Seems like there is a lot to do on this plugin
ACL Manager
Add New Page Styled and added into the page tools
Advanced DokuWiki
Plain Auth
Avatar
Blockquote
Blog
Bloglinks Read below for more details and customizations of the links
Bureaucracy
Captcha
Cloud
Comment Syntax support
Configuration Manager
Structured Data
denyactions
Diagrams
Discussion Styled using the WordPress Theme Writr as reference
DW2pdf Set a more proper icon within the page tool
Extension Manager
folded
fontawesome
Gallery
GH
Hidepages
Icons
Include Read below for more details and customizations of the links
Info
Indexmenu Styled for the topnav page
Keyboard
Linkback
LogViewer
Move Some maintenance is required by the plugin author to fully support PHP8. You may see some PHP Warning if your server is configured to show them.
nspage
Pagelist
Prosemirror
Revert Manager
safefnrecode
Search Form
Socialite
sqlite
styling
svgEmbed
Tag
tagsections
Translation Styled and added into the page tools
Typography
Upgrade
User History Manager
User Manager
userpagecreate
Video Sharing Site
Wrap
yourip

Page Tools

Button Function
| AddNewPage Plugin
Built-in Backlinks
Built-in Back to Top
DW2PDF Plugin
Built-in Edit
Built-in Revisions
Built-in Subscriptions
Translation Plugin

Configuration

  • Show the title of the page tools
  • Show the title of the site tools
  • Show the title of the user tools
  • Should the site tools require login
  • Should the logo changes be by namespace

Plugins

For best results, update your configurations with the following:

  • plugin»bloglinks»prev_template = <span class="icon"></span><span class="title">@Projects@</span>
  • plugin»bloglinks»next_template = <span class="title">@Projects@</span><span class="icon"></span>

Additionally, you may add the class truncate to the <span class=“title truncate”> to truncate the page title. This will truncate the title to a single line that fits within the prev and next buttons.

Include

For best results, add the following configuration files: [WEBROOT]/conf/plugin_lang/include/en/lang.php

<?php
/**
 *
 * English language file
 * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
 *
 */
$lang['readmore']              = 'Read more';

[WEBROOT]/conf/plugin_lang/include/fr/lang.php

<?php
/**
 *
 * French language file
 * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
 *
 */
$lang['readmore']              = 'Lire la suite';

Customization

You can change the logo, favicon and apple touch icon the same way as for the dokuwiki template.

Namespace Logos can be added using the media library. To show a different logo in a namespace, just make sure to add the custom logo.png in the namespace. This feature is recursive.

This templates supports multiple levels of a navigation. For that to work you need to add a page called topnav and add a list of links to it. (No other content is supported.) The example in the screenshot uses this as the content for the topnav page:

  * [[:start|Home]]
  * [[wiki:DokuWiki]]
    * [[wiki:Syntax]]
  * [[:Sample Page]]

~~NOCACHE~~
Other sidebar content

The content of a standard sidebar as configured in Configuration Setting: sidebar will be added between the navigation and the tools list.

Note

I haven't tested a sidebar yet since the last various updates I made. I will check it out soon.

Include hooks

Include hooks allow you to add additional HTML or PHP to the template without modifying any of the template files themselves. This template supports the same include hooks as the dokuwiki template.

Colour Schemes

The original WordPress theme came with 6 different colour schemes. Those can easily be achieved by changing the __theme_color__ and __theme_color_alt__ values in your local style.ini to the following:

Colour scheme theme_color theme_color_alt
turquois #1abc9c #16a085
red #e74c3c #c0392b
purple #a162ba #8e44ad
grey #95a5a6 #7f8c8d
green #2ecc71 #27ae60
blue #3498db #2980b9

This should actually be done in the styling plugin over the admin interface. No need to go out of your way to edit style.ini.

Note

I will be moving this to themes and setup a custom theme so users can set these colors and other css properties not currently supported by the styling plugin.

Content width

The width of the content area can be adjusted with the __content_width__ variable in the style.ini. Since DokuWiki version 2015-08-10 “Detritus” you can do that more easily with the styling plugin over the admin interface.

This is currently limited to px size. Will try to add a full-width option for the template.

Development

Changelog

Planning

  • Add more fonts (suggestions?)
  • Add option to make the content full width
  • Add support for Starred Plugin
  • Work on the Media Library CSS to make it more consistent
  • Add toggle-able sidebar
  • Review existing issues
  • Investigate an issue with the Struct Plugin
  • Revise mobile styling
  • Revise responsive styling

Tags

2024/01/02 17:41 · Louis Ouellet · 4 Comments · 0 Linkbacks

Enhancing DokuWiki with an Email Script for the Bureaucracy Plugin

Enhance your DokuWiki experience with a powerful email script for the Bureaucracy Plugin. This script streamlines communication, ensuring efficient data management and user interaction within your DokuWiki.

Read more