0.1.4 • Published 2 years ago

@ezavalishin/vk-tunnel-group v0.1.4

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

VK Tunnel

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

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

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

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

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

npm install @ezavalishin/vk-tunnel-group -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-group --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-group-config.json

В таком случае ваш ваш урл автоматически пропишется в тестовую группу

!!! ВАЖНО: ДОБАВЬТЕ ЭТОТ ФАЙЛ В .gitignore, сервисный ключ следует держать в секрете

{
  "service_token": "сервисный ключ вашего приложения",
  "user_id": "ваг айди",
  "group_name": "название тестовой группы"
}