mirror of
https://github.com/hackdiaz-dev/free-turn-proxy.git
synced 2026-10-12 09:41:53 +02:00
4fa7810afa35bd086f30b66e3e0660df702ba3fe
Сверка протокола с бандлом вскрыла три расхождения. Телеметрия: указатель виджет пишет только через externalCoords, а их заполняет хост-страница iframe или нативный бридж мобильного SDK. Мы ходим на captcha прямой навигацией, где живой браузер оставляет cursor и taps пустыми, - вместе с ними ушла синтетическая траектория руки, недостижимая для этого режима. A/B на живой captcha: 10/10 сессий против 9/10 со старым поведением. Заголовки: навигация документа не несла Upgrade-Insecure-Requests и Sec-Fetch-User, приоритет всем запросам ставился как у fetch, Origin уходил на GET-ы, где Chrome его не шлёт, Referer навигации указывал на саму цель вместо страницы-источника, а бандл тянулся профилем fetch вместо тега script. Cookie отсутствовал в списке порядка и уезжал последним заголовком. Куки: tls-client отбрасывает удалённые куки только по Max-Age - проверка Expires в его jar закомментирована. Погашенная сервером remixir=DELETED из-за этого уходила в каждом запросе. Обёртка в personanet транслирует протухший Expires в Max-Age, который фильтр библиотеки понимает. Трассировка запросов под FREETURN_CAPTCHA_TRACE - ей расхождения и найдены.
О проекте
Free Turn Proxy - универсальный прокси-туннель для инкапсуляции UDP/TCP трафика поверх протокола TURN. Клиент извлекает временные TURN-учётки из ссылок на WebRTC-звонки и прозрачно маршрутизирует ваш VPN-трафик (WireGuard, Xray/VLESS) до сервера на VPS, используя DTLS и мощные механизмы маскировки пакетов.
Разработка
Зависимости
- Go ≥ 1.26 -
https://go.dev/dl/ - Task (runner) -
go install github.com/go-task/task/v3/cmd/task@v3.40.0илиwinget install Task.Task/brew install go-task
Остальные dev-инструменты (golangci-lint, govulncheck, goimports, goreleaser) ставит сам Task:
task tools:install
Команды
task # список доступных задач
task build # собрать client + server в dist/ для текущего хоста
task build:all # кросс-сборка всех target через goreleaser snapshot
task build:ios # сборка XCFramework для iOS в dist/Mobile.xcframework
task build:android # сборка AAR архива для Android в dist/mobile.aar
task test # go test -race
task test:cover # тесты + покрытие -> cover.html
task lint # golangci-lint
task fmt # gofmt + goimports (форматирование)
task fmt:check # проверить форматирование (используется в CI)
task vet # go vet
task vuln # govulncheck
task ci # полный набор: fmt:check + vet + lint + test + vuln
task tidy # go mod tidy
task clean # удалить dist/, cover.out, cover.html
Документация
- Быстрый старт
- Режимы
- Флаги
- Развёртывание
- Мобильные Устройства
- URI и форматы ссылок
- Подписки (Subscriptions)
- Провайдеры
- Решение проблем
Благодарности
Огромное спасибо за вклад и идеи:
Languages
Go
87.6%
Shell
11.4%
JavaScript
0.7%
PowerShell
0.3%
