Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

htunnel

کلاینت دریافت پست‌های کانال تلگرام در زمان قطعی اینترنتی بین‌الملل

درود.

این یک پروژه برای زمان قطعی اینترنت بین‌الملل هست، که می‌توانید روی سرور مجازی(VPS) بدون دردسر ران کنید.

پروژه H-Tunnel این پروژه یک سیستمِ چندموتوره برای دریافت پست‌های کانال‌های تلگرامی در شرایطِ سخت اینترنتی و فیلترینگ شدید است. این سیستم از ۳ موتور مستقل استفاده می‌کند و دارای یک پنل مدیریت تحت وب است.

قابلیت‌ها

حالت xray لایت: بهینه‌سازی برای موتور Xray. در این شما با کانفیگ دستی‌ای که به این کلاینت دادید می‌رود بر اساس تایمر شما (مثلا هر ۱ ساعت یک‌بار، که از داخل داشبورد وب قابل تنظیم است) چند ثانیه بیدار شده، اطلاعات را دریافت کرده و دوباره خاموش می‌شود. این حالت برای کانفیگ‌های پولی طراحی که در شرایط سخت حجم کمی از کانفیگ مصرف کند.

حالت زامبی یا اسکرپر: قابلیت استخراج خودکار (اسکرپ) کانفیگ‌های جدیدِ Xray و SlipNet از کانال‌های تلگرامی و جایگزینی خودکار با کانفیگ‌های سوخته.

و DNS Tunnel: دور زدن قطعی‌های کامل اینترنت با استفاده از بستر درخواست‌های DNS. شما می‌توانید دامنه خود را نیز در همین پنل تحت وب ست کنید.

موتور SlipNet: پشتیبانی از slipnet با قابلیت فوروارد کردن ترافیک روی DNS‌های اختصاصی. که می‌توانید dns های مختلف تنظیم کنید و کلاینت کانفیگ اسلیپ ‌نت را بر روی همه انها تست کند. توجه: این بخش به طور کامل توسعه داده نشده، و تست‌های کمی روی آن صورت گرفته، ممکن است دارای باگ‌هایی باشد یا کار نکند.

داشبورد تحت وب: مدیریت تمام کانال‌ها، کانفیگ‌ها، تغییر حالت‌ها و مشاهده آمار مصرفِ حجم و زمان اتصال هر کانفیگ،

مرحله ۱: پیش‌نیازها و نصب کتابخانه‌ها

برای اجرای این پروژه روی سرور لینوکس (اوبونتو/دبیان)، ابتدا پکیج‌های پایه و کتابخانه‌های پایتون را نصب کنید. دستورات زیر را در ترمینال سرور خود کپی و اجرا کنید:

sudo apt update

sudo apt install python3 python3-pip tmux wget tar -y

۲. نصب کتابخانه‌های مورد نیاز پایتون

pip3 install flask dnspython requests beautifulsoup4

مرحله ۲: دانلود هسته‌ها (Xray و SlipNet)

نکته مهم برای کاربران DNS:

اگر قصد دارید فقط از حالت «تونل DNS» استفاده کنید، اصلاً نیازی به دانلود فایل‌های هسته xray و slipnetندارید! می‌توانید مستقیما به مرحله ۳ بروید، اسکریپت را اجرا کنید و دامنه خود را در پنل ثبت کنید.

اما اگر می‌خواهید از موتورهای Xray و SlipNet استفاده کنید، باید فایل‌های اجرایی آن‌ها را کنار فایل پایتون (htunnel.py) قرار دهید. من دستور نصب آنها را دادم، اما چون اینترنت ملی است، می‌توانید فایل‌ها را مستقیم. از کانال تلگرامی من دریافت کنید. به این آدرس: @eots1

برای نصب هسته های xray و slipnet وارد پوشه‌ی پروژه خود شوید و دستورات زیر را به ترتیب اجرا کنید:

دانلود هسته Xray:

Bash

wget -qO xray.zip "https://github.com/XTLS/Xray-core/releases/latest/download/Xray-linux-64.zip"

unzip xray.zip xray

rm xray.zip

chmod +x xray

دانلود هسته SlipNet (نسخه All-in-One):

