Go to file
David Stotijn f7def87d0f
Add HTTP header support to string literal matching
2022-03-31 15:23:56 +02:00
.github Add new sponsorship options 2022-03-30 13:02:58 +02:00
admin Add filter support for HTTP headers 2022-03-31 14:53:40 +02:00
cmd/hetty Add intercept module 2022-03-23 14:31:27 +01:00
pkg Add HTTP header support to string literal matching 2022-03-31 15:23:56 +02:00
.dockerignore Use `embed` instead of `rice` 2021-04-26 09:24:45 +02:00
.gitignore Tidy up `admin` structure 2022-02-23 15:20:23 +01:00
.golangci.yml Rename `search` package to `filter` package 2022-03-31 15:12:54 +02:00
.goreleaser.yml Publish Docker image to ghcr.io and docker.io 2022-03-30 11:50:16 +02:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2020-10-04 12:33:53 +02:00
CONTRIBUTING.md Add contributing guidelines 2020-10-04 13:21:43 +02:00
Dockerfile Update Dockerfile 2022-01-26 11:35:47 +01:00
LICENSE Bump copyright year 2022-01-01 16:15:03 +01:00
Makefile Fix default make target 2022-02-01 18:12:44 +01:00
README.md Add new sponsorship options 2022-03-30 13:02:58 +02:00
go.mod Add certificate management subcommands 2022-02-28 15:31:16 +01:00
go.sum Add certificate management subcommands 2022-02-28 15:31:16 +01:00
gqlgen.yml Add Sender module 2022-02-22 14:10:39 +01:00
tools.go Replace SQLite with BadgerDB 2022-01-21 11:45:54 +01:00

README.md

Latest GitHub release Build Status GitHub download count GitHub Documentation

Hetty is an HTTP toolkit for security research. It aims to become an open source alternative to commercial software like Burp Suite Pro, with powerful features tailored to the needs of the infosec and bug bounty community.

Hetty proxy logs (screenshot)

Features

  • Machine-in-the-middle (MITM) HTTP proxy, with logs and advanced search
  • HTTP client for manually creating/editing requests, and replay proxied requests
  • Intercept requests and responses for manual review (edit, send/receive, cancel)
  • Scope support, to help keep work organized
  • Easy-to-use web based admin interface
  • Project based database storage, to help keep work organized

👷‍♂️ Hetty is under active development. Check the backlog for the current status.

📣 Are you pen testing professionaly in a team? I would love to hear your thoughts on tooling via this 5 minute survey. Thank you!

Getting started

💡 The Getting started doc has more detailed install and usage instructions.

Installation

The quickest way to install and update Hetty is via a package manager:

macOS

brew install hettysoft/tap/hetty

Linux

sudo snap install hetty

Windows

scoop bucket add hettysoft https://github.com/hettysoft/scoop-bucket.git
scoop install hettysoft/hetty

Other

Alternatively, you can download the latest release from GitHub for your OS and architecture, and move the binary to a directory in your $PATH. If your OS is not available for one of the package managers or not listed in the GitHub releases, you can compile from source (link coming soon).

Docker

Docker images are distributed via GitHub's Container registry and Docker Hub. To run Hetty via with a volume for database and certificate storage, and port 8080 forwarded:

docker run -v $HOME/.hetty:/root/.hetty -p 8080:8080 \
  ghcr.io/dstotijn/hetty:latest

Usage

Once installed, start Hetty via:

hetty

💡 Read the Getting started doc for more details.

To list all available options, run: hetty --help:

$ hetty --help

Usage:
    hetty [flags] [subcommand] [flags]

Runs an HTTP server with (MITM) proxy, GraphQL service, and a web based admin interface.

Options:
    --cert         Path to root CA certificate. Creates file if it doesn't exist. (Default: "~/.hetty/hetty_cert.pem")
    --key          Path to root CA private key. Creates file if it doesn't exist. (Default: "~/.hetty/hetty_key.pem")
    --db           Database directory path. (Default: "~/.hetty/db")
    --addr         TCP address for HTTP server to listen on, in the form \"host:port\". (Default: ":8080")
    --chrome       Launch Chrome with proxy settings applied and certificate errors ignored. (Default: false)
    --verbose      Enable verbose logging.
    --json         Encode logs as JSON, instead of pretty/human readable output.
    --version, -v  Output version.
    --help, -h     Output this usage text.

Subcommands:
    - cert  Certificate management

Run `hetty <subcommand> --help` for subcommand specific usage instructions.

Visit https://hetty.xyz to learn more about Hetty.

Documentation

📖 Read the docs

Support

Use issues for bug reports and feature requests, and discussions for questions and troubleshooting.

Community

💬 Join the Hetty Discord server

Contributing

Want to contribute? Great! Please check the Contribution Guidelines for details.

Acknowledgements

Sponsors

Sponsored by Tines

💖 Are you enjoying Hetty? You can sponsor me!

License

MIT

© 2022 Hetty Software