docs: clarify wbstream datachannel limitations

This commit is contained in:
zarazaex69
2026-05-14 03:58:39 +03:00
parent 1897c13550
commit 82afc24238
6 changed files with 34 additions and 27 deletions

View File

@@ -393,8 +393,9 @@ Carrier - это WebRTC сервис видеозвонков, через кот
- Сервис трансляций от Wildberries: `stream.wb.ru`
- **Рекомендуется** - самый стабильный
- Минимальная прослойка, почти прямой relay
- Работает со всеми транспортами: datachannel, vp8channel, seichannel, videochannel
- Поддерживает автогенерацию Room ID (`mode: gen`)
- Работает с vp8channel, seichannel, videochannel
- DataChannel поддерживается условно: WB Stream должен выдать участникам право `canPublishData`, обычно через модераторские/permission права комнаты. В обычном guest flow DC не рекомендуется.
- Room ID нужно создавать вручную через stream.wb.ru
- Инициализация звонка автоматически
---
@@ -409,8 +410,8 @@ Transport определяет как именно данные упаковыв
- Лимит payload: 12KB на сообщение (ограничение SFU)
- Надёжный, упорядоченный (SCTP гарантирует)
- Работает с jazz (нежелательно - банят) и wbstream
- **Лучшая комбинация: `wbstream + datachannel`**
- Работает с jazz (нежелательно - банят) и условно с wbstream
- WB Stream DataChannel требует `canPublishData=true` у участников. Без модераторских/permission прав WB Stream может поднять соединение, но не маршрутизировать data packets.
### vp8channel
@@ -582,7 +583,7 @@ cd olcrtc
# генерация ключа
openssl rand -hex 32
# создать конфиг (пример: wbstream + datachannel)
# создать конфиг (пример: wbstream + vp8channel)
cat > server.yaml <<EOF
mode: srv
link: direct
@@ -593,7 +594,7 @@ room:
crypto:
key: "REPLACE_WITH_64_HEX"
net:
transport: datachannel
transport: vp8channel
dns: "1.1.1.1:53"
data: data
EOF
@@ -612,7 +613,7 @@ room:
crypto:
key: "REPLACE_WITH_64_HEX"
net:
transport: datachannel
transport: vp8channel
dns: "1.1.1.1:53"
socks:
host: "127.0.0.1"
@@ -702,8 +703,8 @@ olcrtc://<Carrier>?<Transport><payload>@<RoomID>#<Key>$<MIMO>
**Примеры:**
```
olcrtc://wbstream?datachannel@room-01#d823fa...$RU / olc free sub
olcrtc://wbstream?vp8channel<vp8-fps=60&vp8-batch=64>@room-01#d823fa...$RU
olcrtc://wbstream?datachannel@room-01#d823fa...$RU / requires canPublishData
olcrtc://telemost?seichannel<fps=60&batch=64&frag=900&ack-ms=2000>@room-01#d823fa...$RU
```
@@ -717,7 +718,7 @@ olcrtc://telemost?seichannel<fps=60&batch=64&frag=900&ack-ms=2000>@room-01#d823f
#refresh: 10m
#icon: 🇷🇺
olcrtc://wbstream?datachannel@room-01#key$RU / free
olcrtc://wbstream?vp8channel<vp8-fps=60&vp8-batch=64>@room-01#key$RU / free
##name: RU-1
##ip: 1.2.3.4
##comment: basic free node
@@ -731,7 +732,7 @@ olcrtc://wbstream?datachannel@room-01#key$RU / free
| Transport | telemost | jazz | wbstream |
|---|:---:|:---:|:---:|
| datachannel | - | `*` | `+` |
| datachannel | - | `*` | `!` |
| vp8channel | `+` | `+` | `+` |
| seichannel | - | `+` | `+` |
| videochannel | `+` | `+` | `+` |
@@ -739,14 +740,15 @@ olcrtc://wbstream?datachannel@room-01#key$RU / free
- `+` работает
- `-` не поддерживается
- `*` работает, но jazz банит IP за паттерны datachannel трафика
- `!` работает только если WB Stream выдал участникам право `canPublishData` (обычно через модераторские/permission права)
**Рекомендуется:** `wbstream + datachannel` - максимальная скорость, минимальный пинг, без бана.
**Рекомендуется для wbstream:** `vp8channel` как обычный режим. `wbstream + datachannel` быстрый, но не рекомендуется без модераторских прав: в guest flow WB Stream может выдавать токены с `canPublishData=false`, и DC не будет маршрутизировать данные.
**Скорость по убыванию:** `datachannel` > `vp8channel` > `seichannel` > `videochannel`
**Рекордный замер:** на связке `wbstream + datachannel` (test by `x2827262628281872727`) зафиксированы пинг **7 мс** и скорость **792.62 Mbps на вход / 749.69 Mbps на выход** - максимум, измеренный через olcRTC.
**Рекордный замер:** на связке `wbstream + datachannel` (test by `x2827262628281872727`) зафиксированы пинг **7 мс** и скорость **792.62 Mbps на вход / 749.69 Mbps на выход** - максимум, измеренный через olcRTC. Сейчас этот режим зависит от WB Stream permission `canPublishData` и не считается рекомендуемым для обычного guest flow.
<img src="asset/speedtest.png" alt="speedtest" width="400">

