All‑in‑One GitHub Actions Downloader — بدون فیلتر · بدون تحریم
⭐ اگر این پروژه برایتان مفید است، لطفاً ستاره بدهید — به دیگران کمک میکند پیدایش کنند! ⭐
مخزن اصلی (
ProAlit/aio-downloader) بهطور مداوم بهروزرسانی میشود — رفع باگها، ویژگیهای جدید، و بهبود امنیت. فورک شما بهصورت خودکار این بهروزرسانیها را دریافت نمیکند!
در نسخههای قدیمیتر، برخی workflowها هنگام push با خطا مواجه میشدند یا فایلها در مسیر اشتباه قرار میگرفتند. این مشکل اکنون بهطور کامل حل شده است:
- تمام workflowها از
persist-credentials: trueاستفاده میکنند - قبل از هر push، یک
git pull --rebase --autostashاجرا میشود تا تداخلی پیش نیاید - حلقهی تلاش مجدد ۵ مرحلهای برای push وجود دارد
- پوشههای خروجی با
mkdir -pساخته میشوند - حجم بافر git به ۵۰۰ مگابایت افزایش یافته (
http.postBuffer)
اگر همچنان مشکلی دیدید، ابتدا فورک خود را بهروز کنید (پایین را ببینید) — به احتمال زیاد فورکتان قدیمی است.
❗ این کار را انجام دهید تا آخرین اصلاحات و امکانات را دریافت کنید.
اگر در فورک خود تغییری commit کرده باشید (حتی ویرایش channels.json)، فورک شما از مخزن اصلی «جلوتر» میافتد و دیگر بهروزرسانی دریافت نمیکند. تنها راه، دور انداختن commitهای خودتان و همگامسازی کامل است.
- به صفحه فورک خود بروید (مثلاً
github.com/your-username/aio-downloader) - بالای لیست فایلها، روی دکمهای که نوشته «Sync fork» کلیک کنید.
- در منوی بازشده، اگر commit اضافی ندارید، گزینه «Update branch» را بزنید.
- اگر commit اضافی دارید (مثلاً فایلها را ویرایش کردهاید)، به جای Update branch، گزینه «Discard commits» (دور انداختن commitها) را انتخاب کنید. این کار فورک شما را دقیقاً با مخزن اصلی یکسان میکند.
نکته خیلی مهم!!! حتما بعد هر آپدیت مرحله کلینر رو برای همه اجرا کنید وگرنه دانلودهاتون به شدت کند انجام میشه!!.
⚠️ با Discard commits تمام تغییرات خود را از دست میدهید. اگر فایل مهمی دارید، اول دانلودش کنید.
پس از آن، فورک شما کاملاً بهروز شده و آخرین رفعها و قابلیتها را دارد.
- پیشنیازها
- فورک و راهاندازی اولیه
- راهنمای جامع تمام Secretها و Tokenهای مورد نیاز
- نحوه استخراج کوکی (Cookie) با روش robots.txt
- کوکی یوتیوب (YOUTUBE_COOKIES)
- کوکی اینستاگرام (INSTAGRAM_COOKIES)
- کوکی X/توییتر (X_COOKIES)
- کلید احراز هویت تونل (TUNNEL_AUTH_KEY)
- توکن استاتیک Cloudflare (CF_TUNNEL_TOKEN)
- آپلود در Google Drive (GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, GOOGLE_REFRESH_TOKEN)
- راهنمای کامل هر گردش کار (Workflow)
- ۱. دانلودر یوتیوب (downloader-youtube)
- ۲. دانلودر اینستاگرام (downloader-instagram)
- ۳. دانلودر X/توییتر (downloader-x)
- ۴. دانلودر مستقیم (downloader-direct)
- ۵. آرشیو کانال تلگرام (fetcher-telegram)
- ۶. دانلودر تلگرام بتا (downloader-telegram-beta)
- ۷. ضبط وبسایت - PDF و MHTML (fetcher-website)
- ۸. لیچر قدرتمند (aio-leecher)
- ۹. دانلودر ساندکلود (downloader-soundcloud)
- ۱۰. دانلودر اسپاتیفای (downloader-spotify)
- ۱۱. پاککننده جامع (aio-cleaner)
- ۱۲. دانلودر گوگل پلی (downloader-google-play)
- ۱۳. دانلودر MEGA.nz (downloader-mega-nz)
- ۱۴. Exit Node پایتون - داینامیک (python-mhrv-dynamic-exit-node)
- ۱۵. Exit Node پایتون - استاتیک (python-mhrv-static-exit-node)
- ۱۶. Exit Node Zyrln - داینامیک (zyrln-cloudflare-dynamic-exit-node)
- ۱۷. Exit Node Zyrln - استاتیک (zyrln-cloudflare-static-exit-node)
- ویژگیهای جدید (که در README قبلی نیستند)
- مشکل کندی checkout و راهحل آن
- محدودیتها و هشدارهای مهم
- پشتیبانی
- فایل zoomusers.md چیست
| نیاز | توضیح |
|---|---|
| حساب GitHub | رایگان — همین کافیست |
| مرورگر + افزونه Get cookies.txt LOCALLY | Chrome / Firefox / Edge |
| حساب اینستاگرام | (اختیاری) برای استوری و محتوای خصوصی |
| حساب X (توییتر) | الزامی برای دانلودر X |
| حساب Google Cloud | (اختیاری) برای آپلود خودکار در Google Drive |
| حساب Cloudflare | (اختیاری) برای Exit Nodeهای استاتیک |
| تلگرام، ضبط وبسایت، گوگل پلی، MEGA | هیچ چیز اضافی نیاز ندارند |
روی دکمه Fork در بالای صفحه کلیک کنید.
- به تنظیمات بروید: Settings → Actions → General
- Actions permissions: گزینه Allow all actions and reusable workflows
- Workflow permissions: گزینه Read and write permissions
- ذخیره کنید.
⚠️ اگر دسترسی نوشتن ندهید، آپلود فایلها با خطا مواجه میشود!
مخزن فورکشده شامل فایلهای رسانهای از مخزن اصلی است. برای شروع تمیز، به Actions → aio-cleaner بروید، Clean ALL platforms را تیک بزنید و اجرا کنید.
با توجه به نیاز خود، Secretهای مورد نظر را تنظیم کنید (راهنمای کامل در بخش بعدی).
در این بخش، تکتک Secretهایی که هر Workflow نیاز دارد به همراه آموزش گامبهگام و تصویری برای دریافت آنها توضیح داده شده است. هر Secret در بخش Workflow مربوطه نیز ذکر شده است.
⭐ روش جدید و بهتر: به جای رفتن به صفحه اصلی سایت، از آدرس
https://website.com/robots.txtکوکی导出 کنید. این روش نرخ موفقیت بالاتری دارد زیرا robots.txt یک فایل ساده و سبک است و درخواستهای مشکوک کمتری روی آن اعمال میشود.
- یک پنجره Private/Incognito در مرورگر خود باز کنید.
- افزونه Get cookies.txt LOCALLY را نصب کنید (از فروشگاه افزونه مرورگرتان).
- به آدرس زیر بروید (بسته به سرویس مورد نظر):
https://www.youtube.com/robots.txt
https://www.instagram.com/robots.txt
https://x.com/robots.txt
- روی آیکون افزونه کلیک کنید → Export (فرمت Netscape) → فایل txt را ذخیره کنید.
- پنجره خصوصی را کاملاً ببندید (این کار نشست را میبندد ولی کوکی معتبر میماند).
چرا robots.txt بهتر است؟ robots.txt یک فایل متنی ساده است که هیچ محتوای سنگین یا اسکریپتهای امنیتی ندارد. در نتیجه:
- کوکیهای دریافتی «تمیزتر» هستند
- احتمال trigger شدن سیستمهای ضد-ربات کمتر است
- نشست شما معتبرتر باقی میماند
چرا پنجره ناشناس؟ اگر در پنجره عادی لاگاوت کنید، کوکیها بیاعتبار میشوند. با بستن پنجره ناشناس، نشست بسته میشود ولی کوکی معتبر میماند.
⚠️ نشانههای خرابی کوکی: خطایSign in to confirm you're not a bot(یوتیوب)، خطای429 Too Many Requests(اینستاگرام)، یا دانلود موفق ولی بدون فایل خروجی. راه حل: کوکی جدید از پنجره ناشناس بگیرید و Secret را بهروز کنید.
Secret Name: YOUTUBE_COOKIES
وضعیت: اختیاری (اما بهشدت توصیه میشود)
مورد استفاده در: downloader-youtube, aio-leecher
- پنجره Private باز کنید.
- به
https://www.youtube.com/robots.txtبروید. - وارد اکانت گوگل خود شوید (حتماً در همان پنجره ناشناس).
- افزونه Get cookies.txt LOCALLY را باز کرده و Export بزنید.
- محتوای فایل txt را کپی کنید.
- به Settings → Secrets and variables → Actions بروید.
- New repository secret بزنید.
- نام:
YOUTUBE_COOKIES| مقدار: محتوای فایل txt را بچسبانید. - پنجره ناشناس را ببندید.
Secret Name: INSTAGRAM_COOKIES
وضعیت: اختیاری (برای استوری و محتوای خصوصی الزامی)
مورد استفاده در: downloader-instagram, aio-leecher
- پنجره Private باز کنید.
- به
https://www.instagram.com/robots.txtبروید. - وارد اکانت اینستاگرام خود شوید (حتماً در همان پنجره ناشناس).
- افزونه را باز کرده و Export بزنید.
- Secret با نام
INSTAGRAM_COOKIESبسازید و محتوای فایل را بچسبانید. - پنجره ناشناس را ببندید.
Secret Name: X_COOKIES
وضعیت: الزامی
- پنجره Private باز کنید.
- به
https://x.com/robots.txtبروید. - وارد اکانت X شوید (حتماً در همان پنجره ناشناس).
- افزونه را باز کرده و Export بزنید.
- Secret با نام
X_COOKIESبسازید. - پنجره ناشناس را ببندید.
⚠️ بدون کوکی X، دانلودر X اصلاً کار نمیکند!
Secret Name: TUNNEL_AUTH_KEY
وضعیت: اختیاری
مورد استفاده در: python-mhrv-dynamic-exit-node, python-mhrv-static-exit-node, zyrln-cloudflare-dynamic-exit-node, zyrln-cloudflare-static-exit-node
- یک رمز عبور قوی (Pre-Shared Key) انتخاب کنید (مثلاً ترکیبی از حروف و اعداد حداقل ۱۶ کاراکتری).
- به Settings → Secrets and variables → Actions بروید.
- Secret با نام
TUNNEL_AUTH_KEYبسازید و رمز خود را وارد کنید. - همین رمز را در کانفیگ VPN خود (فیلد
psk) نیز قرار دهید.
⚠️ این رمز باید دقیقاً باpskدرconfig.jsonپروژه VPN شما یکی باشد. URL و PSK را کنار هم منتشر نکنید.
Secret Name: CF_TUNNEL_TOKEN
وضعیت: اختیاری (فقط برای Exit Nodeهای استاتیک)
مورد استفاده در: python-mhrv-static-exit-node, zyrln-cloudflare-static-exit-node
- به Cloudflare Zero Trust Dashboard بروید.
- Access → Tunnels → Create a tunnel.
- نام دلخواه بدهید و Save کنید.
- نوع اتصال را Cloudflared انتخاب کنید.
- دستور نمایش داده شده شامل توکن است. توکن را کپی کنید.
- Secret با نام
CF_TUNNEL_TOKENبسازید و توکن را بچسبانید.
ℹ️ این Secret فقط برای Exit Nodeهای استاتیک (با دامنه ثابت) نیاز است. برای Exit Nodeهای داینامیک (با آدرس trycloudflare.com موقت)، نیازی به این توکن نیست.
Secret Names: GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, GOOGLE_REFRESH_TOKEN
وضعیت: کاملاً اختیاری
مورد استفاده در: تمام workflowهایی که گزینه upload_to_drive دارند (downloader-youtube, downloader-instagram, downloader-direct, fetcher-website, aio-leecher, downloader-soundcloud, downloader-spotify, downloader-google-play, downloader-mega-nz)
این ویژگی جدید به شما امکان میدهد فایلهای دانلودی را مستقیماً در Google Drive خود (در پوشه github-actions) ذخیره کنید، بدون اینکه فضای مخزن GitHub را اشغال کنید!
با تشکر از کاربران و زحماتشون اگه مشکلی داشتید میتونید از این لینک راهنمای نوشته شده توسط یکی از کاربران رو بخونید و انجام بدید و سوالی بود در اون قسمت مطرح کنید برای این موضوع - کلیک کنید
قسمت اول: ایجاد پروژه در Google Cloud Console
- به Google Cloud Console بروید.
- یک پروژه جدید بسازید (یا پروژه موجود را انتخاب کنید).
- APIs & Services → Library.
- Google Drive API را جستجو و Enable کنید.
قسمت دوم: ایجاد OAuth Client ID
- APIs & Services → Credentials.
- Create Credentials → OAuth client ID.
- نوع اپلیکیشن را Web application انتخاب کنید (حتی اگر برای استفاده شخصی است).
- نام دلخواه بدهید.
- در بخش Authorized redirect URIs، روی ADD URI کلیک کنید و آدرس زیر را وارد کنید:
https://developers.google.com/oauthplayground
- روی Create کلیک کنید.
- Client ID و Client Secret نمایش داده میشود. آنها را کپی کنید.
- Secretهای زیر را در GitHub بسازید:
GOOGLE_CLIENT_ID → Client ID خود را بچسبانید
GOOGLE_CLIENT_SECRET → Client Secret خود را بچسبانید
اگر این مرحله را انجام ندهید، در قسمت سوم (مرحله ۱۶) با خطای 403 یا 400 مواجه میشوید.
- به صفحه OAuth consent screen بروید.
- اگر برنامه شما در حالت Testing قرار دارد (با نوار زرد رنگ)، روی دکمهای که زیر "In production" نیست کلیک کنید (معمولاً PUBLISH APP). در تأییدیه، Confirm را بزنید.
- وضعیت باید به "In production" تغییر کند. (لازم نیست برنامه توسط گوگل تأیید شود؛ برای استفاده شخصی کافیست.)
قسمت سوم: دریافت Refresh Token با OAuth Playground
- به Google OAuth Playground بروید.
- روی آیکون ⚙️ (تنظیمات) کلیک کنید.
- تیک Use your own OAuth credentials را بزنید.
- Client ID و Client Secret خود را وارد کنید و Close کنید.
- در Step 1، در بخش Drive API v3، scope زیر را انتخاب کنید:
https://www.googleapis.com/auth/drive
- روی Authorize APIs کلیک کنید و اجازه دسترسی بدهید. (اگر خطای redirect_uri_mismatch گرفتید، مطمئن شوید Authorized redirect URIs شامل آدرس Playground است.)
- در Step 2، تیک Auto-refresh the token before it expires را بزنید.
- روی Exchange authorization code for tokens کلیک کنید.
- Refresh token نمایش داده میشود. آن را کپی کنید.
- Secret زیر را در GitHub بسازید:
GOOGLE_REFRESH_TOKEN → Refresh Token خود را بچسبانید
⚠️ نکته مهم: Refresh Token فقط یک بار نمایش داده میشود. اگر آن را گم کنید، باید دوباره از اول مراحل را طی کنید. همچنین اگر از OAuth Playground استفاده میکنید، حتماً تیک Auto-refresh را بزنید.
ℹ️ پس از تنظیم هر سه Secret، در هر workflow که اجرا میکنید، کافیست گزینه upload_to_drive را تیک بزنید تا فایلها به جای مخزن GitHub، در Google Drive شما (پوشه
github-actions) ذخیره شوند.
در این بخش، تمامی ۱۷ گردش کار به همراه Secretهای مورد نیاز هر کدام، نحوه استفاده، و نکات مهم توضیح داده شده است.
Secretهای مورد نیاز: YOUTUBE_COOKIES (اختیاری، توصیه میشود)
Secretهای Google Drive: GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, GOOGLE_REFRESH_TOKEN (اختیاری)
زمان اجرا: حداکثر ۷۰۰ دقیقه
- تلاش با شبیهسازی کلاینت اندروید، iOS، و بدون کوکی
- در صورت شکست، از ابزارهای جایگزین مانند pytube، سرویسهای API خارجی و youtube‑dl استفاده میکند
- پشتیبانی از لینکهای غیر یوتیوب (دانلود مستقیم با wget)
- انتخاب هوشمند نزدیکترین کیفیت موجود
- Remux خودکار با ffmpeg برای سازگاری کامل
- تقسیم خودکار فایلهای >۹۹MB به ZIP چندبخشی
- 🆕 آپلود خودکار در Google Drive
- Actions → downloader-youtube → Run workflow
- ورودی:
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است.
-
🆕 گزینههای جدید:
output_format: انتخاب فرمت خروجی (mp4 یا mp3)video_quality: حداکثر رزولوشن (4K, 1080, 720, 480, 360, best)audio_quality: بیتریت صدا (320, 192, 128, 64)bundle_all: تجمیع همه فایلها در یک ZIPupload_as_release: آپلود به عنوان GitHub Releaseupload_to_drive: 🆕 آپلود در Google Drive (به جای مخزن)
-
خروجی در پوشه
youtube/(فایلهای بزرگ به ZIP چندبخشی تبدیل میشوند)
Secretهای مورد نیاز: INSTAGRAM_COOKIES (اختیاری)
Secretهای Google Drive: GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, GOOGLE_REFRESH_TOKEN (اختیاری)
- Actions → downloader-instagram → Run workflow
- لینکها را با کاما، فاصله یا خط جدید جدا کنید.
https://www.instagram.com/p/DX2y7oLDFOb/,
https://www.instagram.com/reel/DVRXhn0gjL3/,
https://www.instagram.com/p/DX6US4uCNGb/
-
🆕 گزینههای جدید:
upload_as_release: آپلود به عنوان GitHub Releaseupload_to_drive: 🆕 آپلود در Google Drive
-
خروجی ZIP در پوشه
instagram/.
⚠️ خطای ۴۲۹ یعنی کوکی اینستاگرام منقضی یا محدود شده — کوکی جدید بگیرید.
Secretهای مورد نیاز: X_COOKIES (الزامی
- Actions → downloader-x → Run workflow
- لینکها را با کاما، فاصله یا خط جدید وارد کنید.
https://x.com/username/status/123456789,
https://x.com/otheruser/status/987654321
- خروجی ZIP در پوشه
x/.
Secretهای مورد نیاز: هیچکدام الزامی نیست
Secretهای Google Drive: GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, GOOGLE_REFRESH_TOKEN (اختیاری)
- دانلود با
aria2c(۱۶ اتصال همزمان — بسیار سریع) - پشتیبانی از تمام لینکهای مستقیم (
.zip,.mp4,.apk,.pdfو …)
- Actions → downloader-direct → Run workflow
- لینکهای مستقیم را بچسبانید.
https://example.com/file.zip, https://example.com/video.mp4
-
🆕 گزینههای جدید:
bundle_all: تجمیع همه فایلها در یک ZIPupload_as_release: آپلود به عنوان GitHub Releaseupload_to_drive: 🆕 آپلود در Google Drive
-
فایلها در
direct/ذخیره میشوند (بزرگتر از ۹۹MB به ZIP چندبخشی تقسیم میشوند).
Secretهای مورد نیاز: هیچکدام اجرای خودکار: هر ۳۰ دقیقه یکبار (cron)
- فایل
telegram/channels.jsonرا ویرایش کنید. نام کانال را بدون @ وارد کنید.
["VahidOOnLine", "mwarmonitor", "channelname"]
- Actions → fetcher-telegram → Run workflow (یا منتظر اجرای خودکار بمانید).
⚠️ فقط کانالهای عمومی. زمانبندی خودکار ممکن است با تأخیر ۱ تا ۶ ساعت اجرا شود.
Secretهای مورد نیاز: هیچکدام محدودیت: حداکثر ۱۰۰۰ لینک
- Actions → downloader-telegram-beta → Run workflow
- لینک پستهای تلگرام را وارد کنید.
https://t.me/channelname/123, https://t.me/channelname/456
- فایلها در
telegram/downloader/ذخیره میشوند.
Secretهای مورد نیاز: هیچکدام
Secretهای Google Drive: GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, GOOGLE_REFRESH_TOKEN (اختیاری)
محدودیت: حداکثر ۵۰۰ لینک داخلی، مهلت ۳۰ دقیقه
- PDF با کیفیت بالا (مناسب برای چاپ و آرشیو)
- MHTML (بایگانی کامل صفحه شامل تصاویر، CSS و فونتها — قابل باز شدن در مرورگر)
- رندر با Playwright + Chromium برای صفحات داینامیک
- Actions → fetcher-website → Run workflow
- آدرس کامل با
https://را وارد کنید.
https://example.com/article
https://github.com/ProAlit/aio-downloader
-
🆕 گزینههای جدید:
capture_mhtml: ذخیره به صورت MHTML (پیشفرض: فعال)capture_pdf: ذخیره به صورت PDF (پیشفرض: فعال)upload_as_release: آپلود به عنوان GitHub Releaseupload_to_drive: 🆕 آپلود در Google Drive
-
خروجیها در پوشه
website/— هم فایل PDF و هم فایل MHTML.
⚠️ فقط سایتهای عمومی. صفحات SPA سنگین ممکن است کامل رندر نشوند.
Secretهای مورد نیاز: YOUTUBE_COOKIES, INSTAGRAM_COOKIES, X_COOKIES (همگی اختیاری، خودکار تشخیص داده میشوند)
Secretهای Google Drive: GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, GOOGLE_REFRESH_TOKEN (اختیاری)
زمان اجرا: حداکثر ۷۰۰ دقیقه
قدرتمندترین بخش! از یوتیوب و اینستاگرام تا تیکتاک، ساندکلاد، اسپاتیفای و بیش از ۱۸۰۰ سایت دیگر.
برای بهترین نتیجه، حتماً از حالت خام استفاده کنید. کافیست بعد از لینک، دو خط فاصله -- بگذارید و سپس هر آرگومان معتبر 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
# یوتیوب با زیرنویس
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
هنوز هم میتوانید از v (ویدیو) و a (صدا) استفاده کنید، ولی برای محتوایی که ویدیو/صدا/موسیقی نیست، نرخ شکست بالایی دارد.
https://www.youtube.com/watch?v=dfdXGw1xY9A v 1080
https://soundcloud.com/artist/track a 320
از چتباتهای هوش مصنوعی مثل chat.deepseek.com (بدون فیلتر) بپرسید: "یک دستور yt‑dlp برای دانلود این لینک با بهترین کیفیت بنویس" — دستور تولید شده را در حالت خام استفاده کنید.
bundle_all: تجمیع همه فایلها در یک ZIPupload_as_release: آپلود به عنوان GitHub Releaseupload_to_drive: 🆕 آپلود در Google Drive
Secretهای مورد نیاز: هیچکدام
Secretهای Google Drive: GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, GOOGLE_REFRESH_TOKEN (اختیاری)
- Actions → downloader-soundcloud → Run workflow
- لینکها را وارد کنید.
https://soundcloud.com/artist/track,
https://soundcloud.com/artist/track
-
🆕 گزینههای جدید:
output_format: فرمت خروجی (mp3, flac, ogg, opus, m4a, wav)audio_quality: کیفیت صدا (128k, 192k, 256k, 320k)upload_as_release: آپلود به عنوان GitHub Releaseupload_to_drive: 🆕 آپلود در Google Drive
-
فایلها در
music/(تبدیل خودکار با ffmpeg).
Secretهای مورد نیاز: هیچکدام (SpotiFLAC بدون نیاز به اکانت کار میکند)
Secretهای Google Drive: GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, GOOGLE_REFRESH_TOKEN (اختیاری)
سرویسهای پشتیبانیشده: Spotify, Tidal, Apple Music, SoundCloud, YouTube, Pandora
ℹ️ این دانلودر از SpotiFLAC استفاده میکند که بدون نیاز به هیچ اکانتی، موسیقی را با بهترین کیفیت ممکن (از جمله FLAC بدون اتلاف) دانلود میکند.
- Actions → downloader-spotify → Run workflow
- لینکها را وارد کنید (ترک، آلبوم، پلیلیست، آرتیست).
https://open.spotify.com/track/xxxxx,
https://open.spotify.com/album/xxxxx,
https://open.spotify.com/playlist/xxxxx
-
گزینهها:
output_format: فرمت خروجی (flac, mp3, m4a, ogg, opus, wav) — پیشفرض: flacaudio_quality: کیفیت (LOSSLESS, HI_RES_LOSSLESS, DOLBY_ATMOS, HIGH, LOW, 320k, 256k, 192k, 128k) — پیشفرض: LOSSLESSupload_as_release: آپلود به عنوان GitHub Releaseupload_to_drive: 🆕 آپلود در Google Drive
-
فایلها در
music/ذخیره میشوند.
Secretهای مورد نیاز: هیچکدام
⚠️ فضای مخزن رایگان GitHub حدود ۵ گیگابایت است. فایلهای حجیم فضا را پر میکنند — مرتب پاکسازی کنید.
| پلتفرم | چه چیزهایی حذف میشود |
|---|---|
| تلگرام | telegram/content/، telegram.md، last_ids.json |
| تلگرام دانلودر | telegram/downloader/ |
| یوتیوب | کل youtube/ |
| اینستاگرام | کل instagram/ |
| X | کل x/ |
| وبسایت | کل website/ |
| لیچر | کل leecher/ |
| گوگل پلی | کل google-play/ |
| موسیقی | کل music/ |
| مستقیم | کل direct/ |
| MEGA | کل mega-nz/ 🆕 |
- Actions → aio-cleaner → Run workflow
- چکباکسهای دلخواه را تیک بزنید (یا Clean ALL platforms)
- اجرا کنید.
❗ حذف دائمی است — ابتدا فایلهای مهم را دانلود کنید. حتما بعد هر آپدیت مرحله کلینر رو برای همه اجرا کنید وگرنه دانلودهاتون به شدت کند انجام میشه!!
Secretهای مورد نیاز: هیچکدام (احراز هویت خودکار)
Secretهای Google Drive: GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, GOOGLE_REFRESH_TOKEN (اختیاری)
- Actions → downloader-google-play → Run workflow
- app: نام پکیج (مثلاً
com.google.android.youtube) یا لینک گوگل پلی. - architecture:
arm64(پیشفرض) یاarmv7. - merge_splits: ادغام APKهای چندبخشی (پیشفرض فعال).
app: com.spotify.music
architecture: arm64
merge_splits: true
-
🆕 گزینههای جدید:
bundle_all: تجمیع همه APKها در یک ZIPupload_as_release: آپلود به عنوان GitHub Releaseupload_to_drive: 🆕 آپلود در Google Drive
-
فایل APK (زیپشده) در
google-play/.
ℹ️ برای پیدا کردن نام پکیج، به لینک برنامه در گوگل پلی دقت کنید:
id=com.example.app.
Secretهای مورد نیاز: هیچکدام (بدون نیاز به اکانت MEGA)
Secretهای Google Drive: GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, GOOGLE_REFRESH_TOKEN (اختیاری)
- دانلود فایل و فولدر از MEGA.nz بدون نیاز به اکانت
- استفاده از megatools برای دانلود مطمئن
- پشتیبانی از لینکهای فایل و فولدر
- Actions → downloader-mega-nz → Run workflow
- لینکهای MEGA را وارد کنید.
https://mega.nz/file/xxxxx,
https://mega.nz/folder/xxxxx
-
گزینهها:
bundle_all: تجمیع همه فایلها در یک ZIPupload_method: روش آپلود (split_pushیاrelease)upload_to_drive: 🆕 آپلود در Google Drive
-
فایلها در
mega-nz/ذخیره میشوند.
Secretهای مورد نیاز: TUNNEL_AUTH_KEY (اختیاری)
خروجی: URL موقت trycloudflare.com (اعتبار ۶ ساعت)
- Actions → python-mhrv-dynamic-exit-node → Run workflow
- پس از ۲۰-۳۰ ثانیه در لاگ، خطی شبیه زیر میبینید:
https://random-name.trycloudflare.com
- این URL را کپی و در بخش
exit_nodeکانفیگ VPN خود قرار دهید:
"exit_node": {
"enabled": true,
"provider": "vps",
"url": "https://random-name.trycloudflare.com",
"psk": "همان_رمز_مخفی"
}
⏱️ اعتبار هر URL تا ۶ ساعت است. بعداً باید دوباره اجرا کنید.
Secretهای مورد نیاز: TUNNEL_AUTH_KEY (اختیاری), CF_TUNNEL_TOKEN (الزامی exit.yourdomain.com)
- ابتدا
CF_TUNNEL_TOKENرا تنظیم کنید (راهنما در بخش Secretها). - Actions → python-mhrv-static-exit-node → Run workflow
- تونل روی دامنه ثابت شما فعال میشود.
ℹ️ مزیت این روش نسبت به داینامیک: URL ثابت است و نیازی به بهروزرسانی مداوم کانفیگ نیست.
Secretهای مورد نیاز: TUNNEL_AUTH_KEY (اختیاری)
زبان برنامهنویسی: Go (عملکرد سریعتر)
خروجی: URL موقت trycloudflare.com (اعتبار ۶ ساعت)
- Actions → zyrln-cloudflare-dynamic-exit-node → Run workflow
- URL موقت در لاگ نمایش داده میشود.
- مانند روش پایتون، URL را در کانفیگ VPN خود قرار دهید.
ℹ️ این نسخه با زبان Go نوشته شده و برای کاربرانی که به دنبال عملکرد سریعتر و مصرف کمتر هستند مناسب است.
Secretهای مورد نیاز: TUNNEL_AUTH_KEY (اختیاری), CF_TUNNEL_TOKEN (الزامی
CF_TUNNEL_TOKENرا تنظیم کنید.- Actions → zyrln-cloudflare-static-exit-node → Run workflow
- تونل روی دامنه ثابت Cloudflare شما فعال میشود.
تمام workflowهای اصلی اکنون از گزینه upload_to_drive پشتیبانی میکنند. با تنظیم سه Secret مربوط به Google، فایلها مستقیماً در پوشه github-actions در Google Drive شما ذخیره میشوند. این ویژگی:
- فضای مخزن GitHub را اشغال نمیکند
- محدودیت ۵ گیگابایتی مخزن را دور میزند
- فایلهای حجیم (>2GB) را میتوان بدون تقسیم شدن آپلود کرد
گزینه upload_as_release در بسیاری از workflowها اضافه شده است. این گزینه فایلها را به عنوان Release در مخزن شما منتشر میکند (به جای push در مخزن).
در workflowهای یوتیوب، مستقیم، گوگل پلی، لیچر و MEGA، گزینه bundle_all به شما امکان میدهد همه فایلهای دانلودی را در یک فایل ZIP تجمیع کنید.
دانلود فایل و فولدر از MEGA.nz بدون نیاز به اکانت.
قبلاً در README به صورت ترکیبی با ساندکلود ذکر شده بود. اکنون یک workflow مجزا با پشتیبانی از Spotify, Tidal, Apple Music, SoundCloud, YouTube, Pandora و قابلیت دانلود FLAC بدون اتلاف.
دو workflow جدید برای Exit Node با زبان Go اضافه شده است (داینامیک و استاتیک).
قبلاً فقط نسخه داینامیک در README بود. نسخه استاتیک با دامنه ثابت اضافه شده است.
ورودیهای جدید: output_format (mp4/mp3), video_quality, audio_quality.
گاهی مرحلهی Checkout repository در workflowها بسیار کند میشود. این مشکل دو علت اصلی دارد:
| دلیل | توضیح |
|---|---|
| انباشته شدن فایلهای ریز تلگرام | اگر از fetcher-telegram زیاد استفاده کنید، هزاران فایل کوچک در telegram/content/ ذخیره میشود. از آنجا که checkout کل مخزن را میخواند، این حجم بالا سرعت را کاهش میدهد و روی تمام workflowهای دیگر اثر میگذارد. |
| اوج مصرف GitHub Actions (Peak Times) | در ساعات شلوغی سرورهای GitHub (معمولاً روزهای کاری، ساعتهای اداری UTC)، عملیات checkout برای همه کندتر میشود — حتی اگر فایلهای کمی داشته باشید. |
- برای فایلهای تلگرام: هر از گاهی با
aio-cleaner، گزینه Clean Telegram را اجرا کنید. - برای peak times: صبر کنید تا از ساعت شلوغی خارج شوید، یا workflow را در ساعات خلوتتر اجرا کنید.
❗ نکته خیلی مهم!!! حتما بعد هر آپدیت مرحله کلینر رو برای همه اجرا کنید وگرنه دانلودهاتون به شدت کند انجام میشه!!
| هشدار | توضیح |
|---|---|
| فضای مخزن ≈ ۵ گیگابایت | فایلهای دانلودی (مخصوصاً ویدیو) به سرعت فضا را پر میکنند. مرتباً از AIO Cleaner استفاده کنید یا از Google Drive برای آپلود استفاده کنید. |
| حداکثر زمان اجرا | ۶ ساعت (برای مخازن عمومی، دقیقه رایگان نامحدود) |
| فایلهای >۹۹MB | خودکار به ZIP چندبخشی تقسیم میشوند — با 7‑Zip یا WinRAR باز کنید. |
| دانلودر X | حتماً کوکی X_COOKIES را تنظیم کنید. |
| تلگرام | فقط کانالهای عمومی. نام کانال را بدون @ وارد کنید. |
| وبسایت | فقط صفحات عمومی (بدون دیوار ورود). |
| گوگل پلی | احراز هویت خودکار — بدون نیاز به اکانت گوگل. |
| MEGA | بدون نیاز به اکانت — لینکهای عمومی را دانلود میکند. |
| همگامسازی فورک | حداقل هفتهای یکبار با دکمه Sync fork انجام دهید. اگر commit اضافی دارید، آن را Discard کنید. |
| کوکیها | فقط در پنجره ناشناس استخراج کنید و پس از خروجی گرفتن، پنجره را ببندید. حتماً از robots.txt استفاده کنید. |
| Google Drive | Refresh Token ممکن است بعد از مدتها منقضی شود — در صورت خطای 401، دوباره Refresh Token بگیرید. |
باگ یا پیشنهاد؟ یک Issue باز کنید و ذکر کنید:
- نام گردشکار
- ورودی (بدون کوکی)
- پیام خطا از تب Actions
- این فایل یک راهنمای جامع بر اساس موضوعات فورام زوم یوزرز برای ارائه روشهای دسترسی به سرویس های گوگل و راه اندازی فیلترشکن برای کاربران ایرانی می باشد.
| Secret Name | Workflowها | الزامی؟ | توضیح |
|---|---|---|---|
YOUTUBE_COOKIES |
downloader-youtube, aio-leecher | اختیاری | کوکی یوتیوب (با robots.txt بگیرید) |
INSTAGRAM_COOKIES |
downloader-instagram, aio-leecher | اختیاری | کوکی اینستاگرام (با robots.txt بگیرید) |
X_COOKIES |
downloader-x, aio-leecher | الزامی | کوکی X/توییتر (با robots.txt بگیرید) |
TUNNEL_AUTH_KEY |
exit-nodeها | اختیاری | رمز PSK دلخواه برای تونل |
CF_TUNNEL_TOKEN |
exit-nodeهای استاتیک | اختیاری | توکن تونل Cloudflare |
GOOGLE_CLIENT_ID |
تمام workflowها (آپلود در Drive) | اختیاری | OAuth Client ID از Google Cloud |
GOOGLE_CLIENT_SECRET |
تمام workflowها (آپلود در Drive) | اختیاری | OAuth Client Secret از Google Cloud |
GOOGLE_REFRESH_TOKEN |
تمام workflowها (آپلود در Drive) | اختیاری | Refresh Token از OAuth Playground |
⭐⭐⭐ اگر این پروژه برایتان مفید است، لطفاً ستاره بدهید! ⭐⭐⭐