Мне часто нужно открыть доступ к локальному стенду, вебхуки там и так далее, и раньше я всегда использовал Ngrok. По последнее время пользоваться им становится сложнее, оплатить подписку уже нельзя, а бесплатные функции всё время урезают. По этому решил найти какие есть альтернативы, желательно в России.

Так как поднимать SSH-туннели к своей VPS или какой то self-hosted мне не хотелось, да и тратить свои часы на обслуживание всего этого зоопарка снова не хочется. Всё таки SaaS сервис удобнее, а если посчитать свои часы потраченные на обслуживание self-hosted, оказывается ещё и дешевле. Плюс у SaaS решений как правило есть фичи которых не будет в SSH-туннелях.

Вообще есть целый репозиторий с альтернативами, естественно там 0 сервисов которые можно купить в РФ.

Дисклеймер: Я не рекламирую ни один из сервисов, это просто мой обзор на рынок сегодня!

И так, немного погуглив и поисследовав вопрос, составил короткий список:

Давайте разберём поподробнее, естественно сужу субьективно со своей колокольни и через призму опыта использования ngrok.

Порты в VSCODE

Ссылка: https://code.visualstudio.com/docs/editor/port-forwarding

Встроенный функционал в IDE.

Плюсы:

В принципе удобно, ничего делать не надо, сразу работает. Нажал - туннель есть, отжал - нету. Изи.

Минусы:

  • Только HTTP туннели, нет TCP

  • Нет работы с заголовками, нельзя добавить авторизацию и т.д.

  • Туннельная нода чёрт знает где, большая задержка

  • Нельзя запустить как агента в фоне, расчитана только на работу в IDE.

  • Нет инспектора запросов

VK Tunnel

Ссылка: https://dev.vk.com/ru/libraries/tunnel

Бесплатный сервис от VK, приложение на JS, в целом почти как порты от VSCODE.

Плюсы:

  • Туннельная нода в России, задержка радует

Минусы:

  • Только HTTP туннели, нет TCP

  • Для работы нужен Node.js

  • Нет работы с заголовками, нельзя добавить авторизацию и т.д.

  • Нельзя запустить как сервис в фоне (может и можно, но этого того не стоит)

  • Нет инспектора запросов

Tuna

Ссылка: https://tuna.am

Пожалуй лидер в списке. Нашёл написав в гугле ngrok аналог. Вообще очень похож на ngrok, я даже удивился и обрадовался когда нашёл.

Плюсы:

  • Туннельная нода в России, задержка радует

  • Клиент похож на ngrok, статичный бинарник, можно запускать как агента в фоне

  • Есть работа с заголовками, авторизация и прочие фишки

  • Есть инспектор запросов

  • Есть TCP тунннели

  • Приятная документация

  • Цена, всего 299 рублей в месяц

Минусы:

Для себя я их особо не нашёл, но надо что то написать. Видно что сервис новый, ещё не всё отлажено, например клиент не переподключается сам, если подключиться к VPN, приходится перезапускать. Но это вроде мелочи, хотя с ngrok я привык, что запустил агента в консоли и забыл.

xTunnel

Ссылка: https://xtunnel.ru/

Нашёл написав в гугле ngrok аналог. Сначала я нашёл его, а не tuna и даже начал пользоваться.

Плюсы:

  • Туннельная нода в России, задержка радует

  • Есть клиент, можно запустить агента в фоне

  • Есть TCP туннели

  • Цена, всего 99 рублей в месяц

Минусы:

  • Нет работы с заголовками, нельзя добавить авторизацию и т.д

  • Нет инспектора запросов

  • Бинарник не статический, на старых OS может не завестись

  • Нет документации (хотя и функционала почти нет, может и не нужна)

  • В целом проект выглядит заброшеным и не развивается, хотя в интернете везде про себя пишут, что убийца ngrok )


Итого

Если у вас есть заметки о подобных сервисах, пожалуйста поделитесь в коментариях, кто чем пользуется?

