Skip to content

BEST8OY/aio-downloader

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,228 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌐 aio‑downloader

All‑in‑One GitHub Actions Downloader — بدون فیلتر · بدون تحریم

اگر این پروژه برایتان مفید است، لطفاً ستاره بدهید — به دیگران کمک می‌کند پیدایش کنند!


⚠️ اعلامیه مهم برای کاربرانی که قبلاً فورک کرده‌اند (حتماً بخوانید)

مخزن اصلی (ProAlit/aio-downloader) به‌طور مداوم به‌روزرسانی می‌شود — رفع باگ‌ها، ویژگی‌های جدید، و بهبود امنیت. فورک شما به‌صورت خودکار این به‌روزرسانی‌ها را دریافت نمی‌کند!

✅ مشکل push و پوشه — کاملاً برطرف شد

در نسخه‌های قدیمی‌تر، برخی workflowها هنگام push با خطا مواجه می‌شدند یا فایل‌ها در مسیر اشتباه قرار می‌گرفتند. این مشکل اکنون به‌طور کامل حل شده است:

  • تمام workflowها از persist-credentials: true استفاده می‌کنند
  • قبل از هر push، یک git pull --rebase --autostash اجرا می‌شود تا تداخلی پیش نیاید
  • حلقه‌ی تلاش مجدد ۵ مرحله‌ای برای push وجود دارد
  • پوشه‌های خروجی با mkdir -p ساخته می‌شوند
  • حجم بافر git به ۵۰۰ مگابایت افزایش یافته (http.postBuffer)

اگر همچنان مشکلی دیدید، ابتدا فورک خود را به‌روز کنید (پایین را ببینید) — به احتمال زیاد فورک‌تان قدیمی است.


🔄 همگام‌سازی فورک — فقط با خودِ وبسایت GitHub (بدون گیت)

این کار را انجام دهید تا آخرین اصلاحات و امکانات را دریافت کنید.

⚠️ نکته بسیار مهم: نمی‌توانید Pull Request باز کنید

اگر در فورک خود تغییری commit کرده باشید (حتی ویرایش channels.json)، فورک شما از مخزن اصلی «جلوتر» می‌افتد و دیگر به‌روزرسانی دریافت نمی‌کند. تنها راه، دور انداختن commitهای خودتان و همگام‌سازی کامل است.

روش (فقط در وبسایت GitHub):

  1. به صفحه فورک خود بروید (مثلاً github.com/your-username/aio-downloader)
  2. بالای لیست فایل‌ها، روی دکمه‌ای که نوشته «Sync fork» کلیک کنید.
  3. در منوی بازشده، اگر commit اضافی ندارید، گزینه «Update branch» را بزنید.
  4. اگر commit اضافی دارید (مثلاً فایل‌ها را ویرایش کرده‌اید)، به جای Update branch، گزینه «Discard commits» (دور انداختن commitها) را انتخاب کنید. این کار فورک شما را دقیقاً با مخزن اصلی یکسان می‌کند.

⚠️ با Discard commits تمام تغییرات خود را از دست می‌دهید. اگر فایل مهمی دارید، اول دانلودش کنید.

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


فهرست

  1. پیش‌نیازها
  2. فورک و راه‌اندازی اولیه
  3. نحوه استخراج و افزودن کوکی‌ها
  4. راهنمای کامل هر گردش کار
  5. مشکل کندی checkout در workflowها
  6. محدودیت‌ها و هشدارهای مهم
  7. فایل zoomusers.md چیست؟

⚠️ پیش‌نیازها

نیاز توضیح
حساب GitHub رایگان — همین کافیست
مرورگر + افزونه Get cookies.txt LOCALLY Chrome / Firefox / Edge
حساب اینستاگرام (اختیاری) برای استوری و محتوای خصوصی
حساب X (توییتر) الزامی برای دانلودر X
حساب Cloudflare (اختیاری) برای MHRV Exit Node
تلگرام، ضبط وبسایت، و گوگل پلی هیچ چیز اضافی نیاز ندارند

فورک و راه‌اندازی اولیه

مرحله ۱: فورک کردن

روی دکمه Fork در بالای صفحه کلیک کنید.

مرحله ۲: فعال‌سازی Actions

  1. به تنظیمات بروید: SettingsActionsGeneral
  2. Actions permissions: گزینه Allow all actions and reusable workflows
  3. Workflow permissions: گزینه Read and write permissions
  4. ذخیره کنید.

⚠️ اگر دسترسی نوشتن ندهید، آپلود فایل‌ها با خطا مواجه می‌شود!

