tunnelhunt/laravel-tunnelhunt
Laravel TunnelHunt
Этот пакет для Laravel предоставляет простую Artisan-команду для запуска вашего локального сервера разработки и одновременного создания к нему публичного туннеля с помощью сервиса tunnelhunt.ru.
Это идеальное решение, когда вам нужно:
- Протестировать входящие вебхуки от внешних сервисов (Telegram, Stripe, и т.д.).
- Показать результат работы заказчику без развертывания на реальном хостинге.
- Отладить интеграцию с API, требующим публично доступного эндпоинта.
Требования
- PHP >= 8.1
- Laravel >= 10.0
- Установленный в вашей системе SSH-клиент.
Установка
Вы можете установить пакет в ваш Laravel-проект с помощью Composer:
composer require tunnelhunt/laravel-tunnelhunt
Благодаря механизму автообнаружения пакетов в Laravel, вам не нужно вручную регистрировать Service Provider.
Использование
Базовый запуск
Для запуска локального сервера на порту 8000 и создания туннеля с бесплатным планом nokey выполните команду:
php artisan serve:tunnel
После запуска вы увидите примерно следующий вывод в консоли:
INFO Laravel development server started on http://127.0.0.1:8000
INFO Starting tunnelhunt.ru tunnel with 'nokey' plan...
INFO Waiting for tunnelhunt.ru to provide a public URL...
Your public URL will appear in the SSH output below.
// Здесь появится стандартный вывод от SSH-команды
// Внимательно посмотрите на него, там будет ваш публичный адрес
Your public URL is: http://a1b2c3d4.tunnelhunt.ru
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// Ваш сайт доступен по этому адресу!
Важно: Публичный URL генерируется сервисом tunnelhunt.ru и будет показан в выводе SSH-команды, как в примере выше.
Чтобы остановить сервер и туннель, просто нажмите Ctrl+C в окне терминала.
Опции
Вы можете кастомизировать команду с помощью следующих опций:
| Опция | По умолчанию | Описание | Пример |
|---|---|---|---|
--host |
127.0.0.1 |
Хост, на котором будет запущен локальный сервер. | php artisan serve:tunnel --host=0.0.0.0 |
--port |
8000 |
Порт, на котором будет запущен локальный сервер. | php artisan serve:tunnel --port=3000 |
--plan |
nokey |
План tunnelhunt.ru для использования (nokey или pro). |
php artisan serve:tunnel --plan=pro |
Пример с pro планом на порту 3000:
php artisan serve:tunnel --port=3000 --plan=pro
Как это работает?
Команда serve:tunnel автоматизирует следующие шаги:
- Запускает встроенный веб-сервер Laravel (
php artisan serve) в фоновом режиме с указанными вами--hostи--port. - Формирует и выполняет команду
ssh -R 80:localhost:<port> -p 2222 <plan>@tunnelhunt.ru. - Передает весь вывод от SSH-процесса напрямую в вашу консоль, чтобы вы могли видеть статус подключения и назначенный URL.
- Когда вы прерываете команду (
Ctrl+C), она корректно завершает как SSH-соединение, так и фоновый процессphp artisan serve.
Лицензия
Этот пакет является программным обеспечением с открытым исходным кодом, распространяемым под лицензией MIT.
Related Packages
Laravel package to add command to list all scheduled artisan commands
Instant support for PHP Code Sniffer, PHP CS Fixer, and PHP MD in the Artisan CL...