porro

Connectors · free · open source

Free in your panel.
Read-only to Porro.

A connector is a small open-source package, Composer or npm. On its own, the PHP connectors add site health, suspicious activity and IP blocking to your control panel, free. Connect Porro and each one also sends a signed report on a schedule or on each build. Porro never connects in and never sends commands.

Start free trial

In your panel · free, no account

Check the site. Spot who’s probing it. Block them.

Laravel, Filament, Statamic and Craft all get site health, suspicious activity and blocking, drawn in each panel’s own style. Everything they see stays on the site.

Site health

checked on the site
Security advisories in your packages Packagist API
PHP and framework support dates endoflife.date
Framework and plugin updates waiting
Scheduler, queue, migrations, debug mode with the fix

Suspicious activity

kept 48 hours
Probes for .env, .git, backups, admin tools ranked
Failed logins, 404 bursts, form floods worst first
Network and hostname, checked both ways Tor · Spamhaus
A fake Googlebot, called out in plain words

Blocking

asks before it acts
In the app, before the framework runs 403
At Cloudflare’s edge one shared list
In nginx, set up server by server tracked
Cloudflare, Forge and real crawlers always protected

Laravel

builds on PHP core

porro/laravel-connector

  • +A /porro page, like Horizon: Site health, Activity, Blocking
  • +Scheduler heartbeat, queues, failed jobs and migrations
  • +Reads laravel-health and laravel-backup if installed
$ composer require porro/laravel-connector
$ php artisan porro:connect porro_…
# every 15 minutes and after each deploy

Filament

builds on Laravel

porro/filament-connector

  • +Site Health and Blocking pages in your Filament panel
  • +Filament, Livewire and plugin versions and advisories
  • +Builds on the Laravel connector, auto-detected
$ composer require porro/filament-connector
$ php artisan porro:connect porro_…
# every 15 minutes and after each deploy

Statamic

builds on Laravel

porro/statamic-connector

  • +A Porro section in the control panel, and a dashboard widget
  • +Statamic and addon versions and advisories
  • +Statamic 5 and 6, also via php please
$ composer require porro/statamic-connector
$ php please porro:connect porro_…
# every 15 minutes and after each deploy

Craft CMS

builds on PHP core

porro/craft-connector

  • +A Porro section in the control panel, and a dashboard widget
  • +Craft and plugin versions, devMode, migrations and the queue
  • +Craft 4 and 5, with the cron setup guide
$ composer require porro/craft-connector
$ php craft porro/connect porro_…
# every 15 minutes and after each deploy

JavaScript

npm · build time

@porro/js-connector

  • +Node and framework: Nuxt, Next, Astro, SvelteKit, Vite…
  • +Lock-file packages, with advisories from OSV
  • +Any build host: Forge, Cloud, Vercel, Netlify, Pages
$ npm install --save-dev @porro/js-connector
$ npx @porro/js-connector connect porro_…
# on every production build

Or one click

Forge · Ploi · Laravel Cloud

no terminal needed

  • +Porro opens a pull request adding the package
  • +Forge, Ploi or Laravel Cloud gets PORRO_KEY and a report step after each deploy
  • +Merge it, and the first report arrives with the deploy
✓ pull request #12 · add porro/craft-connector
✓ Forge · PORRO_KEY set, report step added
# Laravel, Filament, Statamic and Craft · in bulk too

porro/php-core

One shared core, tested together.

Every PHP connector depends on porro/php-core: the health checks, the rules for flagging and blocking IPs, lock-file reading, PHP and server facts, signing, sending and retries. Tested against Laravel, Filament, Statamic and Craft on PHP 8.2 to 8.5. The JavaScript connector signs with the same Ed25519 scheme.

POST /api/v1/reports  ·  X-Porro-Signature: t=…, v1=…
{
  "connector": "[email protected]",
  "framework": { "laravel": "12.31", "php": "8.3.12" },
  "lock_hash": "a1f3…9c2e",
  "health": {
    "debug": false,
    "scheduler_last_run": "2026-10-20T09:12:00Z",
    "failed_jobs": 0, "pending_migrations": 0,
    "last_backup": "2026-10-19T22:00:00Z"
  }
}

Try it on your sites.

28 days free, no card needed. Import your sites from Forge, Laravel Cloud or Ploi in a couple of minutes.

Start your free trial →