
Telegram OSINT, स्क्रैपिंग और अभिलेखीकरण एक स्थानीय वेब ऐप के रूप में। मल्टी-अकाउंट संग्रह, ऐतिहासिक फ़ोटो और परिवर्तन diffs के साथ प्रोफ़ाइल खोज, दस निर्यात प्रारूप।
Telegram OSINT, स्क्रैपिंग और आर्काइविंग।
एक स्थानीय वेब ऐप जो पूरी तरह से आपकी मशीन पर चलता है और केवल Telegram से बात करता है।
npm install
npm start
फिर http://127.0.0.1:5173 खोलें। पहला रन आपको API क्रेडेंशियल, QR साइन-इन और अपने डायलॉग लोड करने की प्रक्रिया से गुज़ारता है। Telegram ही एकमात्र सर्वर है जिससे यह बात करता है। कोई अकाउंट बनाने की ज़रूरत नहीं, कोई टेलीमेट्री नहीं और बीच में कोई सेवा नहीं: आप जो एकत्र करते हैं वह आपके स्वयं के SQLite फ़ाइल में रहता है।
telegram-scraper, telescope और Harrier का उत्तराधिकारी, Telethon 1.44 पर आधारित।
| एकत्र करें | कई अकाउंट्स में चैनल, ग्रुप और फ़ोरम टॉपिक, मीडिया, डीडुप और रिज़्यूम के साथ |
| जाँच करें | फ़ोन, @username, id या t.me लिंक से प्रोफ़ाइल, हर ऐतिहासिक फ़ोटो, और पिछली बार से अंतर |
| निर्यात करें | दस फ़ॉर्मेट, सादे CSV से लेकर हैश्ड एविडेंस बंडल तक |
| चलता है | Node 18+, Python 3.12+, SQLite पर। एक डेटाबेस, एक फ़ोल्डर, कोई सेवा नहीं |
एकत्र करें
-100 id और उस अकाउंट का बैज जो इसे देखता हैजाँच करें
@username, उपयोगकर्ता id या t.me लिंक खोजेंनिर्यात करें
| फ़ॉर्मेट | आपको क्या मिलता है |
|---|---|
csv | प्रति डायलॉग एक फ़ाइल |
json / jsonl | पूर्ण मेटाडेटा; JSONL पंक्ति-दर-पंक्ति स्ट्रीम करता है |
xlsx | संदेशों, मीडिया, प्रतिभागियों और रिएक्शन के लिए शीट |
html | स्टैंडअलोन रिपोर्ट: आँकड़े, गतिविधि, शीर्ष प्रेषक, फ़ॉरवर्ड स्रोत, खोजने योग्य तालिका |
markdown | वही रिपोर्ट टेक्स्ट के रूप में |
gexf / edges | Gephi और Maltego के लिए फ़ॉरवर्ड ग्राफ़ |
sqlite | केवल चयनित डायलॉग का स्टैंडअलोन डेटाबेस |
bundle | डेटा, मीडिया, SHA-256 हैश का मैनिफ़ेस्ट और संग्रह लॉग के साथ ZIP |
npm install server/.venv के अंतर्गत Python वातावरण बनाता है और दोनों पक्षों को इंस्टॉल करता है।
| क्या | कहाँ |
|---|---|
| कॉन्फ़िग | ~/.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
डायरेक्टरी नाम हैंडल को पूर्ण id के साथ जोड़ते हैं, गैर-ASCII शीर्षकों का लिप्यंतरण किया जाता है, और फ़ाइल नामों को शून्य-पैड किया जाता है ताकि वे कालानुक्रमिक रूप से क्रमबद्ध हों।
प्रत्येक Telegram कॉल एक टोकन बकेट और FloodWait बैकऑफ़ वाले प्रति-खाता गवर्नर से होकर जाती है, और प्रत्येक पेज्ड रीड - संदेश, डायलॉग, सदस्य, प्रोफ़ाइल फ़ोटो - फ़्लड के समाप्त होने की प्रतीक्षा करती है और रन को विफल करने के बजाय फिर से शुरू होती है। तीन प्रोफ़ाइल:
| प्रोफ़ाइल | मीडिया वर्कर | अनुरोध अंतराल | चुपचाप अवशोषित प्रतीक्षाएँ |
|---|---|---|---|
stealth | 1 | 1.6 s | 180 s तक |
balanced | 4 | 0.35 s | 90 s तक |
fast | 8 | कोई नहीं | 45 s तक |
लंबी प्रतीक्षाओं की घोषणा गतिविधि लॉग में की जाती है और उनका इंतज़ार किया जाता है; एक ही रीड पर लगातार बारह होने पर यह हार मान लेता है और इसकी रिपोर्ट करता है।
एकाधिक खाते समर्थित हैं। 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 लाइसेंस प्राप्त।