tunnelhunt / laravel-tunnelhunt
A Laravel package to expose your local development server via tunnelhunt.ru.
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:laravel-package
pkg:composer/tunnelhunt/laravel-tunnelhunt
Requires
- php: ^8.1
- illuminate/console: ^10.0|^11.0
- illuminate/support: ^10.0|^11.0
README
Этот пакет для 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.