diff --git a/docs/fast.md b/docs/fast.md index 8f37bd2..fcad20d 100644 --- a/docs/fast.md +++ b/docs/fast.md @@ -22,24 +22,24 @@ ### git ```sh -apt install git # Debian / Ubuntu -pacman -S git # Arch +apt install git # Debian / Ubuntu / Mint +pacman -S git # Arch / CacheOS / Manjaro dnf install git # Fedora / RHEL / CentOS ``` ### podman ```sh -apt install podman # Debian / Ubuntu -pacman -S podman # Arch +apt install podman # Debian / Ubuntu / Mint +pacman -S podman # Arch / CacheOS / Manjaro dnf install podman # Fedora / RHEL / CentOS ``` ### curl ```sh -apt install curl # Debian/Ubuntu -pacman -S curl # Arch +apt install curl # Debian / Ubuntu/ Mint +pacman -S curl # Arch / CacheOS / Manjaro dnf install curl # Fedora ``` @@ -74,7 +74,9 @@ Select carrier: Enter choice [1-3, default: 1]: ``` -Выбери сервис. Смотри матрицу в [settings.md](settings.md) какой transport (способ передачи данных) с каким carrier (сервис) работает. +Выбери сервис. Полную матрицу совместимости смотри в [settings.md](settings.md). + +**Рекомендуется `wbstream`** - работает со всеми транспортами. ### Transport (как именно передавать данные) @@ -88,10 +90,12 @@ Enter choice [1-4, default: 1]: ``` Рекомендации: -- **datachannel** - работает везде помимо telemost, за него Jazz может забанить ваш IP, быстрый и мелкий пинг. -- **vp8channel** - работает везде, быстрый но большой пинг. -- **seichannel** - работает везде, медленный но мелкий пинг. -- **videochannel** - работает везде, медленный и большой пинг. +- **datachannel** - самый быстрый, минимальный пинг. Работает с `jazz` и `wbstream`. **Jazz банит IP за datachannel** - лучше используй только с `wbstream`. +- **vp8channel** - работает везде, быстрый, но большой пинг. +- **seichannel** - работает везде кроме telemost, медленный, но мелкий пинг. +- **videochannel** - работает везде, самый медленный и большой пинг. + +**Лучшая комбинация: `wbstream + datachannel`** - максимальная скорость, минимальный пинг, без риска бана. ### Room ID @@ -109,7 +113,7 @@ Enter Room ID: Enter Client ID [default: default]: ``` -Это обязательный идентификатор клиента. Он должен быть одинаковым на сервере и клиенте, используется чтобы клиент подключался именно к вашему серверу, а не к случайному серверу в руме. +Это обязательный идентификатор клиента. Он должен быть одинаковым на сервере и клиенте - используется чтобы клиент подключался именно к вашему серверу, а не к случайному серверу в руме. ### DNS @@ -302,3 +306,9 @@ podman stop olcrtc-client ### Перезапустить (просто запусти скрипт снова) Скрипт сам останавливает старый контейнер перед стартом нового. + +--- + +Хочешь собрать руками без Podman? -> [Мануальная сборка](manual.md) + +Все флаги и матрица совместимости -> [settings.md](settings.md) diff --git a/docs/manual.md b/docs/manual.md index 437a75f..8828022 100644 --- a/docs/manual.md +++ b/docs/manual.md @@ -19,9 +19,9 @@ ## Шаг 1: Установить git ```sh -apt install git # Debian / Ubuntu -pacman -S git # Arch -dnf install git # Fedora / RHEL / CentOS +apt install git # Debian / Ubuntu / Mint +pacman -S git # Arch / CachyOS / Manjaro +dnf install git # Fedora / RHEL / CentOS ``` --- @@ -31,8 +31,8 @@ dnf install git # Fedora / RHEL / CentOS ### Arch / Fedora (всё просто) ```sh -pacman -S go # Arch -dnf install go # Fedora +pacman -S go # Arch / CachyOS / Manjaro +dnf install go # Fedora / RHEL / CentOS ``` ### Debian / Ubuntu (системный пакет устаревший) @@ -115,7 +115,7 @@ cd olcrtc ## Шаг 5: Собрать ```sh -mage build # текущая платформа → build/olcrtc-linux-amd64 +mage build # текущая платформа mage cross # все платформы сразу (если собираешь для другой машины) ``` @@ -145,7 +145,7 @@ openssl rand -hex 32 ## Шаг 7: Придумать client ID -Это обязательный идентификатор клиента. Он должен совпадать на сервере и клиенте, иначе сервер отклонит соединение, используется чтобы клиент подключался именно к вашему серверу, а не к случайному серверу в руме. +Это обязательный идентификатор клиента. Он должен совпадать на сервере и клиенте, иначе сервер отклонит соединение. ```sh CLIENT_ID=default @@ -159,7 +159,7 @@ CLIENT_ID=default На серверной машине (VPS и т.д.). Подбери нужную комбинацию carrier + transport из матрицы в [settings.md](settings.md). -### Пример wbstream + datachannel (максимальная скорость и пинг) +### wbstream + datachannel (рекомендуется - максимальная скорость и пинг) ```sh ./build/olcrtc-linux-amd64 \ @@ -180,18 +180,17 @@ CLIENT_ID=default Wbstream room created: abc123xyz ``` -Ручками создать румы можно через сайт [wbstream](https://stream.wb.ru) +Ручками создать румы можно через сайт [wbstream](https://stream.wb.ru). Этот ID нужно передать клиенту. - ### Добавить отладку Добавь `--debug` к любой команде - увидишь каждое соединение: ``` -2026/05/03 08:05:23 Connecting link via direct/vp8channel/telemost... -2026/05/03 08:05:25 telemost publisher state: connected +2026/05/03 08:05:23 Connecting link via direct/datachannel/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 2026/05/03 08:05:43 sid=3 connected icanhazip.com @@ -257,3 +256,9 @@ mage lint # запустить линтер mage podman # собрать образ через podman mage docker # собрать образ через docker ``` + +--- + +Используешь скрипты вместо ручной сборки? -> [Быстрый старт](fast.md) + +Все флаги и матрица совместимости -> [settings.md](settings.md) diff --git a/docs/settings.md b/docs/settings.md index 0984bdf..15429e7 100644 --- a/docs/settings.md +++ b/docs/settings.md @@ -7,20 +7,26 @@ + # Настройки ## Матрица совместимости -Сначала выбери что с чем работает: - | Transport | telemost | jazz | wbstream | |-----------|:--------:|:----:|:--------:| -| datachannel | ✗ | ✓ | ✓ | +| datachannel | ✗ | ⚠️ | ✓ | | vp8channel | ✓ | ✓ | ✓ | | seichannel | ✗ | ✓ | ✓ | | videochannel | ✓ | ✓ | ✓ | -Скорость по убыванию: datachannel > vp8channel > seichannel > videochannel +**Легенда:** +- ✓ - работает +- ✗ - не поддерживается +- ⚠️ - работает, но не желательно + +**Рекомендуемая комбинация: `wbstream + datachannel`** - максимальная скорость, минимальный пинг. + +Скорость по убыванию: `datachannel` > `vp8channel` > `seichannel` > `videochannel` --- @@ -66,6 +72,12 @@ --- +## datachannel + +Дополнительных флагов нет - всё по умолчанию. + +--- + ## vp8channel **Рекомендуется: `-vp8-fps 60 -vp8-batch 64`** (числа лучше чётные, больший batch = выше скорость) @@ -77,6 +89,19 @@ --- +## seichannel + +**Рекомендуется: `-fps 60 -batch 64 -frag 900 -ack-ms 2000`** + +| Флаг | Описание | По умолчанию | +|------|----------|:------------:| +| `-fps` | FPS H264 потока | `60` | +| `-batch` | Кадров за тик | `64` | +| `-frag` | Размер фрагмента в байтах | `900` | +| `-ack-ms` | Таймаут ACK в миллисекундах | `2000` | + +--- + ## videochannel **Рекомендуется: `-video-codec qrcode -video-w 1080 -video-h 1080 -video-fps 60 -video-bitrate 5000k -video-hw none`** @@ -98,40 +123,19 @@ --- -## seichannel - -**Рекомендуется: `-fps 60 -batch 64 -frag 900 -ack-ms 2000`** - -| Флаг | Описание | По умолчанию | -|------|----------|:------------:| -| `-fps` | FPS H264 потока | `60` | -| `-batch` | Кадров за тик | `64` | -| `-frag` | Размер фрагмента в байтах | `900` | -| `-ack-ms` | Таймаут ACK в миллисекундах | `2000` | - ---- - -## datachannel - -Дополнительных флагов нет - всё по умолчанию. - ---- - ## Готовые команды -### telemost + seichannel +### wbstream + datachannel (рекомендуется - максимальная скорость, без бана) ```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 +# сервер - room ID создастся сам, смотри логи +./olcrtc -mode srv -carrier wbstream -transport datachannel \ + -id any -client-id -key -link direct -data data -dns 1.1.1.1:53 # клиент -./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 +./olcrtc -mode cnc -carrier wbstream -transport datachannel \ + -id -client-id -key -link direct -data data -dns 1.1.1.1:53 \ + -socks-host 127.0.0.1 -socks-port 1080 ``` ### telemost + vp8channel @@ -149,17 +153,19 @@ -vp8-fps 60 -vp8-batch 64 ``` -### jazz + datachannel (максимальная скорость) +### telemost + seichannel ```sh -# сервер - room ID создастся сам, смотри логи -./olcrtc -mode srv -carrier jazz -transport datachannel \ - -id any -client-id -key -link direct -data data +# сервер +./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 jazz -transport datachannel \ +./olcrtc -mode cnc -carrier telemost -transport seichannel \ -id -client-id -key -link direct -data data \ - -socks-host 127.0.0.1 -socks-port 1080 + -socks-host 127.0.0.1 -socks-port 1080 \ + -fps 60 -batch 64 -frag 900 -ack-ms 2000 ``` ### telemost + videochannel (крайний случай) @@ -178,3 +184,9 @@ -video-codec qrcode -video-w 1080 -video-h 1080 \ -video-fps 60 -video-bitrate 5000k -video-hw none ``` + +--- + +Подробнее про запуск: [Быстрый старт](fast.md) · [Мануальная сборка](manual.md) + +URI-формат для клиентов: [uri.md](uri.md) · [Формат подписки](sub.md) diff --git a/docs/sub.md b/docs/sub.md index 6364ef9..2e48df9 100644 --- a/docs/sub.md +++ b/docs/sub.md @@ -149,12 +149,19 @@ olcrtc://wbstream?seichannel@room-01#d823fa01cb3e0609b67322f7cf984c4ee2e4ce2e294 ##ip: 203.0.113.10 ##comment: basic free node -olcrtc://jazz?datachannel@abc123xyz#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%android-01$DE / backup / IPv4 +olcrtc://wbstream?datachannel@abc123xyz#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%android-01$DE / backup / IPv4 ##name: DE-Backup ##icon: 🇩🇪 ##color: #2EBD85 -##comment: reserve route +##comment: reserve route, wbstream+datachannel - max speed ``` ## Имплементация клиента для подписок -на данный момент - не существует единой реализации, но в скором времени они точно появятся даже в официальном репозитории + +На данный момент не существует единой реализации, но в скором времени они точно появятся даже в официальном репозитории. + +--- + +URI-формат для отдельного сервера: [uri.md](uri.md) + +Матрица совместимости carrier + transport: [settings.md](settings.md) diff --git a/docs/uri.md b/docs/uri.md index f834e96..410ac6c 100644 --- a/docs/uri.md +++ b/docs/uri.md @@ -75,10 +75,10 @@ URI-поля сопоставляются с обычными параметра ## Примеры -### Полный пример +### wbstream + datachannel (рекомендуется) ```text -olcrtc://wbstream?seichannel@room-01#d823fa01cb3e0609b67322f7cf984c4ee2e4ce2e294936fc24ef38c9e59f4799%android-01$RU / olc free sub / IPv6 +olcrtc://wbstream?datachannel@room-01#d823fa01cb3e0609b67322f7cf984c4ee2e4ce2e294936fc24ef38c9e59f4799%android-01$RU / olc free sub / IPv6 ``` Разбор: @@ -86,7 +86,7 @@ olcrtc://wbstream?seichannel@room-01#d823fa01cb3e0609b67322f7cf984c4ee2e4ce2e294 | Поле | Значение | |------|----------| | `Carrier` | `wbstream` | -| `Transport` | `seichannel` | +| `Transport` | `datachannel` | | `RoomID` | `room-01` | | `EncryptionKey` | `d823fa01cb3e0609b67322f7cf984c4ee2e4ce2e294936fc24ef38c9e59f4799` | | `ClientID` | `android-01` | @@ -97,7 +97,7 @@ olcrtc://wbstream?seichannel@room-01#d823fa01cb3e0609b67322f7cf984c4ee2e4ce2e294 ```sh ./olcrtc -mode cnc \ -carrier wbstream \ - -transport seichannel \ + -transport datachannel \ -id room-01 \ -client-id android-01 \ -key d823fa01cb3e0609b67322f7cf984c4ee2e4ce2e294936fc24ef38c9e59f4799 \ @@ -105,8 +105,20 @@ olcrtc://wbstream?seichannel@room-01#d823fa01cb3e0609b67322f7cf984c4ee2e4ce2e294 -data data ``` +### wbstream + seichannel (альтернатива) + +```text +olcrtc://wbstream?seichannel@room-01#d823fa01cb3e0609b67322f7cf984c4ee2e4ce2e294936fc24ef38c9e59f4799%android-01$RU / olc free sub / IPv6 +``` + --- ## Короткие алиасы Как хотите но лично я был бы против. + +--- + +Формат подписки (список серверов): [sub.md](sub.md) + +Матрица совместимости carrier + transport: [settings.md](settings.md)