Skip to content

HeRoMo/site-checker

Repository files navigation

Site Checker

GitHub version npm version

This is a tool for checking web site status and capturing screenshot.

Japanese Guide is here.

Installation

yarn global add site-checker

if chromium installed by puppeteer fails to launch, some dependencies are not enough. see Chrome headless doesn't launch on UNIX

Use via docker

You can use docker image of site-checker.

docker run --rm -v <output dir of host>:/output:rw ghcr.io/heromo/site-checker:latest -u https://github.com/HeRoMo/site-checker

Options

Options:
  -u, --url         set the url which is checked and captured
  -l, --list        set the filepath of URL list.                       [string]
  -o, --output      set output dir name                                 [string]
      --html        output HTML file                                   [boolean]
  -d, --device      emulate device name                                 [string]
  -f, --fullpage    capture whole page                                 [boolean]
      --nocache     disable browser cache                              [boolean]
      --timeline    access url with tracing timeline.                  [boolean]
  -s, --screenshot  take a screenshot at access successfully.
                                                       [boolean] [default: true]
      --auth        basic auth credencial. <username>:<password>        [string]
      --version     Show version number                                [boolean]
  -h, --help        Show help                                          [boolean]

Usage

Check a single URL

You can check a single url by using -u option.

$ site-checker -u https://github.com/HeRoMo/site-checker
Target URL: https://github.com/HeRoMo/site-checker
[ { id: '00000',
    url: 'https://github.com/HeRoMo/site-checker',
    status: 200,
    filepath: './capture_00000.png',
    filename: 'capture_00000.png' } ]

and output a screenshot image as capture_00000.png

URL list

By using -l option, you can check multiple URL at once. -l option accept two file format, .txt and .csv

.txt is one URL per line format. .csv format must have id column and url column (see sample).

$ site-checker -l url-list.csv

This command creates dir named url-list, and output screenshot images and result.json file in this dir.

With --html option, the result is also output as an HTML file (index.html).

Record site timeline

By using --timeline option, You can record web site performance.

When you run site-checker with --timeline option, site-checker outputs timelime_XXXXX.json file which is compatible to Performance (a.k.a Timeline) of Chrome Dev Tool.

$ site-checker -l url-list.csv --timeline -d 'iPhone X'

You can watch the result by using Chrome Dev Tool or DevTools Timeline Viewer

Authentication

Site-checker supports basic authentication.
You can set username and password by using --auth option.

$ site-checker -u https://basic-auth-site.com --auth username:password
Target URL: https://basic-auth-site.com
[ { id: '00000',
    url: 'https://basic-auth-site.com',
    status: 200,
    filepath: './capture_00000.png',
    filename: 'capture_00000.png' } ]

--auth option takes colon separated username and password. if you use --auth option with -l option, site-checker uses same credentials to every url of list.

License

MIT

Copyright (c) 2017-present, HeRoMo