docs: add meet.cryptopro.ru as alternative Jitsi server option

This commit is contained in:
zarazaex69
2026-05-25 15:43:28 +03:00
parent 933fb158e2
commit af9eeea740
20 changed files with 103 additions and 15 deletions

View File

@@ -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",

View File

@@ -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"

View File

@@ -12,6 +12,12 @@
> **Важно:** Обязательно проверяйте, есть ли сервис видеозвонков у вас в белых списках. Если его там нет - используйте другой. Список всех сервисов в белых списках скоро будет опубликован.
> **Jitsi-провайдер:** если используете `jitsi`, выбирайте сервер в зависимости от того, что доступно в вашей сети:
> - `https://meet1.arbitr.ru/`
> - `https://meet.cryptopro.ru/`
>
> Откройте оба в браузере и используйте тот, который работает.
Здесь описан один из способов запуска сервера olcrtc с локальной конфигурацией Docker.

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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.

View File

@@ -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-такой-же-как-на-сервере>"

View File

@@ -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`

View File

@@ -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"

View File

@@ -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.

View File

@@ -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",
// })
//

View File

@@ -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",

View File

@@ -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

View File

@@ -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)"