
Rust में लिखा गया उच्च-प्रदर्शन प्रमाणपत्र पारदर्शिता (CT) निगरानी उपकरण। CT लॉग से नव जारी किए गए SSL/TLS प्रमाणपत्रों की रीयल-टाइम स्ट्रीम। बेहतर प्रदर्शन और मेमोरी दक्षता के साथ certstream-server का Rust कार्यान्वयन।
Rust में लिखा गया एक Certstream सर्वर। यह Certificate Transparency (CT) लॉग की निगरानी करता है और नव जारी किए गए SSL/TLS प्रमाणपत्रों को WebSocket और Server-Sent Events (SSE) के माध्यम से स्ट्रीम करता है।
Certstream Certificate Transparency लॉग से प्रमाणपत्रों को एकत्र करता है और उन्हें वास्तविक समय में स्ट्रीम करता है। यह कार्यान्वयन मौजूदा Certstream क्लाइंट के साथ संगत है और RFC 6962 तथा static-CT दोनों लॉग का समर्थन करता है।
मुख्य विशेषताएँ:
पूर्ण API दस्तावेज़ीकरण, क्लाइंट उदाहरण, कॉन्फ़िगरेशन संदर्भ, और सेल्फ-होस्टिंग नोट्स certstream.dev पर उपलब्ध हैं।
सर्वर चलाए बिना स्ट्रीम चाहिए? wss://api.certstream.dev/ पर एक मुफ़्त होस्टेड CertStream API उपलब्ध है।
पूर्व-निर्मित Linux बाइनरी स्टैटिक musl बिल्ड हैं। रिलीज़ आर्काइव में SHA-256 चेकसम शामिल हैं।
# Linux and macOS, x86_64 and arm64; verifies the checksum before installing
curl -fsSL https://raw.githubusercontent.com/reloading01/certstream-server-rust/main/install.sh | sh
# Homebrew
brew install reloading01/tap/certstream-server-rust
# Cargo
cargo install certstream-server-rust
# Docker
docker run -d -p 8080:8080 ghcr.io/reloading01/certstream-server-rust:latest
Signed apt और rpm रिपॉज़िटरी, Docker Compose, और इंस्टॉलर विकल्पों को self-hosting दस्तावेज़ों में कवर किया गया है।
किसी कॉन्फ़िगरेशन की आवश्यकता नहीं है। सर्वर CT लॉग्स को स्वचालित रूप से खोजता है, पोर्ट 8080 पर WebSocket सर्व करता है, और अपनी स्थिति को सहेजता है ताकि पुनःआरंभ होने पर लॉग इतिहास को दोबारा चलाने के बजाय वहीं से जारी रहे।
सभी सेटिंग्स वैकल्पिक हैं। एनवायरनमेंट वेरिएबल YAML मानों को ओवरराइड करते हैं, और YAML मान अंतर्निहित डिफ़ॉल्ट को ओवरराइड करते हैं। प्रत्येक वेरिएबल और YAML कुंजी कॉन्फ़िगरेशन संदर्भ में सूचीबद्ध है।
| वेरिएबल | डिफ़ॉल्ट | विवरण |
|---|---|---|
CERTSTREAM_PORT | 8080 | HTTP/WebSocket पोर्ट |
CERTSTREAM_SSE_ENABLED | false | SSE सक्षम करें |
CERTSTREAM_API_ENABLED | false | REST API सक्षम करें |
CERTSTREAM_AUTH_ENABLED | false | bearer टोकन आवश्यक करें (CERTSTREAM_AUTH_TOKENS) |
CERTSTREAM_CONNECTION_LIMIT_ENABLED | false | वैश्विक और प्रति-IP कनेक्शन सीमाएँ सक्षम करें |
CERTSTREAM_CT_LOG_STATE_FILE | certstream_state.json | CT लॉग स्थिति फ़ाइल |
| एंडपॉइंट | स्ट्रीम |
|---|---|
ws://host:8080/ | Lite |
ws://host:8080/full-stream | DER और चेन के साथ पूर्ण डेटा |
ws://host:8080/domains-only | केवल डोमेन नाम |
http://host:8080/sse | SSE, सक्षम होने पर (?stream=full या ?stream=domains) |
/health, /health/deep, /metrics | हेल्थ चेक और Prometheus मेट्रिक्स |
/api/stats, /api/logs, /api/cert/{hash} | REST API, सक्षम होने पर |
स्ट्रीमिंग एंडपॉइंट्स सर्वर-साइड फ़िल्टरिंग के लिए domain और issuer क्वेरी पैरामीटर स्वीकार करते हैं। संदेश प्रारूपों, संस्करण 2 आउटपुट, और रेंज एक्सपोर्ट के लिए दस्तावेज़ देखें।
संस्करण इतिहास के लिए RELEASE_NOTES.md देखें।
बग रिपोर्ट, CT लॉग विषमताएँ, और पुल रिक्वेस्ट का स्वागत है। बिल्ड करने, परीक्षण करने, और परिवर्तन भेजने के तरीके के लिए CONTRIBUTING.md देखें।
रिपॉज़िटरी को स्टार करना या साझा करना प्रोजेक्ट को खोजे जाने में मदद करता है। आप GitHub पर इसको स्पॉन्सर भी कर सकते हैं।
MIT। LICENSE देखें।