مرحله ۳: پاک‌سازی اولیه (اکیداً توصیه می‌شود)

مخزن فورک‌شده شامل فایل‌های رسانه‌ای از مخزن اصلی است. برای شروع تمیز، به Actionsaio-cleaner بروید، Clean ALL platforms را تیک بزنید و اجرا کنید.

مرحله ۴ (اختیاری): تنظیم Secret برای MHRV

اگر از Exit Node استفاده می‌کنید، Secret با نام TUNNEL_AUTH_KEY بسازید و رمزتان را وارد کنید.


نحوه استخراج و افزودن کوکی‌ها

۱. استخراج — فقط با پنجره ناشناس!

  1. یک پنجره Private/Incognito باز کنید.
  2. افزونه Get cookies.txt LOCALLY را نصب کنید.
  3. در همان پنجره وارد youtube.com، instagram.com یا x.com شوید.
  4. روی آیکون افزونه → Export (فرمت Netscape) → فایل txt را ذخیره کنید.
  5. پنجره خصوصی را کاملاً ببندید.

چرا ناشناس؟ اگر در پنجره عادی لاگ‌اوت کنید، کوکی‌ها بی‌اعتبار می‌شوند. با بستن پنجره ناشناس، نشست بسته می‌شود ولی کوکی معتبر می‌ماند.

⚠️ نشانه‌های خرابی کوکی: خطای Sign in to confirm you're not a bot (یوتیوب)، خطای 429 Too Many Requests (اینستاگرام)، یا دانلود موفق ولی بدون فایل خروجی. راه حل: کوکی جدید از پنجره ناشناس بگیرید و Secret را به‌روز کنید.

۲. افزودن به GitHub Secrets

  1. به SettingsSecrets and variablesActions بروید.
  2. New repository secret بزنید.
  3. برای یوتیوب: نام YOUTUBE_COOKIES، برای اینستاگرام: INSTAGRAM_COOKIES، برای X: X_COOKIES. محتوای فایل txt را جای‌گذاری کنید.

هرگز فایل کوکی را مستقیماً توی مخزن commit نکنید!


راهنمای کامل هر گردش کار

۱. دانلودر یوتیوب (yt‑dlp + پشتیبان‌های هوشمند)

این گردش‌کار با چندین استراتژی پشتیبان طراحی شده تا اگر متد اصلی شکست خورد، خودکار راه‌های جایگزین را امتحان کند — بدون نیاز به دخالت شما.

✨ ویژگی‌ها:

  • تلاش با شبیه‌سازی کلاینت اندروید، iOS، و بدون کوکی
  • در صورت شکست، از ابزارهای جایگزین مانند pytube، سرویس‌های API خارجی و youtube‑dl استفاده می‌کند
  • پشتیبانی از لینک‌های غیر یوتیوب (دانلود مستقیم با wget)
  • انتخاب هوشمند نزدیک‌ترین کیفیت موجود
  • Remux خودکار با ffmpeg برای سازگاری کامل
  • تقسیم خودکار فایل‌های >۹۹MB به ZIP چندبخشی

⚠️ کوکی یوتیوب: اختیاری اما به‌شدت توصیه می‌شود

  • شما بدون کوکی هم می‌توانید دانلود کنید، اما برای اطمینان بیشتر و موفقیت تقریباً همیشگی، حتماً YOUTUBE_COOKIES را تنظیم کنید.
  • اگر کوکی تنظیم کرده باشید، گردش‌کار خودکار از آن استفاده می‌کند؛ در غیر این صورت بدون کوکی ادامه می‌دهد.

نحوه استفاده:

  1. Actionsyoutube-downloaderRun workflow
  2. ورودی: URL v/a رزولوشن fps (fps اختیاری)
https://www.youtube.com/watch?v=dfdXGw1xY9A v 480
https://www.youtube.com/watch?v=dfdXGw1xY9A v 1080 60
https://www.youtube.com/watch?v=VIDEO_ID a max
https://www.youtube.com/watch?v=VIDEO_ID v 4k
  • v = ویدیو، a = صدا
  • رزولوشن: max, min, 1080, 2k, 4k و …
  • FPS: اختیاری (مثلاً 60)
  • اگر v/a ندهید، پیش‌فرض حداکثر کیفیت ویدیو انتخاب می‌شود.
  • برای صدا (a max) خروجی به صورت .opus است.
  1. خروجی در پوشه youtube/ (فایل‌های بزرگ به ZIP چندبخشی تبدیل می‌شوند)

۲. دانلودر اینستاگرام

