Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@jackbuehner
Copy link
Collaborator

@jackbuehner jackbuehner commented Jun 14, 2025

Background and change

macOS, iOS, iPadOS, and Android all support the rdp URI scheme. It allows you to launch the remote desktop client and automatically connect to a specific desktop or RemoteApp. Additioanlly, Windows clients can add support via apps like the proof-of-concept app I made, RDP Protocol Handler, which converts the URI to an RDP file and launches it.

This PR adds support for launching RemoteApps and desktops via the rdp URI scheme. Here's how it works when you try to launch an app or desktop from the RAWeb web app:

  1. Click on an app or desktop.
  2. A prompt to select the connection method appears. Currently supported methods are RDP files and rdp://.
    image
  3. Click Always or Just once, or double click a method. If you choose Always, this prompt will be skipped in the future. You can force the prompt to appears with the Connect with... context menu option for apps and desktops. If you choose Just once, the prompt will be shown next time. If you double click, the prompt will not change your launch preference.
  4. If the RemoteApp is available on multiple terminal servers, another prompt to choose the terminal server will appear. This is already part of RAWeb.
  5. If you choose the RDP file option, the file will be downloaded. If you choose the rdp:// option, your browser will attempt to open the rdp:// URI.
    • On your first launch with the rdp:// option, if you are on Windows, an additional prompt to download the Remote Desktop Protocol Handler app from the Microsoft Store will appear. Windows does not have built-in support for rdp://, but this app adds support. It can also be installed with winget install "RDP Protocol Handler" --source msstore.
      image
    • On macOS, iOS, or iPadOS, you will be prompted to download Windows App from the App Store.

Caveats

  • If an RDP file is signed, the option to launch via rdp:// will be hidden. RAWeb is currently unable to parse signed RDP files, which means it cannot construct an rdp:// URI.
  • The Android remote desktop client requires rdp:// URIs to not have URL-encoded values (e.g., remoteapplicationname=s:Windows Explorer instead of remoteapplicationname=s%3AWindows%20Explorer). Because this makes URLs invalid, it is not possible to launch non-url-encoded URLs/URIs in browsers. Because of this limitation, RAWeb will not present the option to launch via rdp:// when the detected OS is Android.
  • There are no prompts to download apps on Linux. Users on Linux are expected to ensure they have an app that supports opening rdp:// URIs and then launch RemoteApps or desktops.

Install this pre-release branch

  1. Open PowerShell as an administrator
    Press the Windows key + X, then select PowerShell (Administrator) or Terminal (Administrator).

  2. Copy and paste the code below, then press enter.

irm https://github.com/jackbuehner/raweb/releases/download/v2025.06.15.0/install.ps1 | iex

Tested operating systems:

  • Windows - chromium
  • Windows - gecko
  • Android - chromium
  • iPadOS - webkit
  • macOS - webkit

Resolves #67
Resolves #15

@jackbuehner jackbuehner self-assigned this Jun 14, 2025
@jackbuehner jackbuehner added the enhancement New feature or request label Jun 14, 2025
@jackbuehner jackbuehner force-pushed the open-methods branch 3 times, most recently from ddf7488 to afbfdc1 Compare June 15, 2025 00:00
@jackbuehner jackbuehner marked this pull request as ready for review June 15, 2025 03:24
@jackbuehner
Copy link
Collaborator Author

Waiting for Microsoft to approve an update to RDP Protocol Handler that expands support to all RDP file properties before merging.

In the meantime, I'm open to anyone's thoughts on this implimentation.

@tjcomserv
Copy link

Although I cannot comment on the code, I think the feature would be well received.

@jackbuehner jackbuehner merged commit b005473 into kimmknight:master Jun 16, 2025
@jackbuehner jackbuehner deleted the open-methods branch June 16, 2025 05:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature idea: Add an option to launch apps and desktops via the rdp URI scheme (rdp://) RaWeb Some Confution

2 participants