Альтернатива ngrok с открытым исходным кодом, на которую переходят разработчики (Zrok)

BBetter Stack
Internet TechnologySmall Business/StartupsComputing/Software

Transcript

00:00:00В идеальном мире делиться локальными хостами должно быть легко, но почему-то это превращается
00:00:05в целую проблему.
00:00:06Вы открываете ngrok, упираетесь в лимиты, получаете случайный URL, и то, что должно было занять 10 секунд,
00:00:11просто всё ломает.
00:00:12Или еще хуже: вам нужно поделиться чем-то с одним человеком, но вы не хотите делать это
00:00:16публичным.
00:00:17Это zrock.
00:00:18Это альтернатива ngrok с открытым исходным кодом и встроенным Zero Trust на базе OpenZiti,
00:00:24и теперь всё больше разработчиков переходят на него, потому что он исправляет те моменты туннелирования, которые бесят.
00:00:33Так что же такое zrock?
00:00:34По сути, он позволяет делиться вашим локальным приложением, файлом или даже TCP и UDP сервисами публично
00:00:40или приватно без открытия портов, настройки роутера или наличия публичного IP.
00:00:45И всё зашифровано сквозным методом (E2EE), так что идея в том, чтобы открывать только то,
00:00:50что вам действительно нужно.
00:00:52Он бесплатный, его можно хостить у себя, и так как он построен на Zero Trust Mesh, ваш трафик
00:00:58не попадает в открытый интернет, если вы сами того не захотите.
00:01:01Но он еще и работает плавнее, что мне нравится.
00:01:03Такие вещи, как кастомные домены, лучшая производительность и новый интерфейс.
00:01:07Но всё это не имеет значения, если он медленный, так что позвольте мне показать.
00:01:10Если вам нравятся open-source инструменты и советы по кодингу для ускорения работы, подпишитесь
00:01:15на канал Better Stack.
00:01:16У нас постоянно выходят новые видео.
00:01:18Итак, чистая установка, у меня запущено простое приложение Next.js на localhost.
00:01:23Ничего особенного, просто базовая страница по умолчанию.
00:01:26Вы ожидаете, что это займет несколько шагов, верно?
00:01:30Порты, конфиги, какая-то настройка... но смотрите.
00:01:34Сначала я проверяю, что мое окружение zrock включено.
00:01:37Это разовая настройка командой "zrock enable".
00:01:40Затем я могу запустить одну команду прямо здесь.
00:01:44И это на самом деле всё.
00:01:45Никаких конфигурационных файлов, никаких лишних настроек — вы мгновенно получаете публичный HTTPS URL.
00:01:51Я могу открыть его здесь, и да, это просто работает.
00:01:55Приложение доступно в интернете.
00:01:57Никакого проброса портов.
00:01:58Никаких изменений в брандмауэре.
00:02:00На данный момент оно публично, но именно здесь всё может пойти не так.
00:02:05Так что давайте это остановим.
00:02:06Control C. Теперь сделаем версию, которую хочет большинство разработчиков.
00:02:10zrock share private localhost — то же приложение, та же машина, но теперь совершенно другое поведение.
00:02:17Вместо публичного URL мы получаем токен, и в этом главная разница, потому что
00:02:23теперь доступ не открыт для всех.
00:02:25Он предоставляется только при использовании этого токена.
00:02:28Так что любой, кому я доверяю, может запустить "zrock access private" с моим токеном,
00:02:34и только тогда они получат доступ.
00:02:36Никаких ботов, сканирующих ваш эндпоинт, никакого случайного трафика в вашем приложении.
00:02:42Это просто контролируемый доступ.
00:02:44Вместо того чтобы выставлять приложение напоказ, вы выборочно разрешили доступ тем, кому хотели,
00:02:49и в этом большая разница между этими двумя режимами. И это касается не только приложений.
00:02:53Та же идея работает для файлов и папок.
00:02:56Я могу делиться целыми директориями как просматриваемым диском в режиме "backend mode drive".
00:03:02Это не просто туннелирование, это контролируемый обмен данными.
00:03:04Вот что на самом деле дает нам zrock.
00:03:06Теперь, почему всё это вообще важно?
00:03:08Потому что большинство инструментов туннелирования заставляют вас идти на компромиссы.
00:03:12ngrok отполирован, но бесплатный тариф очень ограничен.
00:03:15Туннели Cloudflare крутые, но требуют настройки и лишних шагов.
00:03:19Tailscale великолепен, но может казаться избыточным, если нужно просто быстро чем-то поделиться.
00:03:24В итоге вы выбираете между скоростью, приватностью и контролем, и именно эту проблему решает zrock.
00:03:29Никакой настройки брандмауэра — блестяще.
00:03:32Никаких проблем с NAT — окей, круто.
00:03:35Приватный доступ действительно приватный — это то, что нам нужно.
00:03:38Поддержка UDP для игровых серверов, VOIP, IoT и встроенный обмен файлами.
00:03:44Это повседневная работа разработчика.
00:03:46Тестирование вебхуков, верно?
00:03:48Для всего этого zrock действительно хорош.
00:03:52Теперь давайте быстро сравним zrock и ngrok.
00:03:54ngrok ощущается как отполированный коммерческий продукт, потому что он им и является.
00:03:58zrock ощущается как инструмент, которым владеете именно вы.
00:04:00В этом главная разница.
00:04:02ngrok — проприетарный, zrock — с открытым исходным кодом.
00:04:05Его можно развернуть на своем сервере.
00:04:06Если для вас важны контроль и приватность, это огромный плюс.
00:04:10Затем приватный доступ.
00:04:12В ngrok это скорее дополнительная функция.
00:04:15Она не является интегрированной.
00:04:16В zrock это часть основной идеи всего проекта.
00:04:19Протоколы тоже имеют значение.
00:04:22ngrok в основном фокусируется на HTTP и TCP.
00:04:26zrock поддерживает оба этих протокола, а также UDP.
00:04:29Справедливости ради, у ngrok всё еще есть повтор и инспекция запросов.
00:04:35У zrock — нет.
00:04:36И это может быть важным.
00:04:37zrock хорош.
00:04:38Но он не идеален.
00:04:39Людям он нравится, потому что кажется простым.
00:04:41Он ориентирован на приватность в первую очередь.
00:04:43Это огромный фактор.
00:04:44И если вы хостите его сами, вы получаете полный контроль над всем.
00:04:47Но тут всё равно есть свои компромиссы, как и у любого open-source инструмента.
00:04:50Есть порог вхождения, если копать глубже, особенно в плане самостоятельного хостинга.
00:04:55Нет встроенной инспекции запросов, как в ngrok.
00:04:58В зависимости от вашей конфигурации вы можете заметить небольшую задержку.
00:05:01Но даже с этими минусами для большинства разработчиков он подходит лучше.
00:05:05Так стоит ли zrock того?
00:05:06Ну, это главный вопрос.
00:05:08Если ваша боль — это необходимость быстро чем-то поделиться, то да, определенно стоит.
00:05:12Особенно если нам не нужно жертвовать контролем или приватностью.
00:05:15zrock решает эту задачу.
00:05:16Если вам нравятся open-source инструменты и советы по кодингу, подпишитесь на канал
00:05:20Better Stack.
00:05:21Увидимся в следующем видео.

