From d60f5d4ac856bee4a8a49a583620f7ea3fafb76a Mon Sep 17 00:00:00 2001 From: zarazaex69 Date: Thu, 7 May 2026 01:40:32 +0300 Subject: [PATCH] doc: sync doc with sei cfg --- docs/fast.md | 31 +++++++++++++--------- docs/manual.md | 68 ++++++++++++++++++++++++++++++++---------------- docs/settings.md | 40 +++++++++++++++++++++++----- 3 files changed, 98 insertions(+), 41 deletions(-) diff --git a/docs/fast.md b/docs/fast.md index 0ac0978..b3f6020 100644 --- a/docs/fast.md +++ b/docs/fast.md @@ -80,10 +80,10 @@ Enter choice [1-4, default: 1]: ``` Рекомендации: -- **datachannel** - самый быстрый (~6 МБ/с), работает везде кроме telemost +- **datachannel** - работает везде помимо telemost, самый быстрый (~6 МБ/с) - **vp8channel** - работает везде включая telemost, вводи FPS=60, batch=64 -- **seichannel** - для wbstream/sber, всё по умолчанию -- **videochannel** - медленный (~200 КБ/с), только в крайнем случае +- **seichannel** - работает везде помимо telemost, вводи всё по умолчанию (FPS=20, batch=1, frag=900, ack-ms=3000) +- **videochannel** - работает везде включая telemost, медленный (~200 КБ/с), только в крайнем случае ### Room ID @@ -129,6 +129,17 @@ VP8 batch size (frames per tick) [default: 1]: 64 Введи `60` и `64` - это оптимальные значения. +### Параметры транспорта (только для seichannel) + +``` +SEI FPS [default: 20]: 60 +SEI batch size (frames per tick) [default: 1]: 64 +SEI fragment size in bytes [default: 900]: 900 +SEI ACK timeout in milliseconds [default: 3000]: 2000 +``` + +Нажми Enter для всех - значения по умолчанию оптимальны. + ### Результат После запуска скрипт выведет: @@ -137,11 +148,11 @@ VP8 batch size (frames per tick) [default: 1]: 64 [+] Server started successfully! Container name: olcrtc-server -Carrier: telemost -Transport: vp8channel -Room ID: 75587919855134 +Carrier: Carrier +Transport: Transport +Room ID: Room ID Client ID: default -Encryption key: 4fc9ab159c0268a12766be00c0a85138df5905f72c5eb5780c380507ebe0174d +Encryption key: Encryption key ``` **Сохрани Room ID, Client ID и Encryption key** - они нужны для клиента. @@ -171,7 +182,7 @@ Enter Client ID [default: default]: default Когда спросит ключ: ``` -Enter Encryption Key (hex): 4fc9ab159c0268a12766be00c0a85138df5905f72c5eb5780c380507ebe0174d +Enter Encryption Key (hex): Encryption key ``` Вставь ключ с сервера. @@ -241,7 +252,3 @@ podman stop olcrtc-client **`podman: command not found`** - установи podman (см. начало документа). **`git: command not found`** - установи git. - -**Контейнер запустился но curl возвращает домашний IP** - подожди 10-15 секунд после старта, соединение устанавливается не мгновенно. - -**Ключ уже есть в `~/.olcrtc_key`** - скрипт не генерирует новый, использует старый. Если хочешь новый - удали файл: `rm ~/.olcrtc_key`. diff --git a/docs/manual.md b/docs/manual.md index 5d379b7..1f0cf24 100644 --- a/docs/manual.md +++ b/docs/manual.md @@ -128,7 +128,7 @@ build/olcrtc-darwin-amd64 Делается один раз на сервере. Ключ должен совпадать на сервере и клиенте. ```sh -openssl rand -hex 32 +openssl rand -hex 32 # d823fa01cb3e0609b67322f7cf984c4ee2e4ce2e294936fc24ef38c9e59f4799 ``` @@ -141,7 +141,7 @@ openssl rand -hex 32 Это обязательный идентификатор клиента. Он должен совпадать на сервере и клиенте, иначе сервер отклонит соединение. ```sh -CLIENT_ID=my-phone +CLIENT_ID=default ``` Подойдёт любая короткая строка без пробелов: `home-laptop`, `android-01`, `pc`. @@ -171,12 +171,12 @@ CLIENT_ID=my-phone Для telemost `-id` - это ID комнаты телемоста. Создай комнату через [telemost.yandex.ru](https://telemost.yandex.ru/) и вставь ID из ссылки. -### jazz + datachannel (максимальная скорость, не работает в telemost) +### wbstream + datachannel (максимальная скорость, не работает в telemost) ```sh ./build/olcrtc-linux-amd64 \ -mode srv \ - -carrier jazz \ + -carrier wbstream \ -transport datachannel \ -id any \ -client-id "$CLIENT_ID" \ @@ -189,24 +189,40 @@ CLIENT_ID=my-phone При `-id any` сервер создаст комнату автоматически и напишет ID в логах: ``` -Jazz room created: abc123xyz +Wbstream room created: abc123xyz ``` Этот ID нужно передать клиенту. -### wbstream + seichannel +### telemost + seichannel + +```sh +./build/olcrtc-linux-amd64 \ + -mode srv \ + -carrier telemost \ + -transport seichannel \ + -id 75587912855134 \ + -client-id "$CLIENT_ID" \ + -key \ + -link direct \ + -dns 1.1.1.1:53 \ + -data data \ + -fps 20 -batch 1 -frag 900 -ack-ms 3000 +``` + +### wbstream + datachannel ```sh ./build/olcrtc-linux-amd64 \ -mode srv \ -carrier wbstream \ - -transport seichannel \ + -transport datachannel \ -id any \ -client-id "$CLIENT_ID" \ -key \ -link direct \ -dns 1.1.1.1:53 \ - -data data + -data data \ ``` ### Добавить отладку @@ -246,12 +262,30 @@ Jazz room created: abc123xyz -vp8-batch 64 ``` -### jazz + datachannel +### telemost + seichannel ```sh ./build/olcrtc-linux-amd64 \ -mode cnc \ - -carrier jazz \ + -carrier telemost \ + -transport seichannel \ + -id 75587912855134 \ + -client-id "$CLIENT_ID" \ + -key \ + -link direct \ + -dns 1.1.1.1:53 \ + -data data \ + -socks-host 127.0.0.1 \ + -socks-port 1080 \ + -fps 20 -batch 1 -frag 900 -ack-ms 3000 +``` + +### wbstream + datachannel + +```sh +./build/olcrtc-linux-amd64 \ + -mode cnc \ + -carrier wbstream \ -transport datachannel \ -id abc123xyz \ -client-id "$CLIENT_ID" \ @@ -277,7 +311,7 @@ SOCKS5 server listening on 127.0.0.1:1080 curl --socks5-hostname 127.0.0.1:1080 https://icanhazip.com ``` -Должен вернуть IP сервера, а не домашний. +Должен вернуть IP сервера. Или выставить переменную чтобы весь трафик шёл через прокси: @@ -300,15 +334,3 @@ mage lint # запустить линтер mage podman # собрать образ через podman mage docker # собрать образ через docker ``` - ---- - -## Частые проблемы - -**`mage: command not found`** - добавь `~/go/bin` в PATH (см. шаг 3). - -**`go.mod:3: invalid go version`** - версия go слишком старая, нужна 1.26+ (см. шаг 2). - -**`submodule path ... No such file or directory`** - забыл `--recurse-submodules`. Исправить: `git submodule update --init --recursive`. - -**curl возвращает домашний IP** - подожди 10-15 секунд, соединение устанавливается не мгновенно. Смотри логи с `--debug`. diff --git a/docs/settings.md b/docs/settings.md index cdc71ef..bf2301f 100644 --- a/docs/settings.md +++ b/docs/settings.md @@ -11,7 +11,7 @@ | seichannel | ✗ | ✓ | ✓ | | videochannel | ✓ | ✓ | ✓ | -Скорость по убыванию: datachannel (~6 МБ/с) > vp8channel > seichannel > videochannel (~200 КБ/с) +Скорость по убыванию: datachannel > vp8channel > seichannel > videochannel --- @@ -27,15 +27,15 @@ | `-key` | Ключ шифрования hex 64 символа. Генерация: `openssl rand -hex 32` | | `-link` | Всегда `direct` | | `-data` | Всегда `data` | +| `-dns` | DNS-сервер, например `1.1.1.1:53` | --- ## Необязательные флаги -| Флаг | Описание | По умолчанию | -|------|----------|:------------:| -| `-dns` | DNS-сервер | `1.1.1.1:53` | -| `--debug` | Подробные логи соединений | выкл | +| Флаг | Описание | +|------|----------| +| `--debug` | Подробные логи соединений | --- @@ -89,7 +89,20 @@ --- -## seichannel / datachannel +## seichannel + +**Рекомендуется: `-fps 60 -batch 64 -frag 900 -ack-ms 2000`** + +| Флаг | Описание | По умолчанию | +|------|----------|:------------:| +| `-fps` | FPS H264 потока | `60` | +| `-batch` | Кадров за тик | `64` | +| `-frag` | Размер фрагмента в байтах | `900` | +| `-ack-ms` | Таймаут ACK в миллисекундах | `2000` | + +--- + +## datachannel Дополнительных флагов нет - всё по умолчанию. @@ -97,6 +110,21 @@ ## Готовые команды +### telemost + seichannel + +```sh +# сервер +./olcrtc -mode srv -carrier telemost -transport seichannel \ + -id -client-id -key -link direct -data data \ + -fps 60 -batch 64 -frag 900 -ack-ms 2000 + +# клиент +./olcrtc -mode cnc -carrier telemost -transport seichannel \ + -id -client-id -key -link direct -data data \ + -socks-host 127.0.0.1 -socks-port 1080 \ + -fps 60 -batch 64 -frag 900 -ack-ms 2000 +``` + ### telemost + vp8channel ```sh