Files
free-turn-proxy/server
samosvalishe 729557d00d refactor(wrap): перейти на мимикрию под SRTP в обход content-фильтра VK TURN
Wire-формат noise-AEAD (1b7cb4c) был реализован верно, но перестал доставлять
трафик через VK TURN после auth: ChannelData payload, не похожий по форме на
SRTP/DTLS, похоже, дропается VK TURN после недавнего изменения на стороне
сервера.

Новый wire-формат мимикрирует под SRTP (RFC 3550 / RFC 7714 AEAD-профиль):

  [12B RTP header | 12B nonce | AEAD ciphertext | 16B tag]

RTP header:
  byte 0:   0x80          V=2, P=0, X=0, CC=0
  byte 1:   0x6F          M=0, PT=111 (opus, частый VK voice PT)
  byte 2-3: seq16 BE      монотонный, init random
  byte 4-7: ts32 BE       монотонный +960 на пакет (20ms @ 48kHz)
  byte 8-11: SSRC         случайный на conn, MSB кодирует направление

Nonce = 4B sessionID (MSB=направление) || 8B counter (init random).
AAD = первые 24 байта, так что любое искажение RTP-заголовка ломает Open.

Overhead 40 B/пакет против 36 у noise-AEAD и 12 у исходного XOR. Если VK TURN
форвардит SRTP-образный трафик по быстрому пути, повышенный overhead окупается
отсутствием медленного shaping.

Тесты: round-trip, прогрессия RTP-полей, бит направления, искажение AAD.
2026-05-18 20:56:24 +03:00
..