# Telegram · भंडारण और पुनर्प्राप्ति

Canonical page: https://phishdestroy.github.io/TgWitness/hi/docs/reference/storage/

बैकअप, पुरानी फ़ाइलों को आपके क्लाउड में स्थानांतरित करना, ऑब्जेक्ट लॉक के तहत प्रतियां और नई मशीन पर पुनर्प्राप्ति।

[Project context and measured scale](https://phishdestroy.github.io/TgWitness/docs/reference/overview/)

[Documentation index](https://phishdestroy.github.io/TgWitness/hi/llms.txt)

बैकअप, पुरानी फ़ाइलों को आपके क्लाउड में स्थानांतरित करना, ऑब्जेक्ट लॉक के तहत प्रतियां और नई मशीन पर पुनर्प्राप्ति।

[टीजीविटनेस](https://github.com/phishdestroy/TgWitness/blob/main/README.md) / [दस्तावेज़ीकरण](https://github.com/phishdestroy/TgWitness/blob/main/docs/README.md) · [तैनाती और पुनर्प्राप्ति](https://phishdestroy.github.io/TgWitness/hi/docs/reference/deployment/)

![तैनाती और पुनर्प्राप्ति](https://phishdestroy.github.io/TgWitness/assets/chapter-operate.svg)

पैनल तीन कार्यों को अलग करता है:

| कार्य | यह क्या करता है |
| --- | --- |
| बैकअप रखें | हस्ताक्षरित जर्नल, चेकपॉइंट्स, संरक्षित फ़ाइलें और कतारबद्ध निर्यातों को कॉन्फ़िगर किए गए S3 गंतव्य पर कॉपी करें। |
| नि:शुल्क स्थानीय स्थान | चयनित पुराने अटैचमेंट्स को S3 या rclone क्लाउड रिमोट पर कॉपी करें, उन्हें पूरी तरह से वापस पढ़ें, एन्क्रिप्टेड बाइट्स को सत्यापित करें, फिर सत्यापित स्थानीय प्रतिलिपि को हटा दें। |
| एक साक्ष्य प्रति रखें | S3 ऑब्जेक्ट लॉक कॉन्फ़िगर करें और लौटाई गई प्रतिधारण स्थिति की जाँच करें। सेवा को अनुरोधित मोड और तिथि की पुष्टि करनी चाहिए। |

स्पेस खाली करने से कभी भी हस्ताक्षरित जर्नल को हटाया या फिर से लिखा नहीं जाता है। प्रत्येक अटैचमेंट अपना मूल SHA-256 और एक रिकवरी रसीद रखता है। प्रमाणीकृत एन्क्रिप्शन से पहले वैकल्पिक gzip कंप्रेशन होता है। क्लाउड फ़ाइलनामों में टेलीग्राम नाम, चैट आईडी या मूल अटैचमेंट नाम शामिल नहीं होते हैं। एक अटैचमेंट 32 GiB तक का हो सकता है।

केवल एक अपलोड प्रतिक्रिया फ़ाइल को हटाने की अनुमति नहीं है। TgWitness पूरी एन्क्रिप्टेड ऑब्जेक्ट को डाउनलोड करता है और उसके आकार और SHA-256 को सत्यापित करता है, रसीद को सहेजता है, फिर हटाने से ठीक पहले स्थानीय बाइट्स की फिर से जाँच करता है। एक अपलोड विफलता, अलग रीडबैक या रद्द किया गया ट्रांसफर स्थानीय फ़ाइल को वहीं छोड़ देता है। यदि एक सक्षम साक्ष्य बैकअप ने अभी तक उस फ़ाइल की प्रतिलिपि नहीं बनाई है, तो हटाने की प्रक्रिया भी उसके लिए प्रतीक्षा करती है।

**इस पृष्ठ पर**

- [जब डिस्क भर रही है](https://phishdestroy.github.io/TgWitness/hi/docs/reference/storage/#when-the-disk-is-filling-up)
- [एक गंतव्य कनेक्ट करें](https://phishdestroy.github.io/TgWitness/hi/docs/reference/storage/#connect-a-destination)
- [रिकवरी फ़ाइल को रखें](https://phishdestroy.github.io/TgWitness/hi/docs/reference/storage/#keep-the-recovery-file)
- [स्थापना खो जाने के बाद पुनर्प्राप्ति](https://phishdestroy.github.io/TgWitness/hi/docs/reference/storage/#recover-after-losing-the-installation)
- [ऑपरेटर बॉट और पूर्णता सूचनाएं](https://phishdestroy.github.io/TgWitness/hi/docs/reference/storage/#operator-bot-and-completion-notices)

## जब डिस्क भरने लगे

खाली स्थान **पैरामीटर → संलग्नक → खाली डिस्क स्थान** के मान से कम होने पर (डिफ़ॉल्ट 1 GiB), संलग्नक डाउनलोड रुकते हैं और कतार बनी रहती है। पाठ अवलोकन जारी रहते हैं। यह सूचनाओं से स्वतंत्र है: सूचनाएँ बंद करने से डाउनलोड आरक्षित स्थान या भंडारण सुरक्षा बंद नहीं होती।

पहले कार्रवाई करने के लिए **स्वचालित चलाएँ** चालू करें, **स्थान खाली करने के लिए स्थानीय फ़ाइल हटाएँ** चुनें और **डिस्क स्थान कम होने पर अतिरिक्त स्थानांतरण शुरू करें** चालू करें। यह वैकल्पिक नियम डिफ़ॉल्ट रूप से 5120 MiB से कम खाली स्थान पर शुरू होकर बैचों में चलता है, जब तक 10240 MiB खाली न हो जाए। दोनों सीमाएँ बदली जा सकती हैं। गंतव्य, फ़ाइल की न्यूनतम आयु, बैच सीमा, पूरा दोबारा पढ़कर सत्यापन और साक्ष्य बैकअप की शर्तें मैन्युअल कार्य जैसी हैं। नियम खुद कोई गंतव्य सक्रिय नहीं करता। हर 30 सेकंड जाँच होती है; त्रुटि या प्रगति न होने पर अगला प्रयास पाँच मिनट टलता है। स्थिति और पुनः प्रयास का समय पुनरारंभ के बाद भी रहते हैं। नियम निष्क्रिय हो तो निर्धारित कार्य सामान्य अंतराल पर चलते हैं।

पैनल खाली स्थान, पैकिंग आरक्षित स्थान, नियम की तत्परता और अस्थायी स्थान की कमी से छोड़ी गई फ़ाइलें दिखाता है। पैकिंग और बहाली शुरू होने से पहले अधिकतम अस्थायी स्थान की जरूरत और लिखते समय उपलब्ध स्थान जाँचते हैं। डाउनलोड का निर्धारित आरक्षित स्थान इस्तेमाल होता है, भंडारण कार्यों के लिए कम से कम 64 MiB। ये जाँचें फ़ाइल सिस्टम कोटा नहीं हैं; दूसरा प्रोसेस जाँचों के बीच स्थान ले सकता है।

Gzip दूरस्थ ऑब्जेक्ट को बिना डेटा हानि संपीड़ित करता है; सक्रिय जर्नल छोटा नहीं करता और स्थानीय आर्काइव नहीं बनाता। JPEG, वीडियो और ZIP बहुत कम घट सकते या थोड़ा बढ़ सकते हैं। संपीड़न चालू होने पर पैकिंग को अस्थायी रूप से लगभग संलग्नक के दोगुने आकार और आरक्षित स्थान की जरूरत पड़ सकती है। सबसे बड़ी फ़ाइलों के लिए शुरू होने की सीमा पर्याप्त पहले रखें। बहुत बड़ी फ़ाइल रखी और रिपोर्ट की जाती है; छोटी फ़ाइलें तथा पहले से सत्यापित दूरस्थ प्रतियाँ फिर भी स्थान खाली कर सकती हैं। सत्यापित प्रति होने पर दूसरी स्थानीय पैकिंग फ़ाइल बनाए बिना स्थानीय फ़ाइल हटाई जा सकती है। बहाली को भी अस्थायी स्थान चाहिए और जगह मिलने तक मना किया जा सकता है।

स्थानांतरित करने योग्य फ़ाइलें न हों या गंतव्य तय न हो तो TgWitness अपने आप स्थान खाली नहीं कर सकता। भंडारण प्रबंधन हस्ताक्षरित जर्नल को कभी काटता या दोबारा लिखता नहीं है। नए पाठ अवलोकनों के लिए उसे अब भी स्थान चाहिए।

## एक गंतव्य कनेक्ट करें

**अतिरिक्त → भंडारण और डिस्क स्थान → भंडारण प्रबंधित करें** में, कार्य और गंतव्य चुनें, इसे सहेजें, फिर **परीक्षण अपलोड और डाउनलोड** चुनें। यह परीक्षण एक छोटा यादृच्छिक प्रोब अपलोड करता है और उसे वापस पढ़ता है। यह टेलीग्राम सामग्री का उपयोग नहीं करता है।

S3 के लिए, प्रदाता के वास्तविक एंडपॉइंट, क्षेत्र और बकेट का उपयोग करें। वासाबी, बैकब्लेज, क्लाउडफ्लेयर R2 और अन्य संगत सेवाएं समान S3 सेटिंग्स का उपयोग करती हैं। केवल एक संगत API ऑब्जेक्ट लॉक के लिए समर्थन का संकेत नहीं देता है। गवर्नेंस मोड एक अधिकृत प्रशासक को प्रतिधारण को बायपास करने की अनुमति दे सकता है; कम्प्लायंस मोड में अलग प्रतिबंध हैं। प्रतिधारण पर भरोसा करने से पहले लौटाया गया ऑब्जेक्ट लॉक स्टेटस पढ़ें।

rclone डेस्टिनेशन के लिए, rclone के प्रोवाइडर सेटअप का उपयोग करके एक रिमोट बनाएँ और उस रिमोट का `[name]` सेक्शन को पैनल में पेस्ट करें। इंस्टॉल किया गया हेल्पर MEGA, Google Drive, OneDrive, Dropbox, Box, pCloud और सेलेक्टर में दिखाए गए अन्य प्रोवाइडर्स को सपोर्ट करता है। क्रेडेंशियल इस वर्कस्पेस के एन्क्रिप्टेड वॉल्ट में सहेजे जाते हैं। OAuth रिफ्रेश वॉल्ट में वापस सहेजे जाते हैं। क्रेडेंशियल जर्नल इवेंट्स में नहीं जोड़े जाते हैं या रिकवरी डाउनलोड में शामिल नहीं किए जाते हैं।

हेल्पर वर्कस्पेस के भीतर इंस्टॉल होता है, जिसमें एक पिन किया गया संस्करण और एक SHA-256 होता है। इसे सिस्टम PATH में नहीं जोड़ा जाता है। कॉन्फ़िगरेशन फ़ाइलें और वर्किंग फ़ाइलें उसी वर्कस्पेस के भीतर अस्थायी फ़ाइलें होती हैं। कमांड-आधारित और लोकल-फ़ाइल रिमोट्स को अस्वीकार कर दिया जाता है। rclone को वर्तमान में बाहरी अनुरोधों के लिए स्पष्ट रूप से चयनित **डायरेक्ट** रूट की आवश्यकता होती है। वर्कस्पेस SOCKS5 या HTTP रूट के लिए नेटिव S3 स्टोरेज का उपयोग करें; rclone कोई अनुपलब्ध रूट चुपचाप बायपास नहीं करता है।

## रिकवरी फ़ाइल रखें

फ़ाइलें कॉपी करने के बाद **'रिकवरी फ़ाइल सहेजें'** चुनें और इसे इंस्टॉलेशन से अलग कहीं रख दें। इसमें डिक्रिप्शन कुंजी और हस्ताक्षरित ऑब्जेक्ट रसीदें होती हैं, इसलिए इसे एक प्राइवेट की बैकअप के रूप में मानें। मूल रिमोट कॉन्फ़िगरेशन और गंतव्य क्रेडेंशियल को भी अलग से रखें। बाद में की गई कॉपी से पहले ली गई रिकवरी फ़ाइल में उस बाद वाली फ़ाइल की रसीद नहीं होती है।

साइनिंग-की फिंगरप्रिंट पहले से ही स्वतंत्र रूप से दर्ज किया जाना चाहिए। केवल उसी फ़ाइल के अंदर दी गई कुंजी के विरुद्ध जांचा गया हस्ताक्षर यह स्थापित नहीं करता कि यह किसकी रिकवरी फ़ाइल है।

मौजूदा वर्कस्पेस में गायब स्टोरेज रसीदों को ठीक करने के लिए, **सहेजी गई रिकवरी फ़ाइल से 'रिकवर फ़ाइलें'** खोलें और फ़ाइल चुनें। पैनल हस्ताक्षर की जाँच करता है और उसी वर्कस्पेस साइनिंग कुंजी की आवश्यकता होती है। यह एक अलग स्टोरेज कुंजी को बदलने से इनकार करता है। फिर **'सभी फ़ाइलें पुनर्स्थापित करें'** चुनें। पुनर्स्थापना स्वचालित स्टोरेज नियम को रोक देता है ताकि अगला निर्धारित पास तुरंत पुनर्स्थापित फ़ाइलों को फिर से हटा न सके। स्थानीय कॉपीज़ के साथ काम पूरा होने पर नियम को फिर से सक्षम करें।

रिस्टोरेशन साइफरटेक्स्ट की पुष्टि करता है, डिक्रिप्शन को प्रमाणित करता है, यदि आवश्यक हो तो डीकंप्रेस करता है और फ़ाइल रखने से पहले मूल प्लेनटेक्स्ट SHA-256 की जाँच करता है। `media/`. एक दूषित रिमोट ऑब्जेक्ट कभी भी एक स्थानीय फ़ाइल को प्रतिस्थापित नहीं करता है। अलग बाइट्स वाली एक मौजूदा स्थानीय फ़ाइल को ओवरराइट करने के बजाय समीक्षा के लिए रखा जाता है।

## इंस्टॉलेशन खो जाने के बाद पुनर्प्राप्ति

TgWitness को किसी अन्य मशीन पर इंस्टॉल करें। निजी रिकवरी फ़ाइल, अलग से रिकॉर्ड किए गए फ़िंगरप्रिंट और मूल गंतव्य क्रेडेंशियल्स का उपयोग करें:

```
python -m tgwitness.storage recover \
  --recovery storage-recovery.json \
  --fingerprint TRUSTED_WORKSPACE_SHA256 \
  --credentials original-rclone.conf \
  --output recovered-attachments
```

S3 के लिए, `--credentials` एक निजी JSON फ़ाइल की ओर इशारा करता है जिसमें `access_key` और `secret_key`; हस्ताक्षरित रिकवरी फ़ाइल गंतव्य सेटिंग्स प्रदान करती है। यह कमांड एक सीधे बाहरी कनेक्शन का उपयोग करती है और जब किसी rclone रिमोट को इसकी आवश्यकता होती है तो पिन किए गए हेल्पर को डाउनलोड करती है। यह किसी मौजूदा आउटपुट डायरेक्टरी को अस्वीकार कर देती है।

पुनः प्राप्त मूल बाइट्स को लिखा जाता है `recovered-attachments/media/`, द्वारा नामित उनके SHA-256 द्वारा। `recovery-log.jsonl` एक हस्ताक्षरित रिकॉर्ड है जो पुनर्प्राप्ति संचालन को दर्शाता है। यह कमांड खोए हुए हस्ताक्षरित जर्नल या उसकी हस्ताक्षर कुंजी को फिर से नहीं बनाती है। उनके लिए एक पूर्ण वर्कस्पेस बैकअप रखें। एक स्टोरेज पुनर्प्राप्ति फ़ाइल एक पूर्ण वर्कस्पेस बैकअप नहीं है।

## ऑपरेटर बॉट और पूर्णता सूचनाएं

टेलीग्राम बॉट ऑपरेटर का होता है। इसे BotFather के माध्यम से बनाएँ और पैनल में इसका टोकन, गंतव्य चैट और स्पष्ट रूप से अनुमत टेलीग्राम उपयोगकर्ता आईडी सेट करें। प्रेषक और चैट दोनों का मेल होना चाहिए। अन्य बॉट्स से भेजे गए संदेश और कमांड अनदेखा कर दिए जाते हैं।

`/status` और `/stats` डिफ़ॉल्ट केवल-स्थिति मोड में उपलब्ध हैं। वैकल्पिक नियंत्रण मोड जोड़ता है `/pause`, `/resume` और `/copy`. `/copy` कॉन्फ़िगर किए गए स्टोरेज कार्य का अनुरोध करता है; इसका मतलब यह नहीं है कि एक रिमोट अपलोड पहले से ही समाप्त हो गया है। कमांड मनमाने URL, फ़ाइलें या शेल प्रोग्राम प्रदान नहीं कर सकते।

अलर्ट और कार्य पूरा होने के लिए अलग-अलग सूचना सेटिंग्स का उपयोग करें। पूरा होने की सूचनाएं अंतराल वाले खाते के निर्यात को पूर्ण निर्यात से अलग करती हैं, और इतिहास और भंडारण की गिनती दिखाती हैं। संदेश के अंश तब तक शामिल नहीं किए जाते हैं जब तक कि सूचना सेटिंग्स में अलग से सक्षम न किया गया हो। सेवा चयनकर्ता प्रदाता उदाहरणों के एक निश्चित सेट के बजाय वास्तविक इंस्टॉल किए गए Apprise कैटलॉग से उत्पन्न होता है।
