Вышел Gately v0.6.2.2
1 ноября 2026 г.
Скачать v0.6.2.2 · GitHub Release
Топология веб-служб (#54)
В заголовке страницы «Веб-службы» появился переключатель Список / Топология. Вид топологии раскладывает Интернет → Gately → слушатели → сайты / действия слушателя → бэкенды / исходы в пять столбцов и обновляется каждые 2 секунды:
- узлы показывают состояние, способ сопоставления, QPS и запросы в процессе; недоступные бэкенды и не запустившиеся слушатели выделены красным, а ожидаемые настройки, такие как сайт по умолчанию, закрывающий соединение, перенаправление на HTTPS и 404, когда ни один сайт не подошёл, показаны серым;
- толщина связей растёт с QPS, а наведение на узел или щелчок по нему подсвечивает весь его путь с QPS и трафиком на связях;
- панель сведений показывает QPS, среднее за 60 секунд, трафик, запросы в процессе и всего, ошибки бэкенда, заблокированные запросы по причинам, коды состояния, графики за 60 секунд и активные IP, проходящие через узел, с пояснением, как считается каждый показатель;
- выбор активного IP подсвечивает только пройденный им путь вплоть до конкретного бэкенда;
- переключатель «Скрыть» заменяет на
*последнюю часть IP и адреса в бэкендах, слушателях, целях перенаправления и сообщениях об ошибках, чтобы делиться скриншотами.
Все числа берутся из счётчиков в памяти этого экземпляра через GET /api/webservice/topology, доступный учётным записям только для чтения. В статистике сайта также появились заблокированные запросы по причинам, запросы и трафик каждого бэкенда, а в Prometheus — gately_site_blocked_total, gately_upstream_requests_total, gately_upstream_response_bytes_total и gately_listener_requests_total. Подробнее — в разделе Веб-службы · Топология.
Реальный IP посетителя за доверенными прокси (#50)
В разделе «Веб-службы» → «Глобальные настройки» появился пункт «Реальный IP посетителя»: укажите адреса или диапазоны, с которых доверенные прокси (CDN, WAF и т. п.) обращаются к серверу, и выберите по порядку заголовки с реальным IP (CF-Connecting-IP, X-Forwarded-For, X-Real-IP, True-Client-IP или своё имя). Эти заголовки читаются, только когда непосредственный собеседник — доверенный прокси; заголовки от посетителей, подключившихся напрямую, игнорируются, а X-Forwarded-For читается справа налево с пропуском доверенных прокси. Полученный адрес используется в журналах доступа, списках IP, доступе только из LAN, фильтре по странам, блокировках, статистике и заголовках, передаваемых бэкенду. Для Cloudflare рекомендуется CF-Connecting-IP. Подробнее — в разделе Веб-службы.
Текущие подключения по сайтам (#51)
Каждая строка домена в списке сайтов показывает число выполняющихся запросов, а окно «Подключения» обновляется каждые 2 секунды:
- текущий список показывает адрес источника, протокол (h1 / h2 / h3, WebSocket отмечается отдельно), метод и путь (без строки запроса), длительность и трафик в обе стороны, поиск по IP;
- история хранит только в памяти последние 200 запросов каждого сайта, длившихся не меньше 1 секунды или закрытых вручную;
- можно закрыть отдельный запрос (в HTTP/2 и HTTP/3 сбрасывается только этот поток) либо закрыть его и заблокировать адрес источника — тогда закрываются и его запросы на всех сайтах. Собственный текущий адрес, адреса loopback и доверенные прокси заблокировать нельзя.
Контроль доступа по IP источника (#49)
Проброс портов, маршрутизация по протоколу, встроенная пересылка STUN и экземпляры frps могут использовать белый или чёрный список из вручную введённых IP / подсетей и подписанных списков IP веб-служб; обновлённый список применяется сразу, без перезапуска правила:
- сначала проверяются блокировки защиты от вторжений, затем список;
- карточки правил показывают режим доступа и число отказов, страница списков IP показывает, какие правила ссылаются на список, а используемый список удалить нельзя;
- список frps проверяется при входе frpc и защищает порт привязки;
- при импорте правил проброса портов и STUN из Lucky их безопасный режим преобразуется в контроль доступа по IP источника (загрузите
lucky_ipfilter.lkcfв том же импорте).
Подробнее — в разделах Проброс портов и Tailscale / frp / cloudflared.
Ссылки на сайты (#52)
Каждый точный домен в списке сайтов открывается в новой вкладке, а кнопка рядом копирует полный URL со схемой и портом; если посетители приходят через маршрутизацию по протоколу, проброс порта, frp или CDN, для слушателя можно указать публичный адрес доступа. Так же открываются и копируются прокси http / https в frpc, адреса доступа File Browser, адрес быстрого туннеля Cloudflare и ссылка входа Tailscale. Домены сохраняются в том виде, в котором их отправляют браузеры (в нижнем регистре, интернационализированные домены — в punycode), а значения, которые никогда не совпадут, например с портом или путём, отклоняются.
Динамический DNS
- Примечания записей (или примечание задачи, если они пусты) записываются в Alibaba Cloud, Cloudflare, Tencent Cloud, DNSPod и Huawei Cloud;
- при удалении записей или задач доступен флажок «Удалить и у DNS-провайдера», его поддерживают 14 провайдеров. Удаляется только запись, значение которой совпадает с последней синхронизацией Gately; если значение неизвестно, было изменено в консоли или в наборе записей есть другие значения, запись остаётся, а причина показывается;
- переключатель модуля перенесён в «Глобальные настройки», где также задаётся состояние флажка удаления по умолчанию.
Другие улучшения
- Страница Docker умеет обновлять контейнер, в котором работает сам Gately: сначала скачивается новый образ, и только при наличии новой версии временный вспомогательный контейнер пересоздаёт контейнер, а если новый не запустится — восстанавливает старый; локальная оболочка веб-терминала, запущенная внутри контейнера Gately, указывает на это действие;
- на телефоне удержание веб-терминала около полсекунды включает режим выделения с системными маркерами выделения и меню копирования, а строки, разбитые автопереносом, при копировании склеиваются обратно; на панели клавиш появилась клавиша вставки, которая по HTTP открывает панель вставки, где можно снова отправить последние 10 текстов, скопированных или введённых в этой вкладке; вставка нескольких строк сначала запрашивает подтверждение, если удалённая программа не включила bracketed paste;
- страница «Пользователи входа» умеет снимать сайты, которые используют для аутентификации только общих пользователей, с подтверждением перед отключением их аутентификации;
- при правке правила маршрутизации по протоколу маршруты с неизменными протоколом, доменами и ALPN сохраняют счётчики срабатываний;
- тест скорости в сетевой диагностике запрашивает 50 МБ на запрос, что устраняет HTTP 403 от Cloudflare, добавлены тестовые узлы Vultr, Hetzner и OVH, а заголовки задач показывают только цель текущего инструмента;
- отказы на сайте по умолчанию, который закрывает соединение для посетителей вне своего списка, учитываются как 444 для зондирования веб-путей (#53);
- при настроенном защищённом входе значок на главном экране iOS показывает значок Gately.
Исправления и усиление защиты
- Веб-терминал удаляет управляющие символы из вставленного текста, поэтому встроенная последовательность конца bracketed paste не может обойти подтверждение многострочной вставки; текст, прочитанный напрямую из системного буфера обмена, в историю буфера обмена не добавляется, а история очищается при выходе или истечении сеанса;
- закрытие запроса в момент его завершения больше не влияет на следующий запрос в том же соединении;
- второе обновление самого Gately, запущенное во время текущего, отклоняется; вспомогательный контейнер обновления удаляется вместе со своим анонимным томом, а несколько экземпляров Gately на одном хосте Docker обрабатывают только свои вспомогательные контейнеры;
- если при правке задачи динамического DNS удаляются записи с отмеченным «Удалить и у DNS-провайдера», сначала проверяется сохраняемая конфигурация, и при ошибке проверки у провайдера ничего не удаляется; синхронизация с Tencent Cloud сопоставляет запись хоста точно;
- исправлена гонка данных между горячей перезагрузкой сайтов и запросами в процессе; в журналах, событиях и метриках адреса бэкендов выводятся без имени пользователя, пароля и строки запроса;
- окна подключений и статистики прекращают опрос после ухода со страницы; диалог блокировки остаётся открытым, если блокировка не удалась; поддомены frp отклоняют адреса IPv6; импорт правила Lucky в режиме чёрного списка предупреждает, если его список отсутствует.
Об обновлении
- Docker: скачайте новый образ и пересоздайте контейнер; если сокет Docker смонтирован, Gately также может обновить себя со своей страницы Docker. OpenWrt: установите новый
.apk/.ipkповерх старого. fnOS: вручную установите новый.fpkв Центре приложений. Остальные установки можно обновить онлайн в разделе «Системные настройки».