En vous promenant sur Beamreactor, nous stockons votre IP 48h pour des raisons de sécurité.

Lecteur Markdown

remote_desktop Documentation › REMOTE_DESKTOP_DOCUMENTATION_EN

Remote Desktop Documentation En

Feature: Remote Desktop #

Screen sharing and remote control between users, peer-to-peer over WebRTC. A user invites another logged-in member, who then sees their screen and may, with permission, take control. Signaling goes through the server; the video stream is direct between the two browsers.

Installation and Configuration

Via FTP: Upload the remote_desktop/ directory into /plugins/, then import remote_desktop/sql/remote_desktop.sql.

Via package manager: Select remote_desktop from the available plugins list.

Paths:

  • Main plugin: /plugins/remote_desktop/remote_desktop.php
  • Library: /plugins/remote_desktop/lib/remote_desktop.lib.inc.php
  • Signaling handler: /plugins/remote_desktop/handlers/remote_desktop.mod.php
  • CSS / JS: /plugins/remote_desktop/css/, /plugins/remote_desktop/js/

Configuration parameters:

| Variable | Default | Description |

|---|---|---|

| $basedatadisplay | 'yes' | Visible in the management interface |

| $basedisplevel | BASE_LEVEL_USER | Available to logged-in users |

| $ftype | 5 | Application module |

| REMOTE_DESKTOP_LEVEL_USER | BASE_LEVEL_USER | Level to use sharing |

| REMOTE_DESKTOP_LEVEL_ADMIN | BASE_LEVEL_ADMIN | Administrator level |

| $rd_ice_servers | Google STUN | WebRTC ICE servers (see note below) |

| $rd_poll_interval | 500 | Signaling poll interval (ms), during negotiation |

| $rd_max_session_duration | 3600 | Max session duration (seconds) |

| $rd_signal_ttl | 300 | Signal lifetime before cleanup (seconds) |

> Production: replace the Google STUN server with a self-hosted STUN/TURN server (coturn, etc.). Google servers receive the candidate IP addresses.

SQL tables used: remote_desktop_session, remote_desktop_signal

Usage

The main page has two panels:

  • Users — list of available logged-in members (refreshed every 15 s) to invite.
  • Sessions — sharing sessions in progress.

When an invitation is received, the recipient handles it via a ?respond=session_id URL.

Two iframe display modes serve the minimal WebRTC UI (without site chrome):

  • mode=sharer — shares their screen.
  • mode=viewer — views the remote screen, with an optional control overlay.

The toolbar offers full screen, control request, and end session.

Hooks and Entry Points

text
?obj=remote_desktop.php                                — Main page (users + sessions)
?obj=remote_desktop.php&respond=session_id            — Respond to an invitation
?obj=remote_desktop.php&mode=sharer&session_id=ID     — iframe: screen sharing
?obj=remote_desktop.php&mode=viewer&session_id=ID     — iframe: viewing
?obj=remote_desktop.mod                               — WebRTC signaling endpoint

Dependencies

  • Beamreactor\Database\SQL
  • Beamreactor\Sanitizer\Parser
  • Beamreactor\Notifications\Toast
  • WebRTC (browser) + STUN/TURN server

Security

Restricted to logged-in users. The sharing session and taking control require the recipient's explicit acceptance. Sessions have a maximum duration ($rd_max_session_duration) and signals expire ($rd_signal_ttl) to limit the negotiation window. In production, use a self-hosted STUN/TURN server so participants' IP addresses are not disclosed to a third party.

de en fr