[mirotalksfu] - welcome LambdaTest

هذا الالتزام موجود في:
Miroslav Pejic
2024-12-04 19:36:55 +01:00
الأصل 93b7fc413d
التزام 2b39eb215d
10 ملفات معدلة مع 115 إضافات و113 حذوفات

عرض الملف

@@ -35,23 +35,23 @@ socioeconomic status, or other similar personal characteristics.
Examples of behavior that contributes to creating a positive environment Examples of behavior that contributes to creating a positive environment
include: include:
- Using welcoming and inclusive language - Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences - Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism - Gracefully accepting constructive criticism
- Focusing on what is best for the community - Focusing on what is best for the community
- Showing empathy toward other community members - Showing empathy toward other community members
Examples of unacceptable behavior by participants include: Examples of unacceptable behavior by participants include:
- The use of sexualized language or imagery and unwelcome sexual attention or - The use of sexualized language or imagery and unwelcome sexual attention or
advances advances
- Personal attacks, insulting/derogatory comments, or trolling - Personal attacks, insulting/derogatory comments, or trolling
- Public or private harassment - Public or private harassment
- Publishing, or threatening to publish, others' private information—such as - Publishing, or threatening to publish, others' private information—such as
a physical or electronic address—without explicit permission a physical or electronic address—without explicit permission
- Other conduct which could reasonably be considered inappropriate in a - Other conduct which could reasonably be considered inappropriate in a
professional setting professional setting
- Advocating for or encouraging any of the above behaviors - Advocating for or encouraging any of the above behaviors
## Our Responsibilities ## Our Responsibilities

150
README.md
عرض الملف

