| .github/ ISSUE_TEMPLATE | 3 months ago | ||
| configs | 3 months ago | ||
| docs | 3 months ago | ||
| envoy | 3 months ago | ||
| scripts | 3 months ago | ||
| CHANGELOG.md | 3 months ago | ||
| LICENSE | 3 months ago | ||
| README.md | 3 months ago | ||
| docker-compose.yml | 3 months ago | ||
Self-hosted Envoy gateway with AI threat analysis, TLS automation, and a real-time security dashboard.
Aegis sits between the internet and your services. It controls Envoy Proxy via xDS, watches all traffic in real time, blocks malicious IPs automatically, manages TLS certificates, and lets you chat with your gateway through an AI assistant — all in a single Docker container.
Create a directory and download the required files:
mkdir aegis && cd aegis # Download docker-compose config curl -O https://raw.githubusercontent.com/axieyangb/aegis/main/docker-compose.yml # Download Envoy static bootstrap config mkdir envoy curl -o envoy/envoy.yaml https://raw.githubusercontent.com/axieyangb/aegis/main/envoy/envoy.yaml # Download baseline database configuration (for real production users) mkdir configs curl -o configs/starter.json https://raw.githubusercontent.com/axieyangb/aegis/main/configs/starter.json
docker compose up -d
http://localhost:8765 — default login: admin / changeme (Change ADMIN_PASSWORD in docker-compose.yml, or change it in Settings → Auth after logging in!).configs/starter.json file you downloaded.http_listener and https_listener appear, and the xDS sync status turn green!If you are running Aegis locally without real traffic, you can use our built-in Traffic Demo Generator script. We provide a pre-configured configs/demo.json database baseline that has the PROXY Protocol enabled out-of-the-box so you can run the demo with zero manual setup!
docker compose up -d).http://localhost:8765).configs/demo.json (instead of starter.json).
curl -o configs/demo.json https://raw.githubusercontent.com/axieyangb/aegis/main/configs/demo.json)From the repository root, run the self-contained Python script:
python3 scripts/demo_generator.py
Open your dashboard and watch:
/wp-admin or /.env), raising the anomaly charts.99.99.99.99) will launch a SQL injection attack. You will see Aegis's AI engine detect it, trigger an alert, and push a dynamic xDS block rule to Envoy. Instantly, all subsequent requests from 99.99.99.99 will start failing (dropped connections) on the dashboard!👉 For a detailed breakdown of how the generator simulates traffic and auto-blocking under the hood, see the Traffic Generator Guide.
Real-time request feed, top-IP leaderboard, world traffic map, and live blocking activity — all in one view.
Ask your gateway anything in plain English. Owl analyses current traffic, surfaces threats, and recommends exactly what to tighten — no dashboards to dig through.
Every IP automatically profiled: geolocation, ASN, VPN/Tor detection, AbuseIPDB reputation score, and full request history. Click any IP to deep-dive, then ask Owl to triage it in context.
Full Envoy xDS control — live topology view, listeners, filter chains, clusters, and extensions. See exactly which clusters are in use and by how many chains. No YAML editing required.
ACME auto-renewal via Let's Encrypt or ZeroSSL, delivered straight to Envoy SDS. Stuck on HTTP-01 prerequisites? Ask Owl to walk you through it step by step.
Scheduled AI sweeps monitor your traffic around the clock. Threats get triaged automatically and pushed to your notification channels — Telegram, Discord, Slack, or webhook.
Open the dashboard on your phone, ask Owl what happened in the last two hours, and watch it triage the threats, block the bad IPs, and confirm the blocks — all from a single chat.
| Feature | Description | |
|---|---|---|
| 🛡 | Envoy xDS Control Plane | Visual editor for listeners, clusters, filter chains — pushed live via gRPC |
| 📊 | Real-time Analytics | Live request feed, top IPs, world map, device + status breakdown |
| 🤖 | AI Threat Analysis | Background IP classification using Gemini / Claude / GPT / Ollama. Auto-blocks attackers |
| 🦉 | Owl AI Assistant | Chat with your gateway — ask about traffic, threats, config, anything |
| 🔒 | TLS Automation | ACME (Let's Encrypt, ZeroSSL), HTTP-01 & DNS-01 challenges, auto-renewal via Envoy SDS |
| 🔔 | Notifications | Telegram, Discord, Slack webhooks — alert on blocks, anomalies, daily digest |
| 🌍 | Geo Analytics | Country-level traffic breakdown, remote or local MaxMind GeoIP |
| 🔑 | Auth & SSO | Built-in login + optional OIDC/SSO (Google, Authentik, Keycloak, etc.) |
| 🔍 | IP Intelligence | Per-IP profiles with ASN, ISP, VPN/Tor detection, AbuseIPDB reputation |
| 📱 | Mobile-ready | Full dashboard + Owl chat from any device — no native app required |
Internet ──▶ Envoy Proxy ──▶ Your services
│
gRPC xDS (port 18000)
│
┌────▼─────┐
│ Aegis │ port 8765
│ │
│ xDS CP │ controls Envoy live
│ Analytics│ reads Envoy ALS logs
│ AI Engine│ classifies IPs
│ Cert Mgr │ ACME → Envoy SDS
│ Dashboard│ web UI + REST API
└──────────┘
Depending on your network environment, Aegis supports three main deployment architectures to expose Envoy to the public internet:
80/443 are forwarded directly from your home router to the host.👉 See the full Deployment Architectures Guide for detailed diagrams, configuration, and setup instructions.
| Variable | Default | Description |
|---|---|---|
PORT |
8765 |
Dashboard + API port |
XDS_PORT |
18000 |
Envoy gRPC xDS port |
DATA_DIR |
/data |
Persistent data directory |
ADMIN_USERNAME |
admin |
Admin username |
ADMIN_PASSWORD |
aegis |
Admin password — change this |
AUTH_ENABLED |
true |
Require login. Set to false to bypass authentication (anonymous mode) |
BLOCK_ENABLED |
true |
Enable auto IP blocking |
NODE_ID |
home |
Envoy node ID (must match envoy.yaml) |
Mount a volume or directory to /data:
/data/
├── aegis.db ← SQLite (traffic, certs, config, alerts)
└── skills/ ← Optional: override Owl AI knowledge files
└── site.md ← Custom context injected into Owl's system prompt
linux/amd64 and linux/arm64 — runs on x86 servers, Raspberry Pi, Synology NAS, and Apple Silicon.
# Pin a specific version docker pull axieyangb/aegis:v1.0.0 # Always latest docker pull axieyangb/aegis:latest
Aegis is distributed as a compiled binary. Source code is proprietary. See LICENSE.
Community tier is free forever. A Pro license unlocks unlimited notification channels, longer log retention, and unlimited AI patrol sweeps.
Aegis is designed and built by Jerry Xie — formerly a network security engineer at Palo Alto Networks, now a Senior Software Engineer specialising in identity, distributed cloud, Kubernetes, networking, and AI.
Outside of work: smart home automation, DIY racing drones, home lab tinkering, 3D printing, CNC machining, PCB design, and robotics. Aegis started as a home lab project and grew into a product.