mirror of
https://github.com/hackdiaz-dev/free-turn-proxy.git
synced 2026-10-12 09:41:53 +02:00
f1b047e9e5
Клиент всегда отправляет Client ID первой DTLS app-record, сервер всегда читает. Флаг -auth и URI-параметр auth удалены — рассинхрон client/server невозможен. -clients-file на сервере включает только проверку ID по allowlist clients.json. Также: - clients.json и client_config.json пишутся с правами 0o600 - исправлены все находки golangci-lint (errcheck, gosec, govet shadow) Примечание: удалён флаг -auth и URI-параметр auth; Client ID теперь всегда в первой записи туннеля — старые клиенты/серверы несовместимы.
35 lines
1.8 KiB
Markdown
35 lines
1.8 KiB
Markdown
# Формат URI Share-ссылок
|
|
|
|
`freeturn://` — это компактный способ передавать параметры подключения сервера.
|
|
Ссылка генерируется владельцем сервера и передается клиентам, чтобы им не приходилось вручную указывать IP-адрес, режим и ключ обфускации.
|
|
|
|
> [!NOTE]
|
|
> Ссылка на звонок VK (`-link`) **не входит** в состав `freeturn://` URI, так как она уникальна для каждого клиента!
|
|
|
|
## Формат
|
|
|
|
```text
|
|
freeturn://<Provider>?<Transport><mode=...&obf-profile=...&bond=1>@<Peer>#<ObfKey>$<Comment>
|
|
```
|
|
|
|
### Поля
|
|
|
|
| Поле | Описание |
|
|
|------|----------|
|
|
| `<Provider>` | Имя провайдера TURN-creds (например, `vk`). |
|
|
| `<Transport>` | Транспорт до TURN-реле: `tcp` или `udp`. |
|
|
| `<mode=...>` | Параметры туннеля (`mode=udp` или `mode=tcp`). |
|
|
| `<obf-profile=...>` | Профиль обфускации (например, `rtpopus`). |
|
|
| `<bond=1>` | Включить ли bonding для TCP (`1` или `true`). |
|
|
| `<Peer>` | Адрес сервера на VPS (`ip:port`). |
|
|
| `<ObfKey>` | Ключ обфускации (hex, 64 символа). |
|
|
| `<Comment>` | Свободный комментарий (например, название сервера). |
|
|
|
|
## Пример использования
|
|
|
|
```bash
|
|
./client "freeturn://vk?tcp<mode=udp&obf-profile=rtpopus>@1.2.3.4:56000#d823fa...$MyServer" -link "https://vk.com/call/join/..."
|
|
```
|
|
|
|
Параметры из URI автоматически переопределят базовые флаги (такие как `-peer`, `-mode`, `-obf-key`).
|