Skip to content

Instantly share code, notes, and snippets.

@roerohan
Last active January 6, 2023 06:27
Show Gist options
  • Save roerohan/19b89cd7a593134be4b39b200d8a3d11 to your computer and use it in GitHub Desktop.
Save roerohan/19b89cd7a593134be4b39b200d8a3d11 to your computer and use it in GitHub Desktop.
Remote browser public README

Logo

Remote Browser Plugin by Dyte

Browse the web together using a remote chrome browser.
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents

About The Project

With the Remote Browser Plugin, you can share a Chrome browser running on a remote desktop in a Dyte meeting. To use this, check out the Remote Browser plugin on Dyte.

Built With

Usage

The Remote Browser Plugin can be used by creating a Dyte meeting and choosing Remote Browser on the plugins tab. You can also set the browser to view-only for selected participants by adding the following object in your organizations "roles".

{
  "permissions:" {
    // ...
  },
  "plugins": {
    // ...
    "remote-browser": {
      "viewOnly": true
    }
  },
  // ...
}

APIs

Currently, the remote browser exposes an API to open a new tab while a browser is open in a meeting. For this, you need to send a POST request to https://api.browser.dyte.app/tab with the following body.

{
  "url": "https://example.com",
  "roomName": "hxluzu-ugpgtw"
}

The following headers are required:

Content-Type: application/json
Authorization: Bearer <my-access-token-for-the-meeting>

Configuration

You can configure the browser's allowlist, blocklist, and new tab page location. Before a browser is allocated for your organization, it will send a GET request to an endpoint (that you can communicate to a member of Dyte's team) to fetch the configuration JSON.

The following cURL demonstrates a sample request that will be sent to your GET endpoint.

curl -X GET 'https://<your.url>/?roomName=<dyte-roomName>'

Make sure that the response consists of the following header:

Content-Type: application/json

A sample configuration is given below. A JSON of the following format is expected when a GET request is sent to an organization's configuration endpoint. This example blocks all sites other than instagram.com.

{
  "URLBlocklist": [
    "*"
  ],
  "URLAllowlist": [
    "instagram.com",
    ".www.instagram.com",
  ],
  "NewTabPageLocation": "https://instagram.com"
}

Note: The URLAllowlist takes precedence over URLBlocklist, as mentioned in the links below.

To know more about how to configure the URLBlocklist and the URLAllowlist, check out the following links.

  1. https://support.google.com/chrome/a/answer/7532419?hl=en#zippy=%2Cmac
  2. https://support.google.com/chrome/a/answer/9942583#zippy=%2Curl-blocklist-examples
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment