Funnypot¶
A framework-free PHP honeypot toolkit. Funnypot turns a scanner's own probes into believable, inert fake responses — so automated attackers waste effort on decoys while you collect high-signal intel on who's probing you and how.
It's built as a small family of composable packages: a pure-PHP engine, a decision layer, a reputation client, a batteries-included embedder, and drop-in adapters for Laravel and WordPress. Everything runs on plain PHP (the engine targets PHP 7.3+); no framework is required, and nothing an attacker sends is ever executed.
What this documentation covers
These docs cover the public, installable packages and the standalone honeypot app. They are written for someone adopting Funnypot in their own project — install steps, public API, and usage.
Which package do I want?¶
| I want to… | Use |
|---|---|
| Add honeypot deception to an existing PHP app or route | funnypot (the embedder — batteries included) |
| Drop it into a Laravel app | funnypot-laravel |
| Drop it into WordPress | funnypot-wordpress |
| Use just the detection + fake-response engine directly | funnypot-core |
| Turn observations into ban/allow decisions | funnypot-policy |
| Query / report IP reputation | funnypot-mainnet-client |
| Run a standalone multi-protocol honeypot box | the honeypot app |
New here? Start with Getting started.
Principles¶
- Framework-free. The engine is plain PHP 7.3+ — no framework fingerprint, no heavy dependencies.
- Inert by default. Funnypot never executes, relays, or authenticates anything an attacker sends; it only ever serves believable canned responses and records the attempt.
- Composable. Take just the engine, or the whole batteries-included embedder, or a framework adapter — each package owns a distinct sub-namespace and depends only on tagged releases.
License¶
Each public package carries its own license in its repository. See the individual package pages.