
Telegram OSINT, स्क्रैपिंग और अभिलेखीकरण एक स्थानीय वेब ऐप के रूप में। मल्टी-अकाउंट संग्रह, ऐतिहासिक फ़ोटो और परिवर्तन diffs के साथ प्रोफ़ाइल खोज, दस निर्यात प्रारूप।
टेलीग्राम OSINT, स्क्रेपिंग और अभिलेखन।
एक स्थानीय वेब ऐप जो पूरी तरह से आपकी मशीन पर चलता है और केवल टेलीग्राम से संवाद करता है।
npm install
npm start
फिर http://127.0.0.1:5173 खोलें। पहली बार चलाने पर यह API क्रेडेंशियल, QR साइन-इन और आपके डायलॉग लोड करने की प्रक्रिया में मार्गदर्शन करता है। टेलीग्राम ही एकमात्र सर्वर है जिससे यह संवाद करता है। बनाने के लिए कोई खाता नहीं है, कोई टेलीमेट्री नहीं है और बीच में कोई सेवा नहीं है: आप जो कुछ भी एकत्र करते हैं वह आपकी अपनी SQLite फ़ाइल में रहता है।
telegram-scraper, telescope और Harrier का उत्तराधिकारी, जो Telethon 1.44 पर निर्मित है।
| संग्रह | कई खातों में चैनल, समूह और फ़ोरम विषय, मीडिया, डिडुप और रिज़्यूम के साथ |
| जाँच | फ़ोन, @username, id या t.me लिंक से प्रोफ़ाइल, हर ऐतिहासिक फ़ोटो और पिछली बार से अंतर (diff) |
| निर्यात | दस प्रारूप, साधारण CSV से लेकर हैश्ड साक्ष्य बंडल तक |
| चलता है | Node 18+, Python 3.12+, SQLite. एक डेटाबेस, एक फ़ोल्डर, कोई सेवाएँ नहीं |
संग्रह
-100 id और उसे देखने वाले खाते के लिए बैज सहितजाँच
@username, उपयोगकर्ता id या t.me लिंक देखेंनिर्यात
npm install server/.venv के अंतर्गत Python वातावरण बनाता है और दोनों पक्षों को स्थापित करता है।
| क्या | कहाँ |
|---|---|
| कॉन्फ़िग | ~/.config/tgscope/config.json (mode 600) |
एक ही डेटाबेस में सब कुछ रहता है, जो क्रॉस-डायलॉग खोज, साझा उपयोगकर्ता तालिका, मीडिया डिडुप और फ़ॉरवर्ड ग्राफ़ को संभव बनाता है।
फ़ाइलों को डायलॉग प्रकार, फिर डायलॉग, फिर फ़ोरम विषय, फिर मीडिया प्रकार के अनुसार व्यवस्थित किया जाता है:
media/
├── channels/technews_-1002116176890/
│ ├── photos/00004711-8001-conference-slides.jpg
│ └── documents/00004802-8210-quarterly-report.pdf
├── groups/pythondev_-1001597139842/
│ ├── general/photos/…
│ └── help/voice/00000004-9004-voice.ogg
└── profiles/123456789/000-5544332211.jpg
निर्देशिका नाम हैंडल को पूर्ण id के साथ जोड़ते हैं, गैर-ASCII शीर्षकों का लिप्यंतरण किया जाता है, और फ़ाइल नाम शून्य-पैडेड होते हैं ताकि वे कालानुक्रमिक रूप से क्रमबद्ध हों।
हर टेलीग्राम कॉल टोकन बकेट और FloodWait बैकऑफ़ के साथ प्रति-खाता गवर्नर से गुजरती है, और हर पेज्ड रीड — संदेश, डायलॉग, सदस्य, प्रोफ़ाइल फ़ोटो — फ्लड खत्म होने का इंतज़ार करती है और रन को विफल किए बिना फिर से शुरू होती है। तीन प्रोफ़ाइल:
लंबी प्रतीक्षाओं की घोषणा गतिविधि लॉग में की जाती है और उन्हें सहन किया जाता है; एक रीड पर लगातार बारह प्रतीक्षाएँ होने पर यह हार मान लेता है और इसकी रिपोर्ट करता है।
कई खातों का समर्थन किया जाता है। Settings में किसी एक को burner के रूप में चिह्नित करें और फ़ोन लुकअप स्वचालित रूप से उस पर चलेंगे, क्योंकि यही एक जोखिम भरा ऑपरेशन है:
एक फ़ोन लुकअप नंबर को एक पल के लिए संपर्क के रूप में आयात करता है और फिर हटा देता है। यदि मालिक के पास आपका नंबर पहले से सहेजा है, तो उन्हें "joined Telegram" सूचना दिख सकती है। tgscope हर बार पहले पूछता है, और प्रोफ़ाइल कार्ड रिकॉर्ड करता है कि उसने किस खाते का उपयोग किया।
npm test # 92 backend and 42 frontend tests, no network needed
npm run build # production bundle of the client
बैकएंड Telethon कोर पर FastAPI है, जिसे फर्जी Telethon क्लाइंट के विरुद्ध परीक्षण किया गया है: स्क्रेपर, एक्सपोर्टर, मीडिया लेआउट और हर स्कीमा माइग्रेशन। फ्रंटएंड परीक्षण ब्राउज़र के पीछे की शुद्ध लॉजिक, अवधि अंकगणित, हिस्टोग्राम बकेटिंग और संख्या तथा टाइमस्टैम्प फ़ॉर्मेटिंग को कवर करते हैं, और हर स्क्रीन को दो बार रेंडर करते हैं, एक बार खाली और एक बार भरा हुआ।
scripts/demo/ सीडेड फर्जी डेटा से docs/preview.gif को पुनः उत्पन्न करता है। इसे chromium और ffmpeg की आवश्यकता होती है, यह आपके वास्तविक वर्कस्पेस को कुछ भी नहीं छूता, और ऐप का हिस्सा नहीं है।
स्रोत में कोई टिप्पणी नहीं होती — अर्थ नामकरण और संरचना से मिलता है, और एक परीक्षण इसे लागू करता है।
शोध, पत्रकारिता और अधिकृत जाँच के लिए। यह Telethon के माध्यम से आधिकारिक Telegram API का उपयोग करता है और केवल वही पढ़ता है जो आपका खाता पहले से देख सकता है — यह किसी की गोपनीयता सेटिंग्स को बायपास नहीं करता। इसे उत्पीड़न या स्टॉकिंग के लिए उपयोग न करें, Telegram की सेवा शर्तों का सम्मान करें, और अपने पर लागू डेटा-सुरक्षा कानून का ध्यान रखें।
MIT लाइसेंस।
| प्रारूप | आपको क्या मिलता है |
|---|
csv | प्रति डायलॉग एक फ़ाइल |
json / jsonl | पूर्ण मेटाडेटा; JSONL पंक्ति-दर-पंक्ति स्ट्रीम करता है |
xlsx | संदेशों, मीडिया, प्रतिभागियों और रिएक्शन के लिए शीट्स |
html | स्टैंडअलोन रिपोर्ट: आँकड़े, गतिविधि, शीर्ष भेजने वाले, फ़ॉरवर्ड स्रोत, खोजने योग्य तालिका |
markdown | वही रिपोर्ट पाठ के रूप में |
gexf / edges | Gephi और Maltego के लिए फ़ॉरवर्ड ग्राफ़ |
sqlite | केवल चयनित डायलॉग्स का एक स्टैंडअलोन डेटाबेस |
bundle | डेटा, मीडिया, SHA-256 हैश की मैनिफ़ेस्ट और संग्रह लॉग के साथ ZIP |
| डेटाबेस | ~/.local/share/tgscope/tgscope.db (WAL, FTS5) |
| मीडिया | ~/.local/share/tgscope/media/ |
| निर्यात | ~/.local/share/tgscope/exports/<timestamp>-<label>/ |
| प्रोफ़ाइल | मीडिया वर्कर | अनुरोध अंतराल | मौन रूप से सहन की गई प्रतीक्षाएँ |
|---|
stealth | 1 | 1.6 s | 180 s तक |
balanced | 4 | 0.35 s | 90 s तक |
fast | 8 | कोई नहीं | 45 s तक |