Комментарии (16)


  1. iv_kingmaker
    05.08.2024 11:56
    +5

    Хм, как интересно. Сегодня приглашён и сразу же статья, где из всех сервисов "оптимальным" является тот, где автор является и владельцем, почти наверняка. "Ни разу не реклама")

    .


    1. ValerkaDev Автор
      05.08.2024 11:56

      Если что это не мой ТГ, шерлок)


      1. iv_kingmaker
        05.08.2024 11:56
        +1

        Ой, и рисуешь как в блоге?


        1. ValerkaDev Автор
          05.08.2024 11:56

          слышал про https://miro.com/ ??


          1. iv_kingmaker
            05.08.2024 11:56
            +3

            Я ещё слышал и про другие сервисы, которые позволяют рисовать) Слишком много совпадений


            1. ValerkaDev Автор
              05.08.2024 11:56

              .


  1. ret77876
    05.08.2024 11:56
    +1

    Есть ещё serveo.net. Задержка неидеальная, но очень удобно использовать


    1. ValerkaDev Автор
      05.08.2024 11:56
      +1

      Он есть в репозиторий с альтернативами, который я привёл в статье.


  1. kellas
    05.08.2024 11:56
    +1

    В процессе разработки telegram mini web app столкнулся с тем что очень желателен туннель с https и фиксированным доменом, остановился на self-hosted решении - sish

    Hidden text
    version: '3.8'
    
    services:
      router:
        image: valian/docker-nginx-auto-ssl
        environment:
          ALLOWED_DOMAINS: 'dev.proxy.example.com'
          SITES: 'dev.proxy.example.com=dev-tunnel:8888;'
        volumes:
          - ./DATA/nginx/ssl:/etc/resty-auto-ssl
        ports:
          - 443:443
          - 80:80
        restart: always
        logging:
          driver: json-file
          options:
            max-file: '3'
            max-size: '5m'
    
      # SSH tunnel
      # https://docs.ssi.sh/getting-started
      dev-tunnel:
        image: antoniomika/sish:latest
        volumes:
          # for access from local machine need ssh key at folder v:
          # ssh-keygen -t ed25519 -C "usermail@gmail.com"
          # cp ~/.ssh/id_ed25519.pub ./DATA/proxy/pubkeys
          - ./DATA/proxy/pubkeys:/pubkeys
          - ./DATA/proxy/keys:/keys
        ports:
          - 2222:2222
        command: |
          --ssh-address=:2222
          --http-address=:8888
          --https=true
          --authentication-keys-directory=/pubkeys
          --private-keys-directory=/keys
          --redirect-root=false
          --bind-random-ports=false
          --bind-random-subdomains=false
          --bind-root-domain=true
          --domain=proxy.example.com
        restart: always
        logging:
          driver: json-file
          options:
            max-file: '3'
            max-size: '5m'
    

    на локальной машине еще autossh использую чтобы само переподключалось при разрыве соединения

    autossh -M 0 -p 2222 -R dev:80:localhost:3000 dev.proxy.example.com



  1. AnthonyAxenov
    05.08.2024 11:56

    В своё время часто использовал telebit.io, проблем не возникало, но давненько не приходилось запускать. Возможно, что-то изменилось.


    1. ValerkaDev Автор
      05.08.2024 11:56

      Он есть в репозиторий с альтернативами, который я привёл в статье.
      Опять же или селф хостед или не в россии


  1. eigrad
    05.08.2024 11:56
    +1

    Кроме sish упомянутого на пару комментов выше, стоит глянуть на frp. У sish свой оригинальный подход, а frp более функциональный и чуть ближе к ngrok. Вот тут хорошая подборка похожих инструментов https://github.com/anderspitman/awesome-tunneling.


    1. ValerkaDev Автор
      05.08.2024 11:56

      эта же самая ссылка есть в статье


  1. Sanchous98
    05.08.2024 11:56

    А как на счет zrok?


    1. ValerkaDev Автор
      05.08.2024 11:56

      Он есть в репозиторий с альтернативами, который я привёл в статье.


  1. SmileyK
    05.08.2024 11:56

    Вот такая штука есть же https://github.com/jpillora/chisel