Skip to content
This repository has been archived by the owner on Feb 23, 2024. It is now read-only.

Lepovirta/lukki

Repository files navigation

Lukki

Static website testing through crawling. Point Lukki to a website and it'll find broken pages for you.

Downloading

You can find all downloadable versions from the releases page.

Usage

Lukki accepts the following parameters:

  • -config (string): File to read configuration from (default "STDIN")
  • -format (string): Format of the report (default "ascii")
  • -output (string): File to write configuration to (default "STDOUT")
  • -version: Print version information

Configuration

The configuration is provided in JSON format. These are the accepted configurations:

  • urls (list of strings): List of URLs to start crawling from
  • homeHosts (list of strings, optional): List of hosts that Lukki will crawl through. This can be used to prevent Lukki from crawling external sites. If not set, the hosts from urls parameter will be used.
  • userAgent (string, optional): The user agent the crawler will use
  • ignoreRobotsTxt (boolean, optional): Whether or not Lukki should ignore robots.txt directives it finds. Default: true
  • parallelism (integer, optional): Number of parallel workers used for crawling. If 0 is provided, the limit is disabled. Default: no limit
  • elements (list of maps, optional): Which HTML elements to find links from. Each element should contain a name for the HTML element name (e.g. a), and attribute for HTML element attribute (e.g. href). Default elements: a.href, link.href, img.src, script.src.

Hacking

Lukki is written in Go and it uses Go modules. Go version 1.11+ is required. To get started, first fetch the dependencies:

$ go mod download

To run tests:

$ go test ./...

To build:

$ go build

License

GNU General Public License v3.0

See LICENSE file for more information.