دانلود عکس، ویدیو، استوری، Highlight و Carousel.

  1. Actionsinstagram-downloaderRun workflow
  2. لینک‌ها را با کاما، فاصله یا خط جدید جدا کنید.
https://www.instagram.com/p/DX2y7oLDFOb/,
https://www.instagram.com/reel/DVRXhn0gjL3/,
https://www.instagram.com/p/DX6US4uCNGb/
  1. خروجی ZIP در پوشه instagram/.

⚠️ خطای ۴۲۹ یعنی کوکی اینستاگرام منقضی یا محدود شده — کوکی جدید بگیرید.


۳. دانلودر X (توییتر)

دانلود رسانه از توییت‌ها و پروفایل‌ها. X_COOKIES الزامی است!

  1. Actionsx-downloaderRun workflow
  2. لینک‌ها را با کاما، فاصله یا خط جدید وارد کنید.
https://x.com/username/status/123456789,
https://x.com/otheruser/status/987654321
  1. خروجی ZIP در پوشه x/.

۴. دانلودر مستقیم

دانلود هر فایل از لینک مستقیم با aria2c (۱۶ اتصال همزمان — بسیار سریع).

  1. Actionsdirect-downloaderRun workflow
  2. لینک‌های مستقیم (.zip, .mp4, .apk, .pdf و …) را بچسبانید.
https://example.com/file.zip,
https://example.com/video.mp4
  1. فایل‌ها در direct/ ذخیره می‌شوند (بزرگ‌تر از ۹۹MB به ZIP چندبخشی تقسیم می‌شوند).
    ℹ️ برای جلوگیری از تداخل، یک رشته تصادفی به نام فایل اضافه می‌شود — می‌توانید همان فایل را چندبار دانلود کنید.

۵. آرشیو کانال تلگرام

کانال‌های عمومی را اسکن کرده و پیام‌ها و رسانه‌ها را بایگانی می‌کند.
قابلیت اجرای خودکار (هر ۱۵ دقیقه) یا دستی.

نمونه زنده: مخزن اصلی یک بایگانی لحظه‌ای از کانال‌های خبری دارد. برای دیدن آن:
telegram.md در مخزن اصلی
(در فورک شما به‌روزرسانی نمی‌شود — برای دریافت، گردش‌کار را در فورک خود اجرا کنید.)

⚠️ هشدار: تأثیر روی سرعت سایر workflowها

اگر از این بخش زیاد استفاده کنید و فایل‌های کوچک زیادی در telegram/content/ جمع شود، مرحله‌ی checkout در تمام workflowها کند می‌شود (چون کل مخزن خوانده می‌شود).
راه حل: هر از گاهی با پاک‌کننده جامع، پوشه محتوای تلگرام را خالی کنید (بخش ۱۰).

➕ افزودن/حذف کانال

فایل telegram/channels.json را ویرایش کنید. نام کانال را بدون @ وارد کنید.

["VahidOOnLine", "mwarmonitor", "channelname"]

▶️ اجرای دستی

Actionstelegram-fetcherRun workflow

⚠️ فقط کانال‌های عمومی. زمان‌بندی خودکار ممکن است با تأخیر ۱ تا ۶ ساعت اجرا شود.


۶. دانلودر تلگرام (بتا)

دانلود فایل‌های خاص از کانال‌های عمومی با لینک مستقیم پیام. (ویژگی در حال توسعه)


۷. ضبط وبسایت (PDF + MHTML)

هر صفحه عمومی را به دو فرمت تبدیل می‌کند:

  • PDF با کیفیت بالا (مناسب برای چاپ و آرشیو)
  • MHTML (بایگانی کامل صفحه شامل تصاویر، CSS و فونت‌ها — قابل باز شدن در مرورگر)

با استفاده از Playwright + Chromium رندر می‌شود تا صفحات داینامیک کامل دریافت شوند.

  1. Actionswebsite-captureRun workflow
  2. آدرس کامل با https:// را وارد کنید.
https://example.com/article
https://github.com/ProAlit/aio-downloader
  1. خروجی‌ها در پوشه website/ — هم فایل PDF و هم فایل MHTML.

⚠️ محدودیت‌ها: فقط سایت‌های عمومی، حداکثر ۵۰۰ لینک داخلی، مهلت ۳۰ دقیقه، بدون کوکی. صفحات SPA سنگین ممکن است کامل رندر نشوند.


۸. لیچر (Leecher) – میانبر + دستورات خام

