porro

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.

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 →