
استخبارات المصادر المفتوحة (OSINT) لتليغرام، التجميع والأرشفة كتطبيق ويب محلي. جمع متعدد الحسابات، والبحث في الملفات الشخصية مع الصور التاريخية وفروقات التغيير، وعشرة تنسيقات للتصدير.
استطلاع مصادر مفتوحة (OSINT) وكشط وأرشفة على Telegram.
تطبيق ويب محلي يعمل بالكامل على جهازك ولا يتواصل إلا مع Telegram.
npm install
npm start
ثم افتح http://127.0.0.1:5173. في التشغيل الأول سيرشدك التطبيق عبر بيانات اعتماد API، وتسجيل الدخول عبر رمز QR، وتحميل محادثاتك. تيليجرام هو الخادم الوحيد الذي يتواصل معه. لا يوجد حساب لإنشائه، ولا قياس عن بُعد، ولا خدمة وسيطة: ما تجمعه يبقى في ملف SQLite تملكه أنت.
خليفة telegram-scraper وtelescope وHarrier، مبني على Telethon 1.44.
| الجمع | القنوات والمجموعات ومواضيع المنتديات عبر عدة حسابات، مع الوسائط وإزالة التكرار والاستئناف |
| التحقيق | رقم هاتف أو @username أو معرّف أو رابط t.me للوصول إلى ملف شخصي، وكل الصور التاريخية، وفروق منذ المرة الأخيرة |
| التصدير | عشرة تنسيقات، من ملف CSV بسيط إلى حزمة أدلة مُجزّأة |
| يعمل على | Node 18+، Python 3.12+، SQLite. قاعدة بيانات واحدة، ومجلد واحد، بلا خدمات |
الجمع
-100 الكامل إلى جانب الاسم وشارة للحساب الذي يراهاالتحقيق
@username أو معرّف مستخدم أو رابط t.meالتصدير
| التنسيق | ما تحصل عليه |
|---|---|
csv | ملف واحد لكل محادثة |
json / jsonl | بيانات وصفية كاملة؛ يبثّ JSONL صفًا بصف |
xlsx | أوراق للرسائل والوسائط والمشاركين والتفاعلات |
html | تقرير مستقل: الإحصاءات، والنشاط، وأكثر المرسلين، ومصادر إعادة التوجيه، وجدول قابل للبحث |
markdown | التقرير نفسه كنص |
gexf / edges | رسم بياني لإعادة التوجيه لـ Gephi وMaltego |
sqlite | قاعدة بيانات مستقلة للمحادثات المحددة فقط |
bundle | ZIP يحتوي على البيانات والوسائط وبيان بتجزئات SHA-256 وسجل الجمع |
ينشئ npm install بيئة Python تحت server/.venv ويثبّت الجانبين.
| ما | أين |
|---|---|
| الإعدادات | ~/.config/tgscope/config.json (الوضع 600) |
| قاعدة البيانات | ~/.local/share/tgscope/tgscope.db (WAL، FTS5) |
| الوسائط | ~/.local/share/tgscope/media/ |
| الصادرات | ~/.local/share/tgscope/exports/<timestamp>-<label>/ |
قاعدة بيانات واحدة تحتفظ بكل شيء، وهذا ما يجعل البحث عبر الحوارات، وجدول المستخدمين المشترك، وإزالة تكرار الوسائط، ومخطط إعادة التوجيه ممكنة.
تُصنَّف الملفات حسب نوع الحوار، ثم الحوار، ثم موضوع المنتدى، ثم نوع الوسائط:
media/
├── channels/technews_-1001234567890/
│ ├── photos/00004711-8001-conference-slides.jpg
│ └── documents/00004802-8210-quarterly-report.pdf
├── groups/pythondev_-1009876543210/
│ ├── general/photos/…
│ └── help/voice/00000004-9004-voice.ogg
└── profiles/123456789/000-5544332211.jpg
تُدمج أسماء المجلدات المعرّف مع المعرّف الكامل، وتُنقل العناوين غير اللاتينية صوتيًا، وتُحشى أسماء الملفات بالأصفار حتى تُرتَّب زمنيًا.
تمر كل استدعاءات Telegram عبر منظّم لكل حساب مع دلو رموز وتراجع FloodWait، وكل قراءة مُصفّحة -
الرسائل، والمحادثات، والأعضاء، وصور الملف الشخصي - تنتظر انتهاء الفيضان وتستأنف بدلًا من إفشال
التشغيل. ثلاثة أوضاع:
| الوضع | عمال الوسائط | التباعد بين الطلبات | فترات الانتظار المُمتصة بصمت |
|---|---|---|---|
stealth | 1 | 1.6 ث | حتى 180 ث |
balanced | 4 | 0.35 ث | حتى 90 ث |
fast | 8 | لا شيء | حتى 45 ث |
تُعلَن فترات الانتظار الأطول في سجل النشاط ويُنتظر انتهاؤها؛ واثنتا عشرة فترة متتالية في قراءة واحدة تستسلم وتُبلّغ عنها.
تُدعم حسابات متعددة. علّم أحدها كـ burner في الإعدادات وستُشغَّل عمليات البحث عن أرقام الهاتف عليه تلقائيًا، لأنها العملية الخطرة الوحيدة:
يستورد البحث عن رقم الهاتف الرقم كجهة اتصال للحظة ثم يحذفه مجددًا. إذا كان المالك قد حفظ رقمك مسبقًا، فقد يرى إشعار "joined Telegram". يسأل tgscope أولًا، في كل مرة، وتسجّل بطاقة الملف الشخصي أي حساب استُخدم.
npm test # 92 backend and 42 frontend tests, no network needed
npm run build # production bundle of the client
الواجهة الخلفية هي FastAPI فوق نواة Telethon، ومُختبرة مقابل عميل Telethon وهمي: الكاشط، والمُصدِّرات، وتخطيط الوسائط، وكل ترحيل مخطط. تغطي اختبارات الواجهة الأمامية المنطق النقي الكامن وراء المتصفح، وحساب الفترات، وتجميع المدرّج التكراري، وتنسيق الأرقام والطوابع الزمنية، وتُصيّر كل شاشة مرتين، مرة فارغة ومرة مملوءة.
يُعيد scripts/demo/ توليد docs/preview.gif من بيانات وهمية مزروعة. يحتاج إلى chromium و
ffmpeg، ولا يمسّ شيئًا في مساحة عملك الحقيقية، وليس جزءًا من التطبيق.
لا يحمل المصدر أي تعليقات — فالتسمية والبنية تحملان المعنى، ويوجد اختبار يفرض ذلك.
لأغراض البحث والصحافة والتحقيقات المصرّح بها. يستخدم واجهة Telegram API الرسمية عبر Telethon ولا يقرأ سوى ما يستطيع حسابك رؤيته بالفعل — فهو لا يتجاوز إعدادات الخصوصية لأي شخص. لا تستخدمه للتحرش أو المطاردة، واحترم شروط خدمة Telegram، وراعِ قانون حماية البيانات المنطبق عليك.
مرخّص بموجب MIT.