Download the PHP package jbsommeling/scannr without Composer

On this page you can find all versions of the php package jbsommeling/scannr. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package scannr

Latest Stable Version Total Downloads Tests License PHP Version Require Code Size GitHub stars

Scannr

A Laravel package that crawls websites to detect broken links, redirect chains, HTTPS downgrades, and more. Includes JavaScript rendering support for SPAs. Use it as a dev dependency in your Laravel project or as a Docker-based GitHub Action in your CI/CD pipeline.

Features

Responsible Use

Scannr is intended for scanning websites you own or have explicit permission to test.

Users are responsible for ensuring their usage complies with:

Do not use Scannr to:

The authors are not responsible for misuse of this tool.


Installation

As a Laravel Dev Dependency

The package auto-discovers its service provider. To publish the configuration:

To publish the migration (for --queue support):

JavaScript Rendering (Optional)

For --js and --smart-js support, install Puppeteer:


CLI Usage

Basic Scan

Command Signature

Options

Option Default Description
--depth=N 3 Maximum crawl depth from the starting URL
--max=N 300 Maximum number of URLs to scan
--timeout=N 5 Request timeout in seconds
--format=FORMAT table Output format: table, json, or csv
--status=FILTER all Filter results: all, ok, or broken
--filter=TYPE all Filter by element type: all, a, link, script, img, media, form
--scan-elements=TYPES all Element types to scan: all, or comma-separated (e.g., a,img)
--sitemap false Use sitemap.xml to discover URLs before crawling
--js false Enable JavaScript rendering for SPA/React sites
--smart-js false Auto-detect SPAs and enable JS rendering when needed
--no-robots false Ignore robots.txt rules
--advanced false Show noise URLs (XML namespaces, CDN hints, etc.)
--strip-params=PARAMS — Additional tracking parameters to strip (comma-separated)
--delay-min=N config Minimum delay between requests in milliseconds
--delay-max=N config Maximum delay between requests in milliseconds
--queue false Dispatch scan as a background job
--fail-on-critical false Fail with exit code 1 if critical issues are found
--min-rating=GRADE none Minimum acceptable rating: excellent, good, needs_attention, none

Examples

Example Output

Table (default)

JSON (--format=json)


GitHub Action

Use Scannr in your CI/CD pipeline to catch broken links on every deploy.

Basic Usage

All Options

Examples

Scan a SPA with JavaScript rendering:

Get JSON output for downstream processing:

Deep weekly audit with sitemap:

Quality gate — require "Excellent" rating:

Relaxed quality gate — only fail on critical issues:


URL Restriction

Scannr is designed for scanning your own websites, not arbitrary third-party sites.

Local Dev Dependency

When running via php artisan site:scan, Scannr compares the scan URL's domain against your APP_URL environment variable. If they don't match, a warning is displayed:

GitHub Action (.scannr.yml)

In CI/CD, you can create a .scannr.yml file in your repository root to declare which domains are allowed:

When .scannr.yml is present, the GitHub Action will block scans of URLs that don't match any listed domain.

If no .scannr.yml exists, the URL input is trusted (since you control your own workflow file).


Configuration

Publish the config file to customize scanner behavior:

This creates config/scannr.php with settings for:


Testing


License

This package is open-sourced software licensed under the MIT license.

Repository Health

Last updated: 2026-06-13


All versions of scannr with dependencies

PHP Build Version
Package Version
Requires php Version ^8.4
ext-libxml Version *
ext-simplexml Version *
illuminate/console Version ^12.0
illuminate/support Version ^12.0
spatie/browsershot Version ^5.2
symfony/css-selector Version ^7.0|^8.0
symfony/dom-crawler Version ^7.0|^8.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package jbsommeling/scannr contains the following files

Loading the files please wait ...