Tuna - доступная замена ngrok и аналогов
Ранее я уже рассказывал как мы случайно запустили новый сервис тут. Но сегодня я хочу подробнее остановиться на обзоре возможностей.
Tuna - что это вообще такое? Если коротко - это консольная утилита в основном для разработчиков, но не только. Помогает получить прямой доступ из интернета к запущенным локально на ПК сайтам или приложениям. Вы запускаете в консоли короткую команду, получаете в ответ ссылку, а ваш друг из любой точки мира перейдя по ней попадёт на сайт запущенный на вашем ПК в локальной сети, и всё это без VPN, требований в "белом" IP, без проброса портов, так далее.
Но давайте я лучше покажу и опишу кейсы применения.
Публикация локального сайта
Например, вы – Frontend разработчик и хотите дать доступ к локальному стенду вашему коллеге. Как обычно запускаете в консоли yarn server видите, что приложение запустилось на http://localhost:3000, в соседней консоли запускаете tuna http 3000 , видите ссылку вида https://foo-bar.ru.tuna.am, всё с этого момента ваш локальный сайт доступен в интернете.
В этом видео показан пример описанный выше, только я использовал статический сайт внутри контейнера с nginx.
Из опций можно добавить базовую авторизацию, заголовки, ограничить доступ по IP подсетям , можно задать статичный поддомен и другое. Также есть встроенный инспектор. Это легковесный интерфейс встроенный в утилиту, из которого удобно отслеживать запросы, заголовки и прочую отладочную информацию.
Файловый сервер
Если надо передать достаточно объёмный файл, к примеру в 10Gb это превращается в квест. Нужно загрузить файл на какой-нибудь облачный диск (яндекс или гугл), опубликовать этот файл и дать ссылку другу и только после этого он сможет его скачать. Согласитесь было бы удобно передать файл сразу напрямую другу. Для этого запустите tuna http --file-server=. с указанием каталога который хотите опубликовать, и передайте ссылку другу, а он сможет скачать файл практически напрямую с вашего ПК без загрузки его на сторонние сервисы и потери времени.
Техническая поддержка
В Windows если вы хотите предоставить доступ к рабочему столу, то наверное сразу думаете о teamviewer или аналогах, но если нужна помощь на сервере с Linux, нужно создать пользователя, дать ему доступ по SSH, а для этого опять нужен белый IP, а потом ещё не забыть удалить пользователя и отозвать все доступы в общем рутина. По этому в tuna есть встроенный SSH сервер и можно 1 командой открыть доступ к примеру для тех. поддержки какого-нибудь ПО которое вы покупаете. А завершив команду доступ прервётся и всё. не надо ни о чём переживать.
Проброс TCP порта
Приведу живой пример из практики. В локальной сети есть IP камера и нужно предоставить к ней прямой доступ по RTSP потоку. Запускаем tuna tcp <camera-ip>:554 , получаем ссылку и подключаемся.
Триггеры
Ещё полезный функционал во всяческих автоматизациях, это выполнение действий по наступлению событий. В tuna доступны триггеры по наступлению HTTP (webhook) или SMTP (mail) уведомления. Запускаете команду tuna trigger webhook /root/trigger.sh получаете ссылку, отправляете запрос по ссылке, а tuna выполнит указанный скрипт.
Сравнение с конкурентами
В сравнении с ngrok, inlets, tunnelin, localxpose (это первое что гуглится, список не полный), нам ещё есть куда расти. К примеру у нас до сих пор не реализованный статичные TCP порты и при каждом перезапуске будет биндиться новый порт, это неудобно. В тоже время триггеры или встроенный SSH-сервер есть не у всех, а у нас есть.
Цена
Базовый функционал с ограничениями - бесплатен. Расширенный - 299 рублей в месяц, таких низких цен нет ни у кого. А в компании с возможностью в принципе оплатить в рублях, в России мы кажется 1-й вариант. Ну или напишите в комментариях, но я не находил аналогов.
Серверы для построения туннелей в России и Нидерландах. Близость туннельных серверов уменьшает задержку и увеличивает скорость.
В общем куда не плюнь, одни плюсы 🙂
Контакты
Подробнее можете посмотреть всё на сайте https://tuna.am/#pricing, надеюсь вам понравится работать с tuna.
Если возникли вопросы, можете задать их нам по почте [email protected]
Я ngrok за бесплатно использую 🤷♂️
Ну у нас почти такие же ограничения между платной и бесплатной версией, как и в ngrok, кастомные поддомены, tcp, etc
Да правда, я пропустил момент, что у вас тоже есть бесплатная версия.
Быстрее бы мир перешёл на IPv6 что-бы потребность в подобных костылях отпала.
Успрехов в развитии проекта!
Но ngrok победить будет ой как не просто.
Например они выкатили внешний static domain не так давно и прочие фишки за даром. К use cases - эти штуки незаменимая вещь для разработчика telegram, fb и прочих ботов с веб хуком.
Будем развивать)
Спасибо.
Это естественно, просто решил не дублировать, это я описывал в 1 статье.
Спасибо за продолжение развития, желаю успехов !
Удачи вам в вашем проекте )
А проект yucca.app/ru напоминает решение FLussonic, у них очень много сделано в эту сторону.
У вас есть описание про тех. детали, реализации и т.п. yucca.app/ru ?
Да, flussonic watcher наш конкурент.
Я не знаю какие вам нужны детали?)
Кажется многое понятно из сайта и документации + есть бесплатная версия, можете установить и протестировать.
Также можете запростить на сайте триальную лицензию для enterprise версии. )
А почему Тунцом назвали?))
Прототип называться tunnel, начали играть с этим словом, посмотрели какие есть свободные домены. Так и вышло tunnel - tuna ))
Пользуюсь бесплатным vk-tunnel, работает отлично.
У вас закрытый проект (нет открытой репы на GH)?
Интересно было бы поучаствовать ....
Тоже думал делать проект в эту сторону, даже домен прикупил lclhost, но посмотрел на ngrok и подумал, что тут я не конкурент )
На тот случай, если вас интересуют open-source альтернативы ngrok: https://github.com/anderspitman/awesome-tunneling
Нет, проект у нас закрытый)
Выкиньте эту фигню из головы про то, что тут я не конкурент ngrok, это свободный рынок место всем найдётся) Берите, делайте, продавайте.
Не стоит думать о конкуренции с старбакс, если хотите отрыть кофейню у дома, верно?)
Ну мы по крайней мере для себя делали + будет интегрировать с нашим основным продуктом yucca.app/ru
Попробовать всегда стоит)
Уберите ограничение на жизнь сессии в 30 мин в бесплатной версии, иначе не вижу плюсов перед ngrok
не
т
Vscode добавил ports - теперь из ide можно шарить порты
Пока бесплатно
Когда статический адрес для TCP?))))
Статичные TCP порты есть в планах, но это сильно сложнее в реализации, по этому пока только в планах)
Поскорее бы :) Так как в России платный и доступный вариант пока у вас нашел
Выглядит интересно
при попытке распаковки зипа на винде - винда не дала открыть файл заблокировав его. че там у вас внутри вообще? без вирусов?
Инстрауция по установке есть в доке https://tuna.am/docs/guides/install-manual?os=windows
Можно и через winget установить.