View File

@@ -116,12 +116,12 @@ Enter choice [1-4, default: 1]:
```
Рекомендации:
- **datachannel** - самый быстрый, минимальный пинг. Работает с `jazz` и `wbstream`. **Jazz банит IP за datachannel** - лучше используй только с `wbstream`.
- **datachannel** - самый быстрый, минимальный пинг. Работает с `jazz` и условно с `wbstream`. **Jazz банит IP за datachannel**; **WBStream DC требует `canPublishData`/модераторские права у участников**, поэтому для обычного guest flow не рекомендуется.
- **vp8channel** - работает везде, быстрый, но большой пинг.
- **seichannel** - работает везде кроме telemost, медленный, но мелкий пинг.
- **videochannel** - работает везде, самый медленный и большой пинг.
**Лучшая комбинация: `wbstream + datachannel`** - максимальная скорость, минимальный пинг, без риска бана.
**Рекомендуемая комбинация для wbstream: `wbstream + vp8channel`**. `wbstream + datachannel` используй только если участникам выданы права на отправку data packets.
### Room ID

View File

@@ -147,10 +147,12 @@ openssl rand -hex 32
На серверной машине (VPS и т.д.). Подбери нужную комбинацию carrier + transport из матрицы в [settings.md](settings.md).
### wbstream + datachannel (рекомендуется - максимальная скорость и пинг)
### wbstream + vp8channel (рекомендуется)
Сначала создай руму вручную через сайт [wbstream](https://stream.wb.ru) (автогенерация через `mode: gen` для wbstream больше не поддерживается) и сохрани её ID.
`wbstream + datachannel` поддерживается только если участникам выданы права на отправку data packets (`canPublishData=true`), обычно через модераторские/permission права комнаты. В обычном guest flow DC не рекомендуется.
Создай YAML конфиг:
```yaml
@@ -164,7 +166,7 @@ room:
crypto:
key: "d823fa01cb3e0609b67322f7cf984c4ee2e4ce2e294936fc24ef38c9e59f4799"
net:
transport: datachannel
transport: vp8channel
dns: "1.1.1.1:53"
data: data
```
@@ -182,7 +184,7 @@ Room ID нужно передать клиенту.
Добавь `debug: true` в YAML конфиг - увидишь каждое соединение:
```
2026/05/03 08:05:23 Connecting link via direct/datachannel/wbstream...
2026/05/03 08:05:23 Connecting link via direct/vp8channel/wbstream...
2026/05/03 08:05:25 wbstream publisher state: connected
2026/05/03 08:05:27 Link connected
2026/05/03 08:05:43 sid=3 connect icanhazip.com:443
@@ -195,7 +197,7 @@ Room ID нужно передать клиенту.
На своей машине. Auth provider, transport, room ID и key должны совпадать с сервером.
### wbstream + datachannel
### wbstream + vp8channel
```yaml
# client.yaml
@@ -208,7 +210,7 @@ room:
crypto:
key: "<hex-key>"
net:
transport: datachannel
transport: vp8channel
dns: "1.1.1.1:53"
socks:
host: "127.0.0.1"
@@ -239,7 +241,7 @@ room:
crypto:
key: "<hex-key>"
net:
transport: datachannel
transport: vp8channel
dns: "1.1.1.1:53"
socks:
host: "127.0.0.1"

View File

@@ -14,7 +14,7 @@
| Transport | telemost | jazz | wbstream |
|-----------|:--------:|:----:|:--------:|
| datachannel | - | * | + |
| datachannel | - | * | ! |
| vp8channel | + | + | + |
| seichannel | - | + | + |
| videochannel | + | + | + |
@@ -23,8 +23,9 @@
- `+` - работает
- `-` - не поддерживается
- `*` - работает, но не желательно
- `!` - работает только если участникам выданы права на отправку data packets (`canPublishData`), обычно через модераторские права
**Рекомендуемая комбинация: `wbstream + datachannel`** - максимальная скорость, минимальный пинг.
**Рекомендуемая комбинация для wbstream: `wbstream + vp8channel`**. `wbstream + datachannel` быстрый, но в обычном guest/anonymous flow WB Stream выдаёт токены с `canPublishData=false`; без выдачи участникам модераторских/permission прав DC не маршрутизирует данные и поэтому не рекомендуется.
Скорость по убыванию: `datachannel` > `vp8channel` > `seichannel` > `videochannel`
@@ -162,7 +163,9 @@ gen:
## Готовые конфиги
### wbstream + datachannel (рекомендуется - максимальная скорость, без бана)
### wbstream + datachannel (не рекомендуется без модераторских прав)
WB Stream DataChannel работает только когда участникам выданы права на отправку data packets (`canPublishData=true`), обычно через модераторские/permission права комнаты. В обычном guest flow WB Stream может выдавать токены с `canPublishData=false`, тогда соединение поднимется, но данные через DC не пойдут. Для обычного использования выбирай `vp8channel`, `seichannel` или `videochannel`.
```yaml
# room ID нужно создать вручную через https://stream.wb.ru
@@ -201,7 +204,7 @@ socks:
data: data
```
### wbstream + datachannel + SOCKS5 аутентификация
### wbstream + datachannel + SOCKS5 аутентификация (только с модераторскими правами)
```yaml
# client.yaml с логином и паролем на прокси

View File

@@ -154,7 +154,7 @@ olcrtc://wbstream?datachannel@abc123xyz#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
##name: DE-Backup
##icon: 🇩🇪
##color: #2EBD85
##comment: reserve route, wbstream+datachannel - max speed
##comment: reserve route, wbstream+datachannel requires canPublishData/moderator permissions
```
## Имплементация клиента для подписок

View File

@@ -113,13 +113,13 @@ Payload не используется.
## Примеры
### wbstream + datachannel (рекомендуется)
### wbstream + datachannel (только с permission rights)
```text
olcrtc://wbstream?datachannel@room-01#d823fa01cb3e0609b67322f7cf984c4ee2e4ce2e294936fc24ef38c9e59f4799$RU / olc free sub / IPv6
```
Payload не нужен - datachannel параметров не имеет.
Payload не нужен - datachannel параметров не имеет. Для WBStream этот режим не рекомендуется в обычном guest flow: участникам нужны права на отправку data packets (`canPublishData=true`), обычно через модераторские/permission права комнаты.
### Эквивалент YAML