Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/2ri4eUI/CFW-BOT

Cloudflare Woker Bot ! No servers needed, just pure Xray link creation, all running smoothly on PythonAnywhere. a Shortcut to internet freedom! ✨"
https://github.com/2ri4eUI/CFW-BOT

Last synced: 14 days ago
JSON representation

Cloudflare Woker Bot ! No servers needed, just pure Xray link creation, all running smoothly on PythonAnywhere. a Shortcut to internet freedom! ✨"

Awesome Lists containing this project

README

        

[فارسی](https://github.com/2ri4eUI/CFW-BOT/blob/main/README-FA.md)
[ENGLISH](https://github.com/2ri4eUI/CFW-BOT/blob/main/README.md)
# CFW-BOT
ربات ورکر کلادفلر! بدون نیاز به سرور، به راحتی میتونید هر تعداد کانفیگ Xray بسازید، به راحتی در PythonAnywhere اجرا می شود. یک مسیرکوتاه به آزادی اینترنت! ✨

![image](https://github.com/2ri4eUI/CFW-BOT/assets/139592104/8db90fe5-dd6e-4015-840e-5df58ff5f12e)

![image](https://github.com/2ri4eUI/CFW-BOT/assets/139592104/2512c617-b93a-48ac-a6a9-58bdd5fb67c6)
## آموزش در یوتیوب :
[![YouTube Video](https://img.youtube.com/vi/ejgTbf_yJJQ/0.jpg)](https://www.youtube.com/watch?v=ejgTbf_yJJQ)

## فهرست مطالب
- [این چیه؟](#این-چیه؟)
- [ویژگی‌ها](#ویژگی‌ها)
- [پیش‌نیازها](#پیش‌نیازها)
- [نصب آسان](#نصب-آسان)
- [نجوه استفاده از ربات](#نحوه-استفاده-از-ربات)
- [نکته](#نکته)
- [توضیح](#توضیح)

# این چیه؟
این ربات تلگرام پایتون با استفاده از ورکر کلادفلر ساخت کانفیگهای Xray را آسان می کند! نیازی به راه‌اندازی‌های پیچیده سرور نیست، فقط این مراحل ساده را دنبال کنید تا شروع کنید:

## در ورژن 0.0.2 چه چیزهایی اضافه شد ؟
- لینک اشتراک برای هر کاربر
- پشتیبانی لینکهای اشتراک از IP_API که میتوانید تنها با قرار دادن آی پیهای جدید در لحظه اشتراک را به روز رسانی کنید
- حل مشکل ساپورت نکردن سایتهای پشت کلودفلر ( البته همچنان از آی پی سالم استفاده کنید که توسط کلودفلر فلگ نشده باشد )
- قابلبیت تغییر لینک API از داخل خود ربات
- حل مشکل نصب نشدن پیش نیازها بر روی PythonAnyWhere
## در ورژن 0.04 چه چیزهایی اضافه شده؟
- اضافه شدن لینک اشتراک سینگ باکس
- دکمه انتقال به صفحه ورکر
- دکمه انتقال جهت تعویض ساب دامین
- بارگذاری مجدد ورکرها با پروکسی جدید
- اضافه شدن صفحه ویکی در بات برای حل مشکلات شما
- حل برخی از باگها
- نصب با یک خط کد !
## ویژگی‌ها
- **راه‌اندازی آسان**: بدون نیاز به هیچ سروری قابل اجرا بر روی محیطهای رایگان پایتون مانند PythonAnyWhere.
- **پایگاه داده**: از SQLite برای مدیریت پایگاه داده استفاده میکند، به این صورت همیشه به لیست کاربران و لینکهای آنها در خود ربات دسترسی دارید .
- **مدیریت کاربر**: ایجاد و مدیریت چندین کاربر به آسانی. هر کاربر به پیوندهای تولید شده خود در هر زمان دسترسی دارد.
- **راه‌اندازی بهینه**: با استفاده از Wrangler میتونید با سرعت کاربران خود را بسازید و آن را بر روی کلادفلر اجرا کنید

## پیش‌نیازها
- یک دامنه ثبت‌شده در کلادفلیر
- دسترسی به حساب کلادفلیر
- توکن ربات تلگرام (دریافت از BotFather تلگرام)
- کلید API کلادفلیر
- شناسه حساب کلادفلیر (Account id)
- شناسه کاربر تلگرامی که می‌خواهید از ربات بر روی آن استفاده کنید (برای احراز هویت)
## نصب ربات فقط یک خط دستور !
این دستور، ابتدا پیش نیازها رو نصب میکنه و سپس از شما توکنهای مورد نیاز برای اجرا میپرسه که باید داخل ترمینال Paste کنید.
```bash
bash -c "$(curl -fsSL https://raw.githubusercontent.com/2ri4eUI/CFW-BOT/main/install.sh)"
```
![image](https://github.com/2ri4eUI/CFW-BOT/assets/139592104/36852bd8-1d49-4fed-8c4f-5e028f5ae9c0)

## اوبونتو

اگر میخواهید ربات را در پس زمینه سرور لینوکسی خود اجرا کنید میتونید از یک سرویس systemd کمک بگیرید.
1. ابتدا ربات را با یکی از روشهای آموزش داده شده نصب کنید
2. ربات را متوقف کنید. چند ثانیه ctrl+c را نگه دارید تا متوقف شود.
3. دستور زیر را اجرا کنید تا فایل سرویس را بسازید:

```bash
sudo nano /etc/systemd/system/cfwbot.service
```
4. این تنظیمات را کپی کنید. توجه کنید که WorkingDirectory با جایی که نصب کردید همخوانی داشته باشد. و همچنین user ای که میخواهید با آن اجرا کنید را انتخاب کنید.
```bash
[Unit]
Description=CFW-BOT
After=network.target

[Service]
User=root
WorkingDirectory=/root/CFW-BOT/
ExecStart=/usr/bin/python3 cfw.py
Restart=always

[Install]
WantedBy=multi-user.target
```

5. و با دستورات زیر مثل هر سرویس دیگری، آن را فعال میکنید و وضعیت آن را میبینید.
```bash
sudo systemctl enable cfwbot
sudo systemctl start cfwbot
sudo systemctl status cfwbot
```

## نصب آسان
1. یک حساب رایگان در [PythonAnywhere](https://www.pythonanywhere.com) بسازید.
2. کلیدهای API مورد نیاز را بدست آورید:
- توکن ربات تلگرام از BotFather
- کلید API کلادفلیر از داشبورد کلادفلیر (میتوانید از الگوی پیشفرض Edit Worker استفاده کنید که دسترسی لازم را دارد، فقط به آن دسترسی EDIT را در همه بخشها بدهید)
- شناسه کاربر تلگرامی را می‌توانید از اینجا به دست آورید: https://t.me/useridinfobot یا هر ربات مشابه دیگری که می‌شناسید
- شناسه حساب کلادفلیر را می‌توانید از سمت راست صفحه یا صفحه کارگر در کلادفلیر پیدا کنید
4. در بخش داشبورد، فایل‌ها را انتخاب کرده و بر روی "Open Bash Consol here" کلیک کنید.
5. حالا که کلیدهای مورد نیاز را دریافت کردید، میتونید برید بات را نصب کنیم. ابتدا پروژه را کلون کنید.
```bash
git clone https://github.com/2ri4eUI/CFW-BOT.git
```
6. به پوشه پروژه برید :
```bash
cd CFW-BOT
```
7. فایل requirement.sh را به حالت اجرایی در بیارید و آن را اجرا کنید:
```bash
chmod +x requirement.sh
./requitement.sh
```
"اگر به مشکلاتی در اجرای requirement.sh در PythonAnywhere همچنین برخورد کردید، کنسول را با `close` ببندید و وارد منوی Files شده و فایل requirement.sh را باز کنید سپس با `ctrl+s` آن را ذخیره کرده و ببیندید و مجدد آن را اجرا کنید. این بار به خطایی برخورد نمیکنید ."
اگر همچنان مشکل ادامه داشت تنها کافی است فایل `requirement.sh` را با dos2unix کانورت کنید از آنجایی که سایت PythonAnyWhere از این ابزار پشتیبانی نمیکند میتونید برای اینکار از `dos2unix.py` که در پوشه پروژه قرار دارد استفاده کنید و سپس مجدد فایل `requirement.sh` را اجرا کنید.
```bash
python3 dos2unix.py
```
8. فایل پایتون install.py را اجرا کنید، این فایل با پرسیدن مقادیر API و یوزر آیدی تنظیمات لازم را برای شروع اجرا بات به صورت خودکار انجام میدهد.
```bash
python3 install.py
```
9. حالا میتونید بات را اجرا کنید:
```bash
python3 cfw.py
```

## نحوه استفاده از ربات
وقتی ربات در حالت اجراست، فقط کافیست یک کاربر جدید در تلگرام بسازید.
برای ساخت کاربر جدید و تنظیم ساب دامنه نیازی به تنظیم کردن ساب دامنه از قبل ندارید، به صورت خودکار هر مقداری از ساب دامنه که اجرا کنید وارد میشود. ولی حتما باید دامنه آن از قبل در کلادفلر ست شده باشد.
مانند هر ورکر دیگری برای اتصال نیاز به پروکسی کلادفلر دارد ، که میتواند آی پی یا وب سایتی باشد که پشت کلادفلر است .
## پیدا کردن آی‌پی یا دامنه کلادفلیربا سرعت بالا:
شما از هر روشی که بلد هستید میتونید استفاده کنید راه پیشنهادی من:
از پلتفرم‌هایی مانند fofa.info برای پیدا کردن آی‌پی‌ها یا دامنه‌های کلادفلیر استفاده کنید.برای مثال در fofa.info بنویسید:
```bash
server=="cloudflare" && port=="443" && country=="NL" && city=="Amsterdam"
```

## نکته
این ربات به صورتی نوشته شده تا ارزان و سبک باشد و بر پلتفرم رایگانی مانند PyhtonAnyWhere حتی بعد از رد کردن ریت لیمیت آن قابل اجرا بماند.

## توضیح
ورکر استفاده شده در فایل `index.sh` توسط من نوشته نشده و نویسنده اصلی آن را متاسفانه نمیشناسم. بعد از جستجو در بین ورکرهای موجود از این استفاده شده است، ولی بات قابلیت تنظیم شدن با ورکرهای جدید را دارد که تنها باید
جهت استفاده در بات کمی تغییر داده شود.

این پروژه تنها شروع است و جای زیادی برای توسعه دارد. مسلما توجه شما نسبت بهش انگیزه من را برای ارتقا دادنش افزایش میده.
ایده هایی برای آینده
- گرفتن پشتیبان از پایگاه داده
- تعیین محدودیت زمانی یا در صورت امکان حجمی برای کاربران
- استفاده از اسکریپتهای ورکر مختلف
- اتصال به گیتهاب برای ایجاد لینک اشتراک
- نمایش اطلاعات پروکسی کلادفلر، مانند لوکیشن آن

همیشه از ایده های جدید شما استقبال میکنم.🍀