# صادرات و تأیید

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

یک سند امضا شده را به اشتراک بگذارید تا شخص دیگری بتواند آن را بررسی کند.

نگهداری یک مرجعخروجی ZIP امضا شدهگیرنده تأیید می‌کند

با امضاها و نقاط کنترل جدید هستید؟ [یک رکورد نمونه را تغییر دهید](https://phishdestroy.github.io/TgWitness/fa/docs/concepts/#chain) و ببینید کدام بررسی‌ها آن را شناسایی می‌کنند.

نگهداری نسخهٔ پشتیبان دور از دستگاه جمع‌آوری‌کننده؟ به [تنظیمات S3](https://phishdestroy.github.io/TgWitness/fa/docs/exports/#s3)، [Object Lock](https://phishdestroy.github.io/TgWitness/fa/docs/exports/#s3-retention) یا [بازیابی تأییدشده](https://phishdestroy.github.io/TgWitness/fa/docs/exports/#s3-restore) بروید.

## یک مرجع قابل اعتماد را حفظ کنید

اثر انگشت کلید عمومی فضای کاری را خارج از جمع‌آورنده ذخیره کنید. در حین جمع‌آوری، نقاط کنترل امضا شده را در جای دیگری نگه دارید یا از [شاهد مستقل](https://phishdestroy.github.io/TgWitness/fa/docs/witness/) استفاده کنید. این مراجع به دریافت‌کننده اجازه می‌دهند تا کلید و مرز قبلی دفترچه را بررسی کند.

## فایل ZIP امضا شده را دانلود کنید

**صادرات را** باز کنید و یک فایل ZIP مدرک امضا‌شده ایجاد کنید. این شامل دفتر کار (workspace journal) و یک فهرست فایل امضا‌شده است. فیلترهای پنل این صادرات کامل دفترچه را محدود نمی‌کنند: پیش از اشتراک‌گذاری، محتوا را بررسی کنید.

دانلودهای مستقل 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

در فضای کاری در حال اجرا، **«صادرات ← کپی خارج از محل**» را باز کنید. این قابلیت اختیاری با 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` استفاده کنید. |
| کپی فاصله زمانی | از ۱ تا ۱٬۴۴۰ دقیقه؛ پیش‌فرض ۵ دقیقه. برای نسخه‌برداری‌های زمان‌بندی‌شده، برنامه باید در حال اجرا باشد. |
| نگهداری قفل اشیاء | روزهای نگهداری و حالت برای یک باکت که از Object Lock پشتیبانی می‌کند. صفر روز باعث می‌شود نگهداری پیش‌فرض باکت برقرار بماند. |

1. مقصد و اعتبارنامه‌ها را وارد کنید. هنگام آماده‌سازی، **گزینه «نگهداری نسخه خارج از محل» را** بدون انتخاب رها کنید، سپس **«ذخیره نسخه خارج از محل» را** انتخاب کنید.
2. **«آزمایش اتصال**» را انتخاب کنید. این یک شیء آزمایشی رمزگذاری‌شده را بارگذاری می‌کند و پاسخ ذخیره‌سازی را بررسی می‌کند.
3. **کلید رمزگذاری دانلود را** انتخاب کنید. آن فایل را جدا از فایل‌های جمع‌آوری‌شده نگه دارید؛ برای بازیابی لازم است.
4. تیک گزینه **«نگهداری نسخه خارج از محل»** را فعال کرده و دوباره ذخیره کنید. برای اجرای دستی، **«کپی اکنون»** را انتخاب کنید یا زمان‌بندی را به اجرا ادامه دهید.

**چه کاری انجام نمی‌دهد** این ابزار هیچ باکتی برای ذخیره‌سازی ایجاد نمی‌کند. بارگذاری‌های زمان‌بندی‌شده هنگام توقف برنامه متوقف می‌شوند.

## بررسی نگهداری و پیشرفت کپی

در بخش **«گزینه‌های بیشتر**»، تعداد روزهای نگهداری و `GOVERNANCE` یا `COMPLIANCE` را انتخاب کنید وقتی سطل شما از Object Lock پشتیبانی می‌کند. TgWitness حالت نگهداری و مهلت یک شیء بارگذاری‌شده را بازخوانی می‌کند. وضعیت‌ها تأیید، عدم نگهداری یا خطای بررسی را گزارش می‌کنند؛ تنها بارگذاری موفق به معنای تأیید نگهداری نیست.

پنل آخرین گذر، تعداد اشیاء، بایت‌های منتقل‌شده، مرز دفترچهٔ کپی‌شده و هرگونه خطا را گزارش می‌کند. رسانه‌های محلی گم‌شده یا تغییر‌یافته گزارش شده و در گذر بعدی دوباره تلاش می‌شوند. فایل‌ها، نقاط کنترل و خروجی‌های صف‌گذاری‌شده پس از آن رسانه همچنان قابل کپی هستند.

بارگذاری‌ها از مسیر Direct، SOCKS5 یا HTTP فضای کاری استفاده می‌کنند. کپی‌برداری از S3 از طریق MTProxy امکان‌پذیر نیست؛ برنامه به اتصال مستقیم بازنمی‌گردد.

**چه کاری انجام نمی‌دهد** این باعث نمی‌شود که ارائه‌دهنده صرفاً به دلیل پذیرش بارگذاری، Object Lock را اعمال کند.

## کلید بازیابی را جداگانه نگه دارید

فایل JSON دانلودشده شامل کلید رمزگشایی، تنظیمات مقصد، پیش‌وند شیء فضای کاری و اثر انگشت کلید امضا است. این فایل شامل اعتبارنامه‌های دسترسی S3 نیست: بازیابی نیازمند اعتبارنامه‌های جداگانه‌ای با دسترسی خواندن به باکت است.

اگر endpoint، bucket یا پیشوند پوشه را تغییر دهید، فایل کلید را دوباره دانلود کنید تا تنظیمات مقصد با آن مطابقت داشته باشد. برنامه یک نسخه جدید از دفترچه یادداشت، فایل‌ها و نقاط کنترل ذخیره شده محلی را در مقصد جدید راه‌اندازی می‌کند. خروجی‌های چت کامل که قبلاً از صف بارگذاری محلی حذف شده‌اند، در مقصد قبلی خود باقی می‌مانند.

**چه کاری انجام نمی‌دهد** این ابزار بدون کلید صادرشده، متن کپی‌شده را رمزگشایی نمی‌کند. اعتبارنامه‌های دسترسی به حافظه نمی‌توانند جایگزین آن کلید شوند.

## بازیابی و تأیید روی دستگاه دیگر

از یک نصب معتبر 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 دستور را همراه با متن بازیابی‌شده نگه دارید.

**چه کاری انجام نمی‌دهد** این ابزار مشاهداتی را که هرگز به دفترچه نرسیده‌اند بازسازی نمی‌کند و جایگزین هیچ نقطهٔ کنترل یا شاهد مستقلی نمی‌شود.
