# রপ্তানি এবং যাচাই করুন

Canonical page: https://phishdestroy.github.io/TgWitness/bn/docs/exports/

একটি স্বাক্ষরিত রেকর্ড শেয়ার করুন যা অন্য কেউ যাচাই করতে পারে।

একটি রেফারেন্স রাখুনস্বাক্ষরিত ZIP রপ্তানি করুনপ্রাপ্তকারী যাচাই করে

স্বাক্ষর এবং চেকপয়েন্ট সম্পর্কে নতুন? [একটি নমুনা রেকর্ড পরিবর্তন করুন](https://phishdestroy.github.io/TgWitness/bn/docs/concepts/#chain) এবং দেখুন কোন কোন চেক তা সনাক্ত করে।

কপিটি কালেক্টর থেকে দূরে রাখছেন? [S3 সেটআপ](https://phishdestroy.github.io/TgWitness/bn/docs/exports/#s3), [অবজেক্ট লক](https://phishdestroy.github.io/TgWitness/bn/docs/exports/#s3-retention) বা [যাচাইকৃত পুনরুদ্ধ](https://phishdestroy.github.io/TgWitness/bn/docs/exports/#s3-restore)ারে যান।

## একজন বিশ্বস্ত রেফারেন্স রাখুন

ওয়ার্কস্পেসের পাবলিক-কি ফিঙ্গারপ্রিন্ট কালেক্টরের বাইরে সংরক্ষণ করুন। সংগ্রহের সময় স্বাক্ষরিত চেকপয়েন্টগুলো অন্যত্র রাখুন অথবা একটি [স্বাধীন সাক্ষী](https://phishdestroy.github.io/TgWitness/bn/docs/witness/) ব্যবহার করুন। এই রেফারেন্সগুলো প্রাপককে কী এবং পূর্ববর্তী জার্নাল সীমানা যাচাই করতে সাহায্য করে।

## স্বাক্ষরিত ZIP ডাউনলোড করুন

Open **Exports-এ** যান এবং একটি স্বাক্ষরিত প্রমাণ ZIP তৈরি করুন। এতে ওয়ার্কস্পেস জার্নাল এবং একটি স্বাক্ষরিত ফাইল ম্যানিফেস্ট অন্তর্ভুক্ত রয়েছে। প্যানেল ফিল্টারগুলি এই সম্পূর্ণ জার্নাল রপ্তানিকে সীমাবদ্ধ করে না: শেয়ার করার আগে বিষয়বস্তু পর্যালোচনা করুন।

স্বতন্ত্র HTML এবং CSV ডাউনলোডগুলি পড়া এবং বিশ্লেষণের জন্য উপযোগী। স্বাক্ষরিত ZIP ফাইলটিকে যাচাইযোগ্য মূল হিসেবে রাখুন; পৃথক HTML বা CSV ফাইলে কোনো স্বতন্ত্র স্বাক্ষর নেই।

## TgWitness-এর একটি বিশ্বস্ত অনুলিপির মাধ্যমে যাচাই করুন।

ইনস্টলকৃত প্রকল্প পরিবেশে উদাহরণস্বরূপ ফিঙ্গারপ্রিন্ট এবং ফাইল পথগুলো প্রতিস্থাপন করুন:

```
python -m tgwitness.verify evidence.zip --fingerprint TRUSTED_PUBLIC_KEY_SHA256 --checkpoint retained-checkpoint.json
```

যখন উভয় রেফারেন্স পাস হয়, ফলাফল `key_pinned: true` এবং `checkpoint_checked: true` রিপোর্ট করে। যাচাইয়ের ফলাফলটি মূল আর্কাইভের সাথে সংরক্ষণ করুন। সংরক্ষিত চেকপয়েন্টটি রপ্তানির সীমানার মধ্যে বা তার আগে হতে হবে।

## ফলাফলটি বুঝুন

- **অখণ্ডতা:** রেকর্ডকৃত ইতিহাস এবং রপ্তানি করা ফাইলগুলো তাদের স্বাক্ষরগুলোর সাথে মেলে।
- **আগের পর্যবেক্ষণ:** একটি বাহ্যিক চেকপয়েন্ট আপনাকে রপ্তানিকে পূর্বে সংরক্ষিত জার্নাল প্রিফিক্সের সাথে তুলনা করতে দেয়।
- ডেলিভারি: একটি নিয়ন্ত্রিত প্রেরণ → সম্পাদনা → মুছে ফেলা পরীক্ষা ধরা পড়া রেকর্ডের নির্দিষ্ট ইভেন্টগুলি যাচাই করে।

একটি বৈধ স্বাক্ষর প্রমাণ করে না যে প্রতিটি টেলিগ্রাম ইভেন্ট এসেছে, যে উৎস সত্য বলেছে বা সংগ্রাহকের ঘড়ি সঠিক ছিল।

## S3 অফ-সাইট কপি সেট আপ করুন

আপনার চলমান কর্মস্থলে **Exports → Off-site copy** খুলুন। এই ঐচ্ছিক বৈশিষ্ট্যটি AWS S3 এবং অন্যান্য S3-সঙ্গতিপূর্ণ সেবার সাথে কাজ করে। এটি জার্নাল সেগমেন্ট, সংরক্ষিত ফটো ও ফাইল, চেকপয়েন্ট এবং তাদের টাইমস্ট্যাম্পযুক্ত প্রতিক্রিয়া, এবং সম্পন্ন চ্যাট এক্সপোর্টগুলো অনুলিপি করে। আপলোডের আগে প্রতিটি অবজেক্ট কালেক্টরে `AES-256-GCM` দিয়ে এনক্রিপ্ট করা হয়।

অনলাইন ডেমোতে আপলোড অক্ষম করে একই নিয়ন্ত্রণগুলি দেখানো হয়েছে। স্টোরেজ ক্রেডেনশিয়াল শুধুমাত্র আপনার নিজস্ব চলমান ওয়ার্কস্পেসেই প্রবেশ করুন।

[![সম্পূর্ণ অফ-সাইট কপি প্যানেল: এন্ডপয়েন্ট, অঞ্চল, বাকেট, অ্যাক্সেস কী, সময়সূচি, অবজেক্ট লক এবং রিকভারি কী নিয়ন্ত্রণসমূহ](https://phishdestroy.github.io/TgWitness/assets/off-site-copy.png)](https://phishdestroy.github.io/TgWitness/assets/off-site-copy.png)

উন্নত বিকল্পসহ সম্পূর্ণ প্যানেল প্রসারিত। কোনো স্টোরেজ শংসাপত্র দেখানো নেই।

| ক্ষেত্র | কি লিখতে হবে |
| --- | --- |
| শেষবিন্দু | স্টোরেজ সার্ভিস URL, কোনো বকেট পাথ বা ক্রেডেনশিয়াল ছাড়া। কাল্পনিক উদাহরণ: `https://s3.example.invalid` |
| অঞ্চল | আপনার প্রদানকারীর প্রয়োজনীয় অঞ্চল। অ্যাপ্লিকেশনের ডিফল্ট হল `us-east-1`। |
| বালতি | একটি বিদ্যমান বাকেট যা আপনি অ্যাক্সেস করতে পারেন। কাল্পনিক উদাহরণ: `example-case-backup` |
| বাকেট-এ ফোল্ডার | অবজেক্টের প্রিফিক্স; ডিফল্ট `tgwitness`। অ্যাপ্লিকেশনটি এই ওয়ার্কস্পেসের স্বাক্ষর-কী ফিঙ্গারপ্রিন্ট থেকে প্রাপ্ত একটি প্রিফিক্স সংযুক্ত করে। |
| অ্যাক্সেস কী আইডি / গোপন অ্যাক্সেস কী | উভয় স্টোরেজ শংসাপত্র একসঙ্গে প্রবেশ করান। এগুলো ওয়ার্কস্পেস ভল্টে সংরক্ষিত হয়। পরবর্তীতে সেভ করার সময় উভয়ই খালি রাখুন যাতে সংরক্ষিত যুগল অক্ষুণ্ণ থাকে। |
| পাথ-স্টাইল ঠিকানা | প্রদানকারীর নির্দেশনা অনুযায়ী, সক্ষম থাকলে `endpoint/bucket` ব্যবহার করুন, অথবা অক্ষম থাকলে `bucket.endpoint` ব্যবহার করুন। |
| কপি ইন্টারভাল | ১ থেকে ১,৪৪০ মিনিট; ডিফল্ট ৫ মিনিট। নির্ধারিত কপিগুলির জন্য অ্যাপ্লিকেশনটি চলমান থাকতে হবে। |
| অবজেক্ট লক ধরে রাখা | অবজেক্ট লক সমর্থনকারী একটি বকেট-এর রিটেনশন দিন এবং মোড। শূন্য দিন বকেট-এর ডিফল্ট রিটেনশন কার্যকর রাখে। |

1. গন্তব্য এবং শংসাপত্রগুলি প্রবেশ করান। প্রস্তুতি চলাকালীন অফ-সাইট কপি আনচেকড রেখে দিন, তারপর 'অফ-সাইট কপি সংরক্ষণ করুন' নির্বাচন করুন।
2. টেস্ট সংযোগ নির্বাচন করুন। এটি একটি এনক্রিপ্ট করা টেস্ট অবজেক্ট আপলোড করে এবং স্টোরেজ প্রতিক্রিয়া পরীক্ষা করে।
3. **ডাউনলোড এনক্রিপশন কী** নির্বাচন করুন। সেই ফাইলটি কালেক্টরের থেকে আলাদাভাবে রাখুন; পুনরুদ্ধারের জন্য এটি প্রয়োজনীয়।
4. **'অফ-সাইটে কপি রাখুন**' চেকবক্সটি সক্রিয় করুন এবং আবার সংরক্ষণ করুন। ম্যানুয়াল পাস করার জন্য **'এখনই কপি করুন'** নির্বাচন করুন, অথবা সময়সূচি চলতে দিন।

**করে না** এটি একটি স্টোরেজ বাকেট তৈরি করে না। নির্ধারিত আপলোডগুলি অ্যাপ্লিকেশন বন্ধ হলে থেমে যায়।

## রিটেনশন এবং কপির অগ্রগতি পরীক্ষা করুন

**More options**-এ, retention days এবং Object Lock-এর জন্য `GOVERNANCE` অথবা `COMPLIANCE` নির্বাচন করুন যখন আপনার bucket Object Lock সমর্থন করে। TgWitness আপলোডকৃত object-এর retention mode এবং deadline পুনরায় পড়ে। status report নিশ্চিতকরণ, retention অনুপস্থিতি বা চেক ব্যর্থতা রিপোর্ট করে; শুধুমাত্র সফল upload retention নিশ্চিত করে না।

প্যানেলটি শেষ পাস, অবজেক্টের সংখ্যা, স্থানান্তরিত বাইট, অনুলিপি করা জার্নাল সীমানা এবং কোনো ত্রুটি রিপোর্ট করে। অনুপস্থিত বা পরিবর্তিত স্থানীয় মিডিয়া রিপোর্ট করা হয় এবং পরবর্তী পাসে পুনরায় চেষ্টা করা হয়। সেই মিডিয়ার পর ফাইল, চেকপয়েন্ট এবং সারিতে থাকা রপ্তানিগুলি এখনও অনুলিপি করা যেতে পারে।

আপলোডগুলি ওয়ার্কস্পেসের Direct, SOCKS5 বা HTTP রুট ব্যবহার করে। MTProxy-এর মাধ্যমে S3 কপি করা যায় না; অ্যাপ্লিকেশনটি সরাসরি সংযোগে ফিরে যায় না।

**করে না** এটি কোনো প্রদানকারীকে শুধুমাত্র আপলোড গ্রহণ করা হয়েছে বলে অবজেক্ট লক প্রয়োগ করতে বাধ্য করে না।

## রিকভারি কীটি আলাদাভাবে রাখুন।

ডাউনলোডকৃত JSON-এ ডিক্রিপশন কী, গন্তব্য সেটিংস, ওয়ার্কস্পেস অবজেক্ট প্রিফিক্স এবং স্বাক্ষর-কী ফিঙ্গারপ্রিন্ট রয়েছে। এতে S3 অ্যাক্সেস ক্রেডেনশিয়ালসমূহ নেই: পুনরুদ্ধারের জন্য বাকেট-এ রিড অ্যাক্সেস সহ পৃথক ক্রেডেনশিয়াল প্রয়োজন।

যদি আপনি এন্ডপয়েন্ট, বাকেট বা ফোল্ডার প্রিফিক্স পরিবর্তন করেন, তাহলে গন্তব্য সেটিংসের সাথে মিল রাখতে কী ফাইলটি আবার ডাউনলোড করুন। অ্যাপ্লিকেশনটি নতুন গন্তব্যে স্থানীয়ভাবে সংরক্ষিত জার্নাল, ফাইল এবং চেকপয়েন্টের একটি নতুন অনুলিপি শুরু করে। স্থানীয় আপলোড কুই থেকে ইতিমধ্যেই সরানো সম্পন্ন চ্যাট এক্সপোর্টগুলো তাদের পূর্ববর্তী গন্তব্যেই থাকে।

**করে না।** রপ্তানি করা কী ছাড়া এটি অনুলিপি ডিক্রিপ্ট করে না। স্টোরেজ অ্যাক্সেস ক্রেডেনশিয়াল সেই কী-এর বিকল্প হতে পারে না।

## অন্য একটি মেশিনে পুনরুদ্ধার করুন এবং যাচাই করুন।

TgWitness-এর একটি বিশ্বাসযোগ্য ইনস্টলেশন, ডাউনলোডকৃত কী JSON, পড়ার অ্যাক্সেসসহ স্টোরেজ ক্রেডেনশিয়াল এবং একটি খালি আউটপুট ডিরেক্টরি ব্যবহার করুন। নিচের কাল্পনিক ক্রেডেনশিয়াল প্লেসহোল্ডারগুলো প্রতিস্থাপন করুন।

### উইন্ডোজ পাওয়ারশেল

```
$env:TGWITNESS_S3_ACCESS_KEY = 'YOUR_READ_ACCESS_KEY'
$env:TGWITNESS_S3_SECRET_KEY = 'YOUR_READ_SECRET_KEY'
python -m tgwitness.replica restore --key-file tgwitness-replica-key.json --out restored-evidence
```

### লিনাক্স / ম্যাকওএস

```
export TGWITNESS_S3_ACCESS_KEY='YOUR_READ_ACCESS_KEY'
export TGWITNESS_S3_SECRET_KEY='YOUR_READ_SECRET_KEY'
python -m tgwitness.replica restore --key-file tgwitness-replica-key.json --out restored-evidence
```

ডাউনলোড এবং ডিক্রিপ্ট করা অবজেক্টগুলো ব্যক্তিগত অস্থায়ী স্টোরেজে থাকে যতক্ষণ না সম্পূর্ণ জার্নাল, সংরক্ষিত চেকপয়েন্ট এবং সংরক্ষিত মিডিয়া হ্যাশ ও আকার যাচাই করা হয়। অসুরক্ষিত পথ, দ্বন্দ্বপূর্ণ জার্নাল সেগমেন্ট এবং চেকপয়েন্টের চেয়ে ছোট জার্নাল প্রত্যাখ্যাত হয়। ব্যর্থ যাচাইকরণ কোনো পুনরুদ্ধারকৃত ফাইল প্রকাশ করে না।

সফল পুনরুদ্ধার কপিতে উপলব্ধ উপাদানের জন্য `events.jsonl`, `media/`, `checkpoints/` এবং `exports/` তৈরি করে। পুনরুদ্ধারকৃত উপাদানের সাথে কমান্ডের JSON ফলাফল রাখুন।

করে না: এটি সেই পর্যবেক্ষণগুলি পুনর্গঠন করে না যা কখনোই জার্নালে পৌঁছায়নি, বা স্বতন্ত্রভাবে সংরক্ষিত চেকপয়েন্ট বা সাক্ষীকে প্রতিস্থাপন করে না।
