mirror of
https://github.com/openlibrecommunity/olcrtc.git
synced 2026-06-02 06:23:37 +02:00
doc: actualize
This commit is contained in:
+7
-7
@@ -84,7 +84,7 @@
|
||||
|
||||
**2026-04-12..14** - большой рефакторинг: golangci-lint, Jazz провайдер с protobuf-style пакетами, автогенерация Room ID для Jazz, Windows скрипты от `DeNcHiK3713`.
|
||||
|
||||
**2026-04-19..20** - архитектурный рефакторинг: выделение слоёв `carrier` / `transport` / `link`, WB Stream провайдер через LiveKit SDK, видеоканальный PoC на Python.
|
||||
**2026-04-19..20** - архитектурный рефакторинг: выделение слоёв `auth` / `transport` / `link` (архитектурно `carrier` слой отвечает за WebRTC сессию), WB Stream провайдер через LiveKit SDK, видеоканальный PoC на Python.
|
||||
|
||||
**2026-04-21..22** - `videochannel` транспорт (данные кодируются в QR-коды внутри VP8 видеопотока через ffmpeg), `vp8channel` транспорт (данные в VP8 payload), NVENC поддержка.
|
||||
|
||||
@@ -253,7 +253,7 @@ internal/e2e/ E2E тесты на реальных провайдер
|
||||
|---|---|
|
||||
| `transport.go` | Интерфейс `Transport` + реестр. `Features` описывает: надёжность, упорядоченность, message-oriented или stream, макс. размер payload |
|
||||
| `transport_test.go` | Тесты реестра |
|
||||
| `datachannel/transport.go` | Самый простой транспорт. Открывает ByteStream у carrier (DataChannel), просто форвардит байты. Лимит payload: 12KB |
|
||||
| `datachannel/transport.go` | Самый простой транспорт. Открывает ByteStream у auth-провайдера (DataChannel), просто форвардит байты. Лимит payload: 12KB |
|
||||
| `vp8channel/transport.go` | Данные кодируются в VP8 видеофреймы. Поверх auth-провайдера строится KCP (надёжный UDP-подобный протокол) для реорганизации и ретрансмиссии. Данные батчатся по N фреймов за тик. Keepalive через keyframe |
|
||||
| `vp8channel/kcp.go` | KCP сессия: conv ID = `0xC0FFEE01`, MTU 1400, окно 4096 сегментов. Length-prefix framing поверх KCP stream mode (workaround бага kcp-go с фрагментацией) |
|
||||
| `vp8channel/kcpconn.go` | `io.ReadWriteCloser` адаптер для KCP |
|
||||
@@ -268,10 +268,10 @@ internal/e2e/ E2E тесты на реальных провайдер
|
||||
|
||||
| Файл | Что делает |
|
||||
|---|---|
|
||||
| `carrier.go` | Интерфейс `Session` + реестр. `Capabilities` описывает что умеет carrier: ByteStream и/или VideoTrack |
|
||||
| `carrier.go` | Интерфейс `Session` + реестр. `Capabilities` описывает что умеет auth-провайдер: ByteStream и/или VideoTrack |
|
||||
| `bytestream.go` | `ByteStream` и `VideoTrack` интерфейсы |
|
||||
| `carrier_test.go` | Тесты |
|
||||
| `builtin/register.go` | Регистрирует все engine/auth комбинации в реестре carrier |
|
||||
| `builtin/register.go` | Регистрирует все engine/auth комбинации в реестре auth |
|
||||
| `builtin/engine_adapter.go` | Адаптер `engine.Session` → `auth.Provider` + `registerDirect()` для режима без auth |
|
||||
|
||||
### `internal/engine/`
|
||||
@@ -474,7 +474,7 @@ Transport определяет как именно данные упаковыв
|
||||
- Генерация: `openssl rand -hex 32`
|
||||
- Каждое сообщение: случайный nonce (24 байта) prepend к ciphertext + AEAD тег
|
||||
- Ключ должен совпадать на сервере и клиенте
|
||||
- Шифрование происходит в `muxconn` - до передачи в transport/carrier
|
||||
- Шифрование происходит в `muxconn` - до передачи в transport/auth
|
||||
|
||||
WebRTC сам по себе шифрует трафик через DTLS-SRTP, но olcRTC добавляет поверх свой слой - провайдер видит только зашифрованный blob.
|
||||
|
||||
@@ -835,7 +835,7 @@ olcrtc://wbstream?datachannel@room-01#key%client-id$RU / free
|
||||
|---|---|
|
||||
| `test` | `go test -count=1 ./...` |
|
||||
| `coverage` | `go test --cover ./...` |
|
||||
| `real-e2e` | E2E матрица всех carrier×transport на реальных провайдерах (25 мин таймаут) |
|
||||
| `real-e2e` | E2E матрица всех auth×transport на реальных провайдерах (25 мин таймаут) |
|
||||
| `lint` | golangci-lint |
|
||||
| `build-cli` | `mage cross` - кросс-компиляция для 9 платформ, артефакты в Actions |
|
||||
| `build-android` | `mage mobile` - Android AAR, артефакт в Actions |
|
||||
@@ -896,7 +896,7 @@ WB Stream - текущий приоритет. Основа уже реализ
|
||||
|
||||
| Контрибутор | Коммиты | Вклад |
|
||||
|---|---|---|
|
||||
| **zarazaex69** (zarazaex@tuta.io) | 417 | Автор проекта. Вся архитектура, все транспорты, carriers, crypto, mobile API, CI, документация |
|
||||
| **zarazaex69** (zarazaex@tuta.io) | 417 | Автор проекта. Вся архитектура, все транспорты, auth-providers, crypto, mobile API, CI, документация |
|
||||
| **zowue** (heminpo49@gmail.com) | 24 | Соавтор. Упомянут в оригинальной статье на Хабре |
|
||||
| **TheDevisi** (devisinov@gmail.com) | 20 | UI, SOCKS5 улучшения, Windows поддержка, фиксы |
|
||||
| **Qtozdec** | 10 | Фиксы, URI добавление |
|
||||
|
||||
Reference in New Issue
Block a user