# روندها و عملیات‌ها

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

عملیات روزانه پنل: حالت‌ها، دسته‌بندی‌های نظارت، پارامترها، اعلان‌ها، خروجی‌ها، پشتیبان‌گیری و ظرفیت.

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

## روند کاری اپراتور

نمودار جریان · انتخاب ذخیره‌سازی و حفاظت از کلید → پنل را با توکن مربوطه باز کنید; پنل را با توکن مربوطه باز کنید → یک فضای کاری را انتخاب کنید; یک فضای کاری را انتخاب کنید → راه‌اندازی مسیر مستقیم یا پروکسی; راه‌اندازی مسیر مستقیم یا پروکسی → شماره تلفن را وارد کنید یا فایل‌ها/QR را انتخاب کنید; شماره تلفن را وارد کنید یا فایل‌ها/QR را انتخاب کنید → هویت حساب کاربری را بررسی کرده و گروه‌های قابل دسترسی را انتخاب کنید; هویت حساب کاربری را بررسی کرده و گروه‌های قابل دسترسی را انتخاب کنید → سیاست‌های ذخیره‌سازی رویداد و پیوست را ذخیره کنید، سپس مشاهده را آغاز کنید; سیاست‌های ذخیره‌سازی رویداد و پیوست را ذخیره کنید، سپس مشاهده را آغاز کنید → نظارت بر خطاها، دسترسی، صف‌ها و دیسک; نظارت بر خطاها، دسترسی، صف‌ها و دیسک → نگهداری نقاط کنترل مستقل; نگهداری نقاط کنترل مستقل → صادرات و تأیید محتوا · انتخاب ذخیره‌سازی وحفاظت از کلید · پنل را با توکن مربوطهباز کنید · یک فضای کاری را انتخابکنید · راه‌اندازی مسیر مستقیمیا پروکسی · شماره تلفن را واردکنید یا فایل‌ها/QR راانتخاب کنید · هویت حساب کاربری رابررسی کرده و گروه‌هایقابل دسترسی را انتخابکنید · سیاست‌های ذخیره‌سازیرویداد و پیوست راذخیره کنید، سپس مشاهدهرا آغاز کنید · نظارت بر خطاها،دسترسی، صف‌ها و دیسک · نگهداری نقاط کنترلمستقل · صادرات و تأیید محتوا

**نمودار به صورت متن**

1. انتخاب ذخیره‌سازی و حفاظت از کلید → پنل را با توکن مربوطه باز کنید
2. پنل را با توکن مربوطه باز کنید → یک فضای کاری را انتخاب کنید
3. یک فضای کاری را انتخاب کنید → راه‌اندازی مسیر مستقیم یا پروکسی
4. راه‌اندازی مسیر مستقیم یا پروکسی → شماره تلفن را وارد کنید یا فایل‌ها/QR را انتخاب کنید
5. شماره تلفن را وارد کنید یا فایل‌ها/QR را انتخاب کنید → هویت حساب کاربری را بررسی کرده و گروه‌های قابل دسترسی را انتخاب کنید
6. هویت حساب کاربری را بررسی کرده و گروه‌های قابل دسترسی را انتخاب کنید → سیاست‌های ذخیره‌سازی رویداد و پیوست را ذخیره کنید، سپس مشاهده را آغاز کنید
7. سیاست‌های ذخیره‌سازی رویداد و پیوست را ذخیره کنید، سپس مشاهده را آغاز کنید → نظارت بر خطاها، دسترسی، صف‌ها و دیسک
8. نظارت بر خطاها، دسترسی، صف‌ها و دیسک → نگهداری نقاط کنترل مستقل
9. نگهداری نقاط کنترل مستقل → صادرات و تأیید محتوا

مجازی‌سازی، اتصال حمل‌ونقل، دسترسی به گروه و کامل بودن تحویل، ویژگی‌های متفاوتی هستند. وضعیت اتصال سبز به این معنا نیست که همه رویدادها ضبط شده‌اند.

## اشتراک‌گذاری کار بدون اشتراک‌گذاری کلید اصلی

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

