
एक छोटा Rust CLI जो आपके क्लिपबोर्ड से मांग पर रहस्यों को हटा देता है।
एक छोटा Rust CLI जो आपके क्लिपबोर्ड से सीक्रेट्स को माँग पर हटा देता है। एक हॉटकी बाँधें, टेक्स्ट हाइलाइट करें, कॉर्ड दबाएँ - क्लिपबोर्ड में एक संशोधित संस्करण होगा। सामान्य Ctrl+C / Ctrl+V को कभी इंटरसेप्ट नहीं किया जाता।
Linux - एक कमांड, कोई अतिरिक्त सेटअप नहीं:
curl -sSf https://secretstripper.download/install.sh | bash
डिफ़ॉल्ट कॉर्ड: Ctrl+Alt+X।
macOS - एक बार की ग्लोबल-हॉटकी हेल्पर (skhd या Hammerspoon) की आवश्यकता है। अनुमतियों और समस्या निवारण के लिए macOS सेटअप देखें।
brew install koekeishiya/formulae/skhd
curl -sSf https://secretstripper.download/install.sh | bash
# skhd को Accessibility अनुमति दें: सिस्टम सेटिंग्स -> प्राइवेसी और सुरक्षा -> Accessibility
skhd --restart-service
डिफ़ॉल्ट कॉर्ड: Cmd+Shift+C।
Windows (PowerShell) - AutoHotkey v2 की आवश्यकता है। पूरी प्रक्रिया के लिए Windows सेटअप देखें।
winget install AutoHotkey.AutoHotkey
iwr -useb https://secretstripper.download/install.ps1 | iex
डिफ़ॉल्ट कॉर्ड: Ctrl+Alt+C।
crates.io (Rust) से - समान OS-पूर्वापेक्षाएँ लागू होती हैं (macOS पर skhd, Windows पर AutoHotkey):
cargo install secret-stripper && secret-stripper init
स्रोत (git) से:
cargo install --git https://github.com/kalix127/secret-stripper.git --locked && secret-stripper init
इंस्टॉल करने के बाद, टेक्स्ट हाइलाइट करें और अपना कॉर्ड दबाएँ। Linux पर PRIMARY सिलेक्शन सीधे पढ़ा जाता है, इसलिए आप Ctrl+C को छोड़ सकते हैं। Ctrl+V (macOS पर Cmd+V`) से पेस्ट करें।
secret-stripper menu चलाकर सेटिंग्स समायोजित करें, या सभी कमांड के लिए secret-stripper --help देखें।
macOS पर बिना किसी रेजिडेंट प्रक्रिया के एक सच्ची ग्लोबल हॉटकी पंजीकृत करने का कोई शून्य-स्थापना तरीका नहीं है। Secret Stripper स्वयं एक-शॉट रहता है, इसलिए यह हॉटकी कैप्चर को दो प्रसिद्ध सहायकों में से एक को सौंपता है: skhd (हल्का, अनुशंसित) या Hammerspoon (भारी, स्क्रिप्ट करने योग्य)। यदि दोनों में से कोई भी स्थापित नहीं है, तो init मैन्युअल बाइंडिंग निर्देश प्रिंट करने पर वापस आ जाता है।
Homebrew के माध्यम से skhd स्थापित करें:
brew install koekeishiya/formulae/skhd
secret-stripper init चलाएँ। यह ~/.skhdrc, दैनिक अपडेट जाँच के लिए launchd LaunchAgent, और कॉन्फ़िग फ़ाइल लिखता है। आउटपुट में एक "DE binding" लाइन शामिल है: OK यदि skhd / Hammerspoon का पता चला है, FAILED यदि नहीं तो इंस्टॉल संकेतों के साथ।
skhd को Accessibility अनुमति दें। skhd को ग्लोबल हॉटकी को इंटरसेप्ट करने के लिए इसकी आवश्यकता है, अन्यथा यह चुपचाप कुछ भी कैप्चर नहीं करेगा। सिस्टम सेटिंग्स -> प्राइवेसी और सुरक्षा -> Accessibility खोलें, + पर क्लिक करें, /usr/local/bin/skhd जोड़ें, और इसे टॉगल करें। यदि skhd पहले से चल रहा था, तो इसे पुनरारंभ करें ताकि नई अनुमति प्रभावी हो:
skhd --restart-service
कॉर्ड का परीक्षण करें:
echo "[email protected]" | pbcopy
# अपना कॉर्ड दबाएँ (डिफ़ॉल्ट: Cmd+Shift+C)
pbpaste # अपेक्षा: [REDACTED]
Hammerspoon विकल्प: brew install --cask hammerspoon, इसे एक बार खोलें ताकि Accessibility अनुदान मिल सके, फिर secret-stripper init चलाएँ - यह बाइंडिंग को ~/.skhdrc के बजाय ~/.hammerspoon/init.lua में लिखता है।
डिफ़ॉल्ट कॉर्ड: Cmd+Shift+C। macOS ऐप्स अक्सर Cmd-मॉडिफ़ायर कॉर्ड का दावा करते हैं, इसलिए यदि यह आपके द्वारा उपयोग की जाने वाली किसी चीज़ (ब्राउज़र DevTools, Finder "Copy Path", आदि) से टकराता है, तो secret-stripper menu -> Rebind Hotkey से पुनः बाइंड करें। यदि आप पहले से योजना बनाना चाहते हैं तो दो सुरक्षित विकल्प: Cmd+Option+X या Cmd+Ctrl+X।
Windows में एक सच्ची ग्लोबल हॉटकी पंजीकृत करने का कोई शून्य-स्थापना तरीका नहीं है। macOS के समान ही बाधा - Secret Stripper हॉटकी कैप्चर को AutoHotkey v2 (skhd का Windows समकक्ष) को सौंपता है। AutoHotkey अंतर्निहित रूप से Win32 RegisterHotKey API का उपयोग करता है और एकमात्र तंत्र है जो फ़ोकस्ड विंडो, फ़ुल-स्क्रीन ऐप्स और उच्च प्रक्रियाओं में विश्वसनीय रूप से कॉर्ड प्रदान करता है। AutoHotkey आवश्यक है - init एक इंस्टॉल संकेत के साथ समाप्त होता है यदि वह इसे नहीं ढूंढ पाता है।
winget के माध्यम से AutoHotkey स्थापित करें:
winget install AutoHotkey.AutoHotkey
पैकेज AutoHotkey v2 को C:\Program Files\AutoHotkey\v2\ में स्थापित करता है।
secret-stripper init चलाएँ। यह %APPDATA%\secret-stripper\secret-stripper.ahk लिखता है, एक स्टार्टअप .lnk डालता है ताकि AHK प्रत्येक लॉगिन पर स्क्रिप्ट को फिर से लॉन्च करे, और AHK प्रक्रिया को तुरंत शुरू करता है ताकि लॉगआउट के बिना कॉर्ड सक्रिय हो।
कॉर्ड का परीक्षण करें:
Set-Clipboard "[email protected]"
# अपना कॉर्ड दबाएँ (डिफ़ॉल्ट: Ctrl+Alt+C)
Get-Clipboard # अपेक्षा: [REDACTED]
Ctrl+Alt+<key> (वैकल्पिक रूप से Shift के साथ) तक सीमित है; अन्य कॉर्ड अस्वीकार कर दिए जाते हैं।Ctrl+C, फिर आपका कॉर्ड)।schtasks दैनिक कार्य के रूप में चलती है।.ahk फ़ाइल और स्टार्टअप .lnk को हटा देता है। आपके द्वारा चलाए जा रहे अन्य AHK स्क्रिप्ट अप्रभावित रहते हैं।बकेट, गंभीरता स्तर और पैटर्न की पूरी सूची के लिए DETECTION_COVERAGE.md देखें।
चुनें कि पाए गए सीक्रेट्स को secret-stripper menu -> Redaction Style से कैसे बदला जाता है:
यही सेटिंग हॉटकी ट्रिगर, redact पाइपलाइन सबकमांड, और paste-guard AI-TUI रैपर पर लागू होती है।
सीक्रेट्स अक्सर केवल टेक्स्ट में नहीं, बल्कि स्क्रीनशॉट में भी रहते हैं - एक टर्मिनल ग्रैब, एक कॉन्फ़िग पैन, एक API डैशबोर्ड। जब आप हॉटकी ट्रिगर करते हैं और क्लिपबोर्ड में टेक्स्ट के बजाय एक इमेज होती है, तो Secret Stripper इमेज का OCR करता है, उसी डिटेक्टर को चलाता है जिसका उपयोग वह टेक्स्ट के लिए करता है, और केवल उन शब्दों पर एक ठोस काला बॉक्स पेंट करता है जिनमें कोई सीक्रेट होता है। संशोधित इमेज को क्लिपबोर्ड पर वापस लिखा जाता है। इमेज के साफ़ भागों को अछूता छोड़ दिया जाता है - पूरा स्क्रीनशॉट कभी काला नहीं किया जाता है।
केवल Linux पर समर्थित - X11 और Wayland दोनों। macOS और Windows पर हॉटकी अभी भी टेक्स्ट रेडैक्शन करती है; क्लिपबोर्ड पर एक इमेज अछूती छोड़ दी जाती है।
जब क्लिपबोर्ड पर कोई इमेज होती है, तो हॉटकी इमेज को संशोधित करती है, भले ही आपने टेक्स्ट हाइलाइट किया हो - इसलिए screenshot -> hotkey बस काम करता है।
इसे आपके PATH पर tesseract OCR CLI की आवश्यकता है। यह एक वैकल्पिक रनटाइम निर्भरता है: इसके बिना बाकी सब काम करता है।
sudo pacman -S tesseract tesseract-data-eng # Arch
sudo apt install tesseract-ocr # Debian / Ubuntu
sudo dnf install tesseract # Fedora
यह बंद होकर विफल होता है: यदि tesseract गायब है, इमेज को पढ़ा नहीं जा सकता, या पाया गया सीक्रेट स्थित नहीं किया जा सकता, तो क्लिपबोर्ड अछूता रहता है और आपको एक सूचना मिलती है - मूल इमेज कभी चुपचाप पारित नहीं होती और कभी मिटाई नहीं जाती। OCR इस पथ को तत्काल टेक्स्ट पथ की तुलना में धीमा बनाता है (पूर्ण स्क्रीनशॉट के लिए लगभग आधा सेकंड से लेकर कुछ सेकंड तक), इसलिए पेस्ट करने से पहले सूचना की प्रतीक्षा करें।
इमेज रेडैक्शन डिफ़ॉल्ट रूप से बंद है। इसे secret-stripper menu -> Detection Settings -> Screenshot redaction से चालू करें, या config.toml में enable_image_scan = true सेट करें।
secret-stripper init स्थापित AI टर्मिनल टूल्स (Claude Code, Codex CLI, aider, Gemini CLI, Continue, opencode) की तलाश करता है और एक कॉपी-तैयार शेल एलियास ब्लॉक प्रिंट करता है। प्रत्येक एलियास टूल को paste-guard के माध्यम से रूट करता है, एक PTY रैपर जो क्लिपबोर्ड पेस्ट को इंटरसेप्ट करता है और AI के प्रॉम्प्ट तक पहुँचने से पहले सीक्रेट्स को संशोधित करता है - टाइपिंग और सामान्य आउटपुट अछूते रहते हैं। स्निपेट को अपने शेल कॉन्फ़िग (~/.zshrc, ~/.bashrc, ~/.config/fish/config.fish, या अपने PowerShell प्रोफ़ाइल) में कॉपी करें और एक नया शेल खोलें:
# ----------------------------------
alias claude='secret-stripper paste-guard -- claude'
alias codex='secret-stripper paste-guard -- codex'
# ----------------------------------
Secret Stripper आपके शेल rc में स्वयं कभी नहीं लिखता है। paste-guard के माध्यम से रूट करना बंद करने के लिए, डैश कमेंट लाइनों के बीच के ब्लॉक को हटा दें।
दायरा। paste-guard एक प्रति-प्रक्रिया रैपर है - यह केवल उस एक कमांड में पेस्ट को फ़िल्टर करता है जिस पर आपने इसे चलाया है। ssh, psql, vim, kubectl, नंगे शेल प्रॉम्प्ट, GUI ऐप्स, सिस्टम क्लिपबोर्ड का दैनिक उपयोग - सभी पूरी तरह से अछूते हैं। आप मैन्युअल रूप से गैर-AI टूल्स के लिए भी एलियास जोड़ सकते हैं (लाइव डेमो psql / mysql के विरुद्ध, स्क्रीन-रिकॉर्डिंग) - लीफ कमांड को लपेटना ठीक है, पूरे शेल को लपेटना आमतौर पर ठीक नहीं है।
आप मनमाने टेक्स्ट को उसी इंजन के माध्यम से पाइप भी कर सकते हैं:
cat secrets.log | secret-stripper redact > clean.log
सीमाएँ। ब्रैकेटेड पेस्ट आपके टर्मिनल द्वारा समर्थित होना चाहिए (हर आधुनिक इम्यूलेटर करता है, जिसमें VSCode इंटीग्रेटेड टर्मिनल और tmux पासथ्रू शामिल है); टाइप किए गए सीक्रेट्स कभी संशोधित नहीं होते, केवल पेस्ट किए गए; 1 MiB से ऊपर के पेस्ट पेलोड बिना संशोधन के गुज़र जाते हैं।
बिल्ड, टेस्ट, लिंट और कमिट सम्मेलनों के लिए CONTRIBUTING.md देखें।
| OS | स्थिति | हॉटकी बैकएंड |
|---|
| Linux | ✅ समर्थित | gsettings (GNOME / Cinnamon / Unity / Budgie / Pantheon), gsettings (MATE schema), xfconf-query (XFCE), kwriteconfig + qdbus (KDE Plasma 5/6) |
| macOS | ✅ समर्थित | skhd (~/.skhdrc) या Hammerspoon (~/.hammerspoon/init.lua); यदि कोई स्थापित नहीं है तो मैन्युअल निर्देश |
| Windows | ✅ समर्थित | AutoHotkey v2 (%APPDATA%\secret-stripper\secret-stripper.ahk) - winget install AutoHotkey.AutoHotkey के माध्यम से स्थापित करें |
| श्रेणी | उदाहरण |
|---|
| 🔴 क्लाउड सीक्रेट्स | AWS कुंजियाँ, Google API कुंजियाँ, Azure क्रेडेंशियल, OpenAI टोकन, Stripe कुंजियाँ, Heroku API कुंजियाँ |
| 🔴 प्रमाणीकरण टोकन | GitHub टोकन, GitLab टोकन, Slack टोकन, Discord टोकन, JWT, बियरर टोकन, NPM टोकन |
| 🔴 क्रिप्टोग्राफ़िक कुंजियाँ | RSA/EC/OpenSSH निजी कुंजियाँ, PGP निजी कुंजियाँ, SSH सार्वजनिक कुंजियाँ |
| 🔴 PII | क्रेडिट कार्ड नंबर, SSN, फ़ोन नंबर, ईमेल पते, पासपोर्ट नंबर |
| 🟠 कनेक्शन स्ट्रिंग्स | PostgreSQL, MongoDB, Redis, MySQL, क्रेडेंशियल के साथ JDBC URL |
| 🟡 अनुमानात्मक | असामान्य स्ट्रिंग्स, सीक्रेट वाली एनवी फ़ाइलें, पासवर्ड फ़ील्ड वाला JSON, base64-एन्कोडेड सामग्री |
| 🟢 सुरक्षित | सामान्य टेक्स्ट, ईमेल, दस्तावेज़ - कोई झूठी चेतावनी नहीं |
| शैली | aws=AKIAIOSFODNN7EXAMPLE के लिए आउटपुट |
|---|
| मार्कर (डिफ़ॉल्ट) | aws=[REDACTED] - एक कॉन्फ़िगर करने योग्य मार्कर स्ट्रिंग (आठ प्रीसेट + कस्टम) का उपयोग करता है |
| ड्रॉप | aws= - मैच किए गए बाइट्स को पूरी तरह से हटा देता है |
| टाइप्ड | aws=[AWS_ACCESS_KEY_ID] - प्रत्येक स्पैन को मैच किए गए पैटर्न नाम से प्राप्त टैग से बदलता है |
| प्लेसहोल्डर | aws=AKIAIOSFODNN7EXAMPLE - मैच किए गए पैटर्न के लिए एक यथार्थवादी लेकिन नकली नमूना मान डालता है (एक ईमेल [email protected], एक Stripe कुंजी sk_test_4eC39HqLyjWDarjtT1zdp7dc बन जाता है) |