Meli-Action
ابزاری مبتنی بر گیتهاب اکشن برای دور زدن فیلترینگ اینترنت — دانلود فایل از لینک مستقیم، یوتیوب، تلگرام، گوگل پلی، ساندکلاد و ذخیره صفحات وب، همه از طریق سرورهای فیلتر نشده گیتهاب.
🌐 چطور کار میکنه؟
گیتهاب اکشنها روی سرورهای خود گیتهاب اجرا میشن که توسط فیلترینگ اینترنت ملی ایران بلاک نشدن. این پروژه از همین موضوع استفاده میکنه:
- برای دانلود فایل: ورکفلو از
wgetبرای دانلود فایل در محیط runner گیتهاب استفاده میکنه، بعد باgit pushمستقیماً به ریپازیتوری شما اضافهاش میکنه — آماده دانلود معمولی از گیتهاب. - برای آرشیو صفحات وب: یک مرورگر بیسر Chromium (از طریق
pyppeteer) صفحه فیلتر شده رو کامل رندر میکنه، به فرمت MHTML ذخیره میکنه، زیپش میکنه و به ریپازیتوری پوش میکنه. - برای یوتیوب، تلگرام، ساندکلاد و گوگل پلی: ورکفلوهای اختصاصی از
yt-dlpو ابزارهای مخصوص هر پلتفرم استفاده میکنن و فایلها رو در پوشهdownloads/کامیت میکنن.
هیچ نرمافزاری نیاز نیست روی دستگاه شما نصب بشه. همه چیز در فضای ابری اجرا میشه.
✨ قابلیتها
| قابلیت | توضیحات |
|---|---|
| 📥 دانلود از لینک مستقیم | هر فایلی از یک URL مستقیم دانلود میکنه. فایلهای بیشتر از ۹۹ مگابایت بهطور خودکار به تکههای ۹۵ مگابایتی تقسیم میشن (به خاطر محدودیت گیتهاب) و بعد کامیت میشن. |
| 🎬 دانلودر یوتیوب | ویدیوهای یوتیوب رو با کیفیت دلخواه دانلود میکنه. شامل کانفیگ google_service.json برای جستجو و مرور یوتیوب از طریق پروکسی v2ray هم هست (توجه: با این کانفیگ فقط سرچ و تامبنیل لود میشه، نه پخش ویدیو). |
| 🎵 دانلودر ساندکلاد | آهنگها و پلیلیستهای SoundCloud رو دانلود میکنه. |
| 📱 دانلودر تلگرام | فایلها رو از کانالهای عمومی تلگرام دانلود میکنه. |
| 🛍️ دانلودر گوگل پلی | فایلهای نصبی APK رو از گوگل پلی دانلود میکنه. |
| 🌐 آرشیو صفحات وب | صفحات وب فیلتر شده رو با مرورگر بیسر به فرمت MHTML ذخیره میکنه و برای دانلود زیپ میکنه. |
| 🔞 دانلودر محتوای بزرگسالان | از یک پلتفرم معروف بزرگسالان پشتیبانی میکنه — کافیه لینک صفحه رو بدی. (شاید گاهی خطا بده؛ اگه خطا داد یکم صبر کنید و دوباره امتحان کنید.) |
🚀 شروع به کار
مرحله ۱ — فورک کن
دکمه Fork رو در بالای صفحه بزن تا ریپازیتوری وارد حساب گیتهاب خودت بشه.
مرحله ۲ — مجوز نوشتن اکشنها رو فعال کن
ورکفلوها برای کامیت کردن فایلهای دانلود شده به ریپازیتوری شما نیاز به مجوز دارن:
۱. توی ریپازیتوری فورک شده، برو به Settings ⚙️. ۲. از منوی سمت چپ، برو به Actions → General. ۳. زیر بخش "Workflow permissions"، گزینه "Read and write permissions" رو انتخاب کن. ۴. Save رو بزن.
همچنین، زیر بخش "Actions permissions"، مطمئن بشو که "Allow all actions and reusable workflows" انتخاب شده.
💡 نکته امنیتی: چون این فورک متعلق به خودته، دادن مجوز نوشتن به ورکفلوهای خودت کاملاً امنه.
مرحله ۳ — یک ورکفلو اجرا کن
۱. به تب Actions توی ریپازیتوری خودت برو. ۲. ورکفلوی مورد نظرت رو از لیست سمت چپ انتخاب کن (مثلاً «دانلود از URL»، «دانلودر یوتیوب» و غیره). ۳. دکمه Run workflow رو بزن. ۴. پارامترهای لازم رو وارد کن (مثل URL، کیفیت ویدیو، پوشه خروجی). ۵. دکمه سبز Run workflow رو بزن.
بعد از اتمام اجرا، فایل دانلود شده توی پوشه مشخص شده توی ریپازیتوری قابل مشاهدهست. بعدش میتونی مستقیم از گیتهاب دانلودش کنی.
📁 ساختار ریپازیتوری
Meli-Action/
├── .github/
│ └── workflows/ # تعریف ورکفلوهای گیتهاب اکشن
│ ├── download.yml # دانلودر لینک مستقیم
│ ├── youtube.yml # دانلودر یوتیوب
│ ├── telegram.yml # دانلودر تلگرام
│ ├── googleplay.yml # دانلودر گوگل پلی
│ ├── mhtml.yml # آرشیوکننده صفحات وب
│ └── ...
├── downloads/ # پوشه خروجی — فایلهای دانلود شده اینجا ذخیره میشن
├── save_as_mhtml.py # اسکریپت پایتون برای آرشیو صفحات با مرورگر بیسر
├── google_service.json # کانفیگ v2ray برای مرور یوتیوب از طریق پروکسی
└── README.md
⚙️ جزئیات فنی
دانلودر لینک مستقیم
از wget در داخل runner گیتهاب اکشن استفاده میکنه. اگه فایل خروجی از محدودیت ۱۰۰ مگابایتی گیتهاب بیشتر بشه، بهطور خودکار به تکههای حداکثر ۹۵ مگابایتی تقسیم میشه و هر تکه جداگانه پوش میشه.
آرشیوکننده صفحات وب (save_as_mhtml.py)
از pyppeteer (نسخه پایتون Puppeteer) برای راهاندازی یک نمونه Chromium بیسر استفاده میکنه، به URL مورد نظر میره، صبر میکنه تا صفحه کامل لود بشه و بعد در فرمت MHTML ذخیرهاش میکنه. آرشیو نهایی زیپ شده و به ریپازیتوری کامیت میشه.
دانلودر یوتیوب
با استفاده از yt-dlp کار میکنه و از انتخاب کیفیت (مثل ۷۲۰p، ۱۰۸۰p، فقط صدا) پشتیبانی میکنه. فایل google_service.json رو میشه توی v2ray ایمپورت کرد تا جستجو و مرور تامبنیلهای یوتیوب در یک پروکسی ممکن بشه.
دانلودر تلگرام
فقط کانالهای عمومی تلگرام رو هدف قرار میده. فایلهای ضمیمه پیامها رو با استفاده از API عمومی تلگرام دانلود میکنه.
دانلودر گوگل پلی
فایلهای APK رو از گوگل پلی با استفاده از ابزار اتوماسیون دریافت میکنه.
🔄 آپدیت به نسخه جدید
برای همگامسازی فورک خودت با آخرین تغییرات ریپازیتوری اصلی، دکمه Sync fork رو در صفحه اصلی ریپازیتوریت در گیتهاب بزن.
🤝 مشارکت
ایدهای برای یک دانلودر جدید یا قابلیت جدید داری؟ یک Issue باز کن و پیشنهادت رو بنویس. قول نمیدم بسازمش، ولی اگه جالب باشه و به درد بقیه بخوره حتماً بررسی میکنم.
⚠️ سلب مسئولیت
این پروژه برای استفاده شخصی جهت دسترسی به محتوا در محیطهای با محدودیت شبکه طراحی شده. کاربران مسئول رعایت شرایط خدمات هر پلتفرمی هستن که باهاش تعامل دارن، و همچنین باید قوانین کشورشون رو رعایت کنن.
⭐ حمایت
اگه این ابزار به کارت اومد، با زدن ستاره ⭐ ازم حمایت کن — به پیدا شدن پروژه توسط بقیه کمک میکنه!