Key Takeaway

Zrok заменяет ngrok открытой Zero Trust архитектурой, которая исключает случайный интернет-трафик через приватный доступ по токенам и поддержку UDP.

Highlights

Zrok использует архитектуру Zero Trust на базе OpenZiti для безопасного туннелирования без открытия портов роутера.

Команда «zrock share private» генерирует уникальный токен доступа вместо публичного URL для защиты от ботов и сканеров.

Инструмент поддерживает протоколы HTTP, TCP и UDP, что позволяет работать с игровыми серверами и IoT-устройствами.

Режим «backend mode drive» позволяет делиться целыми директориями как просматриваемыми сетевыми дисками.

Zrok является полностью открытым исходным кодом и поддерживает self-hosting для полного контроля над трафиком.

В отличие от ngrok, в zrok отсутствует встроенная функция инспекции и повтора HTTP-запросов.

Timeline

Проблемы традиционного туннелирования и концепция Zrok

  • Стандартные инструменты часто имеют жесткие лимиты на бесплатные тарифы и выдают случайные публичные URL.
  • Zrok строится на базе OpenZiti и реализует сквозное шифрование (E2EE) для защиты передаваемых данных.
  • Трафик остается внутри Zero Trust Mesh и не попадает в открытый интернет без явного разрешения пользователя.

Локальный хостинг часто усложняется из-за ограничений проприетарных сервисов и необходимости открывать доступ всему интернету. Zrok решает эту проблему, предлагая бесплатную альтернативу с открытым исходным кодом. Система позволяет делиться приложениями, файлами или сервисами без публичного IP или настройки брандмауэра.

Техническая реализация и режимы доступа

  • Команда «zrock enable» выполняет разовую настройку окружения для начала работы.
  • Приватный режим обмена требует от получателя выполнения команды «zrock access private» с конкретным токеном.
  • Функция обмена файлами превращает локальные папки в доступные для навигации диски через специализированные бэкэнд-режимы.

Демонстрация на приложении Next.js показывает мгновенное получение HTTPS URL без правок конфигурационных файлов. Основное различие между публичным и приватным режимами заключается в контроле: токен исключает доступ для ботов и случайных пользователей. Это превращает туннелирование в инструмент выборочного и контролируемого обмена данными.

Сравнение с ngrok и другими альтернативами

  • Zrok превосходит ngrok в поддержке протокола UDP, необходимого для VOIP и игровых серверов.
  • Туннели Cloudflare и Tailscale требуют большего количества шагов настройки для быстрого обмена данными.
  • Ngrok сохраняет преимущество в виде встроенных инструментов отладки и инспекции трафика.

Разработчики часто выбирают между скоростью, приватностью и контролем. В то время как ngrok является отполированным коммерческим продуктом, zrock позиционируется как инструмент, принадлежащий пользователю. Приватный доступ в zrock интегрирован в ядро системы, а не добавлен как второстепенная функция.

Анализ ограничений и итоговая ценность

  • Самостоятельный хостинг zrock требует от пользователя более высокой технической квалификации.
  • В некоторых конфигурациях возможны задержки сети из-за особенностей архитектуры Zero Trust.
  • Инструмент оптимален для тестирования вебхуков и быстрой демонстрации локальных проектов без рисков безопасности.

Несмотря на отсутствие некоторых функций отладки, ориентация на приватность делает zrock более подходящим выбором для большинства задач разработки. Отсутствие необходимости настраивать NAT и брандмауэр упрощает повседневную работу. Если приоритетом является контроль над данными и использование open-source решений, переход на zrock оправдан.

Community Posts

View all posts