Giter VIP home page Giter VIP logo

vk-tunnel-client's Introduction

VK Tunnel

Очень часто в веб-разработке требуется показать своё приложение другим пользователям. В случае боевой версии сайта беспокоиться не о чем, но если во время разработки вы пользуетесь локальным сервером, то показать промежуточные результаты на нём — нетривиальная задача.

Ещё сложнее становится в том случае, когда вам нужно проверить взаимодействие приложения с внешними инструментами, к примеру, с VK Bridge внутри мобильных приложений.

VK Tunnel — это утилита, которая позволит сделать сервер на вашем локальном компьютере публичным После запуска VK Tunnel Вы можете отслеживать в терминале информацию о состоянии и показателях соединений, установленных через ваш туннель.

1. Использование

Использование в VK Mini Apps Установите пакет:

npm install @vkontakte/vk-tunnel -g

Создайте приложение из шаблона:

npx @vkontakte/create-vk-mini-app <foldername>

Перейдите к папке проекта при помощи команды:

cd <foldername>

Запустите проект командой:

npm start

И сделайте вызов в консоли проекта:

env NODE_TLS_REJECT_UNAUTHORIZED=0 \ 
PROXY_HTTP_PROTO=https \ 
PROXY_WS_PROTO=wss \ 
PROXY_HOST=localhost \ 
PROXY_PORT=10888 \ 
PROXY_TIMEOUT=5000 \ 

Или, используя опции:

vk-tunnel --insecure=1 --http-protocol=https --ws-protocol=wss --host=localhost --port=10888 --timeout=5000

В терминале будет предложено перейти по адресу в формате https://oauth.vk.com/code_auth?stage=check&code=2a2aaaa для авторизации. Откройте ссылку в браузере, вернитесь в терминал и нажмите enter

После успешной авторизации в терминале появится ссылка вида

https://user12345-jv7zlzzz.wormhole.vk-apps.com

Укажите её в поле URL в управлении Вашим мини-приложением для дальнейшей работы. Если приложение ещё не создано -- воспользуйтесь инструкцией

2. Переменные окружения

При запуске утилиты вы можете настроить переменные окружения:

Переменная Опция Описание
NODE_TLS_REJECT_UNAUTHORIZED --insecure флаг, позволяет пропустить проверку самоподписанных сертификатов
Возможные значения:
0 — пропустить проверку
1 — проверить сертификат (в случае, если передается через опцию, логика обратная)
PROXY_HTTP_PROTO --http-protocol Схема для HTTP протокола
Возможные значения:
http — нешифрованное соединение
https — шифрованное соединение

Значение по умолчанию: http
PROXY_WS_PROTO --ws-protocol Схема для Web Socket-протокола
Возможные значения:
ws — нешифрованное соединение
wss — шифрованное соединение

Значение по умолчанию: ws
PROXY_HOST --host хост, на котором запущен проект
Значение по умолчанию: localhost
PROXY_PORT --port порт, на котором запущен Ваш проект
Значение по умолчанию: 10888
PROXY_TIMEOUT --timeout таймаут запросов к вашему приложению
Значение по умолчанию: 5000
app_id нет id приложения
endpoints нет массив с указанием платформ для которых нужно автоматически заменять адрес в настройках приложения.
Возможные значения: mobile, mvk, web

3. Опции

Для удобной настройки vk-tunnel создайте файл vk-tunnel-config.json

{
  "app_id": "...",
  "endpoints": ["mobile", "mvk", "web"]
}

vk-tunnel-client's People

Contributors

mainsmirnov avatar heyqbnk avatar mobyman avatar kuhel avatar ponomarevlad avatar

Watchers

James Cloos avatar  avatar

Forkers

cobrowsing

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.