
स्वतंत्र वेब की रक्षा के लिए बनाया गया सुरक्षा-प्राथमिकता वाला रिवर्स प्रॉक्सी।
मुक्त वेब की रक्षा के लिए बनाया गया सुरक्षा-प्रथम रिवर्स प्रॉक्सी।
एज पर निश्चिंत संचालन।
दस्तावेज़ीकरण • प्लेग्राउंड • बेंचमार्क • चर्चाएँ • योगदान
Zentinel एक उच्च-प्रदर्शन रिवर्स प्रॉक्सी है जो Cloudflare Pingora पर आधारित है। यह स्पष्ट सीमाएँ, पूर्वानुमेय व्यवहार, और उत्पादन-स्तरीय डिफ़ॉल्ट प्रदान करता है — उन वातावरणों के लिए जहाँ ऑपरेटरों को निश्चिंत होकर सोना है।
प्रदर्शन: Envoy, HAProxy, Nginx, और Caddy के विरुद्ध बेंचमार्क में सबसे कम p99 लेटेंसी। 1M-अनुरोध सोक टेस्ट में 99.95% सफलता दर और शून्य मेमोरी लीक। शुद्ध Rust WAF इंजन साफ़ ट्रैफ़िक को 912K req/s पर प्रोसेस करता है — C++ ModSecurity संदर्भ से 30x तेज़।
उत्पादन-तैयार कोर (प्रॉक्सी, रूटिंग, TLS, कैशिंग, लोड बैलेंसिंग)। एजेंट अलग-अलग वर्शन किए गए हैं — WAF, Auth, और AI Gateway स्थिर हैं; अन्य बीटा या अल्फा हैं। प्रति-एजेंट स्थिति के लिए zentinelproxy.io/agents देखें।
┌────────┐ ┌──────────┐
│ Client │ │ Upstream │
└────┬───┘ └─────▲────┘
│ │
▼ │
╔═══════════ Zentinel (core, single binary) ══════════╤════╗
║ │ ║
║ Listener ─▶ Routing ─▶ Filter chain ─▶ Forward ────┘ ║
║ TLS, H2 priority rate-limit, LB, ║
║ + LRU cache, hooks retries ║
║ │ ║
╚══════════════════════════════╪═══════════════════════════╝
│ UDS / gRPC (v2 agent protocol)
▼
╔═══════ External agents (separate processes) ═══════╗
║ WAF · Auth · Rate-limit · … ║
║ crash-isolated, any language ║
╚════════════════════════════════════════════════════╝
प्रतिक्रिया फ़िल्टर श्रृंखला से वापस Client तक जाती है। एक्सेस लॉग और मेट्रिक्स पूर्ण होने पर उत्सर्जित होते हैं।
डेटाप्लेन एक एकल बाइनरी के रूप में चलता है। पार्सिंग-भारी या परिचालन-जोखिम भरा सुरक्षा और नीति तर्क UDS या gRPC के पीछे बाहरी एजेंटों में रहता है, ताकि कोई बगी एजेंट प्रॉक्सी को अपने साथ न गिरा सके। तर्क के लिए Manifesto देखें, और प्रति-चरण विवरण के लिए crates/proxy/docs/architecture.md देखें।
# Install (binary only)
curl -fsSL https://get.zentinelproxy.io | sh
# Install and start as a systemd service (Linux, root or sudo)
curl -fsSL https://get.zentinelproxy.io | sh -s -- --enable-service
# Or via Cargo
cargo install zentinel-proxy
# Or via Docker
docker run -v $(pwd)/zentinel.kdl:/etc/zentinel/zentinel.kdl \
ghcr.io/zentinelproxy/zentinel --config /etc/zentinel/zentinel.kdl
systemd होस्ट पर इंस्टॉल स्क्रिप्ट /etc/systemd/system/zentinel.service, एक sysusers स्निपेट, और /etc/zentinel/zentinel.kdl पर एक स्टार्टर कॉन्फ़िग भी डालती है। सेवा सक्षम और प्रारंभ करना --enable-service के माध्यम से ऑप्ट-इन है। crates/proxy/docs/deployment.md देखें।
इसे zentinel.kdl के रूप में सहेजें — यह localhost:8080 को पोर्ट 8081 पर बैकएंड पर प्रॉक्सी करता है:
system {
worker-threads 0 // auto-detect CPU cores
}
listeners {
listener "http" {
address "0.0.0.0:8080"
protocol "http"
}
}
routes {
route "default" {
matches {
path-prefix "/"
}
upstream "backend"
}
}
upstreams {
upstream "backend" {
target "127.0.0.1:8081"
}
}
# Run
zentinel --config zentinel.kdl
# Validate config without starting
zentinel test --config zentinel.kdl
HTTPS बैकएंड पर प्रॉक्सी कर रहे हैं? अपस्ट्रीम में एक tls ब्लॉक जोड़ें:
upstreams {
upstream "backend" {
target "api.example.com:443"
tls {
sni "api.example.com"
}
}
}
tls ब्लॉक के बिना, Zentinel पोर्ट की परवाह किए बिना सादे HTTP से कनेक्ट करता है।
अधिक उदाहरण: config/examples/ में API गेटवे, लोड बैलेंसिंग, WebSocket, कैशिंग, इन्फ़रेंस रूटिंग, और बहुत कुछ शामिल है। या इंटरैक्टिव रूप से कॉन्फ़िग जनरेट करने के लिए config builder का उपयोग करें।
| विशेषता | विवरण |
|---|---|
| सेवा प्रकार | Web, API, Static, Builtin, और Inference (LLM/AI) |
| लोड बैलेंसिंग | 14 एल्गोरिदम: round-robin, weighted, least connections, Maglev, Peak EWMA, और अधिक |
| सुरक्षा | TLS/mTLS, रेट लिमिटिंग, GeoIP फ़िल्टरिंग, WAF, ज़िप बम सुरक्षा |
| एजेंटिक प्रोटोकॉल | मूल MCP और A2A जागरूकता — प्रति-विधि और प्रति-टूल allow/deny, JSON-RPC बॉडी से हल किया जाता है, मिरर किए गए हेडर पर भरोसा करने के बजाय |
| एजेंट प्रोटोकॉल | WAF, auth, और कस्टम लॉजिक के लिए बाहरी एजेंट — क्रैश-आइसोलेटेड, किसी भी भाषा में |
| HTTP कैशिंग | स्टैम्पीड रोकथाम और LRU निष्कासन के साथ Pingora-आधारित प्रतिक्रिया कैशिंग (मेमोरी, डिस्क, या हाइब्रिड बैकएंड) |
| WebSocket प्रॉक्सीइंग | प्रति-फ़्रेम एजेंट निरीक्षण और सत्र आत्मीयता के साथ RFC 6455 अनुरूप |
| अवलोकनशीलता | Prometheus मेट्रिक्स, संरचित लॉगिंग, OpenTelemetry ट्रेसिंग |
| हॉट रीलोड | SIGHUP के माध्यम से शून्य-डाउनटाइम कॉन्फ़िग अपडेट, सत्यापन और परमाणु स्वैप के साथ (रूट, अपस्ट्रीम, एजेंट; लिसनर परिवर्तनों के लिए पुनः आरंभ आवश्यक) |
पूर्ण विशेषता विवरण zentinelproxy.io/features पर देखें।