مرجع / الإعداد
البداية السريعة
جميع طرق تثبيت وتشغيل TgWitness: حزمة Windows، وPython، وDocker، والعرض التوضيحي المركب، مع الفحوصات الأولية.
اللغة الإنجليزية · Русский · الأوكرانية · Español · البرتغالية (البرازيل) · Türkçe · العربية · فارسي · الأردو · الهندية · اللغة الإندونيسية · الفيتنامية · الصينية المبسطة
TgWitness هو تطبيق مستقل لمراقبة مجموعات وقنوات Telegram التي يمكن لحساباتك الوصول إليها. يعمل التطبيق محليًّا باستخدام دليل بيانات خاص به.
هل هذه زيارتك الأولى؟ استكشف النسخة التجريبية قبل ربط حسابك. اختر دليلاً عن البروكسيات، أو الشهود، أو عمليات التصدير، أو إعداد الخادم.
التثبيت والبدء#
التقاط عبر GitHub Actions (نسخة تجريبية)
اختر طريقة واحدة. تصبح التنزيلات القابلة للنقل متاحة بعد نشر إصدار البرنامج:
| المضيف | لا يتطلب تثبيت أي برامج | من المصدر: Python 3.11+ | Docker: Engine/Desktop مع Compose 2.20+ |
|---|---|---|---|
| Windows | استخرج TgWitness-<version>-windows-amd64-portable.zip من إصدارات GitHub، وانقر نقرًا مزدوجًا على TgWitness.cmd |
انقر نقرًا مزدوجًا على Start.cmd |
انقر نقرًا مزدوجًا على scripts\Docker.cmd |
| Linux / macOS | — | sh start.sh |
sh scripts/docker-start.sh |
لطرق التشغيل من المصدر، نزّل واستخرج فرع main الحالي أو استنسخ المستودع:
git clone https://github.com/phishdestroy/TgWitness.git
cd TgWitness
يتضمن الكود المصدري الحالي استيراد الحسابات دفعة واحدة، ولوحة تحكم MTProxy، وتحميل السجل القابل للاستئناف. إن النسخة المحمولة التجريبية 0.7.0 وأرشيف المصدر الخاص بإصدارها يسبقان هذه الإضافات. راجع سجل التغييرات لمعرفة حدود الإصدارات.
يعرض Start.cmd تثبيت Python 3.12 لمستخدم Windows الخاص بك إذا لم يتم العثور على إصدار Python مناسب (عبر winget أو مثبّت python.org الموقّع). ويطبع start.sh أمر التثبيت الدقيق لتوزيعة Linux الخاصة بك أو نظام macOS إذا كان Python مفقودًا. عند التشغيل الأول من المصدر، يتم إنشاء بيئة .venv وتثبيت الاعتماديات تلقائيًا.
يقوم Docker بإنشاء التطبيق وتشغيله في الخلفية؛ ولا حاجة إلى مضيف Python.
تقوم scripts\Docker.cmd وscripts/docker-start.sh بطباعة عنوان اللوحة والرمز المميز عندما
تكون الحاوية في حالة جيدة. الأوامر المكافئة في Docker على كل مضيف مدعوم هي:
docker compose up -d --build --wait
docker compose exec tgwitness cat /data/panel-token.txt
افتح http://127.0.0.1:8787. استخدم الرمز المميز (token) الذي طبعه مساعد Docker أو الأمر الثاني في Docker، أو اقرأ ملف data/live/panel-token.txt للتثبيت المحمول أو من المصدر. تابع من «ربط Telegram» أدناه. تستخدم التثبيتات الأصلية وتلك التي تعمل عبر Docker مساحة تخزين منفصلة؛ ولا يؤدي تشغيل Docker إلى استيراد سجل أصلي موجود مسبقًا.
بالنسبة للخادم، يشمل النشر HTTPS التلقائي، وإعادة التشغيل، والصور المنشورة، والتحديثات، والنسخ الاحتياطية.
استكشف الواجهة#
- قم بتشغيل ملف TgWitness-Demo.cmd
الموجود في الحزمة المحمولة، أو ملف scripts\Demo.cmd
الموجود في مجلد المصدر الخاص بنظام Windows
، أو ملف
sh start.sh --demoعلى أنظمة Linux/macOS. يؤدي تشغيل الملف الموجود في مجلد المصدر أولاً إلى إنشاء ملف.venvوتثبيت التبعيات. - افتح الرابط http://127.0.0.1:8787.
- يفتح العرض التوضيحي المحلي دفتر الأدلة النموذجي تلقائيًا. ولا حاجة إلى نسخة رمزية للوصول المباشر محليًّا.
الرسائل التوضيحية خيالية. لا يمكن لوضع العرض التوضيحي الاتصال بحساب Telegram حقيقي.
اتصل بـ Telegram#
[!تحذير] لا تستخدم أي شيء لا يمكنك تحمل خسارته. ننصح بشدة بعدم ربط حسابات شخصية أو ذات قيمة، وكذلك بعدم إنشاء معرّف API أو هاش لحساب تهمك. يقوم Telegram بحظر الحسابات بشكل غير متوقع وغالبًا بشكل دائم، بغض النظر عن التطبيق المستخدم. يعتمد سير الاختبار بسلاسة على Telegram، وليس على TgWitness، ولا يضمن أي شيء في المستقبل.
- إذا كان العرض التوضيحي الأصلي قيد التشغيل، فقم بإيقافه وتشغيل Start.cmd أو
sh start.sh. وإلا، فاستمر في تشغيل التثبيت المباشر الذي بدأته أعلاه. - استخدم رمز اللوحة الخاص بطريقة التثبيت التي تستخدمها لفتح اللوحة.
- إذا كنت بحاجة إلى وكيل (بروكسي)، فاحفظه من خلال «الحساب» → «الإعدادات» → «إعدادات الاتصال» → «تغيير مسار الاتصال».
- في قسم «الحساب»، أدخل رقم هاتفك واضغط على «متابعة»، ثم اختر
«رمز QR» → «إظهار رمز QR»، أو حدد الملفات واضغط على «ربط الحساب». يُعد
«معرف API + التجزئة» اختياريًا: تستخدم مساحة العمل الزوج المحفوظ أو المستورد،
أو زوجًا صالحًا من المجموعة المدمجة. لاستخدام تطبيقك الخاص، الصق زوجًا واحدًا
من
API ID:API Hashفي حقل «معرف API». للحصول على مفتاح تفويض كامل، اختر «مفتاح التفويض»، والصق جميع الأحرف الـ 512 السداسية العشرية ، وحدد معرّف DC المقدم. معرّف المستخدم اختياري ويتم تحديده تلقائيًا عند إدخاله. - أكمل طريقة تسجيل الدخول التي اخترتها: الهاتف/الرمز/التوثيق الثنائي (2FA)، أو التأكيد من تطبيق Telegram الذي قمت بتسجيل الدخول إليه لرمز الاستجابة السريعة (QR)، أو استيراد جلسة معتمدة مدعومة.
- تحقق من معرّف الحساب المعروض. المصادر المفتوحة: يتم تحميل محادثاتك تلقائيًا؛ أضف مجموعاتك.
- تحت عنوان «اختر التغييرات التي تريد الاحتفاظ بها»، حدد فئات الأحداث أو الإعداد المسبق «الرسائل والتعديلات والحذف»، ثم احفظ إعدادات المراقبة.
- اختر إعدادات المرفقات بشكل منفصل، ثم اضغط على «بدء المراقبة».
بيانات اعتماد واجهة برمجة التطبيقات (API) تُعرّف تطبيقك؛ وهي لا تمنح صلاحية الدخول إلى الحساب بمفردها. لا تحتاج المجموعات الخاصة إلى اسم مستخدم عام، لكن يجب أن يتمتع حسابك بحق الوصول.
بالنسبة للحسابات الحالية، راجع الحسابات وتنسيقات الجلسات: تقبل اللوحة Telethon StringSession، وملفات SQLite لـ Telethon/Pyrogram، وأرشيف TData ZIP لحساب واحد، وملفات JSON المدعومة للحسابات. حدد ملف الجلسة وملف JSON المرافق له معًا، ثم اضغط على ربط الحساب. يتوفر أيضًا تسجيل الدخول عبر رمز QR بنفس إعدادات API الاختيارية. جلسات TDLib وجلسات البوتات وقوائم جرد الحسابات بتنسيق CSV/JSON غير مدعومة.
لعدة حسابات، استخدم الحسابات → استيراد الحسابات وحدد ملفات الجلسات المدعومة الخاصة بها. يتم إقران ملفات JSON المرافقة حسب الاسم الأساسي للملف؛ ويحصل كل حساب مستورد على مساحة عمل خاصة به. راجع الاستيراد الجماعي ومجموعات الحسابات.
لإضافة حساب آخر، اضغط على + بجانب أداة اختيار الحساب أو افتح الحساب → الإعدادات → إعدادات الاتصال → مساحات العمل، أو استخدم «الحسابات». تتمتع مساحات العمل بجلسات منفصلة، وسجلات، ومفاتيح، ومصادر، وقوائم انتظار. يؤدي التبديل بين العروض إلى استمرار تشغيل أدوات التجميع الأخرى. لا يمكن تخصيص حساب Telegram نفسه لمساحتين عمل في هذا التثبيت. لا يوجد عدد محدد لمساحات العمل؛ فهي تشترك في عملية واحدة، لذا تعتمد السعة على الجهاز.
يحمي رمز اللوحة المباشرة الوصول إلى أذونات Telegram الخاصة بك والمواد المحفوظة؛
وهو منفصل عن بيانات اعتماد واجهة برمجة تطبيقات Telegram. ولا يحصل على الدخول التلقائي سوى العرض التوضيحي المحلي الذي تم تشغيله صراحةً،
والذي يتم الوصول إليه مباشرةً. أما العرض التوضيحي عن بُعد أو عبر الوكيل، فيظل يستخدم الرمز
data/demo/panel-token.txt.
المراجعة والتصدير#
- السجل: البحث عن الملاحظات وتصفيتها حسب المصدر ونوع الحدث.
- اختر حدثًا لتفحص سجله الأصلي ومصدره والإصدارات المحفوظة منه.
- تُظهر تفاصيل التحرير المحتوى المتاح قبل التعديل وبعده. تُظهر تفاصيل الحذف آخر محتوى تم تسجيله، إن وجد؛ ويظل الفاعل المجهول مجهولاً.
- تنسيقات التصدير: ملفات ZIP موقعة، وJSONL، وCSV، وHTML قابلة للاستخدام دون اتصال بالإنترنت.
- تصدير المحادثة بالكامل (المصادر → تصدير المحادثة بالكامل): تنزيل السجل المرئي الكامل لمحادثة واحدة
كحزمة موقعة باستخدام
chat.json(نمط تصدير Telegram) وملفchat.htmlقابل للقراءة. تعمل المحادثات الخاصة عندما يكون الحساب عضوًا. إنها لقطة حالية، وليست إعادة بناء للرسائل المحذوفة أو التي تم تعديلها سابقًا. تحقق من النسخة باستخدامpython verify.py chat-export.zip --fingerprint TRUSTED_SHA256. - نقطة مراجعة: الحفاظ على حدود السجل الموقّع خارج نطاق أداة التجميع.
- تنزيل إيصال التشغيل الموقّع: الاحتفاظ بسجل البرنامج/الإصدار الخاص بالمجمع.
- إعداد طلب الطابع الزمني: قم بإعداد طلب غير متصل بالإنترنت للحصول على سلطة الطابع الزمني؛ اتبع ملف TIMESTAMP.md للحصول على الرد والتحقق منه.
- التحقق من السجل: تحقق من توقيعات الأحداث وروابط السلسلة. كما يتحقق التصدير بصيغة ZIP من الملفات الوسائطية.
تقوم المتصفحات المدعومة بحفظ الصادرات الكبيرة مباشرةً في ملف مختار. أما المتصفحات الأخرى فتقوم بتخزين ما يصل إلى 128 ميغابايت في ذاكرة التخزين المؤقت. وأثناء تشغيل الخادم، تدعم واجهة سطر الأوامر (CLI) للبث المباشر عمليات التنزيل الأكبر حجمًا دون تخزين الاستجابة بأكملها في ذاكرة التخزين المؤقت:
python -m tgwitness.download --token-file data/live/panel-token.txt --out evidence.zip
لإنشاء مساحة عمل أخرى، أضف --profile ID باستخدام «التصدير» → «معرف مساحة العمل».
للخادم البعيد، أضف --url https://your-server. الحد الافتراضي للنقل هو
5 جيجابايت؛ ويقوم --max-mib بتغييره. محتوى ملفات ZIP الموقعة له حد تحقق منفصل يبلغ 4 جيجابايت غير مضغوط
افتراضيًا (تقوم المعلمات بزيادته؛ تحقق من هذه الأرشيفات باستخدام
verify.py --max-gib N). تحقق من الأرشيف باستخدام نسخة موثوقة من أداة التحقق و
بصمة مفتاح/نقطة فحص محفوظة بشكل مستقل.
تحقق من التثبيت#
python start.py --setup-only
python start.py --check
python start.py --check --json
يقوم --check بفحص التبعيات المحلية، ودعم التوقيع، والتخزين، وتكوين المفاتيح، و
عنوان الاستماع. ولا يقوم بتثبيت أي شيء أو الاتصال بـ Telegram. قد يعني
كون المنفذ مشغولًا أن هناك مثيلًا آخر قيد التشغيل. استخدم --port مختلفًا أو أوقفه أولاً.
يتم تثبيت المشغل في .venv. يجب أن تستخدم الأوامر المساعدة python -m tgwitness...
.venv\Scripts\python.exe على نظام Windows أو .venv/bin/python على أنظمة Linux/macOS،
ما لم تكن تلك البيئة قد تم تفعيلها بالفعل.
الجلسات والحماية والتشغيل#
يمكن تحويل ملف Telethon SQLite المغلق والمتسق .session محليًّا باستخدام
python -m tgwitness.sessions account.session --out account.tgwitness-session، ثم
تحميله في الحساب. كما يتوفر الاستيراد المباشر للملفات وتسجيل الدخول عبر رمز الاستجابة السريعة (QR). انظر
ملف CONNECTION-SECURITY.md للاطلاع على تنسيقات تسجيل الدخول، وSOCKS5،
وHTTP CONNECT، وMTProxy، والمفاتيح الرئيسية الخارجية.
تؤدي «إيقاف المراقبة» إلى إيقاف عملية التجميع. أما «القفل» فيغلق الوصول عبر المتصفح فقط. يؤدي إغلاق علامة التبويب إلى استمرار تشغيل عملية التجميع. أما إيقاف العملية فيؤدي إلى مقاطعة عملية التجميع؛ ولا يمكن لـ«لقطة السجل» إعادة بناء جميع عمليات التعديل أو الحذف التي فاتت. اطلع على كيفية عمل عملية التجميع فيما يتعلق بسياسات الأحداث، وقوائم انتظار المرفقات، وعزل الحسابات، وسلوك إعادة التشغيل.
يتم تشفير الجلسات والأسرار. ويتطلب محتوى الرسائل والملفات الوسائطية وعمليات التصدير قرصًا أو وحدة تخزين مشفرة. وتثبت التوقيعات سلامة البيانات بالنسبة لمفتاح موثوق؛ ولكنها لا تثبت مصدر Telegram ولا تمنع التزوير من قبل مشغل يتحكم في أداة التجميع ومفتاحها.
اقرأ ملف OPERATIONS.md لمعرفة كيفية النسخ الاحتياطي/الاستعادة، وملف DEPLOYMENT.md
لمعرفة كيفية الاستضافة، و deploy/ للاطلاع على أمثلة الخدمة. تتضمن
اللوحة المثبتة أيضًا دليل إعداد في وضع عدم الاتصال على الرابط /guide.html.
يتم تسجيل عملية التحقق الفعلية والقيود المتبقية في ملفَي VERIFICATION.md وREADINESS.md.