Skip to content
Эта страница переведена с помощью ИИ и может содержать неточности. Помогите улучшить перевод на GitHub.

Вышел Gately v0.6.2 ​

31 октября 2026 г.

Скачать v0.6.2 · GitHub Release

Маршрутизация по протоколу ​

Новый модуль «Маршрутизация по протоколу» находится в боковой панели рядом с «Пробросом портов». Он определяет протокол по первым байтам, которые отправляет клиент, и направляет соединения с одного порта на разные бэкенды, ничего не расшифровывая:

  • TLS маршрутизируется по домену SNI и ALPN, HTTP — по Host, Minecraft — по адресу сервера в рукопожатии;
  • SSH, RDP, SOCKS4/5, OpenVPN поверх TCP (включая tls-auth и tls-crypt-v2), XMPP, MQTT, PostgreSQL, RTSP, SIP, Redis, AMQP, SMB, Git, IRC, ADB и BitTorrent получают по одному маршруту; HTTP, RTSP и SIP различаются по версии в конце строки запроса;
  • маршрут «Ожидание» принимает клиентов, которые ничего не отправляют после подключения (протоколы, где первым говорит сервер, например VNC или MySQL), а тайм-аут распознавания можно задавать с точностью до десятых долей секунды;
  • нераспознанные соединения и соединения без подходящего маршрута уходят на цель по умолчанию; каждый маршрут может отправлять своему бэкенду протокол PROXY, а в списке видно, сколько соединений получил каждый маршрут.

По каким признакам распознаётся каждый протокол, в каком порядке сопоставляются домены и ALPN, а также примеры замены SNI-маршрутизации haproxy и sslh — на странице Маршрутизация по протоколу.

Группы и порядок в списках (#48) ​

Динамический DNS, проброс портов, маршрутизация по протоколу, сайты веб-служб, STUN, SSL-сертификаты, WAF, защита от вторжений, frp, туннели Cloudflare, File Browser, монтирование хранилищ, Wake-on-LAN, запланированные задачи, уведомления, сохранённые подключения веб-терминала, API-токены и другие списки теперь поддерживают одни и те же инструменты:

  • поиск, сортировку перетаскиванием (на телефоне — стрелками вверх/вниз) и перенос нескольких выбранных элементов в группу за один раз;
  • перемещение целых групп, переименование и объединение групп прямо в списке, запоминание свёрнутых групп;
  • DNS-записи внутри задачи динамического DNS тоже можно группировать и сортировать.

Изменение групп или порядка никогда не перезапускает работающий экземпляр. Подробнее — в разделе Группы и порядок в списках.

Адреса STUN в динамическом DNS (#47) ​

В значениях записей и в Webhook можно использовать {STUN_имя правила_PORT}, {STUN_имя правила_IP} и {STUN_имя правила_ADDR}. Когда публичный адрес правила STUN меняется, ссылающиеся на него задачи сразу синхронизируются; если переменные есть только в Webhook, Webhook всё равно вызывается один раз. Пока правило выключено или обход NAT ещё не удался, запись в этом цикле пропускается, а в её статусе указана причина. Подробнее — в разделе Динамический DNS · Переменные в значении записи.

STUN за несколькими NAT ​

Правила с UPnP / NAT-PMP теперь сначала запрашивают у шлюза его собственный внешний адрес. Если он отличается от публичного адреса, который видит STUN (например, роутер находится за NAT провайдера), публичный порт принадлежит внешнему NAT: сохраняется только проброс порта туннеля, дополнительный проброс на роутере не создаётся, и публичный порт больше не меняется при каждой повторной проверке. В документацию STUN добавлены разделы о полноконусном и ограниченном NAT провайдера, UPnP за несколькими NAT, фиксации локального порта и его разрешении в брандмауэре хоста.

Усиление безопасности ​

  • Пока используется пароль по умолчанию, учётная запись, двухэтапная проверка, Passkey, дополнительные учётные записи, API-токены, системные настройки и настройки безопасности веб-терминала доступны только для просмотра, а восстановление из резервной копии и откат этих настроек к версии из истории тоже отклоняются, пока пароль по умолчанию не будет изменён;
  • учётные записи и API-токены только для чтения видят в конфигурации и журналах скрытые пароли общих пользователей, токены ссылок общего доступа, значения заголовков и секреты, а также пароли, значения параметров запроса и токены в пути внутри URL;
  • для просмотра каталогов в files/ и sftp/ нужны права на запись;
  • вход только по паролю больше не сбрасывает счётчик неудачных попыток, поэтому коды двухэтапной проверки нельзя подобрать перебором;
  • за доверенным прокси несовпадающие заголовки X-Forwarded-For и X-Real-IP обрабатываются строже, так что поддельный внутренний адрес не позволяет обойти «Доступ только из локальной сети»;
  • в окне API-токенов модули, право записи в которых позволяет выполнять команды на сервере (динамический DNS, запланированные задачи, защита от вторжений, STUN, SSL, веб-терминал, Docker, frp, File Browser, туннели Cloudflare), помечены «Выполняет команды», а при выдаче такого права показывается предупреждение;
  • URL описания устройства и управления, которые возвращает UPnP-шлюз, должны принадлежать ответившему устройству.

Другие улучшения ​

  • Каждую запись на карточке задачи динамического DNS можно удалить напрямую (DNS-запись у провайдера сохраняется);
  • панель клавиш веб-терминала на телефоне стала одной строкой с горизонтальной прокруткой и по умолчанию появляется и скрывается вместе с экранной клавиатурой;
  • значки на главном экране в Android Chrome и iOS больше не прозрачные, а интерфейс администрирования и сайт предоставляют манифест веб-приложения;
  • обновлён дизайн главной страницы сайта и README.

Исправления ​

  • Редактирование правила защиты от вторжений, которое уже срабатывало, завершалось ошибкой «unknown field lastSeen»;
  • если один домен покрывают несколько сертификатов, используется тот, что истекает позже всех, поэтому порядок и группы в списке сертификатов больше не меняют используемый сертификат;
  • маршрутизация по протоколу больше не пересылает нулевое заполнение, когда ClientHello обрывается тайм-аутом распознавания, а остановка или изменение правила сразу закрывает соединения, которые ещё распознаются;
  • переменные STUN в JSON-теле Webhook не подставлялись.

Об обновлении ​

  • При первом запуске после обновления правила SNI-маршрутизации из «Проброса портов» переносятся в «Маршрутизацию по протоколу» с прежними ключами, именами, состоянием включения, группами и маршрутами; если проброс портов был выключен, маршрутизация по протоколу тоже выключена; API-токены с доступом к пробросу портов получают такой же доступ к маршрутизации по протоколу.
  • Скрипты, которые управляют правилами маршрутизации через API, должны использовать /api/protoroute/rules, где поле маршрутов называется routes вместо sniRoutes; /api/portforward/rules больше не принимает поле mode. Метрики этих правил теперь называются gately_protoroute_*.
  • Docker: скачайте новый образ и пересоздайте контейнер. OpenWrt: установите новый .apk / .ipk поверх старого. fnOS: вручную установите новый .fpk в Центре приложений. Остальные установки можно обновить онлайн в разделе «Системные настройки».

Распространяется по лицензии Apache-2.0.