<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Что нового в fxTunnel on Блог fxTunnel</title><link>https://fxtun.ru/blog/changelog/</link><description>Recent content in Что нового в fxTunnel on Блог fxTunnel</description><generator>Hugo</generator><language>ru</language><atom:link href="https://fxtun.ru/blog/changelog/index.xml" rel="self" type="application/rss+xml"/><item><title>TLS 1.2 до сервера и обновления, которые снова находятся</title><link>https://fxtun.ru/blog/changelog/v3-16/</link><pubDate>Sun, 27 Sep 2026 10:00:00 +0300</pubDate><guid>https://fxtun.ru/blog/changelog/v3-16/</guid><description>&lt;p&gt;Короткий выпуск о связи с сервером. И одна досадная ошибка: команда обновления уверяла, что обновлять нечего.&lt;/p&gt;
&lt;h2 id="улучшено"&gt;Улучшено&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;По умолчанию канал до сервера защищён TLS 1.2. Сертификат сервера клиент проверяет, как и раньше.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="исправлено"&gt;Исправлено&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;fxtunnel update&lt;/code&gt; отвечал, что у вас последняя версия, хотя новая уже вышла. Теперь команда видит свежий выпуск: достаточно ещё раз запустить &lt;code&gt;fxtunnel update&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Обновить клиент: &lt;code&gt;fxtunnel update&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Время ответа по частям, автозакрытие по трафику и честные ошибки</title><link>https://fxtun.ru/blog/changelog/v3-15/</link><pubDate>Sat, 26 Sep 2026 10:00:00 +0300</pubDate><guid>https://fxtun.ru/blog/changelog/v3-15/</guid><description>&lt;p&gt;Страница тормозит, а виноват туннель или ваш код? Теперь это видно в браузере. Заодно мы прошлись по консольному клиенту и исправили места, где он зависал, молчал об ошибке или делал не то, что просили.&lt;/p&gt;
&lt;h2 id="новое"&gt;Новое&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;У ответов через HTTP-туннель появился заголовок &lt;code&gt;Server-Timing&lt;/code&gt;. В DevTools, на вкладке Network → Timing, время делится на три части: &lt;code&gt;fxt-edge&lt;/code&gt; (сервер fxTunnel), &lt;code&gt;fxt-tunnel&lt;/code&gt; (путь до вашей машины) и &lt;code&gt;fxt-app&lt;/code&gt; (ваше приложение, оценка). Если туннель измерить не удалось, он показан вместе с приложением в строке &lt;code&gt;fxt-upstream&lt;/code&gt;. Для своих доменов заголовок не добавляется.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="улучшено"&gt;Улучшено&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;fxtunnel up&lt;/code&gt; сообщает, если фоновый режим не запустился, и показывает журнал из &lt;code&gt;~/.fxtunnel/daemon.log&lt;/code&gt;. Когда фоновый режим уже работает, &lt;code&gt;fxtunnel http 3000&lt;/code&gt; добавляет к нему туннель и печатает его адрес. Если сервер отказал, команда называет причину и завершается с кодом 1. Добавленные так туннели возвращаются после переподключения. Подробнее о фоновом режиме в статье про fxtunnel up.&lt;/li&gt;
&lt;li&gt;Флаги важнее переменных окружения, те важнее файла конфигурации, а файл важнее сохранённого входа. Раньше сохранённый вход перебивал сервер и токен из &lt;code&gt;fxtunnel.yaml&lt;/code&gt;. Сохранённый токен уходит только на тот сервер, для которого его сохранили. Для своего сервера без авторизации &lt;code&gt;fxtunnel login&lt;/code&gt; больше не нужен.&lt;/li&gt;
&lt;li&gt;Ошибки стали понятнее. Вместо всей справки клиент печатает саму ошибку. Неверный &lt;code&gt;--log-level&lt;/code&gt; отклоняется сразу, а не превращается молча в &lt;code&gt;info&lt;/code&gt;. Команды &lt;code&gt;domains&lt;/code&gt; ждут ответа сервера не дольше 30 секунд. &lt;code&gt;--remote-port&lt;/code&gt; проверяется до подключения: подходят 0 (выбрать автоматически) и 1–65535.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="исправлено"&gt;Исправлено&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;--auto-close&lt;/code&gt; считал простаивающим туннель, где шло одно долгое TCP-соединение, и любой UDP-туннель, а с инспектором мог закрыть туннель посреди длинного ответа. Теперь туннель живёт, пока по нему идут данные в любую сторону. Временные туннели разбираем в статье про --auto-close и --max-lifetime.&lt;/li&gt;
&lt;li&gt;В UDP-туннеле с несколькими отправителями ответы уходили тому, кто написал последним. Теперь каждый получает свои, так что на игровой сервер могут зайти несколько игроков сразу.&lt;/li&gt;
&lt;li&gt;Если сервер отказывал в туннеле, клиент ждал 30 секунд и писал, что всё запущено. Теперь ошибка видна сразу. Отклонённый токен клиент больше не пробует бесконечно: он останавливается и просит войти заново. Туннели, закрытые по &lt;code&gt;--auto-close&lt;/code&gt; или &lt;code&gt;--max-lifetime&lt;/code&gt;, после переподключения не возвращаются.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;fxtunnel http 3000&lt;/code&gt; и другие быстрые команды читают только файл из &lt;code&gt;-c&lt;/code&gt; или &lt;code&gt;./fxtunnel.yaml&lt;/code&gt;. Посторонний &lt;code&gt;client.yaml&lt;/code&gt; в папке или сломанная запись о другом туннеле им больше не мешают.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;fxtunnel init&lt;/code&gt; в режиме добавления сохраняет остальные разделы и комментарии файла, а не переписывает его целиком. &lt;code&gt;fxtunnel domains custom add --help&lt;/code&gt; больше не падает. У &lt;code&gt;--target&lt;/code&gt; теперь нет короткой формы: &lt;code&gt;-t&lt;/code&gt; означает &lt;code&gt;--token&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Обновить клиент: &lt;code&gt;fxtunnel update&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Долгие ответы, SSE и WebSocket больше не рвутся через минуту</title><link>https://fxtun.ru/blog/changelog/v3-13/</link><pubDate>Thu, 24 Sep 2026 10:00:00 +0300</pubDate><guid>https://fxtun.ru/blog/changelog/v3-13/</guid><description>&lt;p&gt;Раньше сервер обрывал HTTP-ответ через 30–60 секунд, даже если данные шли без остановки. Больше не обрывает. Туннель закрывает соединение, только если за две минуты по нему не прошло ни байта.&lt;/p&gt;
&lt;h2 id="улучшено"&gt;Улучшено&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Большая загрузка больше не задерживает остальные запросы туннеля. Сервер отправляет каждый новый запрос через наименее занятое соединение клиента и передаёт данные порциями поменьше. Лента событий на странице не ждёт, пока в соседней вкладке докачается файл.&lt;/li&gt;
&lt;li&gt;Один посетитель HTTP-туннеля может занять половину лимита запросов туннеля, а не десятую часть, как раньше. Страница dev-сервера, которая тянет сотни файлов, загружается без отказов.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="исправлено"&gt;Исправлено&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Server-Sent Events, долгие скачивания и WebSocket обрывались через 30–60 секунд после начала. Теперь соединение живёт, пока по нему что-то идёт. У WebSocket считаются обе стороны, так что соединение, где пишет только сервер, тоже не закрывается. Как поднять WebSocket-приложение через туннель, рассказываем в &lt;a href="https://fxtun.ru/blog/websocket-tunnel-realtime-apps/"&gt;отдельной статье&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;TCP-клиент, который отправил запрос и закрыл свою сторону на запись, так и не получал ответа: туннель рвал соединение в обе стороны. Теперь каждое направление закрывается отдельно. Ответ доходит.&lt;/li&gt;
&lt;li&gt;С включённым инспектором тело запроса или ответа больше 10 МБ обрезалось, а потоковый ответ приходил посетителю только целиком. Теперь тело проходит сразу и полностью, а инспектор сохраняет его начало. Про работу с инспектором читайте в статье &lt;a href="https://fxtun.ru/blog/traffic-inspector-debug-requests/"&gt;про отладку запросов&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Обновить клиент: &lt;code&gt;fxtunnel update&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Документация на сайте, понятные свои домены и подписанные обновления</title><link>https://fxtun.ru/blog/changelog/v3-12/</link><pubDate>Sat, 19 Sep 2026 10:00:00 +0300</pubDate><guid>https://fxtun.ru/blog/changelog/v3-12/</guid><description>&lt;p&gt;Большой выпуск после двух месяцев перерыва. Половина изменений про безопасность, остальное про то, чтобы меньше гадать: что писать в DNS, как войти из консоли, где читать инструкцию.&lt;/p&gt;
&lt;h2 id="новое"&gt;Новое&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://fxtun.ru/docs"&gt;Документация&lt;/a&gt; прямо на сайте: разделы в меню, оглавление статьи, команды в блоках, похожих на терминал. Ссылки на неё есть в шапке, подвале и личном кабинете.&lt;/li&gt;
&lt;li&gt;Карточка своего домена в личном кабинете показывает обе DNS-записи по шагам и отмечает, какая прошла проверку. Если проверка не удалась, вместо сырой ошибки DNS написано, что делать дальше. Имя TXT-записи показано и в коротком виде, для регистраторов, которые сами дописывают зону. Пошагово настройка описана в &lt;a href="https://fxtun.ru/docs/custom-domains"&gt;документации по своим доменам&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="улучшено"&gt;Улучшено&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;fxtunnel login&lt;/code&gt; печатает ссылку и короткий код. Откройте ссылку, введите код на странице, и клиент войдёт. Ссылка всегда начинается с &lt;code&gt;https://&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;fxtunnel update&lt;/code&gt; и скрипт установки проверяют цифровую подпись файла и не ставят файл без подписи или с чужой подписью. Клиент обновляется только на более новую версию.&lt;/li&gt;
&lt;li&gt;Инспектор трафика защищён лучше. Интерфейс на &lt;code&gt;127.0.0.1:4040&lt;/code&gt; открывается в браузере как раньше, а скриптам, которые ходят в API инспектора, теперь нужен токен из файла &lt;code&gt;~/.fxtunnel/inspector.token&lt;/code&gt;. Как пользоваться инспектором, рассказываем в статье &lt;a href="https://fxtun.ru/blog/traffic-inspector-debug-requests/"&gt;про отладку запросов&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Усилена защита аккаунтов, двухфакторного входа, API-токенов, доменов и серверной части туннелей.&lt;/li&gt;
&lt;li&gt;Сайт грузится быстрее, тёмная тема не мигает белым при открытии, а шапка не прыгает после загрузки стилей.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="исправлено"&gt;Исправлено&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Кнопка обновления в приложении ставила консольный клиент вместо самого приложения. Теперь она открывает страницу загрузки в браузере.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;fxtunnel domains check&lt;/code&gt; называл служебные имена вроде &lt;code&gt;admin&lt;/code&gt; и &lt;code&gt;www&lt;/code&gt; свободными, а зарезервировать их потом не давал. Теперь проверка сразу отвечает, что имя недоступно.&lt;/li&gt;
&lt;li&gt;Если нажать «Проверить» у своего домена повторно слишком рано, результат прошлой проверки больше не пропадает: кнопка показывает, сколько секунд подождать.&lt;/li&gt;
&lt;li&gt;Первый сертификат для своего домена выпускается надёжнее.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Обновить клиент: &lt;code&gt;fxtunnel update&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Вход по почте и через Яндекс ID</title><link>https://fxtun.ru/blog/changelog/v3-11/</link><pubDate>Tue, 14 Jul 2026 10:00:00 +0300</pubDate><guid>https://fxtun.ru/blog/changelog/v3-11/</guid><description>&lt;p&gt;Пароль больше не нужен: хватит почты или аккаунта Яндекса. Заодно клиент научился входить на серверах, где нет графической оболочки.&lt;/p&gt;
&lt;h2 id="новое"&gt;Новое&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Вход по почте на сайте и в приложении. Введите адрес, и придёт письмо со ссылкой и шестизначным кодом. Аккаунта ещё нет? Он создастся при первом входе. Если включена двухфакторная проверка, код из приложения-аутентификатора спросят как обычно. Одноразовые почтовые ящики не принимаются. Как это выглядит в приложении, показано в обзоре GUI-клиента.&lt;/li&gt;
&lt;li&gt;Вход через Яндекс ID на сайте и в приложении. В профиле Яндекс можно привязать к уже существующему аккаунту.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="улучшено"&gt;Улучшено&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Кнопки GitHub и Google убраны со страниц входа на сайте и в приложении. Если вы входили через них, войдите по почте, которая указана в аккаунте.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="исправлено"&gt;Исправлено&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;На Linux-серверах без хранилища паролей (Armbian, Debian без графики) &lt;code&gt;fxtunnel login&lt;/code&gt; падал с ошибкой. Теперь, если системного хранилища нет, клиент сохраняет токен в &lt;code&gt;~/.fxtunnel/client.yaml&lt;/code&gt; с доступом только для владельца, а &lt;code&gt;fxtunnel logout&lt;/code&gt; его оттуда стирает. Флаг &lt;code&gt;--token&lt;/code&gt; и переменная &lt;code&gt;FXTUNNEL_TOKEN&lt;/code&gt; работают и в командах &lt;code&gt;domains&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Адрес туннеля мог на несколько минут перестать открываться на устройствах, которые запрашивают одновременно IPv4- и IPv6-адрес. Больше не пропадает.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Обновить клиент: &lt;code&gt;fxtunnel update&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Защита сессий, фонового режима и доменов</title><link>https://fxtun.ru/blog/changelog/v3-10/</link><pubDate>Fri, 19 Jun 2026 10:00:00 +0300</pubDate><guid>https://fxtun.ru/blog/changelog/v3-10/</guid><description>&lt;p&gt;Новых функций здесь нет, весь выпуск про защиту. Если вы держите туннели в фоне через &lt;code&gt;fxtunnel up&lt;/code&gt;, обновитесь обязательно.&lt;/p&gt;
&lt;h2 id="улучшено"&gt;Улучшено&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Фоновый режим закрыт от посторонних: управлять туннелями, запущенными через &lt;code&gt;fxtunnel up&lt;/code&gt;, может только клиент на вашей машине. Команды &lt;code&gt;up&lt;/code&gt;, &lt;code&gt;status&lt;/code&gt; и &lt;code&gt;down&lt;/code&gt; работают как раньше.&lt;/li&gt;
&lt;li&gt;Сессии в личном кабинете и в приложении защищены лучше. Если сервер заметит подозрительное продление сессии, он закроет её вместе со связанными, и нужно будет войти заново.&lt;/li&gt;
&lt;li&gt;Усилена защита поддоменов и своих доменов: запросы на адрес туннеля получает только его владелец.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="исправлено"&gt;Исправлено&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Вход и регистрация иногда отказывали из-за лимита попыток, хотя вы пробовали один раз: лимит был общим для всех посетителей. Теперь он считается для каждого отдельно.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Обновить клиент: &lt;code&gt;fxtunnel update&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Шифрованный канал до сервера, HTTPS-адрес и живой UDP</title><link>https://fxtun.ru/blog/changelog/v3-8/</link><pubDate>Wed, 17 Jun 2026 10:00:00 +0300</pubDate><guid>https://fxtun.ru/blog/changelog/v3-8/</guid><description>&lt;p&gt;Первый выпуск после четырёх месяцев тишины. Канал до сервера теперь шифруется по умолчанию, а короткий обрыв сети больше не ломает ссылку, которую вы уже кому-то отправили.&lt;/p&gt;
&lt;h2 id="новое"&gt;Новое&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Клиент подключается к серверу по TLS через порт 443 и проверяет его сертификат. Раньше канал до сервера шёл открытым текстом. Для своего сервера fxTunnel без TLS есть флаг &lt;code&gt;--insecure&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;HTTP-туннель печатает два адреса: &lt;code&gt;HTTP:&lt;/code&gt; и &lt;code&gt;HTTPS:&lt;/code&gt;. Ссылку с &lt;code&gt;https://&lt;/code&gt; можно сразу вставлять в настройки вебхука или отдавать коллеге.&lt;/li&gt;
&lt;li&gt;На Windows клиент ставится одной командой в PowerShell: скрипт кладёт его в папку пользователя и сам прописывает её в PATH. На Linux и macOS установщик теперь ставит клиент в &lt;code&gt;~/.local/bin&lt;/code&gt;, без sudo.&lt;/li&gt;
&lt;li&gt;Заголовок &lt;code&gt;X-FxTunnel-Skip-Warning&lt;/code&gt; для скриптов, автотестов и мониторинга. С ним поддомен сразу отдаёт ответ приложения, без страницы-предупреждения, которую видят браузеры. Подробнее в &lt;a href="https://fxtun.ru/docs/http"&gt;документации по HTTP-туннелям&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="улучшено"&gt;Улучшено&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Случайный адрес туннеля теперь состоит из английских слов, вроде &lt;code&gt;abbey&lt;/code&gt; или &lt;code&gt;plural-dawn&lt;/code&gt;, а не из набора символов. Такой проще продиктовать по телефону.&lt;/li&gt;
&lt;li&gt;После обрыва связи клиент возвращается на тот же поддомен или порт. Если перезапустить &lt;code&gt;fxtunnel&lt;/code&gt;, адрес будет новым; как закрепить его насовсем, рассказываем в статье о постоянном адресе туннеля.&lt;/li&gt;
&lt;li&gt;Усилена защита сервера и регистрации.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="исправлено"&gt;Исправлено&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;UDP-туннели снова доставляют ответы. Клиент и сервер по-разному разбирали пакеты, и всё, что отвечал локальный сервис, терялось по дороге. Как устроен UDP-туннель, разобрано в статье &lt;a href="https://fxtun.ru/blog/tcp-udp-tunneling-explained/"&gt;про TCP и UDP&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Вход через GitHub и Google больше не срывается, если в этот момент перезапускается сервер.&lt;/li&gt;
&lt;li&gt;Когда сервер перезапускается, клиент не засыпает лог десятками строк с &lt;code&gt;EOF&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Обновить клиент: &lt;code&gt;fxtunnel update&lt;/code&gt;&lt;/p&gt;</description></item></channel></rss>