samosvalishe
b1cbafda73
perf(netconn): адрес пайпа без аллокации на каждое чтение
2026-09-22 20:04:05 +03:00
samosvalishe
f4e8e0cfe0
fix(udp): завершать релей при отказе чтения локального сокета
2026-09-22 20:03:54 +03:00
samosvalishe
192dd27a1e
fix: гард для релизера
2026-09-22 10:21:43 +03:00
samosvalishe
af33b47fb2
feat: загрузка локально собранного бинаря на сервер
2026-09-22 10:21:10 +03:00
samosvalishe
05bbe996c1
fix: отбрасывать опоздавший повтор client id, общий backoff квоты
2026-09-22 00:43:06 +03:00
samosvalishe
1e3782c546
docs: прямой режим и новый установщик, без внутренней механики
2026-09-22 00:07:29 +03:00
samosvalishe
d3e4cfc1db
feat(auth)!: подтверждение Client ID с повтором по таймеру
2026-09-22 00:07:29 +03:00
samosvalishe
caa8fea5bf
fix(udp): логировать причину обрыва DTLS-сессии перед паузой
2026-09-22 00:07:29 +03:00
samosvalishe
5508cd65a7
fix(udp): ограничить очередь между сокетом и DTLS
2026-09-22 00:07:29 +03:00
samosvalishe
f0f6c3ee6d
ci(release): публиковать install.sh в релизе вместе с checksums
2026-09-22 00:07:29 +03:00
samosvalishe
0ee0d5333e
feat(install)!: install.sh с JSON RPC proto 3 и голым WireGuard вместо AWG
2026-09-22 00:07:29 +03:00
samosvalishe
ee30afc922
feat(client): провайдер direct - прямо на сервер без TURN-реле
...
Тот же DTLS с обфускацией, сервер не меняется. По умолчанию один поток.
2026-09-22 00:07:28 +03:00
samosvalishe
7df3a3fd91
refactor(dtls): убрать дублирующий doc.go
2026-09-21 13:43:52 +03:00
samosvalishe
c116e427f7
test: убрать гонки в проверках учёта трафика
2026-09-21 13:43:21 +03:00
samosvalishe
7e5b2d4cde
refactor(wake): убрать неиспользуемый Notifier
2026-09-21 13:43:20 +03:00
samosvalishe
273a5fa977
fix(netconn): отдавать остаток очереди при закрытии пира
2026-09-21 13:43:20 +03:00
samosvalishe
a0c4656025
perf(udp): убрать сисколлы и аллокации с горячего пути релея
2026-09-21 13:43:20 +03:00
samosvalishe
ac43e63ef8
fix(clients): фиксировать базу на диск через fsync
2026-09-21 13:43:13 +03:00
samosvalishe
b621182ce4
fix(clients): останавливать горячую перезагрузку базы по контексту
2026-09-21 13:43:01 +03:00
samosvalishe
fd5c4f92a5
fix(server): не ронять процесс паникой в обработчике соединения
2026-09-21 13:42:24 +03:00
samosvalishe
f18e694f1a
fix(cli): предупреждать, что встроенный туннель из ссылки не поднимается
2026-09-21 13:42:01 +03:00
samosvalishe
69dd5f9488
refactor(cli): общий обработчик сигналов для клиента и сервера
2026-09-21 13:41:59 +03:00
samosvalishe
0a3becc74d
refactor(vk): не держать write-lock кеша реквизитов во время запроса
2026-09-21 13:41:00 +03:00
samosvalishe
3f9b3b6cd0
fix(vk): определять ошибки авторизации по sentinel, а не по тексту
2026-09-21 13:40:43 +03:00
samosvalishe
dd0bc211b7
refactor(config): брать режимы dns из dnsdial
2026-09-21 13:39:53 +03:00
samosvalishe
8b3bea7b1a
fix(sub): резолвить подписку через dns-диалер приложения
2026-09-21 13:39:53 +03:00
samosvalishe
ece494aa1b
fix(dns): не залипать на первом резолвере doh-форвардера
2026-09-21 13:39:46 +03:00
samosvalishe
3b48a17173
fix(captcha): слать баннер ручной капчи в логгер, а не в stdout
2026-09-21 13:39:22 +03:00
samosvalishe
56dfc9aedd
refactor(logx): общий Holder вместо пакетных переменных Log
2026-09-21 13:39:06 +03:00
samosvalishe
322c7001fb
refactor(wire): один listener на все профили обфускации
2026-09-21 13:36:27 +03:00
samosvalishe
f422acb927
perf(obf): держать поток ChaCha8 в соединении rtpopus3
2026-09-21 13:36:27 +03:00
samosvalishe
e32008bba2
perf(randx): rejection sampling вместо math/big
2026-09-21 13:36:19 +03:00
samosvalishe
eb8ae03b50
docs(uri): добавить rtpopus3 в список профилей обфускации
2026-09-21 13:36:19 +03:00
samosvalishe
802ea7d0af
ci: запинить версии gomobile, goimports и docker-действия
2026-09-21 13:36:18 +03:00
samosvalishe
a7ec2b949a
feat(mobile): отключаемый кольцевой буфер логов
...
Хосту, который ведёт лог через EventSink, кольцо для DumpLogs не нужно.
2026-09-19 23:54:42 +03:00
samosvalishe
4865a73b5f
fix(dns): сбрасывать udp-резолверы, если сессия их не задала
...
Глобальный список переживал сессию, и следующая наследовала резолверы прошлой сессии или сети.
2026-09-19 23:54:42 +03:00
samosvalishe
64f8b63548
feat(uri): ссылка на звонок и пейсинг обфускации в freeturn://
...
vk применяется, только если своих ссылок не задано; timing - только вместе с обфускацией.
2026-09-19 23:54:42 +03:00
samosvalishe
e102acbc4b
feat(diagnostics): связывать события сессии и попытки восстановления
2026-09-12 17:33:50 +03:00
samosvalishe
061e3b882b
fix(clients): сохранять авторизацию при ошибке записи базы
2026-09-12 17:33:46 +03:00
samosvalishe
6570cd9dd7
fix(relay): восстановление потоков при отказах turn и занятой квоте
2026-09-12 17:29:09 +03:00
samosvalishe
e72157f4f7
feat(installer): токен на клиента и TTL для веб-раздачи
2026-09-12 15:14:45 +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
092ea5916a
feat(installer): вывод всех 3 форматов QR-кодов и поддержка скачивания картинок на ПК
...
- Разделение QR-кодов на 3 чётких формата с подробными подсказками:
1. AmneziaWG Direct (AWG 3.1) для официального приложения AmneziaWG
2. FreeTurn App (релей + вшитый VPN) со ссылкой freeturn:// для мобильного приложения FreeTurn
3. AmneziaWG Relay (127.0.0.1:9000) для связки с отдельным CLI/Termux клиентом
- Вывод по умолчанию всех 3 QR-кодов при завершении установки и по команде freeturn client qr
- Инструкции и готовая SCP-команда для скачивания всех 3 картинок (*.png) на ПК
- Добавлена команда freeturn client web для временной раздачи картинок через браузер по HTTP
- Поддержка протокола OSC 1337 для автоматического сохранения файлов в поддерживаемых терминалах
2026-09-07 18:41:03 +03:00
samosvalishe
8d551c61ae
feat(installer): глобальный CLI freeturn, авторизация по Client ID по умолчанию и компактный QR
...
- Включение авторизации по Client ID (allowlist) по умолчанию в мастере установки
- Создание глобального симлинка /usr/local/bin/freeturn для вызова из любой директории
- Умный поиск имени клиента с поддержкой дефисов/регистра (client1 -> client-1)
- Очистка от комментариев и Low ECC (-l L) для компактного QR-кода (~51 колонка) в PowerShell/терминалах
- Интерактивный запрос на вывод QR-кода первого клиента сразу после завершения установки
- Обновление подсказок и документации на команду freeturn
2026-09-07 18:15:56 +03:00
samosvalishe
b894608110
feat(installer): генерация QR в PNG, M3 TUI для клиентов и фикс утечки escape-последовательностей
2026-09-07 17:16:49 +03:00
samosvalishe
5568670f51
fix(ui): убрать утечку OSC 11/CPR escape-последовательностей при выводе плашек
2026-09-07 12:11:47 +03:00
samosvalishe
5dc5095e2a
fix(installer): передача obf_profile, obf_key и proxy_mode в systemd и docker args
2026-09-07 11:44:49 +03:00
samokrutka
e1bf369db1
chore(master): release 3.4.0
2026-09-07 10:00:05 +03:00
samosvalishe
9da2c8ebd2
feat: профиль freeturn vpn со вшитым wg и фикс ui_spin
...
- фикс вызова функций в ui_spin при наличии gum (устранена ошибка _dl: command not found)
- поддержка поля wg в freeturn:// ссылках для автонастройки VPN в мобильном приложении
- генерация отдельного профиля и выбор QR-кода со вшитым VPN в install.sh
2026-09-07 09:57:41 +03:00
samokrutka
2544be2ed6
chore(master): release 3.3.2
2026-09-07 09:01:28 +03:00