[mirotalksfu] - improvements + add Hetzner as new sponsor!
هذا الالتزام موجود في:
39
README.md
39
README.md
@@ -5,13 +5,13 @@
|
|||||||
<hr />
|
<hr />
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://sfu.mirotalk.org/">https://sfu.mirotalk.org/</a>
|
<a href="https://sfu.mirotalk.com/">sfu.mirotalk.com</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<hr />
|
<hr />
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://sfu.mirotalk.org/">
|
<a href="https://sfu.mirotalk.com/">
|
||||||
<img src="public/images/mirotalksfu-header.gif">
|
<img src="public/images/mirotalksfu-header.gif">
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
@@ -176,15 +176,15 @@ Set the inbound rules:
|
|||||||
|
|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
- The API documentation uses [swagger](https://swagger.io/) at https://localhost:3010/api/v1/docs or check it on live [here](https://sfu.mirotalk.org/api/v1/docs).
|
- The API documentation 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 a entrypoint / Room URL for your meeting.
|
# The response will give you a entrypoint / Room URL for your meeting.
|
||||||
$ curl -X POST "http://localhost:3010/api/v1/meeting" -H "authorization: mirotalksfu_default_secret" -H "Content-Type: application/json"
|
$ curl -X POST "http://localhost:3010/api/v1/meeting" -H "authorization: mirotalksfu_default_secret" -H "Content-Type: application/json"
|
||||||
$ curl -X POST "https://sfu.mirotalk.org/api/v1/meeting" -H "authorization: mirotalksfu_default_secret" -H "Content-Type: application/json"
|
$ curl -X POST "https://sfu.mirotalk.com/api/v1/meeting" -H "authorization: mirotalksfu_default_secret" -H "Content-Type: application/json"
|
||||||
# The response will give you a entrypoint / URL for the direct join to the meeting.
|
# The response will give you a entrypoint / URL for the direct join to the meeting.
|
||||||
$ curl -X POST "http://localhost:3010/api/v1/join" -H "authorization: mirotalksfu_default_secret" -H "Content-Type: application/json" --data '{"room":"test","name":"mirotalksfu","audio":"0","video":"0","screen":"0","notify":"0"}'
|
$ curl -X POST "http://localhost:3010/api/v1/join" -H "authorization: mirotalksfu_default_secret" -H "Content-Type: application/json" --data '{"room":"test","name":"mirotalksfu","audio":"0","video":"0","screen":"0","notify":"0"}'
|
||||||
$ curl -X POST "https://sfu.mirotalk.org/api/v1/join" -H "authorization: mirotalksfu_default_secret" -H "Content-Type: application/json" --data '{"room":"test","name":"mirotalksfu","audio":"0","video":"0","screen":"0","notify":"0"}'
|
$ curl -X POST "https://sfu.mirotalk.com/api/v1/join" -H "authorization: mirotalksfu_default_secret" -H "Content-Type: application/json" --data '{"room":"test","name":"mirotalksfu","audio":"0","video":"0","screen":"0","notify":"0"}'
|
||||||
```
|
```
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
@@ -195,7 +195,7 @@ $ curl -X POST "https://sfu.mirotalk.org/api/v1/join" -H "authorization: mirotal
|
|||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
- You can `join` directly to `room` by going to
|
- You can `join` directly to `room` by going to
|
||||||
- https://sfu.mirotalk.org/join?room=test&name=mirotalksfu&audio=0&video=0&screen=0¬ify=0
|
- https://sfu.mirotalk.com/join?room=test&name=mirotalksfu&audio=0&video=0&screen=0¬ify=0
|
||||||
|
|
||||||
| Params | Type | Description |
|
| Params | Type | Description |
|
||||||
| ------ | ------- | --------------- |
|
| ------ | ------- | --------------- |
|
||||||
@@ -218,26 +218,37 @@ Embedding a meeting into a service or app using an iframe.
|
|||||||
```html
|
```html
|
||||||
<iframe
|
<iframe
|
||||||
allow="camera; microphone; fullscreen; display-capture; autoplay"
|
allow="camera; microphone; fullscreen; display-capture; autoplay"
|
||||||
src="https://sfu.mirotalk.org/newroom"
|
src="https://sfu.mirotalk.com/newroom"
|
||||||
style="height: 100%; width: 100%; border: 0px;"
|
style="height: 100%; width: 100%; border: 0px;"
|
||||||
></iframe>
|
></iframe>
|
||||||
```
|
```
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
<details open>
|
||||||
|
<summary>Hetzner</summary>
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
[](https://www.hetzner.com)
|
||||||
|
|
||||||
|
This application is running for `demonstration purposes` on [Hetzner](https://www.hetzner.com/), one of `the best` [cloud providers](https://www.hetzner.com/cloud) and [dedicated root servers](https://www.hetzner.com/dedicated-rootserver).
|
||||||
|
|
||||||
|
If you need help to deploy `MiroTalk SFU` instance on `your dedicated cloud server`, or for other needs, don't hesitate to contact us at sfu.mirotalk@gmail.com
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>DigitalOcean</summary>
|
<summary>DigitalOcean</summary>
|
||||||
|
|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
This application is running just for `demonstration purposes` on [DigitalOcean](https://m.do.co/c/1070207afbb1) `droplet Ubuntu 20.04 (LTS) x64 [1 vCPU - 1GB Ram]`, with [Ngnix](https://www.nginx.com/) and [Let's Encrypt](https://letsencrypt.org/).
|
[](https://www.digitalocean.com/?refcode=1070207afbb1&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=badge)
|
||||||
|
|
||||||
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 $100 credit for the first 60 days.
|
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 $100 credit for the first 60 days.
|
||||||
|
|
||||||
If you need help to deploy `MiroTalk SFU` instance on `your dedicated cloud server`, or for other needs, don't hesitate to contact us at sfu.mirotalk@gmail.com
|
If you need help to deploy `MiroTalk SFU` instance on `your dedicated cloud server`, or for other needs, don't hesitate to contact us at sfu.mirotalk@gmail.com
|
||||||
|
|
||||||
[](https://www.digitalocean.com/?refcode=1070207afbb1&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=badge)
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
@@ -245,9 +256,11 @@ If you need help to deploy `MiroTalk SFU` instance on `your dedicated cloud serv
|
|||||||
|
|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
https://sfu.mirotalk.org
|
<a target="_blank" href="https://p2p.mirotalk.com"><img src="public/sponsors/Hetzner.png" style="width: 220px;"></a>
|
||||||
|
|
||||||
[](https://sfu.mirotalk.org/)
|
https://sfu.mirotalk.com
|
||||||
|
|
||||||
|
[](https://sfu.mirotalk.com/)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
@@ -303,6 +316,8 @@ Support this project by [becoming a sponsor](https://github.com/sponsors/mirosla
|
|||||||
|
|
||||||
[](https://broadcastx.de/)
|
[](https://broadcastx.de/)
|
||||||
|
|
||||||
|
[](https://www.hetzner.com)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<br/>
|
<br/>
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ Embedding a meeting into a `service` or `app` requires using an `iframe` with th
|
|||||||
```html
|
```html
|
||||||
<iframe
|
<iframe
|
||||||
allow="camera; microphone; fullscreen; display-capture; autoplay"
|
allow="camera; microphone; fullscreen; display-capture; autoplay"
|
||||||
src="https://sfu.mirotalk.org/join/room_name"
|
src="https://sfu.mirotalk.com/join/room_name"
|
||||||
style="height: 100%; width: 100%; border: 0px;"
|
style="height: 100%; width: 100%; border: 0px;"
|
||||||
></iframe>
|
></iframe>
|
||||||
```
|
```
|
||||||
@@ -41,7 +41,7 @@ Develop your `website` or `application`, and bring `video meetings` in with a si
|
|||||||
```html
|
```html
|
||||||
<iframe
|
<iframe
|
||||||
allow="camera; microphone; fullscreen; display-capture; autoplay"
|
allow="camera; microphone; fullscreen; display-capture; autoplay"
|
||||||
src="https://sfu.mirotalk.org/newroom"
|
src="https://sfu.mirotalk.com/newroom"
|
||||||
style="height: 100%; width: 100%; border: 0px;"
|
style="height: 100%; width: 100%; border: 0px;"
|
||||||
></iframe>
|
></iframe>
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
const fetch = require('node-fetch');
|
const fetch = require('node-fetch');
|
||||||
|
|
||||||
const API_KEY = 'mirotalksfu_default_secret';
|
const API_KEY = 'mirotalksfu_default_secret';
|
||||||
const MIROTALK_URL = 'https://sfu.mirotalk.org/api/v1/join';
|
const MIROTALK_URL = 'https://sfu.mirotalk.com/api/v1/join';
|
||||||
|
|
||||||
function getResponse() {
|
function getResponse() {
|
||||||
return fetch(MIROTALK_URL, {
|
return fetch(MIROTALK_URL, {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
$API_KEY = "mirotalksfu_default_secret";
|
$API_KEY = "mirotalksfu_default_secret";
|
||||||
$MIROTALK_URL = "https://sfu.mirotalk.org/api/v1/join";
|
$MIROTALK_URL = "https://sfu.mirotalk.com/api/v1/join";
|
||||||
|
|
||||||
$ch = curl_init();
|
$ch = curl_init();
|
||||||
curl_setopt($ch, CURLOPT_URL, $MIROTALK_URL);
|
curl_setopt($ch, CURLOPT_URL, $MIROTALK_URL);
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import requests
|
|||||||
import json
|
import json
|
||||||
|
|
||||||
API_KEY = "mirotalksfu_default_secret"
|
API_KEY = "mirotalksfu_default_secret"
|
||||||
MIROTALK_URL = "https://sfu.mirotalk.org/api/v1/join"
|
MIROTALK_URL = "https://sfu.mirotalk.com/api/v1/join"
|
||||||
|
|
||||||
headers = {
|
headers = {
|
||||||
"authorization": API_KEY,
|
"authorization": API_KEY,
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
API_KEY="mirotalksfu_default_secret"
|
API_KEY="mirotalksfu_default_secret"
|
||||||
MIROTALK_URL="https://sfu.mirotalk.org/api/v1/join"
|
MIROTALK_URL="https://sfu.mirotalk.com/api/v1/join"
|
||||||
|
|
||||||
curl $MIROTALK_URL \
|
curl $MIROTALK_URL \
|
||||||
--header "authorization: $API_KEY" \
|
--header "authorization: $API_KEY" \
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
const fetch = require('node-fetch');
|
const fetch = require('node-fetch');
|
||||||
|
|
||||||
const API_KEY = 'mirotalksfu_default_secret';
|
const API_KEY = 'mirotalksfu_default_secret';
|
||||||
const MIROTALK_URL = 'https://sfu.mirotalk.org/api/v1/meeting';
|
const MIROTALK_URL = 'https://sfu.mirotalk.com/api/v1/meeting';
|
||||||
|
|
||||||
function getResponse() {
|
function getResponse() {
|
||||||
return fetch(MIROTALK_URL, {
|
return fetch(MIROTALK_URL, {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
$API_KEY = "mirotalksfu_default_secret";
|
$API_KEY = "mirotalksfu_default_secret";
|
||||||
$MIROTALK_URL = "https://sfu.mirotalk.org/api/v1/meeting";
|
$MIROTALK_URL = "https://sfu.mirotalk.com/api/v1/meeting";
|
||||||
|
|
||||||
$ch = curl_init();
|
$ch = curl_init();
|
||||||
curl_setopt($ch, CURLOPT_URL, $MIROTALK_URL);
|
curl_setopt($ch, CURLOPT_URL, $MIROTALK_URL);
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import requests
|
|||||||
import json
|
import json
|
||||||
|
|
||||||
API_KEY = "mirotalksfu_default_secret"
|
API_KEY = "mirotalksfu_default_secret"
|
||||||
MIROTALK_URL = "https://sfu.mirotalk.org/api/v1/meeting"
|
MIROTALK_URL = "https://sfu.mirotalk.com/api/v1/meeting"
|
||||||
|
|
||||||
headers = {
|
headers = {
|
||||||
"authorization": API_KEY,
|
"authorization": API_KEY,
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
API_KEY="mirotalksfu_default_secret"
|
API_KEY="mirotalksfu_default_secret"
|
||||||
MIROTALK_URL="https://sfu.mirotalk.org/api/v1/meeting"
|
MIROTALK_URL="https://sfu.mirotalk.com/api/v1/meeting"
|
||||||
|
|
||||||
curl $MIROTALK_URL \
|
curl $MIROTALK_URL \
|
||||||
--header "authorization: $API_KEY" \
|
--header "authorization: $API_KEY" \
|
||||||
|
|||||||
@@ -608,6 +608,9 @@ label {
|
|||||||
list-style: none;
|
list-style: none;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
.list-reset li {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
.text-left {
|
.text-left {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
@@ -1860,3 +1863,31 @@ main {
|
|||||||
border: 1px solid rgba(255, 255, 255, 0.2);
|
border: 1px solid rgba(255, 255, 255, 0.2);
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------
|
||||||
|
# Sponsors
|
||||||
|
--------------------------------------------------------------*/
|
||||||
|
|
||||||
|
.clients .section-inner {
|
||||||
|
padding-top: 26px;
|
||||||
|
padding-bottom: 26px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.clients-inner ul {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.clients-inner li {
|
||||||
|
padding: 12px 28px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 641px) {
|
||||||
|
.clients .clients-inner ul {
|
||||||
|
flex-direction: row;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
ملف ثنائي غير معروض.
|
قبل العرض: | الارتفاع: | الحجم: 1.4 KiB بعد العرض: | الارتفاع: | الحجم: 4.6 KiB |
ثنائية
public/sponsors/Hetzner.png
Normal file
ثنائية
public/sponsors/Hetzner.png
Normal file
ملف ثنائي غير معروض.
|
بعد العرض: | الارتفاع: | الحجم: 11 KiB |
@@ -31,7 +31,7 @@
|
|||||||
property="og:description"
|
property="og:description"
|
||||||
content="MiroTalk SFU calling provides real-time HD quality and latency simply not available with traditional technology."
|
content="MiroTalk SFU calling provides real-time HD quality and latency simply not available with traditional technology."
|
||||||
/>
|
/>
|
||||||
<meta property="og:image" content="https://sfu.mirotalk.org/images/mirotalksfu.png" />
|
<meta property="og:image" content="https://sfu.mirotalk.com/images/mirotalksfu.png" />
|
||||||
|
|
||||||
<!-- StyleSheet -->
|
<!-- StyleSheet -->
|
||||||
|
|
||||||
@@ -162,6 +162,28 @@
|
|||||||
</svg>
|
</svg>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
class="github-button"
|
||||||
|
href="https://github.com/sponsors/miroslavpejic85"
|
||||||
|
data-color-scheme="no-preference: light; light: light; dark: dark;"
|
||||||
|
data-icon="octicon-heart"
|
||||||
|
data-size="large"
|
||||||
|
aria-label="Sponsor @miroslavpejic85 on GitHub"
|
||||||
|
>Sponsor</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
class="github-button"
|
||||||
|
href="https://github.com/miroslavpejic85/mirotalksfu"
|
||||||
|
data-color-scheme="no-preference: light; light: light; dark: dark;"
|
||||||
|
data-size="large"
|
||||||
|
data-show-count="true"
|
||||||
|
aria-label="Star miroslavpejic85/mirotalk on GitHub"
|
||||||
|
>Star</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="footer-copyright">© 2022 MiroTalk SFU, all rights reserved</div>
|
<div class="footer-copyright">© 2022 MiroTalk SFU, all rights reserved</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -169,6 +191,7 @@
|
|||||||
</footer>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="../js/landing.js"></script>
|
<script defer src="../js/landing.js"></script>
|
||||||
|
<script async defer src="https://buttons.github.io/buttons.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
property="og:description"
|
property="og:description"
|
||||||
content="MiroTalk SFU calling provides real-time HD quality and latency simply not available with traditional technology."
|
content="MiroTalk SFU calling provides real-time HD quality and latency simply not available with traditional technology."
|
||||||
/>
|
/>
|
||||||
<meta property="og:image" content="https://sfu.mirotalk.org/images/mirotalksfu.png" />
|
<meta property="og:image" content="https://sfu.mirotalk.com/images/mirotalksfu.png" />
|
||||||
|
|
||||||
<!-- StyleSheet -->
|
<!-- StyleSheet -->
|
||||||
|
|
||||||
@@ -154,6 +154,28 @@
|
|||||||
</svg>
|
</svg>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
class="github-button"
|
||||||
|
href="https://github.com/sponsors/miroslavpejic85"
|
||||||
|
data-color-scheme="no-preference: light; light: light; dark: dark;"
|
||||||
|
data-icon="octicon-heart"
|
||||||
|
data-size="large"
|
||||||
|
aria-label="Sponsor @miroslavpejic85 on GitHub"
|
||||||
|
>Sponsor</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
class="github-button"
|
||||||
|
href="https://github.com/miroslavpejic85/mirotalksfu"
|
||||||
|
data-color-scheme="no-preference: light; light: light; dark: dark;"
|
||||||
|
data-size="large"
|
||||||
|
data-show-count="true"
|
||||||
|
aria-label="Star miroslavpejic85/mirotalk on GitHub"
|
||||||
|
>Star</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="footer-copyright">© 2022 MiroTalk SFU, all rights reserved</div>
|
<div class="footer-copyright">© 2022 MiroTalk SFU, all rights reserved</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -161,6 +183,7 @@
|
|||||||
</footer>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="../js/landing.js"></script>
|
<script defer src="../js/landing.js"></script>
|
||||||
|
<script async defer src="https://buttons.github.io/buttons.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
property="og:description"
|
property="og:description"
|
||||||
content="MiroTalk SFU calling provides real-time video calls, messaging and screen sharing."
|
content="MiroTalk SFU calling provides real-time video calls, messaging and screen sharing."
|
||||||
/>
|
/>
|
||||||
<meta property="og:image" content="https://sfu.mirotalk.org/images/mirotalksfu.png" />
|
<meta property="og:image" content="https://sfu.mirotalk.com/images/mirotalksfu.png" />
|
||||||
|
|
||||||
<!-- StyleSheet -->
|
<!-- StyleSheet -->
|
||||||
|
|
||||||
@@ -71,19 +71,19 @@
|
|||||||
|
|
||||||
<!-- Js scripts -->
|
<!-- Js scripts -->
|
||||||
|
|
||||||
<script src="/socket.io/socket.io.js"></script>
|
<script defer src="/socket.io/socket.io.js"></script>
|
||||||
<script src="../sfu/MediasoupClient.js"></script>
|
<script defer src="../sfu/MediasoupClient.js"></script>
|
||||||
<script src="../js/Room.js"></script>
|
<script defer src="../js/Room.js"></script>
|
||||||
<script src="../js/RoomClient.js"></script>
|
<script defer src="../js/RoomClient.js"></script>
|
||||||
<script src="../js/SpeechRec.js"></script>
|
<script defer src="../js/SpeechRec.js"></script>
|
||||||
<script src="../js/VideoGrid.js"></script>
|
<script defer src="../js/VideoGrid.js"></script>
|
||||||
<script src="https://cdn.rawgit.com/muaz-khan/DetectRTC/master/DetectRTC.js"></script>
|
<script defer src="https://cdn.rawgit.com/muaz-khan/DetectRTC/master/DetectRTC.js"></script>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/qrious/4.0.2/qrious.min.js"></script>
|
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/qrious/4.0.2/qrious.min.js"></script>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/521/fabric.min.js"></script>
|
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/521/fabric.min.js"></script>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11.4.8"></script>
|
<script defer src="https://cdn.jsdelivr.net/npm/sweetalert2@11.4.8"></script>
|
||||||
<script src="https://unpkg.com/emoji-picker-element@1" type="module"></script>
|
<script defer src="https://unpkg.com/emoji-picker-element@1" type="module"></script>
|
||||||
<script src="https://unpkg.com/@popperjs/core@2"></script>
|
<script defer src="https://unpkg.com/@popperjs/core@2"></script>
|
||||||
<script src="https://unpkg.com/tippy.js@6"></script>
|
<script defer src="https://unpkg.com/tippy.js@6"></script>
|
||||||
</head>
|
</head>
|
||||||
<body onload="initClient()">
|
<body onload="initClient()">
|
||||||
<noscript>You need to enable JavaScript to run this app.</noscript>
|
<noscript>You need to enable JavaScript to run this app.</noscript>
|
||||||
@@ -382,6 +382,7 @@ access to use this app.
|
|||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Start Google Translate
|
Start Google Translate
|
||||||
-->
|
-->
|
||||||
|
|||||||
@@ -40,7 +40,7 @@
|
|||||||
property="og:description"
|
property="og:description"
|
||||||
content="MiroTalk SFU calling provides real-time video calls, messaging and screen sharing."
|
content="MiroTalk SFU calling provides real-time video calls, messaging and screen sharing."
|
||||||
/>
|
/>
|
||||||
<meta property="og:image" content="https://sfu.mirotalk.org/images/mirotalksfu.png" />
|
<meta property="og:image" content="https://sfu.mirotalk.com/images/mirotalksfu.png" />
|
||||||
|
|
||||||
<!-- StyleSheet -->
|
<!-- StyleSheet -->
|
||||||
|
|
||||||
@@ -151,12 +151,35 @@
|
|||||||
</svg>
|
</svg>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
class="github-button"
|
||||||
|
href="https://github.com/sponsors/miroslavpejic85"
|
||||||
|
data-color-scheme="no-preference: light; light: light; dark: dark;"
|
||||||
|
data-icon="octicon-heart"
|
||||||
|
data-size="large"
|
||||||
|
aria-label="Sponsor @miroslavpejic85 on GitHub"
|
||||||
|
>Sponsor</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
class="github-button"
|
||||||
|
href="https://github.com/miroslavpejic85/mirotalksfu"
|
||||||
|
data-color-scheme="no-preference: light; light: light; dark: dark;"
|
||||||
|
data-size="large"
|
||||||
|
data-show-count="true"
|
||||||
|
aria-label="Star miroslavpejic85/mirotalk on GitHub"
|
||||||
|
>Star</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="footer-copyright">© 2022 MiroTalk SFU, all rights reserved</div>
|
<div class="footer-copyright">© 2022 MiroTalk SFU, all rights reserved</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
<script src="../js/landing.js"></script>
|
<script defer src="../js/landing.js"></script>
|
||||||
|
<script async defer src="https://buttons.github.io/buttons.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -40,7 +40,7 @@
|
|||||||
property="og:description"
|
property="og:description"
|
||||||
content="MiroTalk SFU calling provides real-time video calls, messaging and screen sharing."
|
content="MiroTalk SFU calling provides real-time video calls, messaging and screen sharing."
|
||||||
/>
|
/>
|
||||||
<meta property="og:image" content="https://sfu.mirotalk.org/images/mirotalksfu.png" />
|
<meta property="og:image" content="https://sfu.mirotalk.com/images/mirotalksfu.png" />
|
||||||
|
|
||||||
<!-- StyleSheet -->
|
<!-- StyleSheet -->
|
||||||
|
|
||||||
@@ -143,49 +143,54 @@
|
|||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section class="features section">
|
<section class="clients section">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="features-inner section-inner has-bottom-divider">
|
<div class="clients-inner section-inner has-top-divider has-bottom-divider">
|
||||||
<h2 style="text-align: center">Our sponsors</h2>
|
<h2 style="text-align: center">Our sponsors</h2>
|
||||||
<div class="features-wrap">
|
<br />
|
||||||
<div class="feature text-center is-revealing">
|
<ul class="list-reset">
|
||||||
<div class="feature-inner">
|
<li>
|
||||||
<div class="feature-icon">
|
<a href="https://broadcastx.de/" target="_blank"
|
||||||
<a href="https://broadcastx.de/" target="_blank"
|
><img src="../sponsors/BroadcastX.png" alt="BroadcastX"
|
||||||
><img src="../sponsors/BroadcastX.png" alt="BroadcastX"
|
/></a>
|
||||||
/></a>
|
</li>
|
||||||
</div>
|
<li>
|
||||||
</div>
|
<a href="https://www.hetzner.com" target="_blank"
|
||||||
</div>
|
><img src="../sponsors/Hetzner.png" alt="Hetzner"
|
||||||
</div>
|
/></a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section class="features section">
|
<section class="features section">
|
||||||
<div class="container-sm">
|
<div class="container-sm">
|
||||||
<div class="pricing-inner section-inner">
|
<div class="pricing-header text-center">
|
||||||
<div class="pricing-header text-center">
|
<br />
|
||||||
<h2 class="section-title mt-0">
|
<h2 class="section-title mt-0">
|
||||||
Unlimited number of conference rooms and users without call time limitation!
|
Unlimited number of conference rooms and users without call time limitation!
|
||||||
</h2>
|
</h2>
|
||||||
<p class="section-paragraph mb-0">
|
<p class="section-paragraph mb-0">
|
||||||
MiroTalk with SFU integrated Server. We engineered a platform with maximum video
|
MiroTalk with SFU integrated Server. We engineered a platform with maximum video quality
|
||||||
quality lowest latency that makes your calls crystal clear. Compatible with all
|
lowest latency that makes your calls crystal clear. Compatible with all browsers and
|
||||||
browsers and platforms!
|
platforms!
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div style="width: 200px; margin: 0 auto">
|
<hr />
|
||||||
<a
|
<div style="width: 200px; margin: 0 auto; text-align: center">
|
||||||
href="https://www.digitalocean.com/?refcode=1070207afbb1&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=badge"
|
<!-- <a
|
||||||
>
|
href="https://www.digitalocean.com/?refcode=1070207afbb1&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=badge"
|
||||||
<img
|
>
|
||||||
class="pulse"
|
<img
|
||||||
src="https://web-platforms.sfo2.digitaloceanspaces.com/WWW/Badge%203.svg"
|
src="https://web-platforms.sfo2.digitaloceanspaces.com/WWW/Badge%203.svg"
|
||||||
alt="DigitalOcean Referral Badge"
|
alt="Powered by DigitalOcean"
|
||||||
/>
|
/>
|
||||||
</a>
|
</a> -->
|
||||||
</div>
|
<h4>Powered by</h4>
|
||||||
|
<a href="https://www.hetzner.com">
|
||||||
|
<img src="../sponsors/Hetzner.png" alt="Powered by Hetzner" />
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<hr />
|
<hr />
|
||||||
</div>
|
</div>
|
||||||
@@ -400,6 +405,28 @@
|
|||||||
</svg>
|
</svg>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
class="github-button"
|
||||||
|
href="https://github.com/sponsors/miroslavpejic85"
|
||||||
|
data-color-scheme="no-preference: light; light: light; dark: dark;"
|
||||||
|
data-icon="octicon-heart"
|
||||||
|
data-size="large"
|
||||||
|
aria-label="Sponsor @miroslavpejic85 on GitHub"
|
||||||
|
>Sponsor</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
class="github-button"
|
||||||
|
href="https://github.com/miroslavpejic85/mirotalksfu"
|
||||||
|
data-color-scheme="no-preference: light; light: light; dark: dark;"
|
||||||
|
data-size="large"
|
||||||
|
data-show-count="true"
|
||||||
|
aria-label="Star miroslavpejic85/mirotalk on GitHub"
|
||||||
|
>Star</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="footer-copyright">© 2022 MiroTalk SFU, all rights reserved</div>
|
<div class="footer-copyright">© 2022 MiroTalk SFU, all rights reserved</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -407,7 +434,8 @@
|
|||||||
</footer>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="../js/landing.js"></script>
|
<script defer src="../js/landing.js"></script>
|
||||||
<script src="../js/newRoom.js"></script>
|
<script defer src="../js/newRoom.js"></script>
|
||||||
|
<script async defer src="https://buttons.github.io/buttons.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -40,7 +40,7 @@
|
|||||||
property="og:description"
|
property="og:description"
|
||||||
content="MiroTalk SFU calling provides real-time video calls, messaging and screen sharing."
|
content="MiroTalk SFU calling provides real-time video calls, messaging and screen sharing."
|
||||||
/>
|
/>
|
||||||
<meta property="og:image" content="https://sfu.mirotalk.org/images/mirotalksfu.png" />
|
<meta property="og:image" content="https://sfu.mirotalk.com/images/mirotalksfu.png" />
|
||||||
|
|
||||||
<!-- StyleSheet -->
|
<!-- StyleSheet -->
|
||||||
|
|
||||||
@@ -231,6 +231,28 @@
|
|||||||
</svg>
|
</svg>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
class="github-button"
|
||||||
|
href="https://github.com/sponsors/miroslavpejic85"
|
||||||
|
data-color-scheme="no-preference: light; light: light; dark: dark;"
|
||||||
|
data-icon="octicon-heart"
|
||||||
|
data-size="large"
|
||||||
|
aria-label="Sponsor @miroslavpejic85 on GitHub"
|
||||||
|
>Sponsor</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
class="github-button"
|
||||||
|
href="https://github.com/miroslavpejic85/mirotalksfu"
|
||||||
|
data-color-scheme="no-preference: light; light: light; dark: dark;"
|
||||||
|
data-size="large"
|
||||||
|
data-show-count="true"
|
||||||
|
aria-label="Star miroslavpejic85/mirotalk on GitHub"
|
||||||
|
>Star</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="footer-copyright">© 2022 MiroTalk SFU, all rights reserved</div>
|
<div class="footer-copyright">© 2022 MiroTalk SFU, all rights reserved</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -238,6 +260,7 @@
|
|||||||
</footer>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="../js/landing.js"></script>
|
<script defer src="../js/landing.js"></script>
|
||||||
|
<script async defer src="https://buttons.github.io/buttons.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
76
public/view/maintenance.html
Normal file
76
public/view/maintenance.html
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Site Maintenance</title>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta name="robots" content="noindex" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
text-align: center;
|
||||||
|
padding: 20px;
|
||||||
|
font: 20px Helvetica, sans-serif;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 768px) {
|
||||||
|
body {
|
||||||
|
padding-top: 150px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
article {
|
||||||
|
display: block;
|
||||||
|
text-align: left;
|
||||||
|
max-width: 650px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #dc8100;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:hover {
|
||||||
|
color: #333;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<article>
|
||||||
|
<h1>We’ll be back soon!</h1>
|
||||||
|
<div>
|
||||||
|
<p>
|
||||||
|
Sorry for the inconvenience but we’re performing some maintenance at the moment. If you need
|
||||||
|
to you can always
|
||||||
|
<a href="mailto:miroslav.pejic.85@gmail.com">contact us</a>, otherwise we’ll be back online
|
||||||
|
shortly!
|
||||||
|
</p>
|
||||||
|
<iframe
|
||||||
|
src="https://giphy.com/embed/dWesBcTLavkZuG35MI"
|
||||||
|
width="480"
|
||||||
|
height="360"
|
||||||
|
frameborder="0"
|
||||||
|
class="giphy-embed"
|
||||||
|
allowfullscreen
|
||||||
|
>
|
||||||
|
</iframe>
|
||||||
|
<p>— The MiroTalk Team</p>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</body>
|
||||||
|
<!--
|
||||||
|
# Under maintenance custom page
|
||||||
|
error_page 500 502 503 504 /50X.html;
|
||||||
|
location = /maintenance.html {
|
||||||
|
root /usr/share/nginx/html;
|
||||||
|
internal;
|
||||||
|
}
|
||||||
|
-->
|
||||||
|
</html>
|
||||||
@@ -40,7 +40,7 @@
|
|||||||
property="og:description"
|
property="og:description"
|
||||||
content="MiroTalk SFU calling provides real-time video calls, messaging and screen sharing."
|
content="MiroTalk SFU calling provides real-time video calls, messaging and screen sharing."
|
||||||
/>
|
/>
|
||||||
<meta property="og:image" content="https://sfu.mirotalk.org/images/mirotalksfu.png" />
|
<meta property="og:image" content="https://sfu.mirotalk.com/images/mirotalksfu.png" />
|
||||||
|
|
||||||
<!-- StyleSheet -->
|
<!-- StyleSheet -->
|
||||||
|
|
||||||
@@ -209,6 +209,28 @@
|
|||||||
</svg>
|
</svg>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
class="github-button"
|
||||||
|
href="https://github.com/sponsors/miroslavpejic85"
|
||||||
|
data-color-scheme="no-preference: light; light: light; dark: dark;"
|
||||||
|
data-icon="octicon-heart"
|
||||||
|
data-size="large"
|
||||||
|
aria-label="Sponsor @miroslavpejic85 on GitHub"
|
||||||
|
>Sponsor</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
class="github-button"
|
||||||
|
href="https://github.com/miroslavpejic85/mirotalksfu"
|
||||||
|
data-color-scheme="no-preference: light; light: light; dark: dark;"
|
||||||
|
data-size="large"
|
||||||
|
data-show-count="true"
|
||||||
|
aria-label="Star miroslavpejic85/mirotalk on GitHub"
|
||||||
|
>Star</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="footer-copyright">© 2022 MiroTalk SFU, all rights reserved</div>
|
<div class="footer-copyright">© 2022 MiroTalk SFU, all rights reserved</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -216,7 +238,8 @@
|
|||||||
</footer>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="../js/landing.js"></script>
|
<script defer src="../js/landing.js"></script>
|
||||||
<script src="../js/newRoom.js"></script>
|
<script defer src="../js/newRoom.js"></script>
|
||||||
|
<script async defer src="https://buttons.github.io/buttons.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
property="og:description"
|
property="og:description"
|
||||||
content="MiroTalk SFU calling provides real-time HD quality and latency simply not available with traditional technology."
|
content="MiroTalk SFU calling provides real-time HD quality and latency simply not available with traditional technology."
|
||||||
/>
|
/>
|
||||||
<meta property="og:image" content="https://sfu.mirotalk.org/images/mirotalksfu.png" />
|
<meta property="og:image" content="https://sfu.mirotalk.com/images/mirotalksfu.png" />
|
||||||
|
|
||||||
<!-- StyleSheet -->
|
<!-- StyleSheet -->
|
||||||
|
|
||||||
@@ -174,6 +174,28 @@
|
|||||||
</svg>
|
</svg>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
class="github-button"
|
||||||
|
href="https://github.com/sponsors/miroslavpejic85"
|
||||||
|
data-color-scheme="no-preference: light; light: light; dark: dark;"
|
||||||
|
data-icon="octicon-heart"
|
||||||
|
data-size="large"
|
||||||
|
aria-label="Sponsor @miroslavpejic85 on GitHub"
|
||||||
|
>Sponsor</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
class="github-button"
|
||||||
|
href="https://github.com/miroslavpejic85/mirotalksfu"
|
||||||
|
data-color-scheme="no-preference: light; light: light; dark: dark;"
|
||||||
|
data-size="large"
|
||||||
|
data-show-count="true"
|
||||||
|
aria-label="Star miroslavpejic85/mirotalk on GitHub"
|
||||||
|
>Star</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="footer-copyright">© 2022 MiroTalk SFU, all rights reserved</div>
|
<div class="footer-copyright">© 2022 MiroTalk SFU, all rights reserved</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -181,6 +203,7 @@
|
|||||||
</footer>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="../js/landing.js"></script>
|
<script defer src="../js/landing.js"></script>
|
||||||
|
<script async defer src="https://buttons.github.io/buttons.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
property="og:description"
|
property="og:description"
|
||||||
content="MiroTalk SFU calling provides real-time HD quality and latency simply not available with traditional technology."
|
content="MiroTalk SFU calling provides real-time HD quality and latency simply not available with traditional technology."
|
||||||
/>
|
/>
|
||||||
<meta property="og:image" content="https://sfu.mirotalk.org/images/mirotalksfu.png" />
|
<meta property="og:image" content="https://sfu.mirotalk.com/images/mirotalksfu.png" />
|
||||||
|
|
||||||
<!-- StyleSheet -->
|
<!-- StyleSheet -->
|
||||||
|
|
||||||
@@ -167,6 +167,28 @@
|
|||||||
</svg>
|
</svg>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
class="github-button"
|
||||||
|
href="https://github.com/sponsors/miroslavpejic85"
|
||||||
|
data-color-scheme="no-preference: light; light: light; dark: dark;"
|
||||||
|
data-icon="octicon-heart"
|
||||||
|
data-size="large"
|
||||||
|
aria-label="Sponsor @miroslavpejic85 on GitHub"
|
||||||
|
>Sponsor</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
class="github-button"
|
||||||
|
href="https://github.com/miroslavpejic85/mirotalksfu"
|
||||||
|
data-color-scheme="no-preference: light; light: light; dark: dark;"
|
||||||
|
data-size="large"
|
||||||
|
data-show-count="true"
|
||||||
|
aria-label="Star miroslavpejic85/mirotalk on GitHub"
|
||||||
|
>Star</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="footer-copyright">© 2022 MiroTalk SFU, all rights reserved</div>
|
<div class="footer-copyright">© 2022 MiroTalk SFU, all rights reserved</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -174,6 +196,7 @@
|
|||||||
</footer>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="../js/landing.js"></script>
|
<script defer src="../js/landing.js"></script>
|
||||||
|
<script async defer src="https://buttons.github.io/buttons.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
المرجع في مشكلة جديدة
حظر مستخدم