Connectors
Filament
Install porro/filament-connector for Site Health and Blocking pages in your Filament panel.
porro/filament-connector adds a Porro group to your Filament panel with Site Health and Blocking, plus a dashboard widget. It works with Filament 3.2, 4 and 5 on Laravel 11–13 and PHP 8.2+. It includes the Laravel connector, so its commands and settings apply too.
Install
composer require porro/filament-connector
php artisan migrate
Add the plugin to the panel you want it in, usually your admin panel:
use Porro\Filament\PorroPlugin;
public function panel(Panel $panel): Panel
{
return $panel
// ...
->plugin(PorroPlugin::make());
}
No assets to publish or build. To report to Porro as well, connect the site.
Options
PorroPlugin::make()
->widget(false) // no dashboard widget
->navigationGroup('Settings') // instead of "Porro"
->navigationSort(90)
->authorize(fn ($user) => $user->can('view site health'))
->authorizeManage(fn ($user) => $user->can('block ips')); // who can block and safelist
Who can see it
In order:
- Your
authorize()callback. - A
viewPorroSiteHealthgate, if your app defines one. - Admins, when your users have the usual markers: an
isAdmin()orisSuperAdmin()method, anis_adminattribute, or a spatie/laravel-permissionsuper_adminoradminrole. - Otherwise nobody, until you say who can.
Blocking and safelisting check your authorizeManage() callback, then a managePorroBlocklist gate; without either, whoever can see the pages can change the lists.
What's in it
- Site Health: the Laravel connector's checks with Filament and Livewire updates, and the suspicious activity summary with the IPs worth a look. See Suspicious activity.
- Blocking: where blocks are enforced, the blocklist and safelist, and what's always protected. See Blocking.
- Dashboard widget: the last result, lazy-loaded, so the dashboard never waits on the checks.
The /porro page turns itself off on Filament sites, since the panel shows the same things. PORRO_PAGE=true brings it back.