Back to directory
sensepost avatar
sensepost / gowitness

gowitness

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

4,474

Stars

443

Forks

51

Watchers

GPL-3.0

License


gowitness

A golang, web screenshot utility using Chrome Headless.

@leonjza Go Report Card Docker build & Push


introduction

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

features

The main goal of gowitness is to take website screenshots (and do that well!), while optionally saving any information it gathered along the way. That said, a short list of features include:

  • Take website screenshots, obviously..., but fast and accurate!
  • Scan a list of URLs, CIDRs, Nmap Results, Nessus Results and more.
  • Ability to grab and save data (i.e., a request log, console logs, headers, cookies, etc.)
  • Write data to many formats (sqlite database, jsonlines, csv, etc.)
  • An epic web-based results viewer (if you saved data to SQLite) including a fully featured API!
  • And many, many more!

quick start

There are a few ways to get gowitness, the simplest (assuming your $GOBIN path is in your shell $PATH) will be to use go install:

go install github.com/sensepost/gowitness@latest

Otherwise, grab a platform specific release binary or compile from source. Then, scan your first target writing the results to a SQLite database and the screenshot to ./screenshots with:

gowitness scan single --url "https://sensepost.com" --write-db

There are many, many flags and scan types in gowitness. Just add -h anywhere and read all about it!

documentation

For advanced installation information and other documentation, please refer to the wiki here.

screenshots

gallery

detail

terminal

credits

gowitness would not have been possible without some of these amazing projects: chi, chromedp, go-rod, cobra, gorm, glamour, go-nmap, wappalyzergo, goimagehash.

license

gowitness is licensed under a GNU General Public v3 License. Permissions beyond the scope of this license may be available at http://sensepost.com/contact/.

Releases

Nov 24, 2025

Download .zip

This release bumps dependencies. Full Changelog: 3.1.0...3.1.1 b1aee5179d9fc6b47d45975614390a6378fcd445 gowitness-3.1.1-darwin-amd64 b7a7941d6ca3416c539d28c640002a171cded74d gowitness-3.1.1-darwin-a...

Nov 17, 2025

Download .zip

A new release, this time focussing on performance and various bug fixes! Thanks to all of the contributors! Enjoy! ๐ŸŽ‰ New

Refactor the chromedp driver, focussing on performance. The new implementatio...

Oct 21, 2024

Download .zip

New

Add a none writer. Useful for testing scenarios when you want to silence warnings etc. (7ccc4c9) (build) Add makefile target to ensure API documentation is up to date (c0a577c)

Fixed

Show an er...

This release adds HTML searching and keyboard navigation to the detail view, while also making slight UI tweaks and fixing some CLI bugs. new

Add search by HTML body, fixing #236 (97f1a78) (ui) Add k...

Sep 22, 2024

3.0.3 - API Delay && Immediate Mode UI

Download .zip

new

Add the delay option to the /submit and /submit/single API endpoints. This adds a delay between when the page is considered loading and when a screenshot should be taken. The command line already...