
अपने टर्मिनल से हटाए गए या 👉 ओवरराइट 👈 किए गए फ़ाइलों को इंटरैक्टिव रूप से ढूंढें और पुनर्प्राप्त करें
जब कोई फ़ाइल हटाई जाती है, तो पहले उसका मेटाडेटा गायब हो जाता है। अंतर्निहित डिस्क ब्लॉक अक्सर तब तक बरकरार रहते हैं जब तक उनका पुनः उपयोग नहीं किया जाता।
RecoverPy सीधे कच्चे विभाजन डेटा को स्कैन करता है और संपूर्ण डिवाइस में बाइट पैटर्न खोजता है। यदि ब्लॉक अधिलेखित नहीं हुए हैं, तो हटाई गई फ़ाइलों के टुकड़े अभी भी उनकी सामग्री द्वारा पाए जा सकते हैं।
यह आपको मिलान करने वाले ब्लॉकों का निरीक्षण करने, आसन्न ब्लॉकों को नेविगेट करने और जो कुछ बचा है उसे सीधे तरीके से निकालने देता है।
यदि ब्लॉक चले गए हैं, तो पुनर्प्राप्ति असंभव है। यदि वे अभी भी मौजूद हैं, तो RecoverPy उन्हें पुनर्प्राप्त करने में आपकी सहायता करता है।
RecoverPy फ़ाइल सिस्टम संरचनाओं की व्याख्या करने या फ़ाइल नामों को पुनर्स्थापित करने का प्रयास नहीं करता। यह डिस्क पर जो कुछ बचा है उसे उजागर करने और उसे सुलभ बनाने पर ध्यान केंद्रित करता है।
कच्चे ब्लॉक उपकरणों तक पहुँचने के लिए आमतौर पर sudo की आवश्यकता होती है।
uv का उपयोग करकेsudo uvx recoverpy
या स्थानीय रूप से स्थापित करें:
uv tool install recoverpy
sudo recoverpy
python -m pip install recoverpy
sudo recoverpy
RecoverPy प्रारंभ करें:
sudo recoverpy
एक अद्वितीय पहचानकर्ता, कॉन्फ़िगरेशन कुंजी, या वाक्य खंड का उपयोग करने से आमतौर पर सामान्य शब्दों की तुलना में बेहतर परिणाम मिलते हैं।
RecoverPy सीधे ब्लॉक डिवाइस के कच्चे बाइट स्ट्रीम पर काम करता है।
चयनित विभाजन को केवल-पढ़ने के मोड में खोला जाता है और निश्चित आकार के खंडों का उपयोग करके क्रमिक रूप से स्कैन किया जाता है। स्कैनर स्ट्रीम को वृद्धिशील रूप से संसाधित करता है, खंडों के बीच एक छोटा ओवरलैप रखता है ताकि यह सुनिश्चित हो सके कि खंड सीमाओं पर फैले मिलान छूट न जाएँ।
पैटर्न मिलान बाइट स्तर पर किया जाता है। प्रत्येक मिलान के लिए, RecoverPy डिवाइस के भीतर सटीक निरपेक्ष ऑफसेट रिकॉर्ड करता है। यह ऑफसेट ब्लॉक निरीक्षण और नेविगेशन के लिए संदर्भ बिंदु बन जाता है।
ब्लॉक पढ़ने के लिए फ़ाइल सिस्टम अमूर्तताओं पर निर्भर रहने के बजाय स्पष्ट ऑफसेट का उपयोग किया जाता है। यह डिवाइस के बड़े हिस्सों को मेमोरी में लोड किए बिना आसन्न ब्लॉकों तक सटीक पहुँच की अनुमति देता है।
संपूर्ण स्कैन स्ट्रीमिंग-आधारित और मेमोरी-बाउंडेड है: RecoverPy कभी भी पूरे विभाजन को मेमोरी में लोड नहीं करता।
RecoverPy कच्चे डेटा पर काम करता है। यह स्वचालित रूप से फ़ाइलों का पुनर्निर्माण नहीं करता या फ़ाइल सीमाओं का अनुमान नहीं लगाता।
परिणाम आंशिक या खंडित हो सकते हैं। यदि अंतर्निहित ब्लॉक पहले ही अधिलेखित हो चुके हैं, तो पुनर्प्राप्ति संभव नहीं है।
ब्लॉक उपकरणों तक पहुँचने के लिए आमतौर पर sudo की आवश्यकता होती है। आगे अधिलेखन के जोखिम को कम करने के लिए, पुनर्प्राप्ति के दौरान लक्ष्य विभाजन पर लिखने से बचें और जब संभव हो तो इसे अनमाउंट करें।
यदि आप किसी बग का सामना करते हैं या लगता है कि कुछ सुधारा जा सकता है, तो बेझिझक एक मुद्दा खोलें। और यदि आप स्वयं इस पर काम करना चाहते हैं, तो पुल रिक्वेस्ट का हमेशा स्वागत है।
परियोजना संरचना:
recoverpy/ui/ — पाठ्य इंटरफ़ेसrecoverpy/lib/search/ — स्ट्रीमिंग खोज इंजनrecoverpy/lib/storage/ — ब्लॉक और उपकरण पहुँचrecoverpy/lib/text/ — डिकोडिंग उपयोगिताएँtests/ — यूनिट और एकीकरण परीक्षणuv sync --dev
sudo uv run recoverpy
uv run pytest -q