theaarch64 / laravel-sms-forwarder
Laravel Forwarder.
Installs: 41
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/theaarch64/laravel-sms-forwarder
Requires
- php: ^8.2
- illuminate/console: ^11.0|^12.0
- illuminate/contracts: ^11.0|^12.0
- illuminate/events: ^11.0|^12.0
- illuminate/http: ^11.0|^12.0
- illuminate/routing: ^11.0|^12.0
- illuminate/support: ^11.0|^12.0
Requires (Dev)
- laravel/pint: ^1.24
- mockery/mockery: ^1.6
- orchestra/testbench: ^10.6
- pestphp/pest: ^4.0
- pestphp/pest-plugin-laravel: ^4.0
This package is auto-updated.
Last update: 2026-01-03 07:48:11 UTC
README
A Laravel package to easily handle incoming Forwarder webhooks.
Installation
You can install the package via composer:
composer require theaarch64/laravel-forwarder:dev-main
After installing, run the install command to scaffold the necessary files:
php artisan forwarder:install
This command will:
- Publish the configuration file to
config/forwarder.php. - Publish the webhook handler action to
app/Actions/Forwarder/HandleWebhook.php. - Publish and register the
ForwarderServiceProviderin your application.
Usage
Handling Webhooks
The package uses an Action class to handle incoming webhooks. After installation, you can find the handler at app/Actions/Forwarder/HandleWebhook.php.
You should modify the handle method in this class to implement your custom logic (e.g., saving the message to the database, forwarding it to Telegram/Slack, etc.).
<?php namespace App\Actions\Forwarder; use Illuminate\Http\Request; use Illuminate\Support\Facades\Log; use Symfony\Component\HttpFoundation\Response; use Theaarch\Forwarder\Contracts\HandlesWebhooks; class HandleWebhook implements HandlesWebhooks { /** * Handle a webhook call. * * @param Request $request * @return Response */ public function handle(Request $request): Response { Log::info('Webhook Received', $request->all()); // Your logic here... return new Response('Webhook Handled', Response::HTTP_OK); } }
Configuration
You can configure the package in config/forwarder.php.
Route Prefix
By default, the webhook route is available at /forwarder/webhook. You can change the prefix in the config or via .env:
FORWARDER_PREFIX=custom-prefix
Middleware
You can add custom middleware to the webhook route in config/forwarder.php:
'middleware' => ['api'],
Security: Webhook Signature Verification
To ensure that the webhook requests are coming from a trusted source, you should configure a webhook secret.
-
Set the secret in your
.envfile:FORWARDER_WEBHOOK_SECRET=your-secret-key
-
The package will automatically verify the signature included in the request body (
signparameter) using this secret.
If the secret is not set, signature verification is skipped (not recommended for production).
Testing
You can run the tests with:
vendor/bin/pest
License
The MIT License (MIT).