1
0
mirror of https://github.com/dkmstr/openuds.git synced 2025-10-13 11:33:47 +03:00

8 Commits

Author SHA1 Message Date
Janier Rodríguez
8054bf3ea2 Merge remote-tracking branch 'origin/dev/andres/v4.0' into dev/janier/v4.0 2025-09-18 17:40:04 +02:00
Janier Rodríguez
38b3f3ac47 Merge remote-tracking branch 'origin/dev/andres/v4.0' into dev/janier/v4.0 2025-09-15 12:07:06 +02:00
Janier Rodríguez
a07ee92496 Merge remote-tracking branch 'origin/dev/andres/v4.0' into dev/janier/v4.0 2025-09-12 10:06:33 +02:00
Janier Rodríguez
39dd25dfeb Merge remote-tracking branch 'origin/dev/andres/v4.0' into dev/janier/v4.0 2025-09-08 13:31:15 +02:00
Janier Rodríguez
2e7cd1b768 Add logging for Thincast and RDP client discovery in direct.py and tunnel.py 2025-09-04 13:13:32 +02:00
Janier Rodríguez
ec84a77280 Merge remote-tracking branch 'origin/dev/andres/v4.0' into dev/janier/v4.0 2025-09-04 12:02:41 +02:00
Janier Rodríguez
fbe861638f Merge remote-tracking branch 'origin/v4.0' into dev/janier/v4.0 2025-08-22 10:18:07 +02:00
Janier Rodríguez
55865c87f6 init dev 2025-08-21 18:11:28 +02:00
2 changed files with 11 additions and 0 deletions

View File

@@ -82,20 +82,27 @@ for thincast in thincast_list:
if os.path.isfile(thincast) and os.access(thincast, os.X_OK):
executable = thincast
kind = 'thincast'
logger.debug('Found Thincast executable: %s', thincast)
break
# If you don't find Thincast, search UDSRDP and XFREERDP
if not executable:
logger.debug('Thincast not found. Searching for UDSRDP and XFREERDP.')
udsrdp: typing.Optional[str] = tools.findApp('udsrdp')
xfreerdp: typing.Optional[str] = tools.findApp('xfreerdp3') or tools.findApp('xfreerdp') or tools.findApp('xfreerdp2')
logger.debug('UDSRDP found: %s', udsrdp)
logger.debug('XFREERDP found: %s', xfreerdp)
if udsrdp:
executable = udsrdp
kind = 'udsrdp'
logger.debug('Selected UDSRDP as executable.')
elif xfreerdp:
executable = xfreerdp
kind = 'xfreerdp'
logger.debug('Selected XFREERDP as executable.')
if not executable:
logger.error('No suitable RDP client found. Thincast, UDSRDP, or XFREERDP are required.')
raise Exception(
'''<p>You need to have Thincast Remote Desktop Client or xfreerdp (>= 2.0) installed on your system, and have it in your PATH in order to connect to this UDS service.</p>
<p>Please, install the proper package for your system.</p>

View File

@@ -112,14 +112,18 @@ if thincast_executable:
#logging.debug(f'RDP file params: {sp.get("as_file", "")}')
fnc, app = exec_thincast, thincast_executable
else:
logger.debug('Thincast not found, searching for xfreerdp and udsrdp')
xfreerdp: typing.Optional[str] = tools.findApp('xfreerdp3') or tools.findApp('xfreerdp') or tools.findApp('xfreerdp2')
udsrdp = tools.findApp('udsrdp')
fnc, app = None, None
if xfreerdp:
logger.debug('xfreerdp found: %s', xfreerdp)
fnc, app = exec_new_xfreerdp, xfreerdp
if udsrdp:
logger.debug('udsrdp found: %s', udsrdp)
fnc, app = exec_udsrdp, udsrdp
if app is None or fnc is None:
logger.error('No suitable RDP client found (Thincast, xfreerdp, udsrdp)')
raise Exception(
'''<p>You need to have Thincast Remote Desktop Client o xfreerdp (>= 2.0) installed on your system, y tenerlo en tu PATH para conectar con este servicio UDS.</p>
<p>Please install the right package for your system.</p>