get rtcConfig dynamically from the server

This commit is contained in:
schlagmichdoch 2023-02-24 18:08:48 +01:00
parent 74b88c2e7d
commit 66359da2ca
5 changed files with 130 additions and 49 deletions

View file

@ -1,6 +1,7 @@
const process = require('process')
const crypto = require('crypto')
const {spawn} = require('child_process')
const fs = require('fs');
// Handle SIGINT
process.on('SIGINT', () => {
@ -49,6 +50,25 @@ if (process.argv.includes('--auto-restart')) {
);
}
const rtcConfig = process.env.RTC_CONFIG
? fs.readFileSync(process.env.RTC_CONFIG, 'utf8')
: {
"sdpSemantics": "unified-plan",
"iceServers": [
{
"urls": "stun:stun.l.google.com:19302"
},
{
"urls": "stun:openrelay.metered.ca:80"
},
{
"urls": "turn:openrelay.metered.ca:443",
"username": "openrelayproject",
"credential": "openrelayproject"
}
]
};
const express = require('express');
const RateLimit = require('express-rate-limit');
const http = require('http');
@ -110,6 +130,11 @@ class PairDropServer {
}
_onConnection(peer) {
this._send(peer, {
type: 'rtc-config',
config: rtcConfig
});
this._joinRoom(peer);
peer.socket.on('message', message => this._onMessage(peer, message));
peer.socket.onerror = e => console.error(e);