- internal/clientsdb: БД клиентов с hot-reload + length-prefixed ID wire - internal/uri: parse/encode share-ссылок freeturn:// - internal/sub: загрузка и парсинг подписок (sub.md) - client: флаги -auth, -client-id, -sub; позиционный URI; ID через crypto/rand - server: подкоманда clients (add/remove/list), чтение ID под -clients-file - запись/чтение ID учитывают DTLS record-orientation (буфер на запись целиком) - docs: uri.md, sub.md; правки flags/deploy/quickstart - снят UTF-8 BOM по всем исходникам
2.4 KiB
Формат подписок sub.md
Для удобного распространения списка серверов Free Turn Proxy поддерживает систему подписок.
Файл sub.md — это обычный текстовый файл, который хостится на любом HTTP-сервере.
Использование в клиенте
./client -sub https://example.com/sub.md -link "https://vk.com/call/join/..."
Клиент скачает подписку, найдет первый доступный сервер и автоматически применит его конфигурацию. Уникальная ссылка -link по-прежнему требуется.
Warning
Важно про Авторизацию: Если вы раздаёте ссылки с включенным
auth=1(или запускаете клиента с флагом-auth), убедитесь, что сервер обязательно запущен с флагом-clients-file. Иначе клиент отправит свой ID первым пакетом, а сервер воспримет это как некорректные данные туннеля и разорвёт соединение. И наоборот: если сервер ждёт Client ID, а клиент его не шлёт (нетauth=1), сервер тоже отбросит соединение.
Формат файла
Файл состоит из глобальных параметров (начинаются с #), локальных параметров сервера (начинаются с ##) и самих freeturn:// ссылок.
Пример:
#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 |
Комментарий для сервера. |