MCPcopy Index your code
hub / github.com/Shmakov/Honeypot

github.com/Shmakov/Honeypot @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
205 symbols 387 edges 22 files 79 documented · 39% updated 6mo ago★ 378
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Honeypot 🍯

A low-interaction network honeypot with real-time attack visualization.

Rust

Demo

Check out the Live Demo.

<img alt="Live Demo" src="https://github.com/Shmakov/Honeypot/raw/main/static/demo_dark.png">

Features

  • Real-time Dashboard - Live attack feed with SSE streaming
  • Protocol Emulation - SSH, FTP, Telnet banners and basic responses
  • 1024+ Port Monitoring - Listens on common attack targets
  • GeoIP Integration - Attack origin mapping with MaxMind
  • Credential Capture - Logs SSH/FTP/Telnet login attempts
  • Statistics Page - Charts and tables for attack analysis

Quick Start

# Clone and build
git clone https://github.com/Shmakov/Honeypot.git
cd Honeypot
cargo build --release

# Optional: Download GeoIP database from MaxMind and place in data/GeoLite2-City.mmdb

# Run (requires elevated permissions for low ports)
sudo ./target/release/honeypot

Configuration

Edit config.toml or use environment variables (prefix: HONEYPOT_, nested: __):

See .env.example for all environment variable options.

API Endpoints

Endpoint Description
GET / Dashboard
GET /stats Statistics page
GET /events SSE event stream
GET /api/recent Recent events + credentials
GET /api/stats?hours=24 Attack statistics
GET /api/countries?hours=24 Country breakdown

Deployment

Docker

docker-compose up -d

Linux/GCP

cargo build --release
sudo setcap 'cap_net_bind_service=+ep' ./target/release/honeypot
./target/release/honeypot

Systemd

sudo cp deploy/honeypot.service /etc/systemd/system/
sudo systemctl enable --now honeypot

TLS with Caddy

For HTTPS with automatic certificates, see deploy/CADDY.md.

Tech Stack

  • Backend: Rust, Axum, SQLite, tokio
  • Frontend: Vanilla JS, CSS (glassmorphism)
  • Real-time: Server-Sent Events (SSE)
  • GeoIP: MaxMind GeoLite2

Core symbols most depended-on inside this repo

Shape

Method 101
Function 71
Class 33

Languages

Rust70%
TypeScript30%

Modules by API surface

src/db/mod.rs42 symbols
static/app.js30 symbols
src/web/routes.rs26 symbols
src/handlers/ssh.rs23 symbols
static/stats.js21 symbols
src/web/middleware.rs11 symbols
src/config.rs11 symbols
src/geoip.rs6 symbols
static/utils.js5 symbols
src/web/mod.rs5 symbols
static/map.js4 symbols
src/events.rs4 symbols

For agents

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

⬇ download graph artifact

Ask about this repo answers extend the page