@@ -39,50 +39,50 @@
<br/> <br/>
- Is `100% Free` - `Open Source (AGPLv3)` - `Self Hosted` and [PWA](https://en.wikipedia.org/wiki/Progressive_web_application)! - Is `100% Free` - `Open Source (AGPLv3)` - `Self Hosted` and [PWA](https://en.wikipedia.org/wiki/Progressive_web_application)!
- Unlimited conference rooms with no time limitations. - Unlimited conference rooms with no time limitations.
- Live broadcasting streaming. - Live broadcasting streaming.
- Translated into 133 languages. - Translated into 133 languages.
- Support for the OpenID Connect (OIDC) authentication layer. - Support for the OpenID Connect (OIDC) authentication layer.
- Host protection to prevent unauthorized access. - Host protection to prevent unauthorized access.
- User auth to prevent unauthorized access. - User auth to prevent unauthorized access.
- JWT.io securely manages credentials for host configurations and user authentication, enhancing security and streamlining processes. - JWT.io securely manages credentials for host configurations and user authentication, enhancing security and streamlining processes.
- Room password protection. - Room password protection.
- Room lobby, central gathering space. - Room lobby, central gathering space.
- Room spam mitigations, focused on preventing spam. - Room spam mitigations, focused on preventing spam.
- Geolocation, identification or estimation of the real-world geographic location of the participants. - Geolocation, identification or estimation of the real-world geographic location of the participants.
- Compatible with desktop and mobile devices. - Compatible with desktop and mobile devices.
- Optimized mobile room URL sharing. - Optimized mobile room URL sharing.
- Webcam streaming with front and rear camera support for mobile devices. - Webcam streaming with front and rear camera support for mobile devices.
- Broadcasting, distribution of audio or video content to a wide audience. - Broadcasting, distribution of audio or video content to a wide audience.
- Crystal-clear audio streaming with speaking detection and volume indicators. - Crystal-clear audio streaming with speaking detection and volume indicators.
- Screen sharing for presentations. - Screen sharing for presentations.
- File sharing with drag-and-drop support. - File sharing with drag-and-drop support.
- Choose your audio input, output, and video source. - Choose your audio input, output, and video source.
- Supports video quality up to 4K. - Supports video quality up to 4K.
- Supports advance Picture-in-Picture (PiP) offering a more streamlined and flexible viewing experience. - Supports advance Picture-in-Picture (PiP) offering a more streamlined and flexible viewing experience.
- Record your screen, audio, and video locally or on your Server. - Record your screen, audio, and video locally or on your Server.
- Snapshot video frames and save them as PNG images. - Snapshot video frames and save them as PNG images.
- Chat with an Emoji Picker for expressing feelings, private messages, Markdown support, and conversation saving. - Chat with an Emoji Picker for expressing feelings, private messages, Markdown support, and conversation saving.
- ChatGPT (powered by OpenAI) for answering questions, providing information, and connecting users to relevant resources. - ChatGPT (powered by OpenAI) for answering questions, providing information, and connecting users to relevant resources.
- VideoAI enables users to customize AI avatars to deliver messages, perform tasks, or act out scripts. - VideoAI enables users to customize AI avatars to deliver messages, perform tasks, or act out scripts.
- Speech recognition, execute the app features simply with your voice. - Speech recognition, execute the app features simply with your voice.
- Push-to-talk functionality, similar to a walkie-talkie. - Push-to-talk functionality, similar to a walkie-talkie.
- Advanced collaborative whiteboard for teachers. - Advanced collaborative whiteboard for teachers.
- Advanced collaborative powerful rich text editor. - Advanced collaborative powerful rich text editor.
- Real-time sharing of YouTube embed videos, video files (MP4, WebM, OGG), and audio files (MP3). - Real-time sharing of YouTube embed videos, video files (MP4, WebM, OGG), and audio files (MP3).
- Real-time polls, allows users to create and participate in live polls, providing instant feedback and results. - Real-time polls, allows users to create and participate in live polls, providing instant feedback and results.
- Integrated RTMP server, fully compatible with **[OBS](https://obsproject.com)**. - Integrated RTMP server, fully compatible with **[OBS](https://obsproject.com)**.
- Supports RTMP streaming from files, URLs, webcams, screens, and windows. - Supports RTMP streaming from files, URLs, webcams, screens, and windows.
- Full-screen mode with one-click video element zooming and pin/unpin. - Full-screen mode with one-click video element zooming and pin/unpin.
- Customizable UI themes. - Customizable UI themes.
- Right-click options on video elements for additional controls. - Right-click options on video elements for additional controls.
- Supports [REST API](app/api/README.md) (Application Programming Interface). - Supports [REST API](app/api/README.md) (Application Programming Interface).
- Integration with [Slack](https://api.slack.com/apps/) for enhanced communication. - Integration with [Slack](https://api.slack.com/apps/) for enhanced communication.
- Integration with [Discord](https://discord.com) for enhanced communication. - Integration with [Discord](https://discord.com) for enhanced communication.
- Integration with [Mattermost](https://mattermost.com/) for enhanced communication. - Integration with [Mattermost](https://mattermost.com/) for enhanced communication.
- Utilizes [Sentry](https://sentry.io/) for error reporting. - Utilizes [Sentry](https://sentry.io/) for error reporting.
- And much more... - And much more...
</details> </details>
@@ -91,8 +91,8 @@
<br> <br>
- [Presentation](https://www.canva.com/design/DAE693uLOIU/view) - [Presentation](https://www.canva.com/design/DAE693uLOIU/view)
- [Video Overview](https://www.youtube.com/watch?v=_IVn2aINYww) - [Video Overview](https://www.youtube.com/watch?v=_IVn2aINYww)
</details> </details>
@@ -101,8 +101,8 @@
<br/> <br/>
- You can `directly join a room` by using link like: - You can `directly join a room` by using link like:
- https://sfu.mirotalk.com/join?room=test&roomPassword=0&name=mirotalksfu&audio=0&video=0&screen=0&notify=0 - https://sfu.mirotalk.com/join?room=test&roomPassword=0&name=mirotalksfu&audio=0&video=0&screen=0&notify=0
| Params | Type | Description | | Params | Type | Description |
| ------------ | -------------- | --------------- | | ------------ | -------------- | --------------- |
@@ -175,9 +175,9 @@ To embed a meeting within `your service or app` using an iframe, you can use the
<br/> <br/>
- Before running MiroTalk SFU, ensure you have `Node.js` and all [requirements](https://mediasoup.org/documentation/v3/mediasoup/installation/#requirements) installed. This project has been tested with Node version [18.X](https://nodejs.org/en/download). - Before running MiroTalk SFU, ensure you have `Node.js` and all [requirements](https://mediasoup.org/documentation/v3/mediasoup/installation/#requirements) installed. This project has been tested with Node version [18.X](https://nodejs.org/en/download).
- Requirements install example for `Ubuntu 24.04 LTS` - Requirements install example for `Ubuntu 24.04 LTS`
```bash ```bash
# Gcc g++ make # Gcc g++ make
@@ -201,7 +201,7 @@ Install `NodeJS 18.X` and `npm` using [Node Version Manager](https://docs.mirota
--- ---
- Start the server - Start the server
```bash ```bash
# Clone this repo # Clone this repo
@@ -218,7 +218,7 @@ $ npm start
$ PORT=3011 npm start $ PORT=3011 npm start
``` ```
- Open [https://localhost:3010](https://localhost:3010) or `:3011` if the default port has been changed in your browser. - Open [https://localhost:3010](https://localhost:3010) or `:3011` if the default port has been changed in your browser.
<br/> <br/>
@@ -235,8 +235,8 @@ $ PORT=3011 npm start
![docker](public/images/docker.png) ![docker](public/images/docker.png)
- Repository [docker hub](https://hub.docker.com/r/mirotalk/sfu) - Repository [docker hub](https://hub.docker.com/r/mirotalk/sfu)
- Install [docker engine](https://docs.docker.com/engine/install/) and [docker compose](https://docs.docker.com/compose/install/) - Install [docker engine](https://docs.docker.com/engine/install/) and [docker compose](https://docs.docker.com/compose/install/)
```bash ```bash
# Clone this repo # Clone this repo
@@ -255,7 +255,7 @@ $ docker-compose up # -d
$ docker-compose down $ docker-compose down
``` ```
- Open [https://localhost:3010](https://localhost:3010) in your browser. - Open [https://localhost:3010](https://localhost:3010) in your browser.
</details> </details>
@@ -264,11 +264,11 @@ $ docker-compose down
<br> <br>
- `Ngrok/HTTPS:` You can start a video conference directly from your local PC and make it accessible from any device outside your network by following [these instructions](docs/ngrok.md), or expose it directly on [HTTPS](app/ssl/README.md). - `Ngrok/HTTPS:` You can start a video conference directly from your local PC and make it accessible from any device outside your network by following [these instructions](docs/ngrok.md), or expose it directly on [HTTPS](app/ssl/README.md).
- `Self-hosting:` For `self-hosting MiroTalk SFU` on your own dedicated server, please refer to [this comprehensive guide](docs/self-hosting.md). It will provide you with all the necessary instructions to get your MiroTalk SFU instance up and running smoothly. - `Self-hosting:` For `self-hosting MiroTalk SFU` on your own dedicated server, please refer to [this comprehensive guide](docs/self-hosting.md). It will provide you with all the necessary instructions to get your MiroTalk SFU instance up and running smoothly.
- `Rest API:` The [API documentation](https://docs.mirotalk.com/mirotalk-sfu/api/) uses [swagger](https://swagger.io/) at https://localhost:3010/api/v1/docs or check it on live [here](https://sfu.mirotalk.com/api/v1/docs). - `Rest API:` The [API documentation](https://docs.mirotalk.com/mirotalk-sfu/api/) uses [swagger](https://swagger.io/) at https://localhost:3010/api/v1/docs or check it on live [here](https://sfu.mirotalk.com/api/v1/docs).
```bash ```bash
# The response will give you the active meetings (default disabled). # The response will give you the active meetings (default disabled).
@@ -315,17 +315,6 @@ To set up your own instance of `MiroTalk SFU` on a dedicated cloud server, pleas
</details> </details>
<details>
<summary>DigitalOcean</summary>
<br/>
[![DigitalOcean Referral Badge](https://web-platforms.sfo2.cdn.digitaloceanspaces.com/WWW/Badge%201.svg)](https://m.do.co/c/1070207afbb1)
For personal use, you can start with a single $5 a month cloud server and scale up as needed. You can use [this link](https://m.do.co/c/1070207afbb1) to get a `$200 credit for the first 60 days`.
</details>
<details> <details>
<summary>Live Demo</summary> <summary>Live Demo</summary>
@@ -344,9 +333,9 @@ https://sfu.mirotalk.com
<br/> <br/>
- [Davide Pacilio](https://cruip.com/demos/solid/) (html template) - [Davide Pacilio](https://cruip.com/demos/solid/) (html template)
- [Dirk Vanbeveren](https://github.com/Dirvann) (sfu logic) - [Dirk Vanbeveren](https://github.com/Dirvann) (sfu logic)
- [Mediasoup](https://mediasoup.org) (sfu server) - [Mediasoup](https://mediasoup.org) (sfu server)
</details> </details>
@@ -355,8 +344,8 @@ https://sfu.mirotalk.com
<br/> <br/>
- Contributions are welcome and greatly appreciated! - Contributions are welcome and greatly appreciated!
- Just run before `npm run lint` - Just run before `npm run lint`
</details> </details>
@@ -380,12 +369,13 @@ To obtain a [MiroTalk SFU license](https://docs.mirotalk.com/license/licensing-o
Do you find MiroTalk SFU indispensable for your needs? Join us in supporting this transformative project by [becoming a backer or sponsor](https://github.com/sponsors/miroslavpejic85). By doing so, not only will your logo prominently feature here, but you'll also drive the growth and sustainability of MiroTalk SFU. Your support is vital in ensuring that this valuable platform continues to thrive and remain accessible for all. Make an impact back MiroTalk SFU today and be part of this exciting journey! Do you find MiroTalk SFU indispensable for your needs? Join us in supporting this transformative project by [becoming a backer or sponsor](https://github.com/sponsors/miroslavpejic85). By doing so, not only will your logo prominently feature here, but you'll also drive the growth and sustainability of MiroTalk SFU. Your support is vital in ensuring that this valuable platform continues to thrive and remain accessible for all. Make an impact back MiroTalk SFU today and be part of this exciting journey!
| | | | | |
| --------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | | ------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| [![BroadcastX](public/sponsors/BroadcastX.png)](https://broadcastx.de/) | [![Hetzner](public/sponsors/HetznerLogo.png)](https://hetzner.cloud/?ref=XdRifCzCK3bn) | | [![BroadcastX](public/sponsors/BroadcastX.png)](https://broadcastx.de/) | [![Hetzner](public/sponsors/HetznerLogo.png)](https://hetzner.cloud/?ref=XdRifCzCK3bn) |
| [![LuvLounge](public/sponsors/LuvLounge.png)](https://luvlounge.ca) | [![QuestionPro](public/sponsors/QuestionPro.png)](https://www.questionpro.com) | | [![LuvLounge](public/sponsors/LuvLounge.png)](https://luvlounge.ca) | [![QuestionPro](public/sponsors/QuestionPro.png)](https://www.questionpro.com) |
| [![BrowserStack](public/sponsors/BrowserStack.png)](https://www.browserstack.com) | [![CrystalSound](public/sponsors/CrystalSound.png)](https://crystalsound.ai) | | [![BrowserStack](public/sponsors/BrowserStack.png)](https://www.browserstack.com) | [![CrystalSound](public/sponsors/CrystalSound.png)](https://crystalsound.ai) |
| [![Cloudron](public/sponsors/Cloudron.png)](https://cloudron.io) | [![Kiquix](public/sponsors/KiquixLogo.png)](https://kiquix.com) | | [![Cloudron](public/sponsors/Cloudron.png)](https://cloudron.io) | [![Kiquix](public/sponsors/KiquixLogo.png)](https://kiquix.com) |
| [![LambdaTest](public/sponsors/LambdaTest.png)](https://lambdatest.com/pricing?coupon=QURFODlQUk9NT1RFUg==&refid=1149848) | |
</details> </details>

عرض الملف

@@ -9,10 +9,10 @@ We prefer a Coordinated Vulnerability Disclosure (CVD) to properly understand an
Your report should include: Your report should include:
- Product version ([GitHub](https://github.com/miroslavpejic85/mirotalksfu/commits/main) commit hash or [DockerHub](https://hub.docker.com/r/mirotalk/sfu) sha256 digest hash) - Product version ([GitHub](https://github.com/miroslavpejic85/mirotalksfu/commits/main) commit hash or [DockerHub](https://hub.docker.com/r/mirotalk/sfu) sha256 digest hash)
- The affected component if possible (RoomClient.js, Server.js, etc.) - The affected component if possible (RoomClient.js, Server.js, etc.)
- A vulnerability description - A vulnerability description
- Reproduction steps - Reproduction steps
A member of the security team will confirm the vulnerability, determine its impact, and develop a fix. A member of the security team will confirm the vulnerability, determine its impact, and develop a fix.
The fix will be applied to the master branch, tested, and packaged in the next security release. The fix will be applied to the master branch, tested, and packaged in the next security release.

عرض الملف

@@ -55,7 +55,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.6.42 * @version 1.6.43
* *
*/ */

عرض الملف

@@ -1,6 +1,6 @@
{ {
"name": "mirotalksfu", "name": "mirotalksfu",
"version": "1.6.42", "version": "1.6.43",
"description": "WebRTC SFU browser-based video calls", "description": "WebRTC SFU browser-based video calls",
"main": "Server.js", "main": "Server.js",
"scripts": { "scripts": {
@@ -57,15 +57,15 @@
"node": ">=18" "node": ">=18"
}, },
"dependencies": { "dependencies": {
"@mattermost/client": "^10.1.0", "@mattermost/client": "^10.2.0",
"@sentry/node": "^8.40.0", "@sentry/node": "^8.42.0",
"axios": "^1.7.8", "axios": "^1.7.9",
"colors": "1.4.0", "colors": "1.4.0",
"compression": "1.7.5", "compression": "1.7.5",
"cors": "2.8.5", "cors": "2.8.5",
"crypto-js": "4.2.0", "crypto-js": "4.2.0",
"discord.js": "^14.16.3", "discord.js": "^14.16.3",
"dompurify": "^3.2.1", "dompurify": "^3.2.2",
"express": "4.21.1", "express": "4.21.1",
"express-openid-connect": "^2.17.1", "express-openid-connect": "^2.17.1",
"fluent-ffmpeg": "^2.1.3", "fluent-ffmpeg": "^2.1.3",
@@ -78,17 +78,17 @@
"mediasoup-client": "3.7.18", "mediasoup-client": "3.7.18",
"ngrok": "^5.0.0-beta.2", "ngrok": "^5.0.0-beta.2",
"nodemailer": "^6.9.16", "nodemailer": "^6.9.16",
"openai": "^4.73.1", "openai": "^4.75.0",
"qs": "6.13.1", "qs": "6.13.1",
"socket.io": "4.8.1", "socket.io": "4.8.1",
"swagger-ui-express": "5.0.1", "swagger-ui-express": "5.0.1",
"uuid": "11.0.3" "uuid": "11.0.3"
}, },
"devDependencies": { "devDependencies": {
"mocha": "^10.8.2", "mocha": "^11.0.1",
"node-fetch": "^3.3.2", "node-fetch": "^3.3.2",
"nodemon": "^3.1.7", "nodemon": "^3.1.7",
"prettier": "3.3.3", "prettier": "3.4.2",
"proxyquire": "^2.1.3", "proxyquire": "^2.1.3",
"should": "^13.2.3", "should": "^13.2.3",
"sinon": "^19.0.2" "sinon": "^19.0.2"

عرض الملف

@@ -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.6.42 * @version 1.6.43
* *
*/ */
@@ -4616,7 +4616,7 @@ function showAbout() {
imageUrl: image.about, imageUrl: image.about,
customClass: { image: 'img-about' }, customClass: { image: 'img-about' },
position: 'center', position: 'center',
title: 'WebRTC SFU v1.6.42', title: 'WebRTC SFU v1.6.43',
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.6.42 * @version 1.6.43
* *
*/ */

عرض الملف

@@ -2,7 +2,7 @@
// https://codepen.io/tutsplus/pen/BaVqjvg // https://codepen.io/tutsplus/pen/BaVqjvg
const snowEnabled = false; const snowEnabled = true;
const snowContainer = document.getElementById('snow-container'); const snowContainer = document.getElementById('snow-container');

ثنائية
public/sponsors/LambdaTest.png Normal file

ملف ثنائي غير معروض.

بعد

العرض:  |  الارتفاع:  |  الحجم: 29 KiB

عرض الملف

@@ -474,7 +474,7 @@
/></a> /></a>
</div> </div>
</li> </li>
<li class="reveal-from-left" data-reveal-delay="1200"> <li class="reveal-from-left" data-reveal-delay="1150">
<div class="clients-logo"> <div class="clients-logo">
<a href="https://cloudron.io" target="_blank" <a href="https://cloudron.io" target="_blank"
><img ><img
@@ -484,13 +484,25 @@
/></a> /></a>
</div> </div>
</li> </li>
<li class="reveal-from-left" data-reveal-delay="1500"> <li class="reveal-from-left" data-reveal-delay="1300">
<div class="clients-logo"> <div class="clients-logo">
<a href="https://kiquix.com" target="_blank" <a href="https://kiquix.com" target="_blank"
><img class="clients-size-logo" src="../sponsors/Kiquix.png" alt="Kiquix" ><img class="clients-size-logo" src="../sponsors/Kiquix.png" alt="Kiquix"
/></a> /></a>
</div> </div>
</li> </li>
<li class="reveal-from-left" data-reveal-delay="1450">
<div class="clients-logo">
<a
href="https://lambdatest.com/pricing?coupon=QURFODlQUk9NT1RFUg==&refid=1149848"
target="_blank"
><img
class="clients-size-logo"
src="../sponsors/LambdaTest.png"
alt="LambdaTest"
/></a>
</div>
</li>
</ul> </ul>
</div> </div>
</div> </div>