Bash

DOWNLOAD_URL=$(curl -s https://api.github.com/repos/anonvector/SlipNet/releases/latest | grep "browser_download_url" | grep -i "linux-amd64" | grep -v "sha256" | cut -d '"' -f 4 | head -n 1)

wget -qO slipnet "$DOWNLOAD_URL"

chmod +x slipnet

مرحله ۳: تنظیمات امنیتی (رمز عبور پنل)

داشبورد مدیریتِ H-Tunnel برای جلوگیری از دسترسی دیگران، دارای رمز عبور است. قبل از اجرای برنامه، حتما رمز پیش‌فرض را تغییر دهید.

فایل htunnel.py را با یک ویرایشگر باز کنید.

به خط حدود 460 بروید (بخش APIs & Web Routes).

این خط را پیدا کنید:

def check_auth(username, password): return username == 'root' and password == 'eots1admin'

کلمات root (نام کاربری) و eots1admin (رمز عبور) را به مقادیر دلخواه خود تغییر دهید و فایل را ذخیره کنید.

برای اینکه وقتی ترمینال (یا برنامه PuTTY/Termius) را می‌بندید، اسکریپت متوقف نشود، از ابزار tmux استفاده می‌کنیم:

Bash

۱. ساخت یک پنجره‌ی مجازی جدید به اسم htunnel

tmux new -s htunnel

۲. اجرای هسته‌ی اصلی

python3 htunnel.py

و تمام، پروژه اکنون ران شده است.

برای خارج شدن از این پنجره (بدون بستن اسکریپت)، روی کیبورد ابتدا دکمه‌های Ctrl+B را همزمان بزنید، دکمه‌ها را رها کنید و سپس کلید D را بزنید. (سرور در پس‌زمینه به کار خود ادامه می‌دهد).

(برای برگشتن دوباره به این پنجره در آینده، دستور tmux attach -t htunnel را بزنید).

آموزش استفاده از پنل مدیریت

مرورگر خود را باز کنید و آدرس سرور خود را همراه با پورت 3546 وارد کنید:

http://YOUR_SERVER_IP:3546

پس از وارد کردن نام کاربری و رمزی که در مرحله قبل تنظیم کردید، وارد پنل می‌شوید.

روی آیکون چرخ‌دنده (⚙️) در گوشه بالا کلیک کنید تا تنظیمات باز شود:

انتخاب موتور: از منوی کشویی، موتور دلخواه خود را (DNS، Xray معمولی، Xray لایت یا SlipNet) انتخاب کنید.

تنظیمات حالت لایت: اگر موتور Xray لایت را انتخاب کنید، می‌توانید از منوی جدیدی که باز می‌شود، زمان‌بندی فعال شدن کانفیگ را (از ۱۰ دقیقه تا ۱۲ ساعت) تنظیم کنید تا مصرف حجم کانفیگِ شما مدیریت شود.

افزودن کانفیگ: در بخش مربوط به هر موتور، می‌توانید کانفیگ‌های دستی (مثل vless://...) را اضافه کنید.

کانال‌های زامبی یا اسکرپی: با دادن آیدی کانال‌های منتشرکننده‌ کانفیگ رایگان (بدون @)، ربات به صورت خودکار از آن‌ها کانفیگ استخراج و در پس زمینه تست می‌کند. در صورت فعال بودن به آنها سوییچ می‌کند.

کانال‌های نمایشی: در پایین‌ترین بخش، آیدی کانال‌های خبری یا عمومی تلگرام را وارد کنید تا پست‌های آن‌ها در صفحه‌ی اصلی پنل برای شما نمایش داده شود.

نکته: هر تغییری که در پنل می‌دهید (تغییر موتور، افزودن کانفیگ یا کانال)، به صورت آنی چینج می‌شود.

متوجه هستم که این اسکریپت کد اسپاگتی شده است، اما برای نصب آسان برای کاربران غیرحرفه‌ای این تصمیم گرفته شده است. همچنین فایل‌های پروژه را می‌توانید از کانال تلگرامی من دریافت کنید: @eots1

About

کلاینت دریافت پست‌های کانال تلگرام در زمان قطعی اینترنتی بین‌الملل

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages