15 Commits

Author SHA1 Message Date
samosvalishe 6f84a18b43 feat(tcp): вернуть поддержку bond 2026-09-22 22:33:56 +03:00
samosvalishe 1e3782c546 docs: прямой режим и новый установщик, без внутренней механики 2026-09-22 00:07:29 +03:00
samosvalishe 065385e656 feat(installer): раздача QR-кодов и конфигов по веб-ссылкам без вывода в терминал
- Полный отказ от вывода громоздких QR-кодов в терминал
- Автоматический фоновый веб-сервер для раздачи файлов и картинок QR из каталога clients
- Компактная карточка M3 со списком прямых кликабельных ссылок и каталогом файлов
- Прямой вывод ссылок на первого клиента в финальной рамке без подтверждения
- Добавлена опция --web-port (по умолчанию 8080) и сохранение в install.conf
- Обновлена документация и CLI команды freeturn client qr
2026-09-07 19:17:35 +03:00
samosvalishe daf8cece80 feat(scripts): поддержка amneziawg 3.1, управление клиентами и qr-коды в установщике
- генерация 18 параметров amneziawg 3.1 и docker-compose для freeturn-awg
- команды cli и rpc v2 для управления пирами и вывода qr-кодов (direct и relay)
- раздельная установка, переконфигурация и раздельное удаление компонентов
- набор из 27 автоматических bats-тестов установщика
- актуализация документации по прямому режиму и развёртыванию
2026-09-07 02:37:55 +03:00
samosvalishe f7129099f7 feat(proxy): tcp-режим для xray/sing-box поверх turn 2026-08-25 15:44:16 +03:00
samosvalishe 74241de764 break!: выпил tcp-режим туннеля
убраны флаги -mode и -bond: остался только udp-релей для wireguard.
удалены tcpfwd, tcpfwdserver, bondclient, bondserver, bondframe, kcptun,
wire/relay; proxy/common переехал в udprelay/dial.

BREAKING CHANGE: флаги -mode и -bond удалены; конфиги и ссылки freeturn://
с tcp-режимом больше не принимаются.
2026-08-17 00:27:23 +03:00
samosvalishe 3211ed9ad5 feat(captcha)!: телеметрия виджета и одна Chrome-персона на установку
Персона строится детерминированно из FingerprintSeed (Client ID) и живёт
между перезапусками; при отказе captcha сжигается, и цепочка проходится
заново новой личностью с чистыми куками.

Телеметрия captcha (internal/captcha/telemetry.go) собирает аналитику
виджета: сэмплы сенсоров, connection-поля, курсор/тапы. Жест проживается
в реальном времени, иначе тайминги массивов не сходятся.

internal/personanet - TLS-клиент персоны (JA3 + split ClientHello), общий
для VK-auth и ручной captcha; порядок заголовков задаёт browserprofile.

BREAKING CHANGE: флаг -browser убран, семейство персоны всегда Chrome -
только Chromium даёт NetworkInformation и Generic Sensors, без которых
телеметрия captcha неполна. Класс устройства по-прежнему за -platform.
2026-07-28 16:40:32 +03:00
samosvalishe 5a347bece9 docs: флаг -platform, persona-модель и пунктуация по конвенции 2026-07-13 21:29:35 +03:00
samosvalishe 5851ad6959 docs: профиль rtpopus2 в таблицах флагов и режимов
modes/flags/deploy/uri - добавлен rtpopus2 (none | rtpopus | rtpopus2).
2026-06-17 10:03:41 +03:00
samosvalishe 41d877dc64 chore: free turn proxy 2026-05-24 00:01:57 +03:00
samosvalishe 97cc24ad7f docs: обновление 2026-05-23 23:29:22 +03:00
samosvalishe 75676d99f5 docs: обновление 2026-05-23 18:29:30 +03:00
samosvalishe 4bedd00662 refactor(wire): переименовать srtpmimicry → rtpopus, заменить bool -obf на -obf-profile
Готовим зонтик `internal/wire/` под будущие профили мимикрии (rtph264, vp8
и т.д.). Сейчас интерфейс/registry не вводим — родится при появлении второго
профиля; пока только перепаковываем единственный профиль в собственный namespace.

Пакет:
- `internal/wire/srtpmimicry` → `internal/wire/rtpopus`
- error-префикс `"wrap: ..."` → `"rtpopus: ..."`
- wire-формат не тронут (заморожен — совместимость с задеплоенными пирами)

CLI (breaking):
- `-obf` (bool) удалён
- добавлен `-obf-profile none|rtpopus` (default `none`)
- `ObfOpts.Mode bool` → `Profile ObfProfile` + `Enabled()` helper
- консты `ObfProfileNone`/`ObfProfileRTPOpus`
- validation invalid-value error для `-obf-profile`

Docker (breaking):
- env `OBF_MODE=true` → `OBF_PROFILE=rtpopus`

Callsites:
- `common.NewClientWrap` → `NewClientObf`
- vars `wc`/`relayWC` → `obfConn`, `wrapListener` → `obfListener`
- log `obf=%t` → `obf-profile=%s`

Доки + тесты подтянуты под новые имена.
2026-05-23 15:24:00 +03:00
samosvalishe 1e0ee55e48 docs: обновить документацию под новые флаги
-wrap/-vless/-udp/-vk-link/-dns заменены на -obf/-mode/-transport/-link/-dns-mode
2026-05-21 19:19:44 +03:00
samosvalishe f3166c0bae docs: переместить route-скрипты в scripts/, исправить пайп с -debug 2>&1
- routes.{sh,ps1,macos.sh} → scripts/; старые файлы из корня удалены
- унифицирован парсинг: TURN server IP, relayed-address=, CIDR, plain IP
- исправлен баг доки: логи клиента идут в stderr, пайп требует -debug 2>&1
- quickstart.md переписан: секция маршрутов, команды трёх платформ
- troubleshooting.md: обновлены пути и примечание про -debug
2026-05-21 16:22:51 +03:00