
UltraViolet v1.0.11
स्व-होस्टेड नेटवर्क खोज और सर्च इंजन जिसमें निरंतर पोर्ट स्कैनिंग, लगभग 100 सेवाओं में गहन प्रोटोकॉल जांच, स्थानीय CVE मिलान, और बुनियादी ढांचे के इन्वेंट्री और जोखिम निगरानी के लिए पूर्ण-पाठ खोज शामिल है।
UltraViolet
सेल्फ-होस्टेड नेटवर्क डिस्कवरी और खोज — आपका अपना Shodan, आपके हार्डवेयर पर।
TCP/UDP स्कैनिंग · ~100 प्रोटोकॉल प्रोब · TLS/JARM फ़िंगरप्रिंट · CVE मिलान · फुल-टेक्स्ट खोज · डेल्टा ट्रैकिंग · अलर्ट
त्वरित आरंभ · विशेषताएँ · आर्किटेक्चर · दस्तावेज़ीकरण · प्रोडक्शन चेकलिस्ट
महत्वपूर्ण। केवल उन्हीं नेटवर्कों को स्कैन करें जिनके आप मालिक हैं या जिन्हें स्कैन करने के लिए आपके पास लिखित प्राधिकरण है। UltraViolet निष्क्रिय सेवा टोही करता है — यह कमज़ोरियों का शोषण नहीं करता।
UltraViolet क्यों
| यूज़ केस | आपको क्या मिलता है |
|---|---|
| Perimeter और इन्वेंट्री | CIDR रेंज में खुले पोर्ट और सेवाओं की निरंतर डिस्कवरी |
| इन्फ्रास्ट्रक्चर खोज | HTTP बॉडी, बैनर, TLS, DNS और CVE पर फुल-टेक्स्ट खोज |
| जोखिम और अनुपालन | स्थानीय NVD मिलान के साथ CISA KEV और EPSS — कोई क्लाउड निर्भरता नहीं |
| एयर-गैप्ड डिप्लॉयमेंट | डिस्क पर Docker इमेज, CVE सीड और GeoIP MMDB के साथ ऑफ़लाइन आर्काइव |
| परिवर्तन ट्रैकिंग | स्कैन के बीच डेल्टा, WebSocket इवेंट, सहेजी गई खोजों पर अलर्ट |
सिंगल टेनेंट, एक Docker Compose स्टैक, आपके डेटा पर पूर्ण नियंत्रण।
✨ विशेषताएँ
डिस्कवरी
- डिस्कवरी इंजन के रूप में masscan या zmap वाला TCP कनेक्ट स्कैनर
- कॉन्फ़िगर करने योग्य पोर्ट पर UDP प्रोब
- होस्ट और पोर्ट सीमाओं के साथ
SCAN_ALLOWED_CIDRSद्वारा स्कोप किया गया
डीप प्रोब (~100 प्रोटोकॉल)
- वेब: HTTP/HTTPS, HTTP/3, GraphQL, favicon हैश,
robots.txt,security.txt, टेक स्टैक - TLS: सर्टिफिकेट चेन, JARM, JA3S/JA4S, कॉन्फ़िगरेशन ग्रेडिंग
- मेल और डायरेक्ट्री: SMTP, POP3/IMAP, LDAP, IPMI
- डेटाबेस और क्यू: MySQL, PostgreSQL, MongoDB, Redis, Kafka, MQTT, NATS, AMQP…
- ICS/SCADA: Modbus, BACnet, DNP3, IEC 104, S7Comm, ENIP, OPC UA…
- IoT और मीडिया: ONVIF, RTSP, Chromecast, AirPlay, UPnP…
- पूरी सूची प्रोटोकॉल दस्तावेज़ में
एनरिचमेंट
- रिवर्स DNS, GeoIP (MMDB), ASN
- वैकल्पिक फॉरवर्ड DNS और CT-लॉग डिस्कवरी
CVE और जोखिम
- बैकग्राउंड सिंक और फ़िंगरप्रिंट-आधारित मिलान के साथ स्थानीय NVD मिरर
- CISA KEV और FIRST EPSS
ऑपरेशन
- RBAC (
viewer/operator/admin), JWT + रिफ्रेश टोकन - स्कैन शेड्यूल, पॉज़/रिज़्यूम, वर्कर रीस्टार्ट के बाद orphan reclaim
- Prometheus
/metrics, वैकल्पिक Grafana प्रोफ़ाइल - ऑडिट लॉग, रेट लिमिटिंग, रिटेंशन नीतियाँ
🏗 आर्किटेक्चर
flowchart TB
Browser["Browser"]
FE["service-frontend<br/>React + nginx"]
API["uv-api<br/>REST · WS · metrics"]
PG[("PostgreSQL 16")]
SCAN["uv-scanner<br/>probe pipeline"]
Browser --> FE
FE -->|"/api"| API
FE -->|"/realtime"| API
API <--> PG
SCAN <--> PG
API -.->|LISTEN/NOTIFY| API
रिलीज़ UI इमेज /api/ और /realtime को uv-api पर प्रॉक्सी करती है — सिंगल ऑरिजिन, प्रति API URL फ्रंटएंड रीबिल्ड की आवश्यकता नहीं।
| डायरेक्ट्री | उद्देश्य |
|---|---|
service-api/ | Go: uv-api (HTTP API, WebSocket, वर्कर्स) + uv-scanner (पाइपलाइन) |
service-frontend/ | React 19 + Vite + RTK — स्कैन, होस्ट, खोज, डैशबोर्ड |
service-documentation-frontend/ | VitePress — उपयोगकर्ता और ऑपरेटर दस्तावेज़ीकरण |
service-env/ | docker-compose, secrets, install.sh / upgrade.sh / बैकअप |
बैकएंड डेवलपमेंट नियम: CLAUDE.md।
🚀 त्वरित आरंभ
आवश्यकताएँ: Go 1.25+, Docker Engine ≥ 24, ~4 GB RAM। प्रोडक्शन इमेज Linux amd64 के लिए हैं।
Docker Hub से चलाएँ (सोर्स बिल्ड के बिना)
शुरुआती मार्ग — प्रकाशित इमेज को service-env/docker-compose.registry.yml से पुल करें:
cd service-env
cp env.registry.example .env
# set POSTGRES_PASSWORD, AUTH_JWT_SECRET, AUTH_BOOTSTRAP_PASSWORD
mkdir -p geoip catalog-seed
docker compose -f docker-compose.registry.yml pull
docker compose -f docker-compose.registry.yml up -d
# UI → http://localhost:3000
दस्तावेज़ साइट में Docker Registry देखें।
सोर्स से डेवलप करें
API/स्कैनर इमेज service-api/bin/ से प्रीबिल्ट बाइनरी कॉपी करती हैं (उन्हें Docker के अंदर कंपाइल नहीं किया जाता)। make dev, docker compose … --build से पहले make -C service-api build-linux चलाता है।
git clone https://github.com/yakushstanislav/UltraViolet.git
cd UltraViolet/service-env
cp .env.example .env
mkdir -p secrets
openssl rand -hex 32 > secrets/postgres_password
openssl rand -hex 32 > secrets/auth_jwt_secret
cd ..
make dev
| URL | उद्देश्य |
|---|---|
| http://localhost:3000 | UI (nginx /api/ के माध्यम से API) |
| http://localhost:8080 | API सीधे |
| http://localhost:9090/metrics | Prometheus |
डेव बूटस्ट्रैप: admin / admin (केवल जब APP_ENV≠production हो)।
📖 दस्तावेज़ीकरण
संपूर्ण गाइड — VitePress service-documentation-frontend/docs/ में:
make docs-dev # → http://localhost:5173
प्रोडक्शन में, docs प्रोफ़ाइल सक्षम करें:
cd service-env && docker compose --profile docs up -d
# → http://localhost:${UV_DOCUMENTATION_PORT:-3002}
मुख्य अनुभाग: इंस्टॉलेशन · स्कैनिंग · API · डिप्लॉयमेंट · ऑफ़लाइन इंस्टॉल।
🛠 डेवलपमेंट
पूर्ण Docker
make dev # build-linux → compose prod + dev override --build
बैकएंड बदलावों के बाद Go बाइनरी फिर से बिल्ड करें (make -C service-api build-linux), फिर रीस्टार्ट करें या make dev दोबारा चलाएँ।
हाइब्रिड मोड (तेज़ बैकएंड इटरेशन)
make dev-db # PostgreSQL only on :5432