Update README.md
This commit is contained in:
parent
14926fe00c
commit
ea87e284ea
103
README.md
103
README.md
|
@ -1,39 +1,74 @@
|
|||
# HellPot
|
||||
|
||||
## Summary
|
||||
|
||||
HellPot is an endless honeypot based on [Heffalump](https://github.com/carlmjohnson/heffalump) that sends unruly HTTP bots to hell.
|
||||
|
||||
Notably it implements a [toml configuration file](https://github.com/spf13/viper), has [JSON logging](https://github.com/rs/zerolog), and comes with significant performance gains.
|
||||
|
||||
[](https://godoc.org/github.com/yunginnanet/HellPot) [](https://goreportcard.com/report/github.com/yunginnanet/HellPot) [](ircs://ircd.chat:6697/#tcpdirect)
|
||||
|
||||
### [v0.3 with fasthttp](https://github.com/yunginnanet/HellPot/releases/tag/v0.3) roughly [~75%](https://github.com/yunginnanet/HellPot/issues/2) faster!
|
||||
|
||||
HellPot is an endless honeypot that sends bots to hell. Based on [Heffalump](https://github.com/carlmjohnson/heffalump).
|
||||
|
||||
It finishes the work of Heffalump with a few improvements and the addition of a [toml configuration file](https://github.com/spf13/viper) and [JSON logging](https://github.com/rs/zerolog). It is built off of [CokePlate](https://git.tcp.direct/kayos/CokePlate).
|
||||
|
||||

|
||||
|
||||
The source of the honeypot data is [The Birth of Tragedy (Hellenism and Pessimism)](https://www.gutenberg.org/files/51356/51356-h/51356-h.htm) by Friedrich Nietzsche
|
||||
## Grave Consequences
|
||||
|
||||

|
||||
Clients (hopefully bots) that disregard `robots.txt` and connect to your instance of HellPot will **suffer eternal consequences**.
|
||||
|
||||
## 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;
|
||||
}
|
||||
HellPot will send an infinite stream of data that is *just close enough* to being a real website that they might just stick around until their soul is ripped apart and they cease to exist.
|
||||
|
||||
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;
|
||||
}
|
||||
```
|
||||
Under the hood of this eternal suffering is a markov engine that chucks bits and pieces of [The Birth of Tragedy (Hellenism and Pessimism)](https://www.gutenberg.org/files/51356/51356-h/51356-h.htm) by Friedrich Nietzsche at the client using [fasthttp](https://github.com/valyala/fasthttp).
|
||||
|
||||
## Compilation
|
||||
|
||||
## 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`.
|
||||
|
||||
HellPot should probably be built with Go version 1.17 or higher.
|
||||
|
||||
HellPot uses [go modules](https://go.dev/blog/using-go-modules). This should make it dead simple to build with a stock Go installation.
|
||||
|
||||
1 ) `git clone https://github.com/yunginnanet/HellPot`
|
||||
|
||||
2 ) `cd HellPot`
|
||||
|
||||
4 ) `go build cmd/HellPot/HellPot.go`
|
||||
|
||||
5 ) *Consider the potential grave consequences of your actions.*
|
||||
|
||||
## Usage
|
||||
|
||||
### YOLO Method:
|
||||
|
||||
In the event of a missing configuration file, HellPot will attempt to place it's default config in
|
||||
* ) **$HOME/.config/HellPot/config.toml** (*nix)
|
||||
|
||||
or
|
||||
|
||||
* ) **./** (windows).
|
||||
|
||||
This allows irresponsible souls to begin raining hellfire with ease, ***immediately***.
|
||||
|
||||
The fastest, *spookiest* way to do so:
|
||||
|
||||
1 ) Download a [compiled release](https://github.com/yunginnanet/HellPot/releases/latest)
|
||||
|
||||
2 ) Run binary and immedidately begin sending clients directly to hell.
|
||||
|
||||
### Reasonable Method:
|
||||
|
||||
1 ) Configure webserver as reverse proxy (see below)
|
||||
|
||||
2 ) `./HellPot --genconfig `
|
||||
|
||||
3 ) Edit your newly generated `config.toml` as desired.
|
||||
|
||||
4 ) Ponder your ~~existence~~ server's ability to handle your chosen performance values.
|
||||
|
||||
5 ) *...* Edit `config.toml` again and probably lower concurrency limits.
|
||||
|
||||
6 ) ./HellPot -c config.toml
|
||||
|
||||
7 ) The sky is falling.
|
||||
|
||||
## Example Config (toml)
|
||||
|
||||
```
|
||||
[http]
|
||||
# TCP Listener (default)
|
||||
|
@ -62,3 +97,19 @@ location '/wp-login.php' {
|
|||
|
||||
```
|
||||
|
||||
|
||||
## 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;
|
||||
}
|
||||
```
|
||||
|
|
Loading…
Reference in New Issue