Skip to content

The Phoenix Channels Provider is meant to be used as a Yjs Provider for [Generic Socket Rooms](https://github.com/TM9657/generic-socket-rooms). It enables End-to-End encryption, realtime communication between multiple users.

License

Notifications You must be signed in to change notification settings

TM9657/y-phoenix

Repository files navigation

Y-Phoenix Provider

Phoenix Channels Provider for Yjs

The Phoenix Channels Provider is meant to be used as a Yjs Provider for Generic Socket Rooms. It enables End-to-End encryption, realtime communication between multiple users.

Quick Start

Install dependencies

npm i @tm9657/y-phoenix

Start a y-phoenix server

Please use: Generic Socket Rooms

Client Code:

import * as Y from 'yjs'
import { PhoenixProvider } from '@tm9657/y-phoenix'

const doc = new Y.Doc()
const wsProvider = new PhoenixProvider(
  socket, // Socket from Generic Socket Rooms
  props.room, // Room, please make sure this one is not guessable. Otherwise DDOS attacks on this room are possible, if you do not further prevent them, e.g by checking permission on the server before sending JWT
  props.token, // JWT Token, signed for the room, please have a look at Generic Socket Rooms for more information
  props.password, // Password for End to End encryption. E.g generated on the client and shared by QR Code or as part of the URL
  ydoc // Yjs Document
)

Provided by TM9657 GmbH with ❤️

Check out some of our products:

  • Kwirk.io (Text Editor with AI integration, privacy focus and offline support)

About

The Phoenix Channels Provider is meant to be used as a Yjs Provider for [Generic Socket Rooms](https://github.com/TM9657/generic-socket-rooms). It enables End-to-End encryption, realtime communication between multiple users.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published