Files
Charon/docs/features.md
akanealw eec8c28fb3
Some checks are pending
Go Benchmark / Performance Regression Check (push) Waiting to run
Cerberus Integration / Cerberus Security Stack Integration (push) Waiting to run
Upload Coverage to Codecov / Backend Codecov Upload (push) Waiting to run
Upload Coverage to Codecov / Frontend Codecov Upload (push) Waiting to run
CodeQL - Analyze / CodeQL analysis (go) (push) Waiting to run
CodeQL - Analyze / CodeQL analysis (javascript-typescript) (push) Waiting to run
CrowdSec Integration / CrowdSec Bouncer Integration (push) Waiting to run
Docker Build, Publish & Test / build-and-push (push) Waiting to run
Docker Build, Publish & Test / Security Scan PR Image (push) Blocked by required conditions
Quality Checks / Auth Route Protection Contract (push) Waiting to run
Quality Checks / Codecov Trigger/Comment Parity Guard (push) Waiting to run
Quality Checks / Backend (Go) (push) Waiting to run
Quality Checks / Frontend (React) (push) Waiting to run
Rate Limit integration / Rate Limiting Integration (push) Waiting to run
Security Scan (PR) / Trivy Binary Scan (push) Waiting to run
Supply Chain Verification (PR) / Verify Supply Chain (push) Waiting to run
WAF integration / Coraza WAF Integration (push) Waiting to run
changed perms
2026-04-22 18:19:14 +00:00

