
TOTP-आधारित दो-कारक प्रमाणीकरण कोड प्रबंधित करने के लिए एक सरल और सुरक्षित कमांड-लाइन टूल।

कमांड लाइन के लिए Authy / Google Authenticator।
Hotpot TOTP-आधारित टू-फैक्टर प्रमाणीकरण कोड प्रबंधित करने के लिए एक सरल और सुरक्षित कमांड-लाइन टूल है। Hotpot आपके 2FA रहस्यों को आपके सिस्टम के keyring में सुरक्षित रूप से संग्रहीत करता है और जब आपको आवश्यकता होती है तो समय-आधारित वन-टाइम पासवर्ड उत्पन्न करता है।
सुरक्षा, प्रदर्शन और विश्वसनीयता के लिए Rust के साथ निर्मित।
इस रिपो को क्लोन करें, और चलाएँ
cargo install --path . --locked
hotpot add <account-name>
आपको Base32 सीक्रेट सुरक्षित रूप से दर्ज करने के लिए कहा जाएगा।
उदाहरण:
hotpot add github
Enter the Base32 secret: ********
hotpot --load-image /path/to/qr-code.png
या डैशबोर्ड में इंटरैक्टिव स्क्रीनशॉट कैप्चर का उपयोग करें [A] फिर [S] दबाकर।
इंटरैक्टिव डैशबोर्ड खोलने के लिए बस hotpot चलाएँ, जहाँ आप यह कर सकते हैं:
डैशबोर्ड हर 250ms में स्वतः रीफ़्रेश होता है और टर्मिनल आकार परिवर्तन को सुचारू रूप से संभालता है।
hotpot code <account-name>
उदाहरण:
hotpot code github
hotpot delete <account-name>
आप किसी खाते के लिए QR कोड निर्यात कर सकते हैं या तो डैशबोर्ड के माध्यम से ([E] दबाकर) या कमांड का उपयोग करके:
hotpot export-qr --name <account-name>
यह टर्मिनल में एक QR कोड प्रदर्शित करेगा जिसे प्रमाणीकरण ऐप्स द्वारा स्कैन किया जा सकता है।
पोर्टेबल कॉन्फ़िगरेशन के लिए या जब keyring पहुँच उपलब्ध नहीं है, तो आप सुरक्षित keyring के बजाय खातों को एक JSON फ़ाइल में संग्रहीत करने के लिए --file फ़्लैग का उपयोग कर सकते हैं।
# फ़ाइल भंडारण के साथ इंटरैक्टिव डैशबोर्ड
hotpot --file ~/.config/hotpot/accounts.json
# फ़ाइल में खाता जोड़ें
hotpot --file ./my-accounts.json add work-account
# फ़ाइल-संग्रहीत खाते से कोड उत्पन्न करें
hotpot --file ./my-accounts.json code work-account
# फ़ाइल से खाता हटाएँ
hotpot --file ./my-accounts.json delete work-account
फ़ाइल-समर्थित भंडारण के उपयोग के मामले:
सुरक्षा नोट: फ़ाइल-समर्थित भंडारण रहस्यों को सादे पाठ JSON में संग्रहीत करता है। उचित फ़ाइल अनुमतियाँ (600) सुनिश्चित करें और संवेदनशील वातावरणों के लिए फ़ाइल को एन्क्रिप्ट करने पर विचार करें।
डिफ़ॉल्ट सुरक्षित भंडारण: Hotpot सभी रहस्यों को आपके सिस्टम के keyring में सुरक्षित रूप से संग्रहीत करता है:
फ़ाइल-समर्थित भंडारण: --file फ़्लैग का उपयोग करते समय, खातों को निर्दिष्ट पथ पर एक JSON फ़ाइल में संग्रहीत किया जाता है। फ़ाइल उचित अनुमतियों (600) के साथ बनाई जाती है और आवश्यकता पड़ने पर निर्देशिकाएँ स्वतः बनाई जाती हैं। यह मोड पोर्टेबल कॉन्फ़िगरेशन या जब keyring पहुँच उपलब्ध न हो, के लिए उपयोगी है।
cargo build --release
बाइनरी target/release/hotpot पर उपलब्ध होगी
परियोजना में कोर कार्यक्षमता को कवर करने वाले व्यापक यूनिट परीक्षण शामिल हैं:
cargo test
परीक्षण कवरेज में शामिल है:
# विकास मोड में चलाएँ
cargo run
# विशिष्ट तर्कों के साथ चलाएँ
cargo run -- add github
# फ़ाइल भंडारण के साथ परीक्षण करें
cargo run -- --file test-accounts.json add test-account
# कोड गुणवत्ता जाँचें
cargo clippy
# त्वरित संकलन जाँच
cargo check
Hotpot सुरक्षा और रखरखाव पर केंद्रित एक मॉड्यूलर आर्किटेक्चर के साथ निर्मित है:
main.rs: CLI इंटरफ़ेस और भंडारण प्रबंधनtotp.rs: TOTP एल्गोरिदम कार्यान्वयन (RFC 6238) व्यापक परीक्षण कवरेज के साथdashboard.rs: इंटरैक्टिव टर्मिनल UI रीयल-टाइम अपडेट और व्यापक यूनिट परीक्षणों के साथlib.rs: सामान्य त्रुटि प्रबंधन और साझा उपयोगिताएँkeyring, base32, hmac, sha1/sha2clap, crossterm, rpasswordfuzzy-matcher, qrcode, arboardserde, serde_json, url, urlencodingimage, (QR कोड पहचान)MIT लाइसेंस
योगदान का स्वागत है! कृपया बेझिझक एक पुल रिक्वेस्ट सबमिट करें।
परियोजना उच्च कोड गुणवत्ता मानकों को बनाए रखती है:
cargo test चलाएँ)cargo clippy चलाएँ)rqrr