/gowitness

๐Ÿ” gowitness - a golang, web screenshot utility using Chrome Headless

Primary LanguageGoOtherNOASSERTION

A golang, web screenshot utility using Chrome Headless.


introduction

gowitness is a website screenshot utility written in Golang, that uses Chrome Headless to generate screenshots of web interfaces using the command line. Both Linux and macOS is supported, with Windows support 'partially working'.

Inspiration for gowitness comes from Eyewitness. If you are looking for something with lots of extra features, be sure to check it out along with these other projects.

installation

All you would need is an installation of the latest Google Chrome or Chromium and gowitness itself. Binaries are available for download from the releases page as part of tagged releases.

To build gowitness from source, follow the following steps:

  • Ensure you have dep installed (go get -v -u github.com/golang/dep/cmd/dep)
  • Clone this repository to your $GOPATH's src/ directory so that it is in sensepost/gowitness
  • Run dep ensure to resolve dependencies
  • Use the go build tools, or run make to build the binaries in the build/ directory

usage

~ ยป gowitness -h
A commandline web screenshot and information gathering tool.

Usage:
  gowitness [command]

Available Commands:
  file        Screenshot URLs sourced from a file
  generate    Generate an HTML report from a database file
  help        Help about any command
  scan        Scan a CIDR range and take screenshots along the way
  single      Take a screenshot of a single URL
  version     Prints the version of gowitness

Flags:
      --chrome-timeout int   Time in seconds to wait for Google Chrome to finish a screenshot (default 90)
      --config string        config file (default is $HOME/.gowitness.yaml)
  -D, --db string            Destination for the gowitness database (default "gowitness.db")
  -d, --destination string   Destination directory for screenshots (default ".")
  -h, --help                 help for gowitness
      --log-format string    specify output (text or json) (default "text")
      --log-level string     one of debug, info, warn, error, or fatal (default "info")
  -R, --resolution string    screenshot resolution (default "1440,900")
  -T, --timeout int          Time in seconds to wait for a HTTP connection (default 3)

Use "gowitness [command] --help" for more information about a command.

license

gowtiness is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License Permissions beyond the scope of this license may be available at http://sensepost.com/contact/.