349 lines
12 KiB
Markdown
Executable File
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Features
description: Discover what makes Charon the easiest way to manage your reverse proxy. Explore automatic HTTPS, Docker integration, enterprise security, and more.
---
# Features
Charon makes managing your web applications simple. No command lines, no config files—just a clean interface that lets you focus on what matters: running your apps.
---
## 🎯 Core Features
### 🎯 Point & Click Management
Say goodbye to editing configuration files and memorizing commands. Charon gives you a beautiful web interface where you simply type your domain name, select your backend service, and click save. If you can browse the web, you can manage a reverse proxy.
Whether you're setting up your first website or managing dozens of services, everything happens through intuitive forms and buttons. No terminal required.
→ [Learn More](features/web-ui.md)
---
### 🔐 Automatic HTTPS Certificates
Every website deserves the green padlock. Charon automatically obtains free SSL certificates from Let's Encrypt or ZeroSSL, installs them, and renews them before they expire—all without you lifting a finger.
Your visitors get secure connections, search engines reward you with better rankings, and you never have to think about certificate management again.
→ [Learn More](features/ssl-certificates.md)
---
### 🌐 DNS Challenge for Wildcard Certificates
Need to secure `*.example.com` with a single certificate? Charon now supports DNS challenge authentication, letting you obtain wildcard certificates that cover all your subdomains at once.
**Supported Providers:**
- Cloudflare, AWS Route53, DigitalOcean, Google Cloud DNS
- Namecheap, GoDaddy, Hetzner, OVH, Linode
- And 10+ more DNS providers
Your credentials are stored securely with encryption and automatic key rotation. A plugin architecture means new providers can be added easily.
→ [Learn More](features/dns-challenge.md)
---
## 🐕 Cerberus Security Suite
Enterprise-grade protection that "just works." Cerberus bundles multiple security layers into one easy-to-manage system.
### 🎛️ Security Dashboard Toggles
Control your security modules with a single click. The Security Dashboard provides instant toggles for each security layer:
- **ACL Toggle** — Enable/disable Access Control Lists without editing config files
- **WAF Toggle** — Turn the Web Application Firewall on/off in real-time
- **Rate Limiting Toggle** — Activate or deactivate request rate limits instantly
**Key Features:**
- **Instant Updates** — Changes take effect immediately with automatic Caddy config reload
- **Persistent State** — Toggle settings persist across page reloads and container restarts
- **Optimistic UI** — Toggle changes reflect instantly with automatic rollback on failure
- **Performance Optimized** — 60-second cache layer minimizes database queries in middleware
→ [Learn More](features/security-dashboard.md)
---
### 🕵️ CrowdSec Integration
Protect your applications using behavior-based threat detection powered by a global community of security data. Bad actors get blocked automatically before they can cause harm.
→ [Learn More](features/crowdsec.md) • [Setup Guide](guides/crowdsec-setup.md)
---
### 📊 CrowdSec Dashboard
See your security posture at a glance. The CrowdSec Dashboard shows attack trends, active bans, top offenders, and scenario breakdowns—all from within Charon's Security section.
**Highlights:**
- **Summary Cards** — Total bans, active bans, unique IPs, and top scenario at a glance
- **Interactive Charts** — Ban timeline, top attacking IPs, and attack type breakdown
- **Alerts Feed** — Live view of CrowdSec alerts with pagination
- **Time Range Selector** — Filter data by 1 hour, 6 hours, 24 hours, 7 days, or 30 days
- **Export** — Download decisions as CSV or JSON for external analysis
No SSH required. No CLI commands. Just open the Dashboard tab and see what's happening.
→ [Learn More](features/crowdsec.md)
---
### 🔐 Access Control Lists (ACLs)
Define exactly who can access what. Block specific countries, allow only certain IP ranges, or require authentication for sensitive applications. Fine-grained rules give you complete control.
→ [Learn More](features/access-control.md)
---
### 🧱 Web Application Firewall (WAF)
Stop common attacks like SQL injection, cross-site scripting (XSS), and path traversal before they reach your applications. Powered by Coraza, the WAF protects your apps from the OWASP Top 10 vulnerabilities.
→ [Learn More](features/waf.md)
---
### ⏱️ Rate Limiting
Prevent abuse by limiting how many requests a user or IP address can make. Stop brute-force attacks, API abuse, and resource exhaustion with simple, configurable limits.
→ [Learn More](features/rate-limiting.md)
---
## <20> Development & Security Tools
### 🔍 GORM Security Scanner
Automated static analysis that detects GORM security issues and common mistakes before they reach production. The scanner identifies ID leak vulnerabilities, exposed secrets, and enforces GORM best practices.
**Key Features:**
- **6 Detection Patterns** — ID leaks, exposed secrets, DTO embedding issues, and more
- **3 Operating Modes** — Report, check, and enforce modes for different workflows
- **Fast Performance** — Scans entire codebase in 2.1 seconds
- **Zero False Positives** — Smart GORM model detection prevents incorrect warnings
- **Lefthook Integration** — Catches issues before they're committed
- **VS Code Task** — Run security scans from the Command Palette
**Detects:**
- Numeric ID exposure in JSON (`json:"id"` on `uint`/`int` fields)
- Exposed API keys, tokens, and passwords
- Response DTOs that inherit model ID fields
- Missing primary key tags and foreign key indexes
**Usage:**
```bash
# Run via VS Code: Command Palette → "Lint: GORM Security Scan"
# Or via lefthook:
lefthook run pre-commit
```
→ [Learn More](implementation/gorm_security_scanner_complete.md)
---
### ⚡ Optimized CI Pipelines
Time is valuable. Charon's development workflows are tuned for efficiency, ensuring that security verifications only run when valid artifacts exist.
- **Smart Triggers** — Supply chain checks wait for successful builds
- **Zero Redundancy** — Eliminates wasted runs on push/PR events
- **Stable Feedback** — Reduces false negatives for contributors
→ [See Developer Guide](guides/supply-chain-security-developer-guide.md)
---
## <20>🛡 Security & Headers
### 🛡️ HTTP Security Headers
Modern browsers expect specific security headers to protect your users. Charon automatically adds industry-standard headers including:
- **Content-Security-Policy (CSP)** — Prevents code injection attacks
- **Strict-Transport-Security (HSTS)** — Enforces HTTPS connections
- **X-Frame-Options** — Stops clickjacking attacks
- **X-Content-Type-Options** — Prevents MIME-type sniffing
One toggle gives your application the same security posture as major websites.
→ [Learn More](features/security-headers.md)
---
### 🔗 Smart Proxy Headers
Your backend applications need to know the real client IP address, not Charon's. Standard headers like `X-Real-IP`, `X-Forwarded-For`, and `X-Forwarded-Proto` are added automatically, ensuring accurate logging and proper HTTPS enforcement.
→ [Learn More](features/proxy-headers.md)
---
## 🐳 Docker & Integration
### 🐳 Docker Auto-Discovery
Already running apps in Docker? Charon automatically finds your containers and offers one-click proxy setup. No manual configuration, no port hunting—just select a container and go.
Supports both local Docker installations and remote Docker servers, perfect for managing multiple machines from a single dashboard.
→ [Learn More](features/docker-integration.md)
---
### 📥 Caddyfile Import
Migrating from another Caddy setup? Import your existing Caddyfile configurations with one click. Your existing work transfers seamlessly—no need to start from scratch.
→ [Learn More](features/caddyfile-import.md)
---
### <20> Nginx Proxy Manager Import
Migrating from Nginx Proxy Manager? Import your proxy host configurations directly from NPM export files. Charon parses your domains, upstream servers, SSL settings, and access lists, giving you a preview before committing.
→ [Learn More](features/npm-import.md)
---
### 📄 JSON Configuration Import
Import configurations from generic JSON exports or Charon backup files. Supports both Charon's native export format and Nginx Proxy Manager format with automatic detection. Perfect for restoring backups or migrating between Charon instances.
→ [Learn More](features/json-import.md)
---
### <20>🔌 WebSocket Support
Real-time applications like chat servers, live dashboards, and collaborative tools work out of the box. Charon handles WebSocket connections automatically with no special configuration needed.
→ [Learn More](features/websocket.md)
---
## 📊 Monitoring & Observability
### 📊 Uptime Monitoring
Know immediately when something goes wrong. Charon continuously monitors your applications and alerts you when a service becomes unavailable. View uptime history, response times, and availability statistics at a glance.
→ [Learn More](features/uptime-monitoring.md)
---
### 📋 Real-Time Logs
Watch requests flow through your proxy in real-time. Filter by domain, status code, or time range to troubleshoot issues quickly. All the visibility you need without diving into container logs.
→ [Learn More](features/logs.md)
---
### 🔔 Notifications
Get alerted when it matters. Charon sends notifications through Discord, Gotify, Ntfy, Pushover, Slack, Email, and Custom Webhook providers. Choose a built-in JSON template or write your own to control exactly what your alerts look like.
→ [Learn More](features/notifications.md)
---
## 🛠️ Administration
### 💾 Backup & Restore
Your configuration is valuable. Charon makes it easy to backup your entire setup and restore it when needed—whether you're migrating to new hardware or recovering from a problem.
→ [Learn More](features/backup-restore.md)
---
### ⚡ Zero-Downtime Updates
Make changes without interrupting your users. Update domains, modify security rules, or add new services instantly. Your sites stay up while you work—no container restarts needed.*
<sup>*Initial CrowdSec security engine setup requires a one-time restart.</sup>
→ [Learn More](features/live-reload.md)
---
### 🌍 Multi-Language Support
Charon speaks your language. The interface is available in English, Spanish, French, German, and Chinese. Switch languages instantly in settings—no reload required.
→ [Learn More](features/localization.md)
---
### 🎨 Dark Mode & Modern UI
Easy on the eyes, day or night. Toggle between light and dark themes to match your preference. The clean, modern interface makes managing complex setups feel simple.
→ [Learn More](features/ui-themes.md)
---
## 🤖 Automation & API
### 🤖 REST API
Automate everything. Charon's comprehensive REST API lets you manage hosts, certificates, security rules, and settings programmatically. Perfect for CI/CD pipelines, Infrastructure as Code, or custom integrations.
→ [Learn More](features/api.md)
---
## 🔒 Supply Chain Security
### 🔒 Verified Builds
Know exactly what you're running. Every Charon release includes:
- **Cryptographic signatures** — Verify the image hasn't been tampered with
- **SLSA provenance attestation** — Transparent build process documentation
- **Software Bill of Materials (SBOM)** — Complete list of included components
Enterprise-grade supply chain security for everyone.
→ [Learn More](features/supply-chain-security.md)
---
## 🚀 Deployment
### 🚀 Zero-Dependency Deployment
One container. No external databases. No extra services. Just pull the image and run. Charon includes everything it needs, making deployment as simple as it gets.
→ [Learn More](../README.md#quick-start)
---
### 💯 100% Free & Open Source
No premium tiers. No feature paywalls. No usage limits. Everything you see here is yours to use forever, backed by the MIT license.
→ [View on GitHub](https://github.com/Wikid82/Charon)
---
## What's Next?
Ready to get started? Check out our [Quick Start Guide](../README.md#quick-start) to have Charon running in minutes.
Have questions? Visit our [Documentation](index.md) or [open an issue](https://github.com/Wikid82/Charon/issues) on GitHub.