Откройте доступ к коду из любой точки мира. Как работает новый проект rustunnel

leer en español

Откройте доступ к коду из любой точки мира. Как работает новый проект rustunnel

Разработчик выпустил открытый аналог ngrok.

image

Появился открытый инструмент rustunnel, который позволяет публиковать локальные сервисы в интернете через защищённые туннели. Проект написан на языке Rust и по своей логике близок к ngrok.

rustunnel устанавливает соединение между локальной машиной и удалённым сервером через зашифрованный WebSocket с TLS. Входящие запросы сначала попадают на сервер, а затем по этому каналу передаются в локальную сеть пользователя. Такой подход избавляет от настройки проброса портов и изменений в сетевой инфраструктуре.

Инструмент поддерживает два режима. В первом случае используется уже развёрнутый сервер с несколькими регионами (Европа, США и Азия), где клиент автоматически выбирает ближайший узел. Во втором варианте можно развернуть собственный сервер и управлять доменами, сертификатами и доступом самостоятельно.

Через rustunnel можно публиковать HTTP-сервисы, например локальные веб-приложения, а также TCP-соединения, включая базы данных. После запуска клиент выводит публичный адрес, через который становится доступен локальный сервис.

В состав проекта входит панель управления, REST-интерфейс и сбор метрик для Prometheus. Предусмотрен журнал действий, где фиксируются операции с туннелями и токенами. Для доступа используется система токенов, которые создаются через интерфейс или API.

Серверная часть рассчитана на запуск в Linux и может работать как служба systemd. Для защищённых соединений используются сертификаты TLS, которые можно получить через Let's Encrypt. Конфигурация хранится в файле с настройками портов, ограничений и параметров безопасности.

Исходный код проекта открыт и распространяется по лицензии GNU AGPLv3.