یک برنامه تحت وب اوپن سورس، بسیار سبک و زیبا برای جستجو و استخراج اطلاعات در شبکه تلگرام با استفاده از Telethon API پایتون. این پروژه با استفاده از کتابخانههای استاندارد پایتون ساخته شده و نیازی به کامپایل فریمورکهای سنگین (مانند Rust/Pydantic) ندارد، در نتیجه به راحتی و بدون داغ شدن دستگاه روی موبایل (محیط Termux) یا کامپیوتر اجرا میشود.
-
جستجوی سراسری پیامها (Global Message Search):
- حالت معمولی (Normal Account): جستجوی کلیدواژه در تمام کانالها، گروهها و چتهای شخصی که از پیش در آنها عضو هستید (رایگان و بدون نیاز به پرمیوم).
- حالت پرمیوم (Premium Account): جستجوی سراسری و بلادرنگ در تمام پیامهای عمومی شبکه تلگرام، حتی کانالهایی که عضو نیستید (مخصوص دارندگان اشتراک پرمیوم تلگرام).
- هایلایت کردن عبارات جستجو شده در متن پیامها.
- ارائه لینک مستقیم برای مشاهده هر پیام در تلگرام.
-
جستجوی کانال و گروه (Channel & Group Finder):
- جستجو بر اساس موضوع یا برچسب برای یافتن کانالها و گروههای عمومی مرتبط.
- نمایش تعداد اعضا، یوزرنیم و نشانهای رسمی (مانند Verified، Scam یا Fake) برای هر کانال/گروه.
-
جستجوی سراسری هشتگها (Hashtag Search):
- جستجوی هشتگهای خاص در پستهای عمومی تلگرام به همراه فیلتر مستقیم.
-
بررسی پیشرفته عضویت کاربر (User Group Membership OSINT):
- بررسی زنده: یافتن تمام گروهها و کانالهای عمومی مشترک بین اکانت شما و کاربر هدف به صورت زنده.
- جستجوی پایگاه داده آفلاین: ادغام نتایج زنده با پایگاه داده محلی SQLite. اگر قبلاً اعضای گروهی را استخراج (Crawl) کرده باشید، برنامه مشخص میکند کاربر هدف در کدام یک از آن گروهها عضو است.
-
استخراج و ایندکس اعضا (Group Member Scraper & DB):
- قابلیت دریافت اعضای هر گروه عمومی و ذخیره اطلاعات آنها (نام، نام کاربری، شناسه عددی) در یک دیتابیس لوکال SQLite.
- نمایش درصد پیشرفت کار به صورت گرافیکی و لحظهای (Progress Bar).
-
رابط کاربری مدرن و واکنشگرا:
- طراحی تکصفحهای (SPA) کاملاً فارسی با تم تاریک چشمنواز مشابه تم رسمی دسکتاپ تلگرام.
- بهینهسازی کامل برای نمایشگرهای موبایل (طراحی شبکهای تبها و چینش خودکار عناصر).
به دلیل قوانین حریم خصوصی و محدودیتهای سرورهای تلگرام، موارد زیر امکانپذیر نیست:
- عدم امکان دریافت مستقیم گروههای یک کاربر: تلگرام متدی برای گرفتن تمام گروههای یک شخص به صورت گلوبال ندارد. شما فقط میتوانید گروههای مشترک را ببینید یا اطلاعات اعضای گروهها را از قبل در دیتابیس خود ذخیره کرده باشید.
- عدم امکان استخراج اعضای کانالها: طبق معماری تلگرام، لیست اعضای کانالها (Channel) فقط برای مدیران (Admins) قابل مشاهده است و کاربران عادی نمیتوانند اعضای یک کانال را استخراج کنند.
- گروههای مخفی: برخی از سوپرگروههای عمومی ممکن است نمایش لیست اعضای خود را غیرفعال کرده باشند که در این صورت امکان خزش آنها وجود ندارد.
- محدودیت نرخ (Rate Limits / FloodWait): استفاده مداوم و سریع از جستجو یا خزش اعضا ممکن است باعث اعمال محدودیت موقت از طرف سرورهای تلگرام شود که در این صورت باید چند دقیقه صبر کنید تا محدودیت برطرف شود.
main.py: وبسرور سبک پایتون (مدیریت تردها، ارتباط با دیتابیس SQLite و ارتباط با کلاینت Telethon).telegram_database.db: دیتابیس ذخیره اعضا و گروههای ایندکس شده (SQLite).config.json: فایل ذخیره کلیدهای API (در لیست نادیدهگیری گیت قرار دارد).sessions/: پوشه نگهداری فایلهای سشن تلگرام برای ماندگاری لاگین (در لیست نادیدهگیری گیت قرار دارد).- پوشه static (رابط کاربری وب):
index.html: کدهای ساختاری صفحه و پنجرههای ورود و داشبورد.style.css: استایلهای CSS شیشهای و واکنشگرا برای دسکتاپ و موبایل.app.js: کنترلر جاوااسکریپت برای فرستادن اطلاعات به بکاند و رندر نتایج.
با اجرای اسکریپت نصب، برنامه به صورت خودکار پیشنیازها را بررسی و نصب میکند:
chmod +x install.sh && ./install.shکافیست دستور زیر را در مسیر پروژه اجرا کنید:
python main.pyسرور به صورت محلی روی پورت 8000 فعال میشود.
مرورگر خود را باز کرده و به آدرس زیر بروید: 👉 http://127.0.0.1:8000
- ابتدا کلیدهای API ID و API Hash خود را که از سایت my.telegram.org دریافت کردهاید وارد و ذخیره کنید.
- شماره تلفن همراه با کد کشور (مانند
+989123456789) را بنویسید. - کد تایید فرستاده شده به تلگرامتان را وارد کرده و در صورت داشتن تایید دو مرحلهای، رمز خود را ثبت کنید.
- اکنون برنامه آماده به کار است!