Connectors
Craft CMS
Install porro/craft-connector for a Porro section in the Craft control panel, on Craft 4 and 5.
porro/craft-connector adds a Porro section to the Craft control panel with Site health, Activity and Blocking, and a dashboard widget. It works with Craft CMS 4 and 5 on PHP 8.2+.
Install
composer require porro/craft-connector
php craft plugin/install porro
Already installed? php craft up after updating adds the blocklist tables. To report to Porro as well, connect the site.
Who can see it
Admins, and users or groups with the Access Porro permission (Settings → Users). Blocking, unblocking and safelisting also need Block, unblock and safelist IPs; without it, Activity and Blocking are read-only.
What's in it
- Site health: security advisories in
composer.lock, PHP and Craft support dates, Craft and plugin updates (critical ones flagged), dev mode in production, migrations not run, failed queue jobs and a stuck queue. Once connected, whether cron runs. - Activity: see Suspicious activity.
- Blocking: see Blocking, Cloudflare and nginx.
- Dashboard widget: New widget → Porro Site Health. It shows the last result, so the dashboard never waits.
Behind a load balancer or proxy?
Set Craft's trustedHosts to your proxies' addresses (or CRAFT_TRUSTED_HOSTS=10.0.0.5). Craft trusts X-Forwarded-For from anyone by default, which would let a visitor choose their own address, so until trustedHosts names your proxies the plugin uses the address that connected. Behind Cloudflare nothing is needed.
Commands
| Command | Does |
|---|---|
porro/connect <key> |
Saves the key, sends the first report and sets up cron (--cron, --no-cron) |
porro/cron |
Adds the cron line, no key needed |
porro/report |
Sends a report now (--packages, --deploy for deploy scripts) |
porro/status |
Shows what the next report contains (--json for the raw report) |
porro/blocklist |
Tidies the blocklist and, in nginx mode, writes the deny file |
porro/cloudflare |
Blocks at Cloudflare's edge: status, connect, sync or disconnect |
The rest goes in config/porro.php: see Settings.