[mirotalksfu] - update env, config and deps
هذا الالتزام موجود في:
@@ -101,7 +101,7 @@ HOST_PROTECTED=false # Enable host protection (true
|
|||||||
HOST_USER_AUTH=false # Enable user authentication (true|false)
|
HOST_USER_AUTH=false # Enable user authentication (true|false)
|
||||||
|
|
||||||
# Host users - Define host users in the format: username:password:displayName:allowedRooms (room1,room2...)
|
# Host users - Define host users in the format: username:password:displayName:allowedRooms (room1,room2...)
|
||||||
HOST_USERS="username:password:user:*|admin:admin:Admin:room1,room2|guest:guest:Guest:room1,room1"
|
HOST_USERS="username:password:User:*|admin:admin:Admin:room1,room2|guest:guest:Guest:room1,room1"
|
||||||
|
|
||||||
# Endpoints
|
# Endpoints
|
||||||
HOST_USERS_FROM_DB=false # Use DB for user auth (true|false)
|
HOST_USERS_FROM_DB=false # Use DB for user auth (true|false)
|
||||||
@@ -120,8 +120,14 @@ PRESENTER_JOIN_FIRST=true # First joiner becomes present
|
|||||||
# 5. API Configuration
|
# 5. API Configuration
|
||||||
# ----------------------------------------------------
|
# ----------------------------------------------------
|
||||||
|
|
||||||
API_SECRET=mirotalksfu_default_secret # Secret for API authentication
|
API_KEY_SECRET=mirotalksfu_default_secret # Secret for API authentication
|
||||||
API_ALLOW_STATS=true # Enable stats API (true|false)
|
API_ALLOW_STATS=true # Enable stats API (true|false)
|
||||||
|
API_ALLOW_MEETINGS=false # Allow meetings API endpoint (true|false)
|
||||||
|
API_ALLOW_MEETING=true # Allow single meeting API endpoint (true|false)
|
||||||
|
API_ALLOW_JOIN=true # Allow join API endpoint (true|false)
|
||||||
|
API_ALLOW_TOKEN=false # Allow token-based API authentication (true|false)
|
||||||
|
API_ALLOW_SLACK=true # Allow Slack integration via API (true|false)
|
||||||
|
API_ALLOW_MATTERMOST=true # Allow Mattermost integration via API (true|false)
|
||||||
|
|
||||||
# ----------------------------------------------------
|
# ----------------------------------------------------
|
||||||
# 6. Third-Party Integrations
|
# 6. Third-Party Integrations
|
||||||
|
|||||||
@@ -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 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
|
* @license CodeCanyon: https://codecanyon.net/item/mirotalk-sfu-webrtc-realtime-video-conferences/40769970
|
||||||
* @author Miroslav Pejic - miroslav.pejic.85@gmail.com
|
* @author Miroslav Pejic - miroslav.pejic.85@gmail.com
|
||||||
* @version 1.8.60
|
* @version 1.8.61
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|||||||
@@ -497,15 +497,15 @@ module.exports = {
|
|||||||
* - Webhook setup: See integration guides for Slack/Mattermost
|
* - Webhook setup: See integration guides for Slack/Mattermost
|
||||||
*/
|
*/
|
||||||
api: {
|
api: {
|
||||||
keySecret: process.env.API_SECRET || 'mirotalksfu_default_secret',
|
keySecret: process.env.API_KEY_SECRET || 'mirotalksfu_default_secret',
|
||||||
allowed: {
|
allowed: {
|
||||||
stats: process.env.API_ALLOW_STATS !== 'false',
|
stats: process.env.API_ALLOW_STATS !== 'false',
|
||||||
meetings: false,
|
meetings: process.env.API_ALLOW_MEETINGS === 'true',
|
||||||
meeting: true,
|
meeting: process.env.API_ALLOW_MEETING !== 'false',
|
||||||
join: true,
|
join: process.env.API_ALLOW_JOIN !== 'false',
|
||||||
token: false,
|
token: process.env.API_ALLOW_TOKEN === 'true',
|
||||||
slack: true,
|
slack: process.env.API_ALLOW_SLACK !== 'false',
|
||||||
mattermost: true,
|
mattermost: process.env.API_ALLOW_MATTERMOST !== 'false',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
10
package.json
10
package.json
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "mirotalksfu",
|
"name": "mirotalksfu",
|
||||||
"version": "1.8.60",
|
"version": "1.8.61",
|
||||||
"description": "WebRTC SFU browser-based video calls",
|
"description": "WebRTC SFU browser-based video calls",
|
||||||
"main": "Server.js",
|
"main": "Server.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@@ -57,11 +57,11 @@
|
|||||||
"node": ">=18"
|
"node": ">=18"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@aws-sdk/client-s3": "^3.821.0",
|
"@aws-sdk/client-s3": "^3.825.0",
|
||||||
"@aws-sdk/lib-storage": "^3.821.0",
|
"@aws-sdk/lib-storage": "^3.825.0",
|
||||||
"@mattermost/client": "10.8.0",
|
"@mattermost/client": "10.8.0",
|
||||||
"@ngrok/ngrok": "1.5.1",
|
"@ngrok/ngrok": "1.5.1",
|
||||||
"@sentry/node": "^9.25.1",
|
"@sentry/node": "^9.27.0",
|
||||||
"async-mutex": "^0.5.0",
|
"async-mutex": "^0.5.0",
|
||||||
"axios": "^1.9.0",
|
"axios": "^1.9.0",
|
||||||
"chokidar": "^4.0.3",
|
"chokidar": "^4.0.3",
|
||||||
@@ -84,7 +84,7 @@
|
|||||||
"mediasoup": "3.16.0",
|
"mediasoup": "3.16.0",
|
||||||
"mediasoup-client": "3.11.0",
|
"mediasoup-client": "3.11.0",
|
||||||
"nodemailer": "^7.0.3",
|
"nodemailer": "^7.0.3",
|
||||||
"openai": "^5.1.0",
|
"openai": "^5.1.1",
|
||||||
"qs": "6.14.0",
|
"qs": "6.14.0",
|
||||||
"sanitize-filename": "^1.6.3",
|
"sanitize-filename": "^1.6.3",
|
||||||
"socket.io": "4.8.1",
|
"socket.io": "4.8.1",
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ let BRAND = {
|
|||||||
},
|
},
|
||||||
about: {
|
about: {
|
||||||
imageUrl: '../images/mirotalk-logo.gif',
|
imageUrl: '../images/mirotalk-logo.gif',
|
||||||
title: '<strong>WebRTC SFU v1.8.60</strong>',
|
title: '<strong>WebRTC SFU v1.8.61</strong>',
|
||||||
html: `
|
html: `
|
||||||
<button
|
<button
|
||||||
id="support-button"
|
id="support-button"
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ if (location.href.substr(0, 5) !== 'https') location.href = 'https' + location.h
|
|||||||
* @license For commercial or closed source, contact us at license.mirotalk@gmail.com or purchase directly via CodeCanyon
|
* @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
|
* @license CodeCanyon: https://codecanyon.net/item/mirotalk-sfu-webrtc-realtime-video-conferences/40769970
|
||||||
* @author Miroslav Pejic - miroslav.pejic.85@gmail.com
|
* @author Miroslav Pejic - miroslav.pejic.85@gmail.com
|
||||||
* @version 1.8.60
|
* @version 1.8.61
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -5453,7 +5453,7 @@ function showAbout() {
|
|||||||
position: 'center',
|
position: 'center',
|
||||||
imageUrl: BRAND.about?.imageUrl && BRAND.about.imageUrl.trim() !== '' ? BRAND.about.imageUrl : image.about,
|
imageUrl: BRAND.about?.imageUrl && BRAND.about.imageUrl.trim() !== '' ? BRAND.about.imageUrl : image.about,
|
||||||
customClass: { image: 'img-about' },
|
customClass: { image: 'img-about' },
|
||||||
title: BRAND.about?.title && BRAND.about.title.trim() !== '' ? BRAND.about.title : 'WebRTC SFU v1.8.60',
|
title: BRAND.about?.title && BRAND.about.title.trim() !== '' ? BRAND.about.title : 'WebRTC SFU v1.8.61',
|
||||||
html: `
|
html: `
|
||||||
<br />
|
<br />
|
||||||
<div id="about">
|
<div id="about">
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
* @license For commercial or closed source, contact us at license.mirotalk@gmail.com or purchase directly via CodeCanyon
|
* @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
|
* @license CodeCanyon: https://codecanyon.net/item/mirotalk-sfu-webrtc-realtime-video-conferences/40769970
|
||||||
* @author Miroslav Pejic - miroslav.pejic.85@gmail.com
|
* @author Miroslav Pejic - miroslav.pejic.85@gmail.com
|
||||||
* @version 1.8.60
|
* @version 1.8.61
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|||||||
المرجع في مشكلة جديدة
حظر مستخدم