From 531b1342c57a0df96771df6a4597c8e93c288648 Mon Sep 17 00:00:00 2001 From: Miroslav Pejic Date: Thu, 27 Mar 2025 23:49:48 +0100 Subject: [PATCH] [mirotalksfu] - improve getServerConfig, update dep --- app/src/Server.js | 119 +++++++++++++++++++++++----------------- package.json | 6 +- public/js/Brand.js | 2 +- public/js/Room.js | 4 +- public/js/RoomClient.js | 2 +- 5 files changed, 75 insertions(+), 58 deletions(-) diff --git a/app/src/Server.js b/app/src/Server.js index 5d678646..1ae88206 100644 --- a/app/src/Server.js +++ b/app/src/Server.js @@ -64,7 +64,7 @@ dev dependencies: { * @license For commercial or closed source, contact us at license.mirotalk@gmail.com or purchase directly via CodeCanyon * @license CodeCanyon: https://codecanyon.net/item/mirotalk-sfu-webrtc-realtime-video-conferences/40769970 * @author Miroslav Pejic - miroslav.pejic.85@gmail.com - * @version 1.7.98 + * @version 1.7.99 * */ @@ -1284,67 +1284,84 @@ function startServer() { function getServerConfig(tunnel = false) { return { - // General Server Information - server_listen: host, - server_tunnel: tunnel, - trust_proxy: trustProxy, + // Network & Connectivity + network: { + server_listen: host, + server_tunnel: tunnel, + trust_proxy: trustProxy, + sfu: { + listenIP: IP, + publicIP: announcedAddress, + numWorker: config.mediasoup?.numWorkers, + rtcMinPort: config.mediasoup?.worker?.rtcMinPort, + rtcMaxPort: config.mediasoup?.worker?.rtcMaxPort, + }, + ngrok_enabled: config.ngrok?.enabled ? config.ngrok : false, + }, - // Core Configurations - cors_options: corsOptions, - jwtCfg: jwtCfg, - rest_api: restApi, + // Security & Authentication + security: { + cors_options: corsOptions, + jwtCfg: jwtCfg, + hostProtected: hostCfg.protected || hostCfg.user_auth ? hostCfg : false, + ip_lookup_enabled: config.IPLookup?.enabled ? config.IPLookup : false, + oidc: OIDC.enabled ? OIDC : false, + }, - // Middleware and UI - middleware: config.middleware, - configUI: config.ui, + // API & Services + api: { + rest_api: restApi, + webhook: webhook, + presenters: config.presenters, + }, - // Security, Authorization, and User Management - oidc: OIDC.enabled ? OIDC : false, - hostProtected: hostCfg.protected || hostCfg.user_auth ? hostCfg : false, - ip_lookup_enabled: config.IPLookup?.enabled ? config.IPLookup : false, - presenters: config.presenters, + // Media Configuration + media: { + mediasoup: { + listenInfos: config.mediasoup.webRtcTransport.listenInfos, + worker_bin: mediasoup.workerBin, + server_version: mediasoup.version, + client_version: mediasoupClient.version, + }, + rtmp_enabled: rtmpCfg.enabled ? rtmpCfg : false, + videoAI_enabled: config.videoAI.enabled ? config.videoAI : false, + server_recording: config?.server?.recording, + }, // Communication Integrations - discord_enabled: config.discord?.enabled ? config.discord : false, - mattermost_enabled: config.mattermost?.enabled ? config.mattermost : false, - slack_enabled: slackEnabled ? config.slack : false, - chatGPT_enabled: config.chatGPT?.enabled ? config.chatGPT : false, + integrations: { + discord: config.discord?.enabled ? config.discord : false, + mattermost: config.mattermost?.enabled ? config.mattermost : false, + slack: slackEnabled ? config.slack : false, + chatGPT: config.chatGPT?.enabled ? config.chatGPT : false, + email_alerts: config.email?.alert ? config.email : false, + }, - // Media and Video Configurations - mediasoup_listenInfos: config.mediasoup.webRtcTransport.listenInfos, - mediasoup_worker_bin: mediasoup.workerBin, - rtmp_enabled: rtmpCfg.enabled ? rtmpCfg : false, - videAI_enabled: config.videoAI.enabled ? config.videoAI : false, - serverRec: config?.server?.recording, + // UI & Branding + ui: { + brand: config.ui.brand, + buttons: config.ui.buttons, + middleware: config.middleware, + }, - // Centralized Logging - sentry_enabled: sentryEnabled ? config.sentry : false, + // Monitoring & Analytics + monitoring: { + sentry: sentryEnabled ? config.sentry : false, + stats: config.stats?.enabled ? config.stats : false, + system_info: config.systemInfo, + }, - // Additional Configurations and Features - survey_enabled: config.survey?.enabled ? config.survey : false, - redirect_enabled: config.redirect?.enabled ? config.redirect : false, - stats_enabled: config.stats?.enabled ? config.stats : false, - ngrok_enabled: config.ngrok?.enabled ? config.ngrok : false, - email_alerts: config.email?.alert ? config.email : false, - webhook: webhook, - - // System info - systemInfo: config.systemInfo, - - // SFU settings - sfu: { - listenIP: IP, - publicIP: announcedAddress, - numWorker: config.mediasoup?.numWorkers, - rtcMinPort: config.mediasoup?.worker?.rtcMinPort, - rtcMaxPort: config.mediasoup?.worker?.rtcMaxPort, + // Features & Functionality + features: { + survey: config.survey?.enabled ? config.survey : false, + redirect: config.redirect?.enabled ? config.redirect : false, }, // Version Information - app_version: packageJson.version, - node_version: process.versions.node, - mediasoup_server_version: mediasoup.version, - mediasoup_client_version: mediasoupClient.version, + versions: { + app: packageJson.version, + node: process.versions.node, + }, }; } diff --git a/package.json b/package.json index 08a856ba..590eb6ea 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mirotalksfu", - "version": "1.7.98", + "version": "1.7.99", "description": "WebRTC SFU browser-based video calls", "main": "Server.js", "scripts": { @@ -59,7 +59,7 @@ "dependencies": { "@mattermost/client": "10.6.0", "@ngrok/ngrok": "1.4.1", - "@sentry/node": "^9.9.0", + "@sentry/node": "^9.10.0", "axios": "^1.8.4", "chokidar": "^4.0.3", "colors": "1.4.0", @@ -81,7 +81,7 @@ "mediasoup": "3.15.7", "mediasoup-client": "3.9.5", "nodemailer": "^6.10.0", - "openai": "^4.89.1", + "openai": "^4.90.0", "qs": "6.14.0", "sanitize-filename": "^1.6.3", "socket.io": "4.8.1", diff --git a/public/js/Brand.js b/public/js/Brand.js index d291f140..2989e888 100644 --- a/public/js/Brand.js +++ b/public/js/Brand.js @@ -64,7 +64,7 @@ let BRAND = { }, about: { imageUrl: '../images/mirotalk-logo.gif', - title: 'WebRTC SFU v1.7.98', + title: 'WebRTC SFU v1.7.99', html: `