قدرتمندترین بخش! از یوتیوب و اینستاگرام تا تیک‌تاک، ساندکلاد، اسپاتیفای و بیش از ۱۸۰۰ سایت دیگر.
دو روش: حالت میانبر (سریع) و حالت خام (کاملاً قابل اعتماد).

⚡ حالت خام (Raw) — توصیه اصلی

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

https://www.youtube.com/watch?v=VIDEO_ID -- --format "bestvideo[height<=1080]+bestaudio/best[height<=1080]" --merge-output-format mkv
https://www.tiktok.com/@user/video/ID -- --write-subs --sub-lang en

نکته: کوکی‌های موجود در Secrets خودکار تشخیص داده می‌شوند.

🔹 حالت میانبر

هنوز هم می‌توانید از v (ویدیو) و a (صدا) استفاده کنید، ولی برای محتوایی که ویدیو/صدا/موسیقی نیست، نرخ شکست بالایی دارد. اگر لینک شما از این نوع نیست، حتماً به حالت خام بروید.

https://www.youtube.com/watch?v=dfdXGw1xY9A v 1080
https://soundcloud.com/artist/track a 320

❓ اگر دستور بلد نیستید

از چت‌بات‌های هوش مصنوعی مثل chat.deepseek.com (بدون فیلتر) بپرسید:
"یک دستور yt‑dlp برای دانلود این لینک با بهترین کیفیت بنویس"
دستور تولید شده را در حالت خام استفاده کنید.

📋 مثال‌های جذاب از حالت خام:

# یوتیوب با زیرنویس
https://www.youtube.com/watch?v=ID -- -f "bestvideo[height<=1080]+bestaudio" --write-subs --sub-lang en --merge-output-format mp4
# اینستاگرام
https://www.instagram.com/p/CODE -- --format best
# توییتر
https://x.com/user/status/ID -- --format best
# پینترست
https://www.pinterest.com/pin/ID -- --format best
# ساندکلاد
https://soundcloud.com/artist/track -- --format bestaudio

خروجی‌ها در پوشه leecher/ زیپ می‌شوند.


۹. دانلودر اسپاتیفای و ساندکلود

تبدیل و دانلود لیست‌های پخش و آهنگ‌ها.

  1. Actionsspotify-soundcloud-downloaderRun workflow
  2. لینک‌ها را وارد کنید.
https://open.spotify.com/track/ID,
https://soundcloud.com/artist/track
  1. فایل‌ها در music/ (تبدیل خودکار با ffmpeg).

۱۰. پاک‌کننده جامع (AIO Cleaner)

⚠️ فضای مخزن رایگان GitHub حدود ۵ گیگابایت است. فایل‌های حجیم فضا را پر می‌کنند — مرتب پاکسازی کنید.

پلتفرم‌های قابل پاک شدن:

پلتفرم چه چیزهایی حذف می‌شود
تلگرام telegram/content/، telegram.md، last_ids.json
تلگرام دانلودر telegram/downloader/
یوتیوب کل youtube/
اینستاگرام کل instagram/
X کل x/
وبسایت کل website/
لیچر کل leecher/
گوگل پلی کل google-play/
موسیقی کل music/
مستقیم کل direct/

نحوه اجرا:

  1. Actionsaio-cleanerRun workflow
  2. چک‌باکس‌های دلخواه را تیک بزنید (یا Clean ALL platforms)
  3. اجرا کنید.

❗ حذف دائمی است — ابتدا فایل‌های مهم را دانلود کنید.


۱۱. دانلودر گوگل پلی (APK)

دانلود APK رسمی از سرورهای گوگل (بدون اکانت).

  1. Actionsgoogle-play-downloaderRun workflow
  2. app: نام پکیج (مثلاً com.google.android.youtube) یا لینک گوگل پلی.
  3. architecture: arm64 (پیش‌فرض) یا armv7.
  4. merge_splits: ادغام APKهای چندبخشی (پیش‌فرض فعال).
app: com.spotify.music
architecture: arm64
merge_splits: true
  1. فایل APK (زیپ‌شده) در google-play/.

ℹ️ برای پیدا کردن نام پکیج، به لینک برنامه در گوگل پلی دقت کنید: id=com.example.app.


۱۲. MHRV خروجی VPS (Exit Node)

اجرای یک Exit Node کامل برای MasterHttpRelayVPN روی GitHub Actions.
یک تونل امن با Cloudflare ایجاد می‌کند و URL موقت تحویل می‌دهد.

نیازمندی‌ها:

  • Secret با نام TUNNEL_AUTH_KEY (رمز PSK دلخواه).
  • این رمز باید دقیقاً با psk در config.json پروژه VPN شما یکی باشد.

