इस प्रोजेक्ट के बारे में

Keep एक Android एप्लिकेशन है जो FROST (Flexible Round-Optimized Schnorr Threshold Signatures) थ्रेशोल्ड साइनिंग के लिए है, जिसे एक समर्पित Nostr इवेंट साइनर के रूप में बनाया गया है। यह उपयोगकर्ताओं को अपने फोन पर FROST कुंजी शेयर रखने और Nostr इवेंट्स पर हस्ताक्षर करने की अनुमति देता है, बिना किसी एक डिवाइस के पास पूरी निजी कुंजी होने के। यह NIP-55 Android साइनर प्रोटोकॉल (इंटेंट्स और कंटेंट प्रोवाइडर) और NIP-46 रिमोट साइनिंग (बंकर सेवा) लागू करता है, ताकि संगत Nostr क्लाइंट सीधे हस्ताक्षर अनुरोध कर सकें। README में वर्णित प्रमुख क्षमताएँ: - 2-ऑफ-3 और 3-ऑफ-5 जैसी कॉन्फ़िगर करने योग्य योजनाओं के साथ FROST थ्रेशोल्ड साइनिंग। - NIP-55 Android साइनर प्रोटोकॉल और NIP-46 रिमोट साइनिंग। - QR कोड या टेक्स्ट के माध्यम से FROST शेयरों का आयात और निर्यात, साथ ही मौजूदा nsec कुंजियों का आयात। - प्रति-ऐप साइनिंग अनुमतियों और नीतियों के साथ कई खातों का समर्थन। - साइनिंग इतिहास और ऑडिट लॉग। - बायोमेट्रिक और PIN प्रमाणीकरण, Android Keystore के माध्यम से हार्डवेयर-समर्थित कुंजी भंडारण के साथ। - आपातकालीन कुंजी विलोपन के लिए एक किल स्विच। - SOCKS प्रॉक्सी समर्थन (Tor) और रिले कनेक्शन के लिए सर्टिफिकेट पिनिंग। - NIP-44 एन्क्रिप्शन और डिक्रिप्शन, साथ ही NIP-04 संचालन। - कॉन्फ़िगर करने योग्य दर सीमाओं के साथ बैकग्राउंड साइनिंग। - एन्क्रिप्टेड बैकअप और पुनर्स्थापना। - मल्टीसिग के लिए Bitcoin वॉलेट डिस्क्रिप्टर समन्वय। सूचीबद्ध समर्थित NIP-55 संचालन में get_public_key, sign_event, nip04_encrypt, nip04_decrypt, nip44_encrypt, nip44_decrypt और decrypt_zap_event शामिल हैं। वितरण Zapstore, Obtainium, GitHub रिलीज़ और F-Droid के माध्यम से पेश किया जाता है। निर्माण के लिए पिन किए गए टूलचेन संस्करणों की आवश्यकता होती है: Rust 1.89.0, Android NDK 29.0.14206865, cargo-ndk 4.1.2 और JDK 17; बेमेल होने पर बिल्ड तेजी से विफल हो जाता है। जब स्रोत बदलते हैं तो Gradle स्वचालित रूप से Rust लाइब्रेरीज़ का पुनर्निर्माण करता है। एक स्क्रिप्ट टाइपचेकिंग के लिए NDK के बिना होस्ट बिल्ड से Kotlin बाइंडिंग को ताज़ा करने की अनुमति देती है, हालाँकि ऐसे बिल्ड रनटाइम पर UnsatisfiedLinkError के साथ विफल होते हैं। एक अन्य स्क्रिप्ट बिल्ड स्क्रिप्ट्स और CI वर्कफ़्लो में पिन किए गए संस्करणों को सत्यापित करती है। योगदान GitHub मुद्दों और पुल अनुरोधों के माध्यम से स्वीकार किए जाते हैं। अनुवादों का स्वागत है, ब्राज़ीलियाई पुर्तगाली, स्पेनिश, जर्मन और जापानी के लिए सीड लोकेल के साथ; एक प्रबंधित अनुवाद प्लेटफ़ॉर्म को बैकलॉग के रूप में नोट किया गया है, और CI लोकेल ड्रिफ्ट की जाँच करता है। परियोजना MIT लाइसेंस के तहत है।