برای قطع یک اتصال یا لغو دسترسی، از **Open sessions** برای پایان دادن به تمام جلسات آن استفاده کنید. کنسول مدیر، فعالیت‌های فرآیند جاری را در سراسر فضاهای کاری ترکیب می‌کند. بستن جلسه، روند جمع‌آوری را متوقف نمی‌کند.

## حالت‌های اجرا

| حالت | اقدام | رفتار |
| --- | --- | --- |
| دمو | scripts\Demo.cmd یا `--demo` | داده‌های ساختگی؛ ارتباطات حساب‌های واقعی غیرفعال شده |
| مشاهده | شروع مشاهده | ثبت به‌روزرسانی‌های ارائه‌شده برای منابع منتخب |
| لحظه‌نگاری تاریخچه | منابع → نمای کلی تاریخچه | حداکثر ۵۰۰ پیام فعلی؛ بدون بازسازی تمام تغییرات گذشته |
| وقفه | مراقبه را متوقف کنید | متوقف کردن جمع‌آوری در حالی که داده‌ها و کارهای صف‌شده حفظ می‌شوند |
| بازبینی/واگذاری | صادرات | ZIP، JSONL/CSV/HTML، نقطهٔ کنترل، رسید فرایند و درخواست مهر زمانی |
| حساب‌های متعدد | فضاهای کاری یا دکمهٔ بالای **+** | هر تعداد فضای کاری مجزا در یک فرایند |

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

## دسته‌بندی‌های نظارت

![تنظیمات نظارت بر هر حساب با داده‌های منبع مصنوعی](https://phishdestroy.github.io/TgWitness/assets/sources.png)

در **بخش منابع → تنظیمات ضبط، با انتخاب «انتخاب تغییرات قابل نگهداری**»، می‌توانید پیام‌های جدید، ویرایش‌ها، اعلان‌های حذف، به‌روزرسانی‌های واکنش و رویدادهای عضویت را به‌طور مستقل انتخاب کنید. حالت پیش‌فرض همه دسته‌بندی‌ها را حفظ می‌کند. گزینه **«پیام‌ها، ویرایش‌ها و حذف‌ها**» متن اصلی را حفظ می‌کند، در حالی که به‌روزرسانی‌های جداگانه واکنش و عضویت را غیرفعال می‌سازد. **«تمام فعالیت‌های قابل مشاهده**» هر پنج مورد را بازیابی می‌کند. پیش‌تنظیمات فرم را تغییر می‌دهند؛ برای اعمال، روی **«ذخیره تنظیمات نظارت»** ضربه بزنید.

سیاست ذخیره شده برای تمام منابع انتخاب‌شده در آن فضای کاری اعمال می‌شود. سایر فضاهای کاری تنظیمات خاص خود را حفظ می‌کنند. هر تغییر واقعی، مقادیر امضا شده قبل و بعد را ثبت می‌کند؛ سیاست فعلی نیز در رسیدهای فرآیند و سوابق شروع مشاهده گنجانده می‌شود. غیرفعال کردن یک دسته‌بندی، مشاهدات قبلی را حذف نمی‌کند. فعال کردن مجدد، تغییرات از دست رفته را بازیابی نمی‌کند. در این نسخه، امکان اولویت‌دهی دسته‌بندی بر اساس گروه وجود ندارد.

وقتی محتوای قبلی اهمیت دارد، ثبت پیام‌های جدید را فعال نگه دارید: اعلان حذف نمی‌تواند متنی را که هرگز ثبت نشده است بازیابی کند. سوابق عملیاتی/پوشش و سایر رویدادهای خدمات گروهی همیشه حفظ می‌شوند. اسکرین‌شات‌های صریح تاریخچه از انتخاب دسته‌بندی زنده جدا هستند و ممکن است شامل پیام‌های خدماتی باشند. این سوئیچ‌ها، متادیتای واکنش/عضو را که در یک شیء تلگرام ضبط‌شده دیگر نهفته است، سانسور نمی‌کنند.

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

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

حذف یک فضای کاری اضافی، گردآورنده آن را متوقف کرده و داده‌های محلی آن را حذف می‌کند. اگر یک خطای فایل قفل شده یا سیستم فایل، فرآیند حذف را قطع کند، پنل این خطا را گزارش داده و فضای کاری را همچنان به عنوان «در دسترس نیست» (`DeletionPending`) فهرست می‌کند. برنامه‌هایی را که فایل‌های آن را در اختیار دارند ببندید و **عملیات حذف را** دوباره امتحان کنید. راه‌اندازی مجدد TgWitness، آن فضای کاری را متوقف‌شده باقی می‌گذارد و دفترچه یادداشت یا کلیدهای نیمه‌حذف‌شده آن را بازسازی نمی‌کند. حذف موفقیت‌آمیز تنها پس از حذف دایرکتوری ثبت می‌شود؛ نسخه‌های صادرشده یا پشتیبان‌گیری‌شده جداگانه تحت سیاست نگهداری خود باقی می‌مانند.

## اخطاریه‌ها

**منابع → اعلان‌ها → هشدارها و یک خلاصه روزانه**. TgWitness از Apprise برای ارسال هشدارها به Matrix، تلگرام، دیسکورد، اسلک، ntfy، ایمیل و سایر سرویس‌های پشتیبانی‌شده استفاده می‌کند. شما می‌توانید چندین مقصد را به یک فضای کاری اضافه کنید.

1. در هر خط یک URL مقصد Apprise را وارد کنید. از [کاتالوگ سرویس و فرمت‌های URL](https://appriseit.com/services/) برای سرویس خود استفاده کنید.
2. گزینه **«ارسال اعلان‌ها»** را فعال کنید، سپس هشدارهای مشکل، تغییرات در چت‌های مشاهده‌شده و یک خلاصه روزانه را انتخاب کنید. ساعت خلاصه بر اساس زمان سرور است.
3. اگر می‌خواهید متن ذخیره شده از پیام‌های حذف‌شده و ویرایش‌شده در هشدارها نمایش داده شود، گزینه «**شامل گزیده‌های کوتاه**» را فعال کنید.
4. روی **«ذخیره اعلان‌ها»** کلیک کنید، سپس **«ارسال آزمایشی» را** برای بررسی تحویل ارسال کنید.

برای گیرنده خودتان، از [وب‌هوک JSON](https://appriseit.com/services/json/) اپرایز استفاده کنید. برای مثال، `jsons://notify.example.org/tgwitness` JSON را از طریق HTTPS به آن نقطه پایانی ارسال می‌کند. این یک مثال فرضی است؛ آن را با مقصد خود جایگزین کنید.

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

در نسخه نمایشی، کنترل‌های اعلان قابل مشاهده هستند اما ارسال غیرفعال است. تحویل را در یک فضای کاری واقعی پیکربندی کنید. اعلان‌ها از مسیر مستقیم، SOCKS5 یا HTTP آن فضای کاری استفاده می‌کنند؛ MTProxy قادر به انتقال آن‌ها نیست. مقاصد غیر HTTP مانند SMTP به یک مسیر مستقیم نیاز دارند.

## چیدمان پنل

![فضای کاری اتصال با استفاده از داده‌های مصنوعی](https://phishdestroy.github.io/TgWitness/assets/connection.png)

**ژورنال** مشاهدات، جستجو و فیلترها را نشان می‌دهد. ویرایش، نسخه‌های ضبط‌شده را باز می‌کند؛ حذف، در صورت موجود بودن، محتوای قبلی را باز می‌کند. انتساب ناشناخته صراحتاً مشخص باقی می‌ماند. شمارش‌ها در **بخش «نمای کلی»** موجود هستند؛ جزئیات به‌دست‌آوردن در راهنمای محلی باقی می‌ماند.

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

وضعیت **Live** با رسیدن رکوردها، گزارش وقایع و گفتگوها را به‌روزرسانی می‌کند. هنگام بررسی آن را متوقف کنید، یا زمانی که آماده بودید از دکمهٔ رویدادهای جدید استفاده کنید؛ گردآوری داده‌ها همچنان ادامه می‌یابد. میانبر **Ctrl/Cmd+K** اقدامات پنل را پیدا کرده و در گزارش وقایع جستجو می‌کند.

**منابع** شامل دامنه مشاهده (گفت‌وگوهای انتخاب‌شده، یک پوشه تلگرام یا کل حساب)، گفت‌وگوهای قابل دسترسی از هر نوع، منابع منتخب با ستاره‌های اولویت‌بندی، تنظیمات پیوست و بازبینی مجدد و نمایه‌های تاریخچه هستند. منابع خصوصی با دیالوگ/ID بدون لینک عمومی انتخاب می‌شوند. وضعیت دسترسی، جدیدترین بررسی را توصیف می‌کند، نه مجوزهای دائمی.

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

**چت‌ها → افراد،** همه کسانی را که پیام‌های ذخیره‌شده دارند فهرست می‌کند؛ با فعال بودن پروفایل افراد برای چت، یک کلیک پروفایل آن شخص را با لینک‌هایی به سوابق دفترچه یادداشت باز می‌کند.

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

**پارامترها** تمام محدودیت‌ها و سرعت‌های فضای کاری را که در صفحه دیگری قرار ندارند، در خود جای می‌دهند: چند دیالوگ خوانده می‌شود، لیست چت‌ها هر چند وقت یک‌بار دوباره خوانده می‌شود، فواصل زمانی تپش قلب و نقطه‌کنترل، بافر راه‌اندازی، نحوه پخش درخواست‌های بازپروژه (اولین تأخیر، چت‌ها در هر pass، مکث بین چت‌ها، پیام‌های بازیابی‌شده و مجدداً درخواست‌شده)، رزرو دیسک، زمان‌های اتمام صبر و تلاش‌های مجدد دانلودها، پروفایل افرادی که جستجو می‌شوند (شامل عبارت‌های منظم خودتان)، اندازه و سرعت اعلان‌ها، محدودیت‌های اسنپ‌شات، زیپ و دانلود از مرورگر، و زمان‌های اتمام صبر و تلاش‌های مجدد کلاینت تلگرام. هر فیلد بازه و مقدار پیش‌فرض خود را نشان می‌دهد؛ فیلدهای تغییر یافته علامت‌گذاری شده و می‌توان آن‌ها را تک‌تک یا همگی با هم بازگرداند. هر تغییر به صورت `parameters.changed` به همراه مقادیر قبل و بعد از آن ثبت می‌شود، و سوابق شروع مشاهده، مقادیر اعمال شده را نام می‌برند. مقادیر از اولین استفاده بعدی اعمال می‌شوند؛ تایم‌اوت‌ها و تلاش‌های مجدد کلاینت از اتصال بعدی. بازه‌های بازبینی مجدد، انواع و اندازه‌های پیوست، شواهد و بازه‌های کپی خارج از سایت در صفحات مخصوص به خود باقی می‌مانند و می‌توانند هر مقداری را در بازه خود بپذیرند، نه فقط مقادیر از پیش تعیین‌شده.

زنگوله در نوار بالا، مشکلات و تغییرات اخیر در چت‌های مشاهده‌شده را فهرست می‌کند؛ پیام‌های نخوانده تا زمانی که به‌عنوان خوانده‌شده علامت‌گذاری نشوند، شمارش می‌شوند. تغییرات بر اساس هر چت و ساعت گروه‌بندی می‌شوند («۱۲ پیام حذف‌شده، ۱ پیام ویرایش‌شده، ۰ پیام یافت‌نشده») و مشکلاتی مانند خروج از سیستم یا پر شدن دیسک، صرف‌نظر از میزان شلوغی چت‌ها، در لیست باقی می‌مانند.

**بخش حساب کاربری** از فیلد شماره تلفن شروع می‌شود. **ادامه دادن** مستقیماً به وارد کردن کد می‌انجامد و فقط در صورت عدم وجود، برای ورود اطلاعات اعتبارنامه API درخواست می‌کند. تب‌های وارد کردن کد QR و فایل، گزینه‌های جایگزین هستند. اعتبارنامه‌های API ذخیره شده فقط در فضای کاری خود قابل استفاده مجدد هستند. صفحه ورود، نوار کناری، آمار یا بخش‌های راه‌اندازی ندارد. آیکون تنظیمات، کنترل‌های API، پروکسی، ذخیره‌سازی و حساب‌های اضافی را باز می‌کند. نصب‌های جدید از اینجا شروع می‌شوند؛ حساب‌های متصل بدون منابع انتخاب‌شده از صفحه **«انتخاب چت‌ها**» شروع می‌شوند. تغییر مسیر نیازمند توقف مشاهده است و ورود ناکامل را لغو می‌کند. یک ژورنال موجود را نمی‌توان بی‌سروصدا به حساب تلگرام دیگری پیوند داد.

**عملیات خروجی،** یکپارچگی دفترچه را بررسی کرده و فایل‌های قابل حمل تولید می‌کند. شناسه فضای کاری آن را می‌توان به خط فرمان دانلود (CLI) ارسال کرد. هر عملیات خروجی یک پیش‌وند کامل برای دفترچه ثبت می‌کند؛ رویدادهای بعدی در یک عملیات خروجی بعدی وارد می‌شوند. فیلترهای جستجو، دامنه بسته را تغییر نمی‌دهند. اطلاعات دقیق امضا و پوشش در بخش **«تأیید و محدودیت‌ها»** موجود است.

پنل، وضعیت کلکتور، رسانه‌های صف‌شده/ناموفق، قدیمی‌ترین رسانه در انتظار، فضای آزاد دیسک، مکث‌های درخواست و منابعی را که دسترسی‌شان تأیید نشده است، تحت عنوان **«وضعیت سلامت کلکتور»** گزارش می‌دهد. این جزئیات در ابتدا جمع‌شده و در بخش «حساب» پنهان هستند. یک کارت تنظیمات، گام بعدی را نشان می‌دهد: اتصال یک حساب، انتخاب منابع یا شروع مشاهده. فهرست حساب‌ها یک نمای مقطعی در زمان بارگذاری است؛ فضای کاری انتخاب‌شده به‌طور دوره‌ای تازه‌سازی می‌شود. این یک مانیتور SLA چندفرآیندی نیست.

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

## محیط‌های استقرار

| محیط | نصب | وضعیت تأیید |
| --- | --- | --- |
| رایانهٔ رومیزی/سرور ویندوز | پایتون ۳.۱۱+، scripts\Setup.cmd/Start.cmd، دایرکتوری داده‌های خصوصی | محلی بررسی‌شده روی ویندوز/پایتون ۳.۱۲ |
| سرور لینوکس/VPS | محیط مجازی پایتون (venv)، کاربر سرویس اختصاصی، HTTPS/SSH | نمونهٔ کد، CI و systemd ارائه شده؛ روی این میزبان اجرا نشده است |
| macOS | محیط مجازی پایتون (venv)، فرآیند پیش‌زمینه یا عامل کاربر | نمونه‌ای از launchd ارائه شده؛ نیاز به بررسی نصب جداگانه دارد |
| داکر/کامپوز | حجم پایدار، یک کارگر | تعریف و بررسی زمان اجرای CI ارائه شده؛ Docker به‌صورت محلی در دسترس نیست |
| مرورگر تلفن | اتصال به پنل محافظت‌شده روی یک سرور در حال اجرا | قالب باریک کرومیم آزمایش شده؛ جمع‌آورنده روی iOS/Android اجرا نمی‌شود |

قابلیت حمل به این معنی است که هیچ سرویس ابری اجباری یا ساخت فرانت‌اند لازم نیست. هر هدف همچنان به وابستگی‌های سازگار پایتون/رمزنگاری، دسترسی به درایو محلی و شبکه نیاز دارد. به [DEPLOYMENT.md](https://phishdestroy.github.io/TgWitness/fa/docs/reference/deployment/) و [قالب‌های سرویس](https://github.com/phishdestroy/TgWitness/blob/main/deploy/README.md) مراجعه کنید.

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

## بررسی‌ها و خروجی‌های استارتاپ

قبل از راه‌اندازی یک محیط آماده، دستور `python start.py --check` را اجرا کنید. برای بررسی‌های قابل خواندن توسط ماشین، `--json` را اضافه کنید یا مقادیر `--data-dir`، `--host` و `--port` مورد نظر را ارسال کنید. این دستور، بدون نیاز به ورود به تلگرام یا ایجاد یک ژورنال، پیش‌نیازها را بررسی می‌کند. این دستور، ژورنال را تأیید اعتبار نمی‌کند و آمادگی برای ضبط را اثبات نمی‌کند؛ تأیید اعتبار ژورنال در حین راه‌اندازی برنامه انجام می‌شود. یک پورت اشغالی ممکن است صرفاً یک نمونه موجود باشد.

مرورگرهایی که از API دسترسی به سیستم فایل پشتیبانی می‌کنند، خروجی‌ها را از طریق یک جریان قابل نوشتن ذخیره می‌کنند. سایر مرورگرها حداکثر ۱۲۸ مگابایت بافر می‌کنند. برای خروجی‌های بزرگ‌تر یا مرورگرهایی که فاقد پخش فایل هستند، از CLI پخش استفاده کنید:

```
python -m tgwitness.download --token-file data/live/panel-token.txt --out evidence.zip
```

برای یک فضای کاری فرزند، `--profile ID` را از خروجی‌ها اضافه کنید. برای دسترسی از راه دور از `--url https://server` استفاده کنید. HTTP ساده فقط برای مقاصد لوپ‌بک پذیرفته می‌شود. توکن از یک فایل خوانده شده و در یک هدر ارسال می‌شود، نه اینکه چاپ شود یا در URL قرار گیرد. هدایت‌ها رد می‌شوند. مقاصد موجود بازنویسی نمی‌شوند. انتقالات ناموفق، فایل موقت بخش خود را حذف می‌کنند. SHA-256 گزارش‌شده یک چک‌سام انتقال است؛ فایل ZIP امضا شده را به‌طور جداگانه با یک اثر انگشت/نقطه کنترل مورد اعتماد تأیید کنید.

## پشتیبان‌گیری، بازیابی و وقفه‌ها

1. مشاهده را متوقف کرده و فرایند را به‌طور تمیز متوقف کنید.
2. کل دایرکتوری داده را کپی کنید: پایگاه‌های داده، WAL/SHM در صورت وجود، رسانه، `credentials.enc`، `signing.enc`، `network.enc`، کلیدها/متادیتای گاوصندوق، توکن، نقاط کنترل و هر دایرکتوری `profiles/`.
3. برای حالت کلید خارجی، کلید اصلی را به‌طور جداگانه حفظ کرده و هر `vault.external.json` را نگه دارید. تولید کلید جدید امکان بازیابی اسرار قدیمی را فراهم نمی‌کند.
4. حین توقف مقصد بازیابی کنید؛ کلید اصلی را پیکربندی کنید، دسترسی را محدود کنید و پیش از ازسرگیری، یکپارچگی را تأیید کنید.
5. ثبت زمان‌های از کار افتادگی و نتایج تأیید. یک نمای کلی از تاریخچه نمی‌تواند اثبات کند که هیچ حذفی در طول وقفه رخ نداده است.

فایل‌های فشرده Evidence شامل جلسات/کلیدهای خصوصی نیستند و پشتیبان‌گیری کامل سرویس نیستند. چهار مورد به شیوه‌ای متفاوت محافظت می‌شوند:

| چه | حفاظت |
| --- | --- |
| فایل‌های خروجی بدون رمز عبور (پیش‌فرض) | رمزگذاری نشده است. امضا شده است، بنابراین تغییرات قابل تشخیص هستند، اما هر کسی که فایل را در اختیار داشته باشد می‌تواند آن را بخواند. |
| فایل‌های خروجی با رمز عبور | اگر رمز عبور تعیین کنید، خروجی نهایی بدون تغییر در یک فایل ZIP با رمزگذاری AES-256 WinZip ذخیره می‌شود که توسط 7-Zip و WinRAR باز می‌شود؛ رمز عبور ذخیره نمی‌شود ([مدیریت شواهد](https://phishdestroy.github.io/TgWitness/fa/docs/reference/evidence/)) |
| پایگاه دادهٔ ژورنال و پیوست‌های ذخیره‌شده روی دیسک | توسط TgWitness رمزگذاری نشده است؛ از دیسک یا حجم رمزگذاری‌شده استفاده کنید |
| جلسات تلگرام و کلیدهای امضا | رمزگذاری‌شده در دایرکتوری داده‌ها (`credentials.enc`، `signing.enc`، `network.enc`) |

یک پشتیبان‌گیری کامل سرویس، همان دایرکتوری داده‌های متوقف‌شده‌ای است که در بالا توضیح داده شد، نه یک خروجی (export). برای هر دو از ذخیره‌سازی محافظت‌شده و یک مکانیزم انتقال سنجیده استفاده کنید. خروجی‌های موقت سرور در `temporary-exports/` هر فضای کاری قرار دارند؛ پاسخ‌های تکمیل‌شده پاک می‌شوند و فایل‌های خروجی قطع‌شده هنگام راه‌اندازی بعدی، در حالی که قفل نمونه آن فضای کاری فعال است، حذف می‌گردند.

رویداد بازیابی اتصال، بازیابی تغییرات میانی را تضمین نمی‌کند. وظایف رسانه‌ای پایدار و موقعیت به‌روزرسانی تلگرام پس از راه‌اندازی مجدد باقی می‌مانند؛ به [فرمت شواهد](https://phishdestroy.github.io/TgWitness/fa/docs/reference/evidence/#durable-collection-and-process-receipts-02) مراجعه کنید.

## ظرفیت و نگهداری

محدودیت‌های پیش‌فرض، همگی قابل تغییر در **بخش پارامترها**: ۱۰۰۰ دیالوگ اول، ۵۰۰ پیام در هر اسنپ‌شات، ۴ گیگابایت محتوای فشرده‌نشده ZIP امضا شده (آرشیوهای بزرگ‌تر به `verify.py --max-gib N` نیاز دارند) و یک پشتیبان ۱۲۸ مگابایتی مرورگر. پیوست‌ها به ازای هر نوع در **بخش Sources → Attachments،** بین ۱ تا ۲٬۰۰۰ مگابایت (MiB) فضا اشغال می‌کنند. خط فرمان دانلود (CLI) به طور پیش‌فرض ۵ گیگابایت (GiB) انتقال داده را تنظیم می‌کند. فضای در دسترس دیسک می‌تواند محدودیت کمتری داشته باشد. فضایی را برای ژورنال‌ها، رسانه‌ها، WAL، خروجی‌های موقت و پشتیبان‌ها رزرو کنید. خروجی‌ها به جای `/tmp`، از حجم داده استفاده می‌کنند.

رویدادها در ثانیه، سن صف، بایت‌های رسانه و تأخیر دیسک را اندازه‌گیری کنید، نه صرفاً شمارش گروه‌ها. بنچمارک‌های محلی مصنوعی تحویل تلگرام را تضمین نمی‌کنند. هیچ حذف خودکار نگهداری‌شده‌ای وجود ندارد. حذف انتهای ژورنال، رابطه آن را با نقاط کنترل نگهداری‌شده باطل می‌کند.

بازبینی‌های اولویت‌دار از پیش وجود دارند: منابع ستاره‌دار به طور پیش‌فرض هر ۱۵ دقیقه یک‌بار بازبینی مجدد می‌شوند، سایر منابع هر ۶ ساعت یک‌بار (به [سطوح بازبینی مجدد](https://phishdestroy.github.io/TgWitness/fa/docs/reference/collection/#recheck-tiers) مراجعه کنید). خروجی‌های محافظت‌شده با رمز عبور همان‌طور که در بالا توضیح داده شد، وجود دارند. پذیرش زنده تلگرام/پراکسی، بازپخش پایدار، سوابق مدیر و نظرسنجی واکنش، کارگران ایزوله، رمزگذاری دفترچه محلی و رسانه‌ها توسط خود TgWitness و بازبینی مستقل، کارهای جداگانه‌ای باقی می‌مانند. دسترسی محدود در [بخش دسترسی‌ها و مجوزها](https://phishdestroy.github.io/TgWitness/fa/docs/reference/access/) مستندسازی شده است. به [فایل‌های READINESS.md](https://github.com/phishdestroy/TgWitness/blob/main/docs/internal/READINESS.md)، [LIVE_ACCEPTANCE.md](https://github.com/phishdestroy/TgWitness/blob/main/docs/internal/LIVE_ACCEPTANCE.md) و [VERIFICATION.md](https://phishdestroy.github.io/TgWitness/fa/docs/reference/verification/) مراجعه کنید.
