mirror of
https://github.com/openlibrecommunity/olcrtc.git
synced 2026-05-26 07:08:11 +00:00
docs: add meet.cryptopro.ru as alternative Jitsi server option
This commit is contained in:
@@ -72,7 +72,7 @@ olcrtc client.yaml
|
||||
|
||||
| Provider | Engine | Комментарий |
|
||||
|---|---|---|
|
||||
| `jitsi` | `jitsi` | URL комнаты Jitsi, без отдельной регистрации |
|
||||
| `jitsi` | `jitsi` | URL комнаты Jitsi (`meet1.arbitr.ru` или `meet.cryptopro.ru`), без отдельной регистрации |
|
||||
| `telemost` | `goolom` | credentials через Yandex Telemost API, с отдельной регистрацией |
|
||||
| `wbstream` | `livekit` | credentials через WbBStream API, с отдельной регистрацией |
|
||||
| `none` | задаётся в `engine.name` | прямой engine-режим с `engine.url` и `engine.token`, с отдельной регистрацией |
|
||||
@@ -130,6 +130,8 @@ mode: srv
|
||||
auth:
|
||||
provider: jitsi
|
||||
room:
|
||||
# Используйте тот Jitsi-сервер, который работает в вашей сети:
|
||||
# https://meet1.arbitr.ru/ROOM или https://meet.cryptopro.ru/ROOM
|
||||
id: "https://meet1.arbitr.ru/REPLACE_ME_WITH_ROOM_ID"
|
||||
crypto:
|
||||
key: "REPLACE_ME_WITH_64_HEX_CHARS"
|
||||
@@ -146,6 +148,8 @@ mode: cnc
|
||||
auth:
|
||||
provider: jitsi
|
||||
room:
|
||||
# Используйте тот Jitsi-сервер, который работает в вашей сети:
|
||||
# https://meet1.arbitr.ru/ROOM или https://meet.cryptopro.ru/ROOM
|
||||
id: "https://meet1.arbitr.ru/REPLACE_ME_WITH_ROOM_ID"
|
||||
crypto:
|
||||
key: "REPLACE_ME_WITH_64_HEX_CHARS"
|
||||
@@ -210,6 +214,7 @@ Go версия в сборочных скриптах: `1.25`. Для `videocha
|
||||
```go
|
||||
sess, err := olcrtc.New(ctx, olcrtc.Config{
|
||||
Auth: "jitsi",
|
||||
// Используйте meet1.arbitr.ru или meet.cryptopro.ru - тот, что работает в вашей сети
|
||||
RoomID: "https://meet1.arbitr.ru/myroom",
|
||||
})
|
||||
if err != nil {
|
||||
@@ -224,6 +229,7 @@ conn, err := sess.Dial(ctx)
|
||||
srv := tunnel.New(tunnel.Config{
|
||||
Transport: "datachannel",
|
||||
Carrier: "jitsi",
|
||||
// Используйте meet1.arbitr.ru или meet.cryptopro.ru - тот, что работает в вашей сети
|
||||
RoomURL: "https://meet1.arbitr.ru/myroom",
|
||||
KeyHex: "<64-char hex>",
|
||||
DNSServer: "8.8.8.8:53",
|
||||
|
||||
@@ -86,11 +86,17 @@ olcrtc /etc/olcrtc/client.yaml
|
||||
|
||||
### Сервер
|
||||
|
||||
> **Jitsi-провайдер:** используйте тот сервер, который доступен в вашей сети. Проверьте оба в браузере и выберите рабочий:
|
||||
> - `https://meet1.arbitr.ru/`
|
||||
> - `https://meet.cryptopro.ru/`
|
||||
|
||||
```yaml
|
||||
mode: srv
|
||||
auth:
|
||||
provider: jitsi
|
||||
room:
|
||||
# Используйте тот Jitsi-сервер, который работает в вашей сети:
|
||||
# https://meet1.arbitr.ru/ROOM или https://meet.cryptopro.ru/ROOM
|
||||
id: "https://meet1.arbitr.ru/REPLACE_ME_WITH_ROOM_ID"
|
||||
crypto:
|
||||
key: "REPLACE_ME_WITH_64_HEX_CHARS"
|
||||
@@ -107,6 +113,8 @@ mode: cnc
|
||||
auth:
|
||||
provider: jitsi
|
||||
room:
|
||||
# Используйте тот Jitsi-сервер, который работает в вашей сети:
|
||||
# https://meet1.arbitr.ru/ROOM или https://meet.cryptopro.ru/ROOM
|
||||
id: "https://meet1.arbitr.ru/REPLACE_ME_WITH_ROOM_ID"
|
||||
crypto:
|
||||
key: "REPLACE_ME_WITH_64_HEX_CHARS"
|
||||
|
||||
@@ -12,6 +12,12 @@
|
||||
|
||||
> **Важно:** Обязательно проверяйте, есть ли сервис видеозвонков у вас в белых списках. Если его там нет - используйте другой. Список всех сервисов в белых списках скоро будет опубликован.
|
||||
|
||||
> **Jitsi-провайдер:** если используете `jitsi`, выбирайте сервер в зависимости от того, что доступно в вашей сети:
|
||||
> - `https://meet1.arbitr.ru/`
|
||||
> - `https://meet.cryptopro.ru/`
|
||||
>
|
||||
> Откройте оба в браузере и используйте тот, который работает.
|
||||
|
||||
|
||||
Здесь описан один из способов запуска сервера olcrtc с локальной конфигурацией Docker.
|
||||
|
||||
|
||||
@@ -8,6 +8,8 @@ auth:
|
||||
|
||||
# Для jitsi: полный URL комнаты (https://host/room или host/room).
|
||||
# Должен совпадать с сервером.
|
||||
# Доступные серверы: meet1.arbitr.ru или meet.cryptopro.ru
|
||||
# Проверьте в браузере, какой работает в вашей сети.
|
||||
room:
|
||||
id: "https://meet1.arbitr.ru/REPLACE_WITH_ROOM_NAME"
|
||||
|
||||
|
||||
@@ -8,6 +8,8 @@ auth:
|
||||
|
||||
# Для jitsi: полный URL комнаты (https://host/room или host/room).
|
||||
# Должен совпадать с сервером.
|
||||
# Доступные серверы: meet1.arbitr.ru или meet.cryptopro.ru
|
||||
# Проверьте в браузере, какой работает в вашей сети.
|
||||
room:
|
||||
id: "https://meet1.arbitr.ru/REPLACE_WITH_ROOM_NAME"
|
||||
|
||||
|
||||
@@ -8,6 +8,8 @@ auth:
|
||||
|
||||
# Для jitsi: полный URL комнаты (https://host/room или host/room).
|
||||
# Должен совпадать с сервером.
|
||||
# Доступные серверы: meet1.arbitr.ru или meet.cryptopro.ru
|
||||
# Проверьте в браузере, какой работает в вашей сети.
|
||||
room:
|
||||
id: "https://meet1.arbitr.ru/REPLACE_WITH_ROOM_NAME"
|
||||
|
||||
|
||||
@@ -8,6 +8,8 @@ auth:
|
||||
|
||||
# Для jitsi: полный URL комнаты (https://host/room или host/room).
|
||||
# Должен совпадать с сервером.
|
||||
# Доступные серверы: meet1.arbitr.ru или meet.cryptopro.ru
|
||||
# Проверьте в браузере, какой работает в вашей сети.
|
||||
room:
|
||||
id: "https://meet1.arbitr.ru/REPLACE_WITH_ROOM_NAME"
|
||||
|
||||
|
||||
@@ -8,6 +8,8 @@ auth:
|
||||
|
||||
# Для jitsi: полный URL комнаты (https://host/room или host/room).
|
||||
# Должен совпадать с клиентом.
|
||||
# Доступные серверы: meet1.arbitr.ru или meet.cryptopro.ru
|
||||
# Проверьте в браузере, какой работает в вашей сети.
|
||||
room:
|
||||
id: "https://meet1.arbitr.ru/REPLACE_WITH_ROOM_NAME"
|
||||
|
||||
|
||||
@@ -8,6 +8,8 @@ auth:
|
||||
|
||||
# Для jitsi: полный URL комнаты (https://host/room или host/room).
|
||||
# Должен совпадать с клиентом.
|
||||
# Доступные серверы: meet1.arbitr.ru или meet.cryptopro.ru
|
||||
# Проверьте в браузере, какой работает в вашей сети.
|
||||
room:
|
||||
id: "https://meet1.arbitr.ru/REPLACE_WITH_ROOM_NAME"
|
||||
|
||||
|
||||
@@ -8,6 +8,8 @@ auth:
|
||||
|
||||
# Для jitsi: полный URL комнаты (https://host/room или host/room).
|
||||
# Должен совпадать с клиентом.
|
||||
# Доступные серверы: meet1.arbitr.ru или meet.cryptopro.ru
|
||||
# Проверьте в браузере, какой работает в вашей сети.
|
||||
room:
|
||||
id: "https://meet1.arbitr.ru/REPLACE_WITH_ROOM_NAME"
|
||||
|
||||
|
||||
@@ -8,6 +8,8 @@ auth:
|
||||
|
||||
# Для jitsi: полный URL комнаты (https://host/room или host/room).
|
||||
# Должен совпадать с клиентом.
|
||||
# Доступные серверы: meet1.arbitr.ru или meet.cryptopro.ru
|
||||
# Проверьте в браузере, какой работает в вашей сети.
|
||||
room:
|
||||
id: "https://meet1.arbitr.ru/REPLACE_WITH_ROOM_NAME"
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@ cd olcrtc
|
||||
|
||||
Выбери сервис. Полную матрицу совместимости смотри в [settings.md](settings.md).
|
||||
|
||||
**По умолчанию `jitsi`** - стабильно работает на datachannel против self-hosted и публичных Jitsi инстансов (например `meet1.arbitr.ru`).
|
||||
**По умолчанию `jitsi`** - стабильно работает на datachannel против self-hosted и публичных Jitsi инстансов (например `meet1.arbitr.ru` или `meet.cryptopro.ru`). Проверьте в браузере, какой из них доступен в вашей сети.
|
||||
|
||||
### Transport (как именно передавать данные)
|
||||
|
||||
@@ -130,7 +130,7 @@ cd olcrtc
|
||||
Введите Room ID:
|
||||
```
|
||||
|
||||
Для **jitsi** - полный URL комнаты в формате `https://host/room` (например `https://meet1.arbitr.ru/myroom`). Имя комнаты придумывается на лету, без регистрации. Подойдёт любой публичный или self-hosted Jitsi Meet.
|
||||
Для **jitsi** - полный URL комнаты в формате `https://host/room` (например `https://meet1.arbitr.ru/myroom` или `https://meet.cryptopro.ru/myroom`). Имя комнаты придумывается на лету, без регистрации. Подойдёт любой публичный или self-hosted Jitsi Meet. **Обязательно проверьте, какой сервер работает в вашей сети** - откройте оба в браузере и используйте тот, который открывается.
|
||||
|
||||
Для **telemost** и **wbstream** - создай руму через сайт ([telemost](https://telemost.yandex.ru/), [wbstream](https://stream.wb.ru)) и вставь её ID.
|
||||
|
||||
|
||||
@@ -158,7 +158,7 @@ openssl rand -hex 32
|
||||
|
||||
### jitsi + datachannel (рекомендуется)
|
||||
|
||||
Самый простой способ: используй любой self-hosted или публичный Jitsi Meet инстанс. Регистрация не нужна, имя комнаты выдумывается на лету. По умолчанию в примерах ниже - `meet1.arbitr.ru`, но подойдёт любой другой (`meet.jit.si`, свой self-hosted и т.п.).
|
||||
Самый простой способ: используй любой self-hosted или публичный Jitsi Meet инстанс. Регистрация не нужна, имя комнаты выдумывается на лету. Доступные публичные серверы: `meet1.arbitr.ru` и `meet.cryptopro.ru` - **обязательно проверь в браузере, какой из них работает в твоей сети**, и используй тот, который открывается. Также подойдёт любой другой (`meet.jit.si`, свой self-hosted и т.п.).
|
||||
|
||||
Создай YAML конфиг:
|
||||
|
||||
@@ -168,6 +168,7 @@ mode: srv
|
||||
auth:
|
||||
provider: jitsi
|
||||
room:
|
||||
# Используйте meet1.arbitr.ru или meet.cryptopro.ru - тот, что работает в вашей сети
|
||||
id: "https://meet1.arbitr.ru/myroom"
|
||||
crypto:
|
||||
key: "d823fa01cb3e0609b67322f7cf984c4ee2e4ce2e294936fc24ef38c9e59f4799"
|
||||
@@ -242,6 +243,7 @@ mode: cnc
|
||||
auth:
|
||||
provider: jitsi
|
||||
room:
|
||||
# Используйте meet1.arbitr.ru или meet.cryptopro.ru - тот, что работает в вашей сети
|
||||
id: "https://meet1.arbitr.ru/myroom"
|
||||
crypto:
|
||||
key: "<hex-key-такой-же-как-на-сервере>"
|
||||
|
||||
@@ -30,11 +30,11 @@
|
||||
|
||||
**WBStream:** все транспорты кроме datachannel работают. DataChannel в обычном guest flow без выдавания модератора не работает - WB Stream выдаёт токены с `canPublishData=false`, и DC не маршрутизирует данные.
|
||||
|
||||
**Jitsi:** datachannel стабильно проходит - реализован поверх colibri-ws bridge channel и шлёт байты через `EndpointMessage{raw}` broadcast. Подходит для self-hosted и публичных Jitsi Meet инстансов без аутентификации (`https://meet1.arbitr.ru/...`, `https://meet.jit.si/...` и т.п.). Видео-транспорты (vp8channel, seichannel, videochannel) экспонируют sendable VideoTrack через pion PeerConnection после Jingle session-accept, но Jicofo требует дополнительных протокольных шагов (LastN, ReceiverVideoConstraints, source-add) для маршрутизации видео - поэтому они помечены `~` .
|
||||
**Jitsi:** datachannel стабильно проходит - реализован поверх colibri-ws bridge channel и шлёт байты через `EndpointMessage{raw}` broadcast. Подходит для self-hosted и публичных Jitsi Meet инстансов без аутентификации (`https://meet1.arbitr.ru/...`, `https://meet.cryptopro.ru/...`, `https://meet.jit.si/...` и т.п.). Проверьте в браузере, какой из серверов доступен в вашей сети. Видео-транспорты (vp8channel, seichannel, videochannel) экспонируют sendable VideoTrack через pion PeerConnection после Jingle session-accept, но Jicofo требует дополнительных протокольных шагов (LastN, ReceiverVideoConstraints, source-add) для маршрутизации видео - поэтому они помечены `~` .
|
||||
|
||||
**Jitsi + seichannel - отдельная оговорка.** SEI NAL-юниты идут пассажиром в H.264 видеопотоке, а Jicofo на self-hosted инстансах (например `meet1.arbitr.ru`) периодически режет/откладывает upstream видео когда ресивера в комнате формально нет - для нас это выглядит как `seichannel ack timeout` при формально живом PeerConnection. В steady-state транспорт работает, но e2e матрица помечает его `Unstable` (флаппит): зелёного и красного результата в CI достаточно, тест suite на этом не валится. Для надёжной передачи данных через jitsi предпочтительнее `datachannel` или `vp8channel`.
|
||||
**Jitsi + seichannel - отдельная оговорка.** SEI NAL-юниты идут пассажиром в H.264 видеопотоке, а Jicofo на self-hosted инстансах (например `meet1.arbitr.ru`, `meet.cryptopro.ru`) периодически режет/откладывает upstream видео когда ресивера в комнате формально нет - для нас это выглядит как `seichannel ack timeout` при формально живом PeerConnection. В steady-state транспорт работает, но e2e матрица помечает его `Unstable` (флаппит): зелёного и красного результата в CI достаточно, тест suite на этом не валится. Для надёжной передачи данных через jitsi предпочтительнее `datachannel` или `vp8channel`.
|
||||
|
||||
**Рекомендуемая комбинация: `jitsi + datachannel`** - стабильно работает на любом self-hosted или публичном Jitsi Meet (например `meet1.arbitr.ru`), не требует регистрации, простая руму создания. Альтернатива: `wbstream + vp8channel` - стабильно для коммерческих сценариев, не требует специальных прав.
|
||||
**Рекомендуемая комбинация: `jitsi + datachannel`** - стабильно работает на любом self-hosted или публичном Jitsi Meet (например `meet1.arbitr.ru` или `meet.cryptopro.ru` - проверьте, какой доступен в вашей сети), не требует регистрации, простая руму создания. Альтернатива: `wbstream + vp8channel` - стабильно для коммерческих сценариев, не требует специальных прав.
|
||||
|
||||
Скорость по убыванию: `datachannel` > `vp8channel` > `seichannel` > `videochannel`
|
||||
|
||||
|
||||
@@ -222,7 +222,13 @@ data: data
|
||||
olcrtc://jitsi?datachannel@https://meet1.arbitr.ru/myroom#d823fa01cb3e0609b67322f7cf984c4ee2e4ce2e294936fc24ef38c9e59f4799$RU / olc free sub
|
||||
```
|
||||
|
||||
`<RoomID>` для jitsi - полный URL комнаты в формате `https://host/room` (или `host/room`). Поддерживается любой self-hosted Jitsi Meet инстанс без аутентификации; для публичных серверов вроде `meet.jit.si` тот же формат.
|
||||
Или с `meet.cryptopro.ru`:
|
||||
|
||||
```text
|
||||
olcrtc://jitsi?datachannel@https://meet.cryptopro.ru/myroom#d823fa01cb3e0609b67322f7cf984c4ee2e4ce2e294936fc24ef38c9e59f4799$RU / olc free sub
|
||||
```
|
||||
|
||||
`<RoomID>` для jitsi - полный URL комнаты в формате `https://host/room` (или `host/room`). Поддерживается любой self-hosted Jitsi Meet инстанс без аутентификации; для публичных серверов (`meet1.arbitr.ru`, `meet.cryptopro.ru`, `meet.jit.si`) тот же формат. **Обязательно проверьте, какой сервер доступен в вашей сети.**
|
||||
|
||||
### Эквивалент YAML
|
||||
|
||||
@@ -231,6 +237,7 @@ mode: cnc
|
||||
auth:
|
||||
provider: jitsi
|
||||
room:
|
||||
# Используйте meet1.arbitr.ru или meet.cryptopro.ru - тот, что работает в вашей сети
|
||||
id: "https://meet1.arbitr.ru/myroom"
|
||||
crypto:
|
||||
key: "d823fa01cb3e0609b67322f7cf984c4ee2e4ce2e294936fc24ef38c9e59f4799"
|
||||
|
||||
@@ -44,7 +44,8 @@ func (Provider) Engine() string { return "jitsi" }
|
||||
const defaultServiceURL = "https://meet1.arbitr.ru"
|
||||
|
||||
// DefaultServiceURL returns the default Jitsi Meet service URL used by config
|
||||
// defaults and interactive helpers.
|
||||
// defaults and interactive helpers. Users should verify which server is
|
||||
// accessible in their network: https://meet1.arbitr.ru or https://meet.cryptopro.ru
|
||||
func (Provider) DefaultServiceURL() string { return defaultServiceURL }
|
||||
|
||||
// Issue parses cfg.RoomURL into host+room and returns engine credentials.
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
//
|
||||
// sess, err := olcrtc.New(ctx, olcrtc.Config{
|
||||
// Auth: "jitsi",
|
||||
// // Use meet1.arbitr.ru or meet.cryptopro.ru - whichever works in your network
|
||||
// RoomID: "https://meet1.arbitr.ru/myroom",
|
||||
// })
|
||||
//
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
// srv := tunnel.New(tunnel.Config{
|
||||
// Transport: "datachannel",
|
||||
// Carrier: "jitsi",
|
||||
// // Use meet1.arbitr.ru or meet.cryptopro.ru - whichever works in your network
|
||||
// RoomURL: "https://meet1.arbitr.ru/myroom",
|
||||
// KeyHex: "<64-char hex>",
|
||||
// DNSServer: "8.8.8.8:53",
|
||||
|
||||
@@ -129,9 +129,29 @@ echo "[*] Using transport: $TRANSPORT"
|
||||
echo ""
|
||||
|
||||
if [ "$AUTH" = "jitsi" ]; then
|
||||
read -p "Jitsi base URL [default: https://meet1.arbitr.ru/]: " JITSI_BASE_INPUT
|
||||
JITSI_BASE_URL=${JITSI_BASE_INPUT:-https://meet1.arbitr.ru/}
|
||||
JITSI_BASE_URL="${JITSI_BASE_URL%/}"
|
||||
echo ""
|
||||
echo "Выберите Jitsi-сервер (проверьте в браузере, какой работает в вашей сети):"
|
||||
echo " 1) https://meet1.arbitr.ru/"
|
||||
echo " 2) https://meet.cryptopro.ru/"
|
||||
echo " 3) Другой (ввести вручную)"
|
||||
read -p "Введите номер [1-3, по умолчанию: 1]: " JITSI_SERVER_CHOICE
|
||||
|
||||
case "$JITSI_SERVER_CHOICE" in
|
||||
2)
|
||||
JITSI_BASE_URL="https://meet.cryptopro.ru"
|
||||
;;
|
||||
3)
|
||||
read -p "Введите URL Jitsi-сервера: " JITSI_BASE_INPUT
|
||||
JITSI_BASE_URL="${JITSI_BASE_INPUT%/}"
|
||||
if [ -z "$JITSI_BASE_URL" ]; then
|
||||
echo "[X] URL не может быть пустым"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
JITSI_BASE_URL="https://meet1.arbitr.ru"
|
||||
;;
|
||||
esac
|
||||
|
||||
read -p "Enter Jitsi room name or URL: " JITSI_ROOM_INPUT
|
||||
if [ -z "$JITSI_ROOM_INPUT" ]; then
|
||||
|
||||
@@ -127,9 +127,29 @@ echo ""
|
||||
GEN_ROOM=0
|
||||
|
||||
if [ "$CARRIER" = "jitsi" ]; then
|
||||
read -p "Jitsi base URL [default: https://meet1.arbitr.ru/]: " JITSI_BASE_INPUT
|
||||
JITSI_BASE_URL=${JITSI_BASE_INPUT:-https://meet1.arbitr.ru/}
|
||||
JITSI_BASE_URL="${JITSI_BASE_URL%/}"
|
||||
echo ""
|
||||
echo "Выберите Jitsi-сервер (проверьте в браузере, какой работает в вашей сети):"
|
||||
echo " 1) https://meet1.arbitr.ru/"
|
||||
echo " 2) https://meet.cryptopro.ru/"
|
||||
echo " 3) Другой (ввести вручную)"
|
||||
read -p "Введите номер [1-3, по умолчанию: 1]: " JITSI_SERVER_CHOICE
|
||||
|
||||
case "$JITSI_SERVER_CHOICE" in
|
||||
2)
|
||||
JITSI_BASE_URL="https://meet.cryptopro.ru"
|
||||
;;
|
||||
3)
|
||||
read -p "Введите URL Jitsi-сервера: " JITSI_BASE_INPUT
|
||||
JITSI_BASE_URL="${JITSI_BASE_INPUT%/}"
|
||||
if [ -z "$JITSI_BASE_URL" ]; then
|
||||
echo "[X] URL не может быть пустым"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
JITSI_BASE_URL="https://meet1.arbitr.ru"
|
||||
;;
|
||||
esac
|
||||
|
||||
echo "Room options:"
|
||||
echo " 1) Auto-generate new room (recommended)"
|
||||
|
||||
Reference in New Issue
Block a user