نحوه استفاده:

  1. Actionsmhrv-vps-exit-node-actionsRun workflow
  2. پس از ۲۰-۳۰ ثانیه در لاگ، خطی شبیه زیر می‌بینید:
https://random-name.trycloudflare.com
  1. این URL را کپی و در بخش exit_node کانفیگ VPN خود قرار دهید:
"exit_node": {
    "enabled": true,
    "provider": "vps",
    "url": "https://random-name.trycloudflare.com",
    "psk": "همان_رمز_مخفی"
}

⏱️ اعتبار هر URL تا ۶ ساعت است. بعداً باید دوباره اجرا کنید.
⚠️ URL و PSK را کنار هم منتشر نکنید.


مشکل کندی checkout در workflowها

گاهی مرحله‌ی Checkout repository در workflowها بسیار کند می‌شود. این مشکل دو علت اصلی دارد:

دلیل توضیح
انباشته شدن فایل‌های ریز تلگرام اگر از telegram-fetcher زیاد استفاده کنید، هزاران فایل کوچک در telegram/content/ ذخیره می‌شود. از آنجا که checkout کل مخزن را می‌خواند، این حجم بالا سرعت را کاهش می‌دهد و روی تمام workflowهای دیگر اثر می‌گذارد.
اوج مصرف GitHub Actions (Peak Times) در ساعات شلوغی سرورهای GitHub (معمولاً روزهای کاری، ساعت‌های اداری UTC)، عملیات checkout برای همه کندتر می‌شود — حتی اگر فایل‌های کمی داشته باشید.

راه حل:

  • برای فایل‌های تلگرام: هر از گاهی با aio-cleaner، گزینه Clean Telegram را اجرا کنید تا پوشه محتوای تلگرام خالی شود. این کار سرعت checkout را به شدت بهبود می‌دهد.
  • برای peak times: صبر کنید تا از ساعت شلوغی خارج شوید، یا workflow را در ساعات خلوت‌تر اجرا کنید. متأسفانه این بخش خارج از کنترل ماست.

محدودیت‌ها و هشدارهای مهم

هشدار توضیح
فضای مخزن ≈ ۵ گیگابایت فایل‌های دانلودی (مخصوصاً ویدیو) به سرعت فضا را پر می‌کنند. مرتباً از AIO Cleaner استفاده کنید.
حداکثر زمان اجرا ۶ ساعت (برای مخازن عمومی، دقیقه رایگان نامحدود)
فایل‌های >۹۹MB خودکار به ZIP چندبخشی تقسیم می‌شوند — با 7‑Zip یا WinRAR باز کنید.
دانلودر X حتماً کوکی X_COOKIES را تنظیم کنید.
تلگرام فقط کانال‌های عمومی. نام کانال را بدون @ وارد کنید.
وبسایت فقط صفحات عمومی (بدون دیوار ورود).
گوگل پلی احراز هویت خودکار — بدون نیاز به اکانت گوگل.
همگام‌سازی فورک حداقل هفته‌ای یکبار با دکمه Sync fork انجام دهید. اگر commit اضافی دارید، آن را Discard کنید.
کوکی‌ها فقط در پنجره ناشناس استخراج کنید و پس از خروجی گرفتن، پنجره را ببندید.

فایل zoomusers.md چیست؟

این فایل یک راهنمای جامع برای دور زدن فیلترینگ (GFW) است و شامل روش‌های متنوعی می‌شود:

  • MITM (مرد میانی) — روش‌های تغییر مسیر ترافیک
  • روش Clash — آموزش کامل کلاینت‌های Clash Verge (ویندوز/لینوکس) و Clash Meta (اندروید)
  • ویدئوهای آموزشی یوتیوب — لینک و راهنماهای تصویری
  • اجرای تونل MHRV HTTP VPN — نحوه راه‌اندازی و اتصال
  • و روش‌های دیگر برای بازگرداندن دسترسی به سرویس‌های تحریم‌شده.

ℹ️ این فایل یک راهنمای جانبی است و مستقیماً به گردش‌کارهای دانلود ربطی ندارد، اما می‌تواند برای کاربران ایرانی که با محدودیت دسترسی مواجه‌اند بسیار مفید باشد.


پشتیبانی

باگ یا پیشنهاد؟ یک Issue باز کنید و ذکر کنید:

  • نام گردش‌کار
  • ورودی (بدون کوکی)
  • پیام خطا از تب Actions

About

all-in-one everything downloader to bypass gfw

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors