Sliver C2 फ्रेमवर्क के लिए क्रॉस-प्लेटफ़ॉर्म Electron GUI, जो सत्र और बीकन डैशबोर्ड, पेलोड जनरेशन, लिसनर, लूट और क्लाउड डिप्लॉयमेंट प्रबंधन प्रदान करता है।
Sliver GUI, Sliver के लिए एक क्रॉस-प्लेटफ़ॉर्म Electron डेस्कटॉप एप्लिकेशन है। यह बैकएंड कनेक्शन, लाइव स्टेटस व्यू, समर्पित वर्कस्पेस, और एक नेटिव Sliver कंसोल को HeroUI, HeroUI Pro, और Font Awesome के साथ बनाए गए React इंटरफ़ेस में संयोजित करता है।
GUI हर अपस्ट्रीम कमांड या विकल्प को लागू नहीं करता है। ऑपरेटर कनेक्शन mTLS का उपयोग करते हैं; WireGuard ऑपरेटर कॉन्फ़िगरेशन पहचाने जाते हैं लेकिन कनेक्ट नहीं कर सकते। ट्रैक किए गए कवरेज के लिए ऑपरेटर समानता रिपोर्ट देखें और विशिष्ट सीमाओं के लिए नीचे दिए गए फ़ीचर दस्तावेज़ देखें।
npm run setup:rdp पिन किए गए
Rust 1.94.1 टूलचेन और प्लेटफ़ॉर्म लक्ष्यों को इंस्टॉल करता है।समर्थित संस्करण और लॉक की गई निर्भरताएँ package.json और package-lock.json में दर्ज हैं। एप्लिकेशन कोड सख्त TypeScript का उपयोग करता है; बिल्ड हेल्पर Node.js ES मॉड्यूल का उपयोग करते हैं।
npm ci --strict-allow-scripts
npx heroui-pro login
npx heroui-pro install --yes
npm run setup:rdp
npm run dev
प्रारंभिक वर्कस्टेशन सेटअप के लिए HeroUI लॉगिन/इंस्टॉल चरणों की आवश्यकता होती है; जब इंस्टॉलेशन के लिए HEROUI_AUTH_TOKEN पहले से कॉन्फ़िगर हो, तो इन्हें छोड़ा जा सकता है। क्रेडेंशियल्स को ट्रैक की गई फ़ाइलों से बाहर रखें।
npm run dev उत्पादन कंटेंट सुरक्षा नीति का उपयोग करते हुए, sliver://app/index.html पर स्टैटिक एप्लिकेशन को बिल्ड और लॉन्च करता है। यह पिन किए गए IronRDP फ़ोर्क से होस्ट RDP हेल्पर भी बिल्ड करता है। सामान्य TypeScript बिल्ड और यूनिट टेस्ट के लिए Rust कंपाइल करने की आवश्यकता नहीं होती। स्रोत में बदलाव के बाद कमांड को पुनः आरंभ करें; यह वर्कफ़्लो HMR का उपयोग नहीं करता।
TypeScript क्लाइंट पिन किए गए sliver-script npm पैकेज से इंस्टॉल किया जाता है। किसी निकटवर्ती क्लाइंट चेकआउट की आवश्यकता नहीं है। सामान्य एप्लिकेशन विकास के लिए Sliver स्रोत चेकआउट की आवश्यकता नहीं होती; नेटिव कंसोल बिल्ड करने के लिए होती है।
डिफ़ॉल्ट Sliver क्लाइंट रूट ~/.sliver-client है; SLIVER_CLIENT_ROOT_DIR किसी अन्य रूट का चयन कर सकता है। एप्लिकेशन प्राथमिकताएँ, जिनमें Overview ग्राफ़ विकल्प शामिल हैं, उस रूट के अंतर्गत gui/application-settings.json में सहेजी जाती हैं; वर्कस्पेस ज़ूम gui/workspace-zoom.json में सहेजा जाता है, और टेक्स्ट एडिटर प्राथमिकताएँ gui/text-editor-settings.json में। GUI configs/ में मौजूदा ऑपरेटर कॉन्फ़िग्स को खोजता है और जब कोई मान्य कॉन्फ़िग वहाँ सहेजा जाता है तो खुले सेलेक्टर को अपडेट करता है। यह Import के माध्यम से चयनित कॉन्फ़िग्स को gui/operator-configs.json में निजी फ़ाइल संदर्भों के रूप में सहेजता है। Import और Forget स्रोत कॉन्फ़िग्स को कॉपी या हटाते नहीं हैं।
Remote Desktop प्रोफ़ाइल और एंडपॉइंट सर्टिफ़िकेट पिन gui/rdp.json में रहते हैं। पासवर्ड डिफ़ॉल्ट रूप से छोड़े जाते हैं, ऐप बंद होने तक बनाए रखे जा सकते हैं, या ऑपरेटिंग सिस्टम के सुरक्षित स्टोरेज से एन्क्रिप्ट किए जा सकते हैं। जब Linux किसी अनएन्क्रिप्टेड की स्टोर का चयन करता है तो स्थायी पासवर्ड उपलब्ध नहीं होते। क्लिपबोर्ड ट्रांसफ़र स्पष्ट है और केवल टेक्स्ट तक सीमित है; RDP टैब बंद करने से रिमोट Windows खाते से लॉग ऑफ किए बिना डिस्कनेक्ट हो जाता है।
Settings → General → Appearance → Disable window transparency पूरे ऐप में तुरंत नेटिव विंडो ग्लास को बंद कर देता है। स्विच डिफ़ॉल्ट रूप से बंद है, इसलिए जहाँ समर्थित हो वहाँ पारदर्शिता सक्षम रहती है। यह अन्य एप्लिकेशन प्राथमिकताओं के साथ सहेजा जाता है और टर्मिनल पारदर्शिता पर प्राथमिकता रखता है।
Ghostty-संगत टर्मिनल रंग Settings → Terminal में कॉन्फ़िगर किए जाते हैं और gui/ghostty/config में सहेजे जाते हैं। कस्टम थीम gui/ghostty/themes/ में होनी चाहिए; इंस्टॉल किए गए नेटिव Ghostty थीम स्वचालित रूप से खोजे जाते हैं। कॉन्फ़िग साझाकरण, Monaco एडिटर, प्लेटफ़ॉर्म पारदर्शिता समर्थन और रनटाइम सीमाओं के लिए terminal appearance and Ghostty themes देखें।
| कमांड | उद्देश्य |
|---|---|
npm run typecheck | main/preload और renderer TypeScript प्रोजेक्ट्स की जाँच करें। |
npm test | Vitest यूनिट और कंपोनेंट टेस्ट चलाएँ। |
npm run test:watch | Vitest को इंटरैक्टिव रूप से चलाएँ। |
npm run test:e2e:electron | Electron को उसके renderer, preload और IPC के माध्यम से बिल्ड और परखें। |
npm run protocol:check | पिन किए गए क्लाइंट, अपस्ट्रीम बेसलाइन और समानता आर्टिफ़ैक्ट्स को सत्यापित करें। |
npm run build | Typecheck करें और dist/ में एप्लिकेशन आउटपुट बिल्ड करें। |
npm run build:console | पिन किए गए नेटिव Sliver कंसोल को बिल्ड करें। |
npm run build:rdp:host | इस मशीन के लिए RDP हेल्पर बिल्ड और सत्यापित करें। |
npm run build:rdp | दोनों macOS स्लाइस सहित RDP पैकेजिंग लक्ष्य बिल्ड करें। |
npm run test:rdp:native | Rust रनटाइम टेस्ट चलाएँ। |
npm run package | release/ के अंतर्गत एक अनपैक्ड एप्लिकेशन बनाएँ। |
npm run dist | release/ के अंतर्गत प्लेटफ़ॉर्म इंस्टॉलर बनाएँ। |
npm run test:e2e:packaged | किसी स्थानीय फ़िक्स्चर के विरुद्ध मौजूदा अनपैक्ड एप्लिकेशन को सत्यापित और परीक्षण करें। |