Files
free-turn-proxy/docs/sub.md
T
samosvalishe f1b047e9e5 feat: Client ID шлётся всегда, симметричный wire авторизации
Клиент всегда отправляет 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 теперь
всегда в первой записи туннеля — старые клиенты/серверы несовместимы.
2026-05-25 00:33:26 +03:00

45 lines
2.1 KiB
Markdown

# Формат подписок `sub.md`
Для удобного распространения списка серверов `Free Turn Proxy` поддерживает систему подписок.
Файл `sub.md` — это обычный текстовый файл, который хостится на любом HTTP-сервере.
## Использование в клиенте
```bash
./client -sub https://example.com/sub.md -link "https://vk.com/call/join/..."
```
Клиент скачает подписку, найдет первый доступный сервер и автоматически применит его конфигурацию. Уникальная ссылка `-link` по-прежнему требуется.
> [!NOTE]
> **Про авторизацию:** клиент всегда шлёт Client ID, сервер всегда его читает. Чтобы ограничить доступ, запустите сервер с `-clients-file` и добавьте нужные ID в `clients.json`; без этого флага ID просто игнорируется.
## Формат файла
Файл состоит из глобальных параметров (начинаются с `#`), локальных параметров сервера (начинаются с `##`) и самих [freeturn://](uri.md) ссылок.
Пример:
```text
#name: Free Turn Proxy Servers
#refresh: 1h
#color: #4A90E2
freeturn://vk?tcp<mode=udp&obf-profile=rtpopus>@1.2.3.4:56000#d823fa...$RU-Server
##name: RU-1
##ip: 1.2.3.4
##comment: Основной сервер в Москве
freeturn://vk?udp<mode=udp&obf-profile=rtpopus>@5.6.7.8:56000#abc123...$EU-Backup
##name: EU-Backup
##comment: Резервный сервер
```
| Поле | Описание |
|------|----------|
| `#name` | Имя подписки. |
| `#refresh` | Рекомендуемый интервал обновления. |
| `##name` | Имя конкретного узла. |
| `##ip` | IP-адрес узла. |
| `##comment` | Комментарий для сервера. |