Open DFC1990 opened 3 years ago
That's unfortunate, but great to know, thanks for the info and screenshot!
I'm seeing the same error too just so you know :)
After several tests I can report the following:
Works on:
It does not work:
Description of the error:
"No workspace is associated with this URL"
Note to keep in mind that the tested android versions are installed on the same mobile (Galaxy note 20 ultra) and version 8 works without problems.
@kimmknight
That's unfortunate, but great to know, thanks for the info and screenshot!
Partially fixed https://github.com/kimmknight/rdpx/issues/6#issuecomment-1019130503
After several tests I can report the following:
Works on:
* Windows 11 * Windows 10 * Android (Version app 8.1.81.435)
It does not work:
* Android (App version 10.0.13.1160) * iPads
Description of the error:
"No workspace is associated with this URL"
Note to keep in mind that the tested android versions are installed on the same mobile (Galaxy note 20 ultra) and version 8 works without problems.
Hi @solideus, did you ever figure out what the source of the "No workspace is associated with this URL" error message is?
are there any plans to solve this problem?
Same question as @lumpov here
Just wanted to confirm with everyone having this issue - do you have a valid security certificate in place that has a trusted chain back to the top level certificate that is trusted by the app device? What I mean is if your security cert is self-signed OR signed by your company's signing authority, your iPad and Android device likely won't trust the certificate. Just want to make sure that the problem is actually with the authentication method and is not due to incorrect configuration. IF the config is 100% correct, then I suspect the app doesn't allow basic authentication (I didn't review the code behind, but just guessing it is basic auth and I suspect that the apps use kerberos/ntlm instead of basic auth based on the first error message in this thread).
Again, I'm just guessing on the issue, but want to confirm that configuration is accurate prior to doing any work/investigation on this. Not sure if I will be able to solve it; I am not that familiar with python, but I enjoy learning new things!
@MrBrianGale I will test it on a fresh install and would give here an feedback I found an similar issue here:
@MrBrianGale I had installed rdpx with nginx as https proxy to localhost like your sample with an vaild certificate The Remote Desktop App tried to connect to this location:
127.0.0.1 - - [07/Apr/2024 18:29:15] "GET /api/arm/feeddiscovery HTTP/1.0" 404 19
127.0.0.1 - - [07/Apr/2024 18:29:15] "GET /TS/Default.aspx HTTP/1.0" 401 739
127.0.0.1 - - [07/Apr/2024 18:29:19] "GET /webfeed HTTP/1.0" 200 3430
127.0.0.1 - - [07/Apr/2024 18:30:05] "GET /api/arm/feeddiscovery HTTP/1.0" 404 19
127.0.0.1 - - [07/Apr/2024 18:30:05] "GET /TS/Default.aspx HTTP/1.0" 401 739
127.0.0.1 - - [07/Apr/2024 18:30:05] "GET /TS/en-US/Default.aspx HTTP/1.0" 404 19
127.0.0.1 - - [07/Apr/2024 18:30:05] "GET /RDWeb/Feed/webfeed.aspx HTTP/1.0" 404 19
127.0.0.1 - - [07/Apr/2024 18:30:18] "GET /RDWeb/Feed/webfeed.aspx HTTP/1.0" 404 19
127.0.0.1 - - [07/Apr/2024 18:30:18] "GET /api/arm/feeddiscovery HTTP/1.0" 404 19
127.0.0.1 - - [07/Apr/2024 18:30:18] "GET /TS/Default.aspx HTTP/1.0" 401 739
127.0.0.1 - - [07/Apr/2024 18:30:18] "GET /TS/en-US/Default.aspx HTTP/1.0" 404 19
127.0.0.1 - - [07/Apr/2024 18:30:56] "GET /RDWeb/Feed/webfeed.aspx HTTP/1.0" 404 19
127.0.0.1 - - [07/Apr/2024 18:30:56] "GET /TS/Default.aspx HTTP/1.0" 401 739
127.0.0.1 - - [07/Apr/2024 18:30:56] "GET /TS/en-US/Default.aspx HTTP/1.0" 404 19
127.0.0.1 - - [07/Apr/2024 18:30:56] "GET /api/arm/feeddiscovery HTTP/1.0" 404 19
127.0.0.1 - - [07/Apr/2024 18:31:00] "GET /TS/Default.aspx HTTP/1.0" 401 739
127.0.0.1 - - [07/Apr/2024 18:31:54] "GET /webfeed HTTP/1.0" 200 3430
127.0.0.1 - - [07/Apr/2024 18:32:05] "GET /webfeed HTTP/1.0" 200 3430
127.0.0.1 - - [07/Apr/2024 18:32:12] "GET /webfeed HTTP/1.0" 200 3430
127.0.0.1 - - [07/Apr/2024 18:32:37] "GET /RDWeb/Feed/webfeed.aspx HTTP/1.0" 404 19
127.0.0.1 - - [07/Apr/2024 18:32:37] "GET /TS/en-US/Default.aspx HTTP/1.0" 404 19
127.0.0.1 - - [07/Apr/2024 18:32:37] "GET /TS/Default.aspx HTTP/1.0" 401 739
Looks like the MS Client try to connect to this location:
127.0.0.1 - - [07/Apr/2024 18:32:37] "GET /RDWeb/Feed/webfeed.aspx HTTP/1.0" 404 19
rdpx only has /webfeed as current location
Android - Microsoft Remotedesktop 10.0.18.1251
Adding an URL like: https://myapp.com/webfeed Its currently not working inside the app, it looks like that the client try do an autocomplete to: https://myapp.com/TS/Default.aspx
Well 404 is not found, so that looks like something configured with. 401 is not authorized, so an authentication error...
So someone looks to be set up wrong it looks like from my end... I have not had a chance to test things out though yet. Been busy...
On Sun, Apr 7, 2024, 10:45 AM thefiredragon @.***> wrote:
@MrBrianGale https://github.com/MrBrianGale I had installed rdpx with nginx as https proxy to localhost like your sample with an vaild certificate The Remote Desktop App tried to connect to this location:
127.0.0.1 - - [07/Apr/2024 18:29:15] "GET /api/arm/feeddiscovery HTTP/1.0" 404 19 127.0.0.1 - - [07/Apr/2024 18:29:15] "GET /TS/Default.aspx HTTP/1.0" 401 739 127.0.0.1 - - [07/Apr/2024 18:29:19] "GET /webfeed HTTP/1.0" 200 3430 127.0.0.1 - - [07/Apr/2024 18:30:05] "GET /api/arm/feeddiscovery HTTP/1.0" 404 19 127.0.0.1 - - [07/Apr/2024 18:30:05] "GET /TS/Default.aspx HTTP/1.0" 401 739 127.0.0.1 - - [07/Apr/2024 18:30:05] "GET /TS/en-US/Default.aspx HTTP/1.0" 404 19 127.0.0.1 - - [07/Apr/2024 18:30:05] "GET /RDWeb/Feed/webfeed.aspx HTTP/1.0" 404 19 127.0.0.1 - - [07/Apr/2024 18:30:18] "GET /RDWeb/Feed/webfeed.aspx HTTP/1.0" 404 19 127.0.0.1 - - [07/Apr/2024 18:30:18] "GET /api/arm/feeddiscovery HTTP/1.0" 404 19 127.0.0.1 - - [07/Apr/2024 18:30:18] "GET /TS/Default.aspx HTTP/1.0" 401 739 127.0.0.1 - - [07/Apr/2024 18:30:18] "GET /TS/en-US/Default.aspx HTTP/1.0" 404 19 127.0.0.1 - - [07/Apr/2024 18:30:56] "GET /RDWeb/Feed/webfeed.aspx HTTP/1.0" 404 19 127.0.0.1 - - [07/Apr/2024 18:30:56] "GET /TS/Default.aspx HTTP/1.0" 401 739 127.0.0.1 - - [07/Apr/2024 18:30:56] "GET /TS/en-US/Default.aspx HTTP/1.0" 404 19 127.0.0.1 - - [07/Apr/2024 18:30:56] "GET /api/arm/feeddiscovery HTTP/1.0" 404 19 127.0.0.1 - - [07/Apr/2024 18:31:00] "GET /TS/Default.aspx HTTP/1.0" 401 739 127.0.0.1 - - [07/Apr/2024 18:31:54] "GET /webfeed HTTP/1.0" 200 3430 127.0.0.1 - - [07/Apr/2024 18:32:05] "GET /webfeed HTTP/1.0" 200 3430 127.0.0.1 - - [07/Apr/2024 18:32:12] "GET /webfeed HTTP/1.0" 200 3430 127.0.0.1 - - [07/Apr/2024 18:32:37] "GET /RDWeb/Feed/webfeed.aspx HTTP/1.0" 404 19 127.0.0.1 - - [07/Apr/2024 18:32:37] "GET /TS/en-US/Default.aspx HTTP/1.0" 404 19 127.0.0.1 - - [07/Apr/2024 18:32:37] "GET /TS/Default.aspx HTTP/1.0" 401 739
Looks like the MS Client try to connect to this location:
127.0.0.1 - - [07/Apr/2024 18:32:37] "GET /RDWeb/Feed/webfeed.aspx HTTP/1.0" 404 19
rdpx only has /webfeed as current location
Android - Microsoft Remotedesktop 10.0.18.1251
Adding an URL like: https://myapp.com/webfeed Its currently not working inside the app, it looks like that the client try do an autocomplete to: https://myapp.com/TS/Default.aspx
Screenshot_20240407-183241_Microsoft-Remotedesktop.2.png (view on web) https://github.com/kimmknight/rdpx/assets/20144860/9de7b775-8091-4266-a13d-0847e9de09ac
— Reply to this email directly, view it on GitHub https://github.com/kimmknight/rdpx/issues/9#issuecomment-2041526318, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAKSJBEWS6CQFP36LJBFQILY4FZ3ZAVCNFSM47FC2SHKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TEMBUGE2TENRTGE4A . You are receiving this because you were mentioned.Message ID: @.***>
I don't know if rdpx currently has an URI (function) like
https://myapp.com/TS/Default.aspx
implemted. As a big question would you find some time for this next time if you're currently be busy? I also would like to donate to this nice project. The old MS RDP client is working with rdpx but the old client is currently not a solution for production usage.
greetings
I found something interesting, Someone forked the old raweb repo and did some useful commits for the new routing adresses:
// Route to generate the XML feed for /webfeed.aspx
app.get('/webfeed.aspx', (req, res) => {
generateXMLFeed(res);
});
// Route to generate the XML feed for /rdweb/feed/webfeed.aspx
app.get('/rdweb/feed/webfeed.aspx', (req, res) => {
generateXMLFeed(res);
});
// Route to generate the XML feed for /api/feeddiscovery/webfeeddiscovery.aspx
app.get('/api/feeddiscovery/webfeeddiscovery.aspx', (req, res) => {
generateXMLFeed(res);
});
https://github.com/NepuShiro/raweb/commit/35da36d9005c8ac95034b3769b704b32f65f94f0
What is fun about the protocol spec document is that even if RDPX is written 100% to spec, the apps MAY not be. What I mean is RDPX could be 100% to spec, but if the android app is not, the android app may fail even though RDPX is good. AND if the Android app works with the Microsoft setup for Remote Apps, then they are not going to update the app to work with RDPX.
Now, that being said, I am planning to work on this soon unless someone beats me to it. Question for you - does NepuShiro's raweb work with the latest android/OSX app? Just wondering if their version of the app could be used instead as a short term solution for you until this gets resolved. I am also a bit curious if that commit can be merged into RDPX or if the other changes are too drastic that it will cause errors.
EDIT - never mind... reviewed the code changes and they are too different from this app to be useful. Some of the logic may be able to be brought across but need to convert from JS to python which is non-trivial. Probably safer to just review the official spec and update the python to reflect the spec (if it doesn't already).
Hey thank you for your response, From Nepus repo it's not working with the newer clients also like here. I had only see that he has add the url pathes to the rework. Newer clients for android and windows look like that these need ntlm auth and some other changes to make it working. The spec sheet was also only as a suggestion.
It's great to see an interest in improving rpdx! I haven't really touched it for years. I did start rewriting it using Node for the backend and a Vue 3 in the frontend, however, I never got this to a finished state.
I have made a few attempts at implementing the new MS-TSWP protocol protocol] in RAWeb. I haven't yet been successful.
I have been testing with the RDP Client (Windows) from the Microsoft Store and the Android app.
A few things I've noted:
New RDP clients use a discovery process when the user enters the workspace URL. The server must respond appropriately before the client will allow the URL to be added
The new protocol (and clients) require the use of authentication (NTLM required I think - anonymous no longer works) and utilise an authentication cookie for the client (see link 1, link 2)
The authentication process requires new client request certain URLs and have certain HTTP status codes returned
A different schema version (was 1.2, perhaps 2.0?) might need to be used in the XML resource list provided to new clients (see link 1)
The XML resource list should be returned with the Content-Type set to "application\x-msts-radc+xml" (see link 1)
So far I have managed to get the discovery process working, but when the client tries to add the workspace, it seems to be failing during the authentication process. I believe it is because I have not implemented the required authentication process/cookie. I don't have the time to research this further and implement the new process in rdpx or raweb in anytime soon.
I have attached IIS access logs show when a new client successfully adds the workspace from a proper Windows Server.
@kimmknight you're right, the same changes I also found. It's sad to hear that your so busy. But if you would spend time again into this nice project we would be more than that thankful. We will look forward to rdpx, best regards
I found a little time to further read through the MS-TSWP specs and analyse IIS detailed logs (of connecting a new RD client to a working RD workspace server) and have made some progress. It looks like the auth process utilizes IIS's Forms Authentication method. This seems to handle the authentication and cookie. So this may be simpler to implement than I previously thought.
This is possibly good news for RAWeb as it is hosted in IIS. Less good for rdpx which uses a Python web server (which I'm not a big fan of anyway).
As I have time, I will work on trying to get new RD clients working with RAWeb. I will post any further updates to RAWeb issue #6
If it gets to a stage where new RD clients can add a workspace successfully, I'm thinking that rather than continuing development of rdpx in its current form, perhaps I/we should focus efforts into making RAWeb do the things that rdpx does (remoteapp management). Thoughts?
For testing and implementing raweb it's a better base to make efforts it think. For python there are possibilities to add ntlm auth but will not be as easy as using first raweb. rdpx has a nicer management. An rewrite to rdpx should be done if we had one way working. Migration of the management from rdpx to raweb should also be possible.
Personally I would prefer a code base of python or something else instead of main M$ Code languages. The important part currently should only be if we could find a way to get it working again so I think your idea is a good way to go.
Agreed. My language preference would be Node.js (once we've figured out the protocol).
I actually have a mostly-working implementation of rdpx I wrote in using Node.
That said, using ASPX has the advantage that it utilises IIS which is a Windows component so users don't need to install (and keep updating) another platform.
As you say, we can make that decision if/when I/we get RAWeb working with the new MS-TSWP protocol.
RAWeb issue #6 has been updated with my latest findings.
Hi all,
I've been trying to connect the Remote Desktop App (macOS) to the server for 2 days but the following error always appears.
App Version: Version 10.6.6 (1883)