MCPcopy Index your code
hub / github.com/sensepost/gowitness

github.com/sensepost/gowitness @3.1.1 sqlite

repository ↗ · DeepWiki ↗ · release 3.1.1 ↗
324 symbols 1,059 edges 118 files 143 documented · 44%
README

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/.

Extension points exported contracts — how you extend this code

Writer (Interface)
Writer is a results writer [6 implementers]
pkg/writers/writer.go
Reader (Interface)
Reader defines a reader. NOTE: The Reader needs to close the channel when done to stop the runner. You would typically d [4 …
pkg/readers/reader.go
Driver (Interface)
Driver is the interface browser drivers will implement. [2 implementers]
pkg/runner/driver.go
CommandDialogProps (Interface)
(no doc)
web/ui/src/components/ui/command.tsx
InputProps (Interface)
(no doc)
web/ui/src/components/ui/input.tsx
ButtonProps (Interface)
(no doc)
web/ui/src/components/ui/button.tsx
BadgeProps (Interface)
(no doc)
web/ui/src/components/ui/badge.tsx
response_code_stats (Interface)
(no doc)
web/ui/src/lib/api/types.ts

Core symbols most depended-on inside this repo

cn
called by 77
web/ui/src/lib/utils.ts
Error
called by 55
pkg/log/log.go
Error
called by 50
pkg/runner/driver.go
Close
called by 34
pkg/runner/driver.go
Markdown
called by 24
internal/ascii/markdown.go
Write
called by 18
pkg/writers/writer.go
LogoHelp
called by 14
internal/ascii/logo.go
toast
called by 14
web/ui/src/hooks/use-toast.ts

Shape

Function 192
Struct 58
Method 53
Interface 19
TypeAlias 2

Languages

Go69%
TypeScript31%

Modules by API surface

web/ui/src/pages/detail/Detail.tsx14 symbols
pkg/models/oldv2/models.go14 symbols
web/ui/src/lib/api/types.ts11 symbols
web/ui/src/pages/gallery/Gallery.tsx10 symbols
pkg/models/models.go10 symbols
pkg/log/log.go10 symbols
web/ui/src/hooks/use-toast.ts9 symbols
cmd/report_migrate.go9 symbols
pkg/readers/nessus.go8 symbols
cmd/report_merge.go8 symbols
pkg/runner/drivers/chromedp.go7 symbols
pkg/readers/file.go7 symbols

Dependencies from manifests, versioned

filippo.io/edwards25519v1.1.0 · 1×
github.com/KyleBanks/depthv1.2.1 · 1×
github.com/aymanbagabas/go-osc52/v2v2.0.1 · 1×
github.com/aymerick/douceurv0.2.0 · 1×
github.com/charmbracelet/colorprofilev0.3.3 · 1×
github.com/charmbracelet/lipglossv1.1.1-0.20250404203 · 1×
github.com/charmbracelet/x/ansiv0.11.1 · 1×
github.com/charmbracelet/x/cellbufv0.0.14 · 1×
github.com/charmbracelet/x/exp/slicev0.0.0-2025111817273 · 1×

Datastores touched

(mysql)Database · 1 repos
gowitnessDatabase · 1 repos

For agents

$ claude mcp add gowitness \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact