التوثيق / 07
التصدير والتحقق
شارك سجلاً موقّعًا يمكن لأي شخص آخر التحقق منه.
هل أنت جديد في مجال التوقيعات ونقاط الفحص؟ قم بتعديل سجل نموذجي وشاهد أي من عمليات الفحص تكتشفه.
هل تريد الاحتفاظ بنسخة بعيدًا عن الجهة التي تجمع البيانات؟ انتقل إلى إعدادات S3، أو «قفل الكائن» (Object Lock)، أو «الاسترداد المؤكد».
احتفظ بمصدر موثوق
احفظ بصمة المفتاح العام لمساحة العمل خارج أداة التجميع. أثناء عملية التجميع، احتفظ بنقاط التحقق الموقعة في مكان آخر أو استخدم شاهدًا مستقلًا. تتيح هذه المراجع للمستلم التحقق من المفتاح وحدود السجل السابقة.
تنزيل ملف ZIP الموقّع
افتح «التصدير» (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. احتفظ بنتيجة التحقق مع الأرشيف الأصلي. يجب أن تكون نقطة التحقق المحتفظ بها عند حدود التصدير أو قبلها.
فهم النتيجة
- النزاهة: يتطابق السجل المسجل والملفات المصدرة مع توقيعاتها.
- ملاحظة سابقة: تتيح لك نقطة التحقق الخارجية مقارنة الملف المُصدَّر ببادئة السجل التي تم الاحتفاظ بها مسبقًا.
- التنفيذ: اختبار مُحكَم لعمليات «الإرسال → التعديل → الحذف» يقارن أحداثًا محددة بالسجل الذي تم التقاطه.
لا يثبت التوقيع الصحيح وصول كل حدث على Telegram، أو أن المصدر قال الحقيقة، أو أن ساعة المُجمِّع كانت صحيحة.
إعداد نسخة خارجية على S3
في مساحة العمل الجارية، افتح «التصدير» → «نسخة خارج الموقع». تعمل هذه الميزة الاختيارية مع AWS S3 والخدمات الأخرى المتوافقة مع S3. وهي تنسخ مقاطع السجل، والصور والملفات المحفوظة، ونقاط التحقق مع استجاباتها ذات الطابع الزمني، وعمليات تصدير الدردشات المكتملة. يتم تشفير كل عنصر على أداة التجميع باستخدام AES-256-GCM قبل التحميل.
يعرض العرض التوضيحي عبر الإنترنت نفس عناصر التحكم مع تعطيل ميزة التحميل. أدخل بيانات اعتماد التخزين فقط في مساحة العمل الخاصة بك التي تعمل حاليًا.

| المجال | ما يجب إدخاله |
|---|---|
| نقطة النهاية | عنوان URL لخدمة التخزين، بدون مسار الحاوية أو بيانات الاعتماد. مثال خيالي: https://s3.example.invalid. |
| المنطقة | المنطقة المطلوبة من قِبل مزود الخدمة الخاص بك. الإعداد الافتراضي للتطبيق هو us-east-1. |
| Bucket | مجموعة موجودة يمكنك الوصول إليها. مثال خيالي: example-case-backup. |
| مجلد في المجموعة | بادئة الكائن؛ القيمة الافتراضية هي tgwitness. يقوم التطبيق بإضافة بادئة مشتقة من بصمة مفتاح التوقيع الخاص بمساحة العمل هذه. |
| معرف مفتاح الوصول / مفتاح الوصول السري | أدخل بيانات اعتماد التخزين معًا. يتم حفظها في خزينة مساحة العمل. اترك كلا الحقلين فارغين عند عمليات الحفظ اللاحقة للاحتفاظ بالزوج المحفوظ. |
| عناوين بنمط المسار | استخدم الرمز endpoint/bucket عند التفعيل، أو bucket.endpoint عند التعطيل، وفقًا للمزود. |
| فاصل النص | من 1 إلى 1,440 دقيقة؛ الإعداد الافتراضي هو 5 دقائق. يجب أن يكون التطبيق قيد التشغيل لإجراء النسخ المجدولة. |
| الاحتفاظ بـ Object Lock | أيام الاحتفاظ وطريقة الاحتفاظ لمجموعة البيانات التي تدعم ميزة Object Lock. في حالة «صفر يوم»، يظل إعداد الاحتفاظ الافتراضي للمجموعة ساريًا. |
- أدخل الوجهة وبيانات الاعتماد. اترك خانة «الاحتفاظ بنسخة خارج الموقع» غير محددة أثناء الإعداد، ثم حدد «حفظ نسخة خارج الموقع».
- اختر «اختبار الاتصال». يؤدي هذا إلى تحميل كائن اختبار مشفر والتحقق من استجابة وحدة التخزين.
- اختر «تنزيل مفتاح التشفير». احتفظ بهذا الملف في مكان منفصل عن أداة التجميع؛ فهو ضروري لعملية الاستعادة.
- قم بتفعيل خانة الاختيار «الاحتفاظ بنسخة خارج الموقع» ثم احفظ التغييرات مرة أخرى. اختر «نسخ الآن» لإجراء عملية نسخ يدوية، أو اترك الجدول الزمني قيد التشغيل.
ما لا يفعله لا يقوم بإنشاء سلة تخزين. تتوقف عمليات التحميل المجدولة عند توقف التطبيق.
التحقق من الاحتفاظ بالبيانات ومتابعة تقدم عملية النسخ
ضمن «خيارات أخرى» (More options)، اختر عدد أيام الاحتفاظ وGOVERNANCE أو COMPLIANCE إذا كان سلة التخزين الخاصة بك تدعم ميزة Object Lock. تقوم TgWitness بقراءة وضع الاحتفاظ والموعد النهائي لكل كائن تم تحميله. وتُظهر الحالة تأكيدًا، أو عدم وجود احتفاظ، أو فشل في الفحص؛ ولا يُعد التحميل الناجح وحده تأكيدًا على الاحتفاظ.
تُبلغ اللوحة عن آخر دورة، وعدد الكائنات، والبايتات المنقولة، وحدود السجل المنسوخ، وأي أخطاء. يتم الإبلاغ عن الوسائط المحلية المفقودة أو التي تم تغييرها، وتُعاد المحاولة في الدورة التالية. ولا يزال من الممكن نسخ الملفات ونقاط الفحص وعمليات التصدير الموضوعة في قائمة الانتظار بعد تلك الوسائط.
تستخدم عمليات التحميل مسار Direct أو SOCKS5 أو HTTP الخاص بمساحة العمل. لا تتوفر ميزة النسخ إلى S3 عبر MTProxy؛ ولا يلجأ التطبيق إلى الاتصال المباشر كخيار بديل.
ما لا يفعله ولا يُلزم المزود بتطبيق ميزة «قفل الكائن» (Object Lock) لمجرد قبول التحميل.
احتفظ بمفتاح الاستعادة في مكان منفصل
يحتوي ملف JSON الذي تم تنزيله على مفتاح فك التشفير، وإعدادات الوجهة، وبادئة كائن مساحة العمل، وبصمة مفتاح التوقيع. ولا يحتوي على بيانات اعتماد الوصول إلى S3: حيث تتطلب عملية الاستعادة بيانات اعتماد منفصلة تتمتع بحق الوصول للقراءة إلى الحاوية.
إذا قمت بتغيير نقطة النهاية أو الحاوية أو بادئة المجلد، فقم بتنزيل ملف المفتاح مرة أخرى حتى تتطابق إعدادات وجهته. يقوم التطبيق بإنشاء نسخة جديدة من السجل والملفات ونقاط الفحص المحفوظة محليًّا في الوجهة الجديدة. تظل عمليات تصدير الدردشات المكتملة التي تمت إزالتها بالفعل من قائمة الانتظار المحلية للتحميل في وجهتها السابقة.
ما لا يفعله ولا تقوم الأداة بفك تشفير النسخة دون المفتاح الذي تم تصديره. ولا يمكن لبيانات اعتماد الوصول إلى التخزين أن تحل محل هذا المفتاح.
استعادة البيانات والتحقق منها على جهاز آخر
استخدم نسخة موثوقة من TgWitness، وملف JSON الرئيسي الذي تم تنزيله، وبيانات اعتماد التخزين مع حق الوصول للقراءة، ودليل إخراج فارغ. استبدل العناصر النائبة لبيانات الاعتماد الوهمية الواردة أدناه.
Windows PowerShell
$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
Linux / macOS
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 للأمر مع المواد المستردة.
ما لا يفعله ولا يعيد الموقع بناء الملاحظات التي لم تصل أبدًا إلى السجل، ولا يحل محل أي نقطة تحقق أو شاهد تم الاحتفاظ به بشكل مستقل.