An open API service indexing awesome lists of open source software.

https://github.com/amirali104/v2ray-scraper

A simple program to extract v2ray and mtproto proxies from multiple telegram channels
https://github.com/amirali104/v2ray-scraper

anti-censorship mtproto proxy proxy-scraper telegram telethon v2ray

Last synced: 4 days ago
JSON representation

A simple program to extract v2ray and mtproto proxies from multiple telegram channels

Awesome Lists containing this project

README

          


فارسی

# v2ray scraper

این اسکریپت پایتون به چندین کانال و گروه تلگرامی متصل شده و پیکربندی های پروکسی را از پیام‌های اخیر، شامل لینک‌های **V2Ray** و **MTProto**، استخراج می‌کند.

---

## 🚀 نصب

ابتدا، مخزن را کلون کنید:

```bash
git clone https://github.com/AmirAli104/v2ray-scraper
```

یا به عنوان گزینه‌ای بهتر، آخرین نسخه را از صفحه **[Releases](https://github.com/AmirAli104/v2ray-scraper/releases)** دانلود کنید.

وابستگی‌های مورد نیاز را نصب کنید:

```bash
pip install telethon

# اختیاری (برای پشتیبانی از کلیپ‌بورد)
pip install pyperclip

# اختیاری (برای پشتیبانی از پراکسی) این مورد برای پراکسی‌های HTTP، SOCKS5 و SOCKS4 لازم است. اما telethon می‌تواند خودش به پراکسی‌های MTProto متصل شود و برای پراکسی‌های MTProto نیازی به pysocks نیست.
pip install pysocks
```

من در حین ساخت این برنامه از این نسخه ها استفاده می کردم:

```
telethon 1.41.2
pysocks 1.7.1
pyperclip 1.11.0
```

## ▶️ نحوه استفاده

اسکریپت را اجرا کنید:

```bash
python src/v2ray-scraper.py [options]
```

پس از اجرای برنامه برای اولین بار، شماره تلفن حساب تلگرام و سایر الزامات ورود به سیستم از شما پرسیده می‌شود.
در واقع، این برنامه از حساب تلگرام شما برای دسترسی به کانال‌ها استفاده می‌کند، بنابراین می‌توانید یک کانال و یا یک گروه خصوصی را به فایل `channels.json` اضافه کنید. این فایل را مطابق با راهنمای زیر ویرایش کنید.

برای استخراج داده از کانال ها و گروه های خصوصی ابتدا مطمئن شوید که در آنها عضو هستید.

**هشدار:** پس از ورود به سیستم، یک فایل با پسوند `.session` ایجاد می‌شود. این فایل کلید دسترسی به حساب تلگرام شماست، بنابراین نیازی نیست هر بار که برنامه را اجرا می‌کنید، مجدداً وارد شوید. اما توجه داشته باشید که باید فایل `.session` را در مکانی امن نگهداری کنید تا از دسترسی دیگران به حساب تلگرام شما جلوگیری شود.

## ⚙️ تنظیمات

فایل تنظیمات، `channels.json` است.

- این فایل شامل:
- فهرستی از کانال‌های تلگرام.
- کد های `api_id` و `api_hash` (مورد نیاز برای احراز هویت API تلگرام).
- برای هر کانال، می‌توانید تعداد پیام‌های اخیری را که باید استخراج شوند، مشخص کنید.

به طور پیش‌فرض، اسکریپت از کلیدهای API دسکتاپ تلگرام استفاده می‌کند، بنابراین می‌توانید آن را بدون تغییرات اجرا کنید.
با این حال، در صورت نیاز، می‌توانید آن‌ها را با `api_id` و `api_hash` خود جایگزین کنید.

## گزینه‌های خط فرمان

|گزینه|توضیحات|
|:---|:---|
|`-v,--v2ray`|استخراج پروکسی‌های v2ray|
|`-m,--mtproto`|استخراج پروکسی‌های mtproto|
|`-s,--session`|نام فایل سشن (پیش‌فرض: `session_name.session`)|
|`-n,--no-save-messages`|پیام‌های کامل کانال‌های پروکسی را در یک فایل ذخیره نکنید|
|`-f,--messages-file`|نام فایلی برای ذخیره پیام‌های کانال‌ها (پیش‌فرض: `channels_messages.txt`)|
|`-c,--auto-copy`|کپی خودکار پروکسی‌های استخراج شده در کلیپ‌بورد|
|`-e,--save-extracted`|ذخیره پروکسی‌های استخراج شده در یک فایل|
|`-p,--print-proxies`|چاپ تنظیمات پروکسی استخراج شده در کنسول|
|`-d,--disable-delay`|غیرفعال کردن تأخیر بین اتصالات به کانال‌های تلگرام مختلف (توصیه نمی‌شود!)|
|`-r, --retries`|تعداد دفعات تلاش مجدد در صورت قطع اتصال به سرور تلگرام را تنظیم کنید. (پیش‌فرض: نامحدود).|
|`--proxy`|یک پروکسی را به شکل `scheme://host:port` مشخص کنید. پشتیبانی شده: HTTP، SOCKS4 و SOCKS5، MTProto|
|`-h,--help`|نمایش پیام راهنما و خروج|

برای آرگومان `--proxy`، پروکسی MTProto داده شده باید به این شکل باشد:
`https://t.me/proxy?server=...&port=...&secret=...`

**توجه: همیشه به یاد داشته باشید که لینک MTProto را در یک جفت علامت نقل قول قرار دهید مانند این:`--proxy "https://t.me/proxy?server=...&port=...&secret=..."`شاید شِل شما برخی از کاراکترها در لینک MTProto را به عنوان کد در نظر بگیرد و باعث ایجاد خروجی‌های غیرمنتظره شود.**

## پشتیبانی از Termux

می‌توانید از `v2ray-scraper` در اندروید با استفاده از **Termux** استفاده کنید. ابتدا آن را از **[f-droid](https://f-droid.org/packages/com.termux/)** دانلود کنید.
سپس مخزن را کلون کرده و پایتون 3 را نصب کنید:

```bash
pkg install git python3
git clone [https://github.com/amirali104/v2ray-scraper](https://github.com/amirali104/v2ray-scraper)
```

در مرحله بعد، `telethon` را نصب کنید:

```bash
pip install telethon

# اختیاری (برای پشتیبانی از پروکسی)
pip install pysocks
```

اما اگر به پشتیبانی از کلیپ‌بورد نیاز دارید، نمی‌توانید از `pyperclip` برای آن استفاده کنید. در عوض، **[Termux:API](https://f-droid.org/packages/com.termux.api/)** را از F-Droid و پکیج `termux-api` را در Termux نصب کنید:

```bash
pkg install termux-api
```

سپس می‌توانید آن را روی موبایل خود، دقیقاً مانند کامپیوترتان، اجرا کنید.

## 📋 مثال

```bash
# استخراج پروکسی‌های V2Ray، کپی کردن آن‌ها در کلیپ‌بورد، و چاپ در کنسول
python src/v2ray-scraper.py -v -c -p
```

## ⚠️ سلب مسئولیت

من هیچ‌گونه استفاده از این ابزار برای سانسور، نظارت، یا هرگونه نقض حقوق بشر را تأیید نمی‌کنم.

با استفاده از این کد، شما می‌پذیرید که مسئولیت کامل نحوه استفاده از آن را بر عهده بگیرید.