پروژه TheFeed به شما اجازه میدهد پیامهای کانالهای تلگرام را در محیطهای محدود (تحت فیلترینگ شدید) فقط از طریق درخواستهای DNS دریافت کنید!
در اینجا مراحل ساده راهاندازی آن را مرور میکنیم:
۱. اضافه کردن دو رکورد DNS 🌐
ابتدا به یک دامنه و یک سرور مجازی (خارج از ایران) نیاز دارید. در پنل دامنه خود دو رکورد زیر را ثبت کنید (فرض کنید آیپی سرور شما 1.2.3.4 و دامنه شما example.com است):
- یک رکورد A با نام ns که به آیپی سرورتان (
1.2.3.4) اشاره کند.- یک رکورد NS با نام t (یا هر زیردامنهای) که مقدار آن ns.example.com باشد.
۲. اجرای اسکریپت نصب روی سرور 💻
به سرور خود متصل شوید و دستور زیر را اجرا کنید تا نسخه سرور نصب شود:
sudo bash -c "$(curl -Ls https://raw.githubusercontent.com/sartoopjj/thefeed/main/scripts/install.sh)"
در مراحل نصب، دامنه (مثلاً
t.example.com)، یک رمز عبور (Passphrase) برای رمزنگاری، و آیدی کانالهایی که میخواهید بخوانید (مثلاً VahidOnline@) را وارد کنید.(برای سادگی و امنیت بیشتر لاگین به تلگرام رو انجام ندید، پیشنهاد خود اسکریپت هم همینه)
۲.۲. بررسی لاگهای سرور 📋
برای اطمینان از اینکه سرور به درستی اجرا شده و خطایی ندارد، میتوانید لاگها را با دستور زیر بررسی کنید:
journalctl -u thefeed-server -f
اگر توی نصب سرور ارور میگرفتید که پورت ۵۳ اشغال هست این کار رو انجام بدید:
توجه: سرور باید روی پورت ۵۳ پاسخ بدهد. بهتر است روی پورت غیرمحدود (:5300) اجرا و با iptables فوروارد کنید (بصورت ساده یعنی برنامه یجای دیگه گوش میکنه ولی سیستم عامل ترافیک پورت ۵۳ رو میفرسته سمت برنامه):
نام اینترفیس شبکه خود را با ip a پیدا کنید و eth0 را جایگزین کنید:
sudo iptables -I INPUT -p udp --dport 5300 -j ACCEPT
sudo iptables -t nat -I PREROUTING -i eth0 -p udp --dport 53 -j REDIRECT --to-ports 5300
sudo ip6tables -I INPUT -p udp --dport 5300 -j ACCEPT
sudo ip6tables -t nat -I PREROUTING -i eth0 -p udp --dport 53 -j REDIRECT --to-ports 5300
برای ماندگار کردن این قوانین بعد از ریبوت:
sudo apt install iptables-persistent
sudo netfilter-persistent save
۳. دانلود و اجرای کلاینت 📱/🖥
فایل کلاینت متناسب با سیستم عامل خود را از بخش Releases گیتهاب پروژه:
(https://github.com/sartoopjj/thefeed/releases)
دانلود کنید. سپس طبق سیستمعامل خود آن را اجرا کنید:
🔹 برای ویندوز:
فایل دانلود شده (با پسوند
.exe) را با دابلکلیک آن را اجرا کنید. یک پنجره سیاه (CMD) باز میشود که نشان میدهد برنامه در حال اجراست.🔹 برای لینوکس/مک:
ترمینال را باز کرده و در پوشهای که فایل را دانلود کردهاید، دستورات زیر را وارد کنید تا برنامه مجوز اجرا بگیرد و اجرا شود:
chmod +x thefeed-client*
./thefeed-client*
🔹 برای اندروید کافیه APK رو نصب کنید و اجرا کنید.
- پس از اجرای برنامه در تمام سیستمعاملها (بغیر از apk اندروید)، مرورگر خود را باز کرده و به آدرس
http://127.0.0.1:8080 بروید.۴. وارد کردن دامنه و رمز عبور در کلاینت 🔐
در پنل تحت وب کلاینت، وارد بخش Settings (تنظیمات) شوید. دامنهای که در مرحله ۱ تنظیم کردید (مثلاً
t.example.com) و همان رمز عبوری (Passphrase) که هنگام نصب سرور وارد کردید را در اینجا قرار دهید.۵. اسکن ریزالورها (Resolvers) 🔍
پروژه برای کار کردن نیاز به ریزالور داره (مثل dnstt ولی خب خیلی از ریزالور هایی که واسه dnstt کار نمیکنه توی این کار میکنه چون این خیلی کم مصرفتر از dnstt هست)
برای پیدا کردن ریزالور میتونید توی برنامه روی دکمه 🔍 کلیک کنید و سپس روی دکمه "بارگذاری لیست ایران" کلیک کنید و سپس دکمه شروع اسکن رو بزنید و ...
۶. خواندن کانالهای تلگرام! 🎉
کار تمام است! حالا به صفحه اصلی کلاینت برگردید. کلاینت از طریق درخواستهای رمزنگاری شده DNS، جدیدترین پیامهای کانالهایی که روی سرور تنظیم کردهاید را دریافت کرده و نمایش میدهد.
🔗 لینک پروژه در گیتهاب:
https://github.com/sartoopjj/thefeed
@networkti