HellPot is a portal to endless suffering meant to punish unruly HTTP bots.
Go to file
kayos@tcp.direct b741e0b444 Merge branch 'development' 2021-09-22 00:38:34 -07:00
.github/workflows Create go.yml 2021-09-18 05:33:22 -07:00
cmd/HellPot enhance: banner 2021-09-15 12:17:32 -07:00
config tidy up config 2021-09-21 06:02:59 -07:00
extra fix windows support 2021-09-22 00:19:15 -07:00
heffalump fmt for the report card on the fridge 2021-09-15 14:25:02 -07:00
http fix windows support 2021-09-22 00:19:15 -07:00
LICENSE adjust license placement 2021-09-15 13:48:36 -07:00
README.md update README and fix typo 2021-09-15 12:55:48 -07:00
go.mod Add: CLI option for generating config 2021-09-18 05:22:15 -07:00
go.sum Add go.sum to project 2021-09-18 13:55:49 +02:00
hellgif.gif update readme, implement new configuration directives 2021-06-11 16:25:56 -07:00

README.md

HellPot

GoDoc Go Report Card

New (v0.3) fasthttp version roughly ~75% faster!

HellPot is an endless honeypot that sends bots to hell. Based on Heffalump.

It finishes the work of Heffalump with a few improvements and the addition of a toml configuration file and JSON logging. It is built off of CokePlate.

The source of the honeypot data is The Birth of Tragedy (Hellenism and Pessimism) by Friedrich Nietzsche

Exploding Heffalump

Live example: Do not follow this link. It will flood your browser's memory and likely cause a crash.

Example Web Server Config (nginx)

location '/robots.txt' {
	proxy_set_header Host $host;
	proxy_set_header X-Real-IP $remote_addr;
	proxy_pass http://127.0.0.1:8080$request_uri;
}  

location '/wp-login.php' {
	proxy_set_header Host $host;
	proxy_set_header X-Real-IP $remote_addr;
	proxy_pass http://127.0.0.1:8080$request_uri;
}

Example Program Config (toml)

If the configuration file is missing, the default settings will automatically drop itself in the current working directory as config.toml.

[http]
  # TCP Listener (default)
  bind_addr = "127.0.0.1"
  bind_port = "8080"
  paths = ["wp-login.php","wp-login"]

  # Unix Socket Listener (will override default)
  use_unix_socket = false
  unix_socket = "/var/run/hellpot"

[logger]
  debug = true
  directory = "/home/kayos/.config/HellPot/logs/"
  nocolor = false
  use_date_filename = true

[performance]
  # max_workers is only valid if restrict_concurrency is true
  restrict_concurrency = false
  max_workers = 256
  
[deception]
  # Used as "Server: " header (if not proxied)
